Loading presentation...

Present Remotely

Send the link below via email or IM

Copy

Present to your audience

Start remote presentation

  • Invited audience members will follow you as you navigate and present
  • People invited to a presentation do not need a Prezi account
  • This link expires 10 minutes after you close the presentation
  • A maximum of 30 users can follow your presentation
  • Learn more about this feature in our knowledge base article

Do you really want to delete this prezi?

Neither you, nor the coeditors you shared it with will be able to recover it again.

DeleteCancel

Make your likes visible on Facebook?

Connect your Facebook account to Prezi and let your likes appear on your timeline.
You can change this under Settings & Account at any time.

No, thanks

Semáforo Interativo

No description
by

Gabriel Rodrigues

on 12 September 2014

Comments (0)

Please log in to add your comment.

Report abuse

Transcript of Semáforo Interativo

Primeiramente, quando estiver com todos os materiais necessários em mãos, é recomendado começar através da ligação da protoboard com o arduíno, fazendo a alimentação através da porta de 5V e ligando também o terra, que é a porta GND, como mostrado na Figura 03.
Processo de Montagem
Montagem do Circuito
Programação - Variáveis
Programação - Loop
Semáforo Interativo
No nosso loop, que é o ciclo que o arduíno sempre executará toda vez que ele encontrar um break durante o código, vamos dizer basicamente que quando o usuário pressionar o botão o arduíno receberá essa informação e assim ele irá executar a função chamada de “troca_luz” que será explicada nos próximos slides.

Na parte da programação, incialmente iremos “dar nome” as portas do Arduíno para facilitar o entendimento no decorrer do código.
Logo após, é recomendável que sejam ligado as portas 12,11,10,9,8 e 7 do Arduíno, seguindo a ordem como a que foram posicionadas as LEDs na Figura 05 (sentido da esquerda para a direita e o Push Button sendo conectado à porta 7), aos terminais positivos das respectivas LEDs, conforme a Figura 06.
Agora, você deve ligar as LEDs e o Push Button de acordo com a figura, com a perna positiva (maior perna) conectando ao Resistor que foi ligado anteriormente e a negativa (menor perna) logo a direita da negativa, no caso do Push Button, conecte a perna esquerda dele com a resistência, conforme a figura 05.
Montagem do Circuito
Nesse projeto iremos construir um semáforo interativo, que é um semáforo para carros e pedestres, com um botão para que o pedestre aperte solicitando a travessia da rua, fechando o sinal para os carros e abrindo para os pedestres para que realizem a travessia com segurança.
Semáforo Interativo
9x Fio Jumper;
6x Resistor de 220 Ohms (ou mais);
2x LED Vermelha;
2x LED Verde;
1x LED Amarela;
1x Push Button;
1x Arduíno;
1x Protoboard.
Materiais necessários
Depois é recomendado que sejam ligadas as resistências à fonte de Alimentação, que são um pouco mais difíceis de serem conectadas, e com o circuito sem muita coisa montada facilita a sua inserção, ligue uma e deixe um espaço de 2 buracos de uma pra outra, como mostrado na Figura 04.
Montagem do Circuito
No void setup, iremos dizer como cada porta irá funcionar, no caso das portas “OUTPUT”, irá funcionar como uma saída de dados, para o nosso projeto, a maioria vai servir para dizer que vai ser mandado corrente para o componente externo que é a LED. No caso da porta em “INPUT” quer dizer que ela enviará dados ao arduíno, ou seja, quando o botão for pressionado, ele irá enviar essa informação para o Arduíno que realizará alguma ação. E nas últimas 2 linhas do código, já setamos as LED’s que correspondem ao sinal verde do carro e ao sinal vermelho dos pedestres para começarem ligadas.
Programação - Setup
int carro_red = 12;
int carro_yellow = 11;
int carro_green = 10;
int pedestre_red = 9;
int pedestre_green = 8;
int botao = 7;
int pedestre_tempo = 5000;
unsigned long botao_tempo;

void setup()
{
pinMode(carro_red, OUTPUT);
pinMode(carro_yellow, OUTPUT);
pinMode(carro_green, OUTPUT);
pinMode(pedestre_red, OUTPUT);
pinMode(pedestre_green, OUTPUT);
pinMode(botao, INPUT);
digitalWrite(carro_green, HIGH);
digitalWrite(pedestre_red, HIGH);
}

void loop()
{
int start=digitalRead(botao);
if(start==HIGH&&(millis()
-botao_tempo)>5000) {
troca_luz();
}
}
Programação – Função “troca_luz”
Na função troca_luz, toda vez que ela for acionada, como procedimento padrão ela vai desligar a LED verde do semáforo dos carros e logo em seguida ligará a LED amarela do mesmo sinal, após uma espera de 2 segundos ela desligará a LED Amarela e ligará a LED vermelha, após mais um tempo de 1 segundo, ela vai desligar a LED vermelha do sinal dos pedestres e vai ligar a LED verde do mesmo sinal, sinalizando que agora podem fazer a travessia em segurança. Após 5 segundos, a função vai desligar a LED verde e iniciará um “for” que será explicado no próximo slide.
void troca_luz()
{
digitalWrite(carro_green, LOW);
digitalWrite(carro_yellow, HIGH);
delay(2000);
digitalWrite(carro_yellow, LOW);
digitalWrite(carro_red, HIGH);
delay(1000);
digitalWrite(pedestre_red, LOW);
digitalWrite(pedestre_green, HIGH);
delay(pedestre_tempo);
digitalWrite(pedestre_green, LOW);
Programação – Função “troca_luz”
Essa é a parte final da função “troca_luz” e também do nosso código todo. Esse “for”, faz com que o sinal fique desligando e ligando a LED a cada 250 milissegundos, dando a impressão de que o semáforo do pedestre está piscando, assim como temos em nossa cidade, e após 10 “piscadas” o Arduíno vai deixar a LED vermelha do semáforo dos pedestres ligada, sinalizando que a travessia agora não é mais segura e não deve ser feita. Após um intervalo de 500 milissegundos vai abrir o sinal dos carros, ligando a LED verde e desligando a LED vermelha.
for (int x=0; x<10; x++)
{
digitalWrite(pedestre_red, HIGH);
delay(250);
digitalWrite(pedestre_red, LOW);
delay(250);
}
digitalWrite(pedestre_red, HIGH);
delay(500);
digitalWrite(carro_green, HIGH);
digitalWrite(carro_red, LOW);
botao_tempo=millis();
}
Resultado Final
Figura 01
Figura 02
Figura 03
Figura 04
Figura 05
Figura 06
Full transcript