jueves, 30 de julio de 2015

Cruce de semáforos LED (Salidas TRI – Estado)

Materiales
-2 x Diodo LED Red
-2 x Diodo LED Yellow
-2 x Diodo LED Green
-6 x Resistencia 220 ohmios
-1 x Resistencia 10 Kohmios
-1 x Arduino UNO
-Cables
-1 x boton



Los LEDs los conectaremos desde la salida de la resistencia hacia el controlador. (ver imagen)

- LED Verde (derecha): PIN 2 del Arduino.
- LED Amarillo: PIN 3 (PWM)
- LED Rojo: PIN 4
- LED Verde: PIN 5
- LED Amarillo: PIN 6
- LED Rojo: PIN 7
  

Programación

const int button = 8;

void setup() {
 for (int pin = 2; pin <= 7; pin++) {
   pinMode(pin, OUTPUT);
 }
 pinMode(button, INPUT);
}

void semaphoreOne() {
 digitalWrite(2, HIGH);
 int count = 0;
 while (count < 30) {

   if (digitalRead(button) == true) {
     break;
   }
   count++;
   delay(200);
 }
  digitalWrite(2, LOW);
 delay(500);
 digitalWrite(2, HIGH);
 delay(500);
 digitalWrite(2, LOW);
 delay(500);
 digitalWrite(2, HIGH);
 delay(500);
 digitalWrite(2, LOW);
 delay(500);
 digitalWrite(2, HIGH);
 delay(500);
 digitalWrite(2, LOW);
 delay(500);
 digitalWrite(2, HIGH);
 delay(500);
 digitalWrite(2, LOW);
 digitalWrite(3, HIGH);
 delay(2500);
 digitalWrite(3, LOW);
 digitalWrite(4, HIGH);
 digitalWrite(7, LOW);
  semaphoreTwo();
}

void semaphoreTwo() {
 digitalWrite(5, HIGH);
 int count = 0;
 while (count < 30) {
   if (digitalRead(button) == true) {
     break;
   }
   count++;
   delay(200);
 }
 digitalWrite(5, LOW);
 delay(500);
 digitalWrite(5, HIGH);
 delay(500);
 digitalWrite(5, LOW);
 delay(500);
 digitalWrite(5, HIGH);
 delay(500);
 digitalWrite(5, LOW);
 delay(500);
 digitalWrite(5, HIGH);
 delay(500);
 digitalWrite(5, LOW);
 delay(500);
 digitalWrite(5, HIGH);
 delay(500);
 digitalWrite(5, LOW);
 digitalWrite(6, HIGH);
 delay(2500);
 digitalWrite(6, LOW);
 digitalWrite(7, HIGH);
 digitalWrite(4, LOW);
 semaphoreOne();
}

void loop() {
 for (int pin = 2; pin <= 7; pin++) {
   digitalWrite(pin, LOW);
 }
 digitalWrite(2, HIGH);
 digitalWrite(7, HIGH);
 semaphoreOne();
}

Conclusión

Con esta actividad podemos realizar diferentes operaciones continuas programadas con un semáforo o programar una máquina, es de gran utilidad al hacer actividades secuenciales ya que puedes programar por tiempo en cuanto termine una inicia la otra actividad en este caso son las luces de un semáforo de crucero, en este puedes escoger el tiempo de encendido y de apagado.  

No hay comentarios.:

Publicar un comentario