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
-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
- 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);
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