Conexiones
PROYECTO SEMÁFORO
CON INTERRUPTOR Y AVISO DE CAMBIO
Programa de Arduino:
//proyecto semáforo con música
#define PINVERDE 1
#define PINAMBAR 2
#define PINROJO 3
#define PINROJOP 4
#define PINVERDEP 5
#define PINBUZZER 6
#define Do 262
#define Re 294
#define Mi 320
#define Fa 349
#define Sol 392
#define La 440
#define Si 494
#define Do_alto 523
#define TEMPO 120
#define NEGRA 60000/TEMPO
#define REDONDE NEGRA*4
#define BLANCA NEGRA*2
#define CORCHEA NEGRA/2
#define SEMICORCHEA NEGRA/4
void setup() {
pinMode (PINVERDE,OUTPUT);
pinMode (PINAMBAR,OUTPUT);
pinMode (PINROJO,OUTPUT);
pinMode (PINROJOP,OUTPUT);
pinMode (PINVERDEP,OUTPUT);
pinMode (12,INPUT_PULLUP);
}
void loop()
{
digitalWrite(PINVERDE,HIGH);
digitalWrite(PINROJOP,HIGH);
int boton= digitalRead (12);
if (boton == 0)
{
digitalWrite(PINVERDE,LOW);
digitalWrite(PINAMBAR,HIGH);
digitalWrite(PINROJOP,HIGH);
digitalWrite(PINROJO, LOW);
delay(5000);
digitalWrite(PINAMBAR,LOW);
digitalWrite(PINROJO,HIGH);
digitalWrite(PINVERDEP,HIGH);
digitalWrite(PINROJOP,LOW);
digitalWrite(PINVERDE,LOW);
delay(10000) ;
tone (PINBUZZER,Do_alto,CORCHEA);
delay(CORCHEA*1.3);
tone (PINBUZZER,Sol,SEMICORCHEA);
delay(SEMICORCHEA*1.3);
tone(PINBUZZER,La,CORCHEA);
delay(CORCHEA*1.3);
tone (PINBUZZER,Sol,CORCHEA);
delay(CORCHEA*1.3);
noTone(PINBUZZER);
delay(CORCHEA);
tone (PINBUZZER,Si,SEMICORCHEA);
delay(CORCHEA*1.3);
tone (PINBUZZER,Do_alto,CORCHEA);
delay(CORCHEA*1.3);
digitalWrite(PINVERDE,HIGH);
digitalWrite(PINROJOP,HIGH);
digitalWrite(PINROJO,LOW);
digitalWrite(PINVERDEP,LOW);
}
}