> Cuarto tutorial ARDUINO: Programación de un semáforo para coches y peatones (entradas digitales) - Piensa 3D

Header Ads

Cuarto tutorial ARDUINO: Programación de un semáforo para coches y peatones (entradas digitales)

En este tutorial planteamos una modificación del tutorial anterior en la que añadimos un semáforo para el cruce de personas. El tutorial es el siguiente:


El montaje del circuito es este:


Y el código es el siguiente:

int carRed = 12 ;
int carYellow = 11;
int carGreen = 10;
int peaRed = 9;
int peaGreen = 8;

int button = 2;

int TiempoCruce = 5000;
unsigned long TiempoCambio = 0;

void setup(){
  
  pinMode(carRed, OUTPUT);
  pinMode(carYellow, OUTPUT);
  pinMode(carGreen, OUTPUT);
  pinMode(peaRed, OUTPUT);
  pinMode(peaGreen, OUTPUT);
  
  pinMode(button, INPUT);
  
  digitalWrite(carGreen, HIGH);
  digitalWrite(peaRed, HIGH);
}

void loop() {
  
  int estado = digitalRead(button);
  
  if (estado == HIGH && (millis() - TiempoCambio) > 5000 ){
   cambioLuz(); 
  }
}

void cambioLuz() {
  
  digitalWrite(carGreen,LOW);
  digitalWrite(carYellow, HIGH);
  delay(2000);
  
  digitalWrite(carYellow, LOW);
  digitalWrite(carRed, HIGH);
  delay(1000);
  
  digitalWrite(peaRed, LOW);
  digitalWrite(peaGreen, HIGH);
  delay(TiempoCruce);
  
  for (int x=0; x<10; x++) {
  digitalWrite(peaGreen, HIGH);
  delay(250);
  digitalWrite(peaGreen, LOW);
  delay(250);
  
  }
  
  digitalWrite(peaRed, HIGH);
  delay(500);
  
  digitalWrite(carYellow, HIGH);
  digitalWrite(carRed, LOW);
  delay(1000);
  
  digitalWrite(carGreen, HIGH);
  digitalWrite(carYellow, LOW);
  
  TiempoCambio = millis();
  
}

No hay comentarios:

Iván Rodríguez. Con la tecnología de Blogger.