Pular para o conteúdo principal

Descontrolados - Projeto semáforo


1- Funcionamento do semáforo
O programa desenvolvido simula dois semáforos, uma para carros e outro para pedestres, sendo que o semáforo para carros, sempre estará verde e o para pedestres vermelho, sendo que o sinal para carros só será fechado e o para pedestres aberto casso seja apertado pelo pedestre o botão que dará o comando para que isso ocorra.
Este algoritmo utiliza seis entradas da placa Arduíno, as entradas 6, 7, 8, 9, 10 são para LEDs e são declaradas como variáveis de saída, e a entrada número 5 é utilizada para o botão, e declarada como variável de entrada.
Antes de iniciar o código do programa, o estado do botão foi atribuído o valor zero, ou seja, no inicio do código o botão estará desligado.
A variável ledPin corresponde a luz verde, led2 à luz amarela e led3 à luz vermelha do semáforo para carros. A variável led4 corresponde à luz verde e a led5 à luz vermelha do semáforo do pedestre. A variável botão corresponde ao botão a ser apertado pelo pedestre.
Iniciando o código, é atribuída a variável estadobotao à variável botao. O código começa com a luz verde do semáforo de carros e a luz vermelha do semáforo de pedestres acessa, e essas luzes ficaram nesse estado por 0.1 segundos, porém ao seguir com o desenvolvimento do código, existe uma condicional "if", e só será executado o que está dentro dela caso a condição estabelecida pelo ela seja verdadeira, caso seja falsa, a parte do código dentro da condicional será pulada. Neste caso a condição é que a variável estadobotao esteja em estado "HIGH", porém foi atribuída a ela o valor zero (ou "LOW"), com isso, a parte dentro da condicional será pulada, finalizando o que está dentro do loop e o algoritmo retornará para o inicio, realizando apenas a parte que mantêm os leds verde de semáforo de carros e vermelho do semáforo de pedestres acesso.
Porém, caso o botão seja apertado, seu estado passará de "LOW" para "HIGH", tornando a condicional verdadeira, sendo realizado os passos dentro dela, deixando o sinal para carros amarelo com o de pedestres ainda vermelho por dois segundos, fechando o semáforo para carros e mantendo o de pedestres fechado por um segundo, abrindo o semáforo para pedestres e mantendo o de carros fechado por sete segundos, fechando os dois sinais por um segundo. Com o loop se finalizará e voltará ao inicio, deixando o sinal para carros aberto e o para pedestres fechado.
Contudo, o botão não estará mais sendo apertado, com isso os passos dentro da condicional serão pulados, fazendo com que o sinal para carros permaneça aberto e o para pedestres permaneça fechado, até que o botão seja apertado novamente.




2 - Semáforo / código
int ledPin = 9;
int led2 = 10;
int led3 = 8;
int led4 = 7;
int led5 = 6;
int botao = 5;

int estadobotao = 0;

void setup () {
pinMode (ledPin, OUTPUT);
pinMode (led2, OUTPUT);
pinMode (led3, OUTPUT);
pinMode (led4, OUTPUT);
pinMode (led5, OUTPUT);
pinMode (botao, INPUT);
}

void loop () {
estadobotao = digitalRead (botao);

digitalWrite (ledPin, HIGH);
digitalWrite (led2, LOW);
digitalWrite (led3, LOW);
digitalWrite (led4, LOW);
digitalWrite (led5, HIGH);
delay (100);
if (estadobotao == HIGH) {
digitalWrite (ledPin, LOW);
digitalWrite (led2, HIGH);
digitalWrite (led3, LOW);
digitalWrite (led4, LOW);
digitalWrite (led5, HIGH);
delay (2000);

digitalWrite (ledPin, LOW);
digitalWrite (led2, LOW);
digitalWrite (led3, HIGH);
digitalWrite (led4, LOW);
digitalWrite (led5, HIGH);
delay (1000);

digitalWrite (ledPin, LOW);
digitalWrite (led2, LOW);
digitalWrite (led3, HIGH);
digitalWrite (led4, HIGH);
digitalWrite (led5, LOW);
delay (7000);

digitalWrite (ledPin, LOW);
digitalWrite (led2, LOW);
digitalWrite (led3, HIGH);
digitalWrite (led4, LOW);
digitalWrite (led5, HIGH);
delay (1000);
}
}



Comentários

Postagens mais visitadas deste blog

Sejam Bem Vindxs.