Semáfaro com Arduino Parte 3

A terceira parte de nosso projeto podemos incrementar ainda mais nosso código e deixar o semáfaro em Loop e acelerando a abertura para o pedestre passar.

 

 

Podemos incrementar ainda mais nosso código e deixar o semáfaro em Loop e acelerando a abertura para o pedestre passar.

Código:


/*
Semaforo c/ Pedestre em Loop continuo
*/

const int greenCar = 11;
const int yellowCar = 12;
const int redCar = 13;
const int greenPeople = 8;
const int redPeople = 9;

int ledState = LOW;
long previousMillis = 0;
long interval = 5000;
int ctrlLuz = 0;

void setup() {
 Serial.begin(9600);
 pinMode(greenCar,OUTPUT);
 pinMode(yellowCar,OUTPUT);
 pinMode(redCar,OUTPUT);
 pinMode(greenPeople,OUTPUT);
 pinMode(redPeople,OUTPUT);
 pinMode(2, INPUT); // Botao
}

void loop() {

unsigned long currentMillis = millis();
 int sensorValue = digitalRead(2);
 if(currentMillis - previousMillis > interval) {
 previousMillis = currentMillis;
 switch(ctrlLuz) {
 case 0 : // Verde
 digitalWrite(redCar,LOW);
 digitalWrite(greenCar,HIGH);
 digitalWrite(greenPeople,LOW);
 digitalWrite(redPeople,HIGH);
 ctrlLuz++;
 interval = 15000;
 break;
 case 1 : // amarelo
 digitalWrite(greenCar,LOW);
 digitalWrite(yellowCar,HIGH);
 digitalWrite(greenPeople,LOW);
 digitalWrite(redPeople,HIGH);
 ctrlLuz++;
 interval = 1000;
 break;
 case 2 : // Vermelho
 digitalWrite(yellowCar,LOW);
 digitalWrite(redCar,HIGH);
 digitalWrite(redPeople,LOW);
 digitalWrite(greenPeople,HIGH);
 delay(9000);
 interval = 10000;
 ctrlLuz = 0;
 digitalWrite(greenPeople,LOW);
 delay(250);
 digitalWrite(greenPeople,HIGH);
 delay(250);
 digitalWrite(greenPeople,LOW);
 delay(250);
 digitalWrite(greenPeople,HIGH);
 delay(250);
 break;
 }
 }

if((sensorValue == 1) && (ctrlLuz == 1)) {
 interval = 2000;
 Serial.print("Sensor ");
 Serial.println(sensorValue, DEC);
 }
}
Anúncios
Esse post foi publicado em Arduino e marcado , , , . Guardar link permanente.

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s