Semáforo Arduino


FUNCIONAMIENTO

Aquí podéis observar un semáforo para personas y coches en un cruce simple. Nuestro semáforo consta de tres luces para el coche (rojo, ámbar y verde) y dos para el de las personas (rojo y verde), finalmente también tiene un zumbador para las personas ciegas y un botón. El semáforo estará constantemente en verde para el coche y rojo para el peatón. Cuando un peatón desee cruzar deberá pulsar el botón para que el semáforo cambie. Cuando pulse el botón, antes de cambiar de color, el peatón deberá esperar unos segundos mientras se activa el ámbar de los coches. En el momento que el semáforo cambie empezará a sonar la melodía para los peatones ciegos. Una vez que el tiempo de cruce se vaya a terminar, la melodía acelerará mientras el verde peatonal parpadea hasta que acabe el tiempo y el semáforo vuelva a su estado inicial.
BITBLOQ
Para hacer este semáforo hemos necesitado:
- 5 leds.
-un zumbador.
-un botón.















BITBLOQ SOFTWARE

Para hacer este semáforo hemos declarado funciones para la canción larga, al igual que la canción corta, también el parpadeo del led ámbar, ademas del parpadeo del led verde peatonal.


/***   Global variables and function definition  ***/
const int led_coche_rojo = 3;
const int led_coche_amarillo = 5;
const int led_coche_verde = 7;
const int led_persona_rojo = 9;
const int led_persona_verde = 11;
const int boton = 2;
const int zumbador = 8;

void cancion_larga() {
    for (int bitbloqForCounter = 0; bitbloqForCounter < 3; bitbloqForCounter += 1) {
        tone(zumbador, 329, 1000);
        delay(1000);
        tone(zumbador, 392, 1000);
        delay(1000);
        tone(zumbador, 440, 1000);
        delay(1000);
    }
}
void cancion_corta() {
    for (int bitbloqForCounter = 0; bitbloqForCounter < 3; bitbloqForCounter += 1) {
        tone(zumbador, 277, 500);
        delay(500);
        digitalWrite(led_persona_verde, LOW);

Comentarios