PIANO INTERACTIVO CON ARDUINO
Este codigo te permitira tocar las notas musicales (Do Re Mi Fa Sol) al colocar un objeto frente a cas uno de los ultrasonido, para el ultrasonido izquierdo (nota Do), para el ultrasonido central (nota Re), para el ultrasonido derecho (nota Mi - Fa - Sol).
long DO=523.25, //definimos las frecuencias de las notas
DoS=554.37,
RE=587.33,
RES=622.25,
MI=659.26,
FA=698.46,
FAS=739.99,
SOL=783.99,
SOLS=830.61,
LA=880,
LAS=932.33,
SI=987.77,
RE2=1174.66,
FAS2=1479.98,
PAU=30000; //pausa
int trigger_i =13;
int echo_i =12;
int trigger_c =11;
int echo_c =10;
int trigger_d =9;
int echo_d =8;
int piezo_a=7;
int piezo_b=6;
int piezo_c=5;
int piezo_d=4;
int piezo_e=3;
int led_a= A3;
int led_b= A4;
int led_c= A5;
void setup()
{
pinMode(echo_i, INPUT);
pinMode(trigger_i, OUTPUT);
pinMode(echo_c, INPUT);
pinMode(trigger_c, OUTPUT);
pinMode(echo_d, INPUT);
pinMode(trigger_d, OUTPUT);
pinMode(piezo_a, OUTPUT);
pinMode(piezo_b, OUTPUT);
pinMode(piezo_c, OUTPUT);
pinMode(piezo_d, OUTPUT);
pinMode(piezo_e, OUTPUT);
pinMode(led_a, OUTPUT);
pinMode(led_b, OUTPUT);
pinMode(led_c, OUTPUT);
}
void loop()
{
long t_i;
long d_i;
digitalWrite(trigger_i,HIGH);
delayMicroseconds(10);
digitalWrite(trigger_i,LOW);
t_i= pulseIn(echo_i,HIGH);
d_i= t_i/59;
long t_c;
long d_c;
digitalWrite(trigger_c,HIGH);
delayMicroseconds(10);
digitalWrite(trigger_c,LOW);
t_c= pulseIn(echo_c,HIGH);
d_c= t_c/59;
long t_d;
long d_d;
digitalWrite(trigger_d,HIGH);
delayMicroseconds(10);
digitalWrite(trigger_d,LOW);
t_d= pulseIn(echo_d,HIGH);
d_d= t_d/59;
if(d_i <= 10)
{
tone(piezo_a,DO,300);
noTone(piezo_b);
noTone(piezo_c);
noTone(piezo_d);
noTone(piezo_e);
digitalWrite(led_a,HIGH);
digitalWrite(led_b,LOW);
digitalWrite(led_c,LOW);
}
else
{
if(d_c <= 10)
{
tone(piezo_b,RE,300);
noTone(piezo_a);
noTone(piezo_c);
noTone(piezo_d);
noTone(piezo_e);
digitalWrite(led_a,LOW);
digitalWrite(led_b,HIGH);
digitalWrite(led_c,LOW);
}
else
{
if(d_d <= 5)
{
tone(piezo_c,MI,300);
noTone(piezo_a);
noTone(piezo_b);
noTone(piezo_d);
noTone(piezo_e);
digitalWrite(led_a,LOW);
digitalWrite(led_b,LOW);
digitalWrite(led_c,HIGH);
}
else{
if(d_d >= 5 && d_d <= 10)
{
tone(piezo_d,FA,300);
noTone(piezo_a);
noTone(piezo_b);
noTone(piezo_c);
noTone(piezo_e);
digitalWrite(led_a,LOW);
digitalWrite(led_b,LOW);
digitalWrite(led_c,HIGH);
}
else
{
if(d_d >=10)
tone(piezo_e,SOL,300);
noTone(piezo_a);
noTone(piezo_b);
noTone(piezo_c);
noTone(piezo_d);
digitalWrite(led_a,LOW);
digitalWrite(led_b,LOW);
digitalWrite(led_c,HIGH);
}
}
}
}
}
Si deseas puedes consultar el siguiente video
Este codigo te permitira tocar las notas musicales (Do Re Mi Fa Sol La Si) al colocar un objeto frente a cas uno de los ultrasonido, para el ultrasonido izquierdo (nota Do - Re), para el ultrasonido central (nota Mi - Fa), para el ultrasonido derecho (nota Sol - La - Si).
long DO=523.25, //definimos las frecuencias de las notas
DoS=554.37,
RE=587.33,
RES=622.25,
MI=659.26,
FA=698.46,
FAS=739.99,
SOL=783.99,
SOLS=830.61,
LA=880,
LAS=932.33,
SI=987.77,
RE2=1174.66,
FAS2=1479.98,
PAU=30000; //pausa
int trigger_i =13;
int echo_i =12;
int trigger_c =11;
int echo_c =10;
int trigger_d =9;
int echo_d =8;
int piezo_a=7;
int piezo_b=6;
int piezo_c=5;
int piezo_d=4;
int piezo_e=3;
int led_a= A5;
int led_b= A4;
int led_c= A3;
void setup()
{
pinMode(echo_i, INPUT);
pinMode(trigger_i, OUTPUT);
pinMode(echo_c, INPUT);
pinMode(trigger_c, OUTPUT);
pinMode(echo_d, INPUT);
pinMode(trigger_d, OUTPUT);
pinMode(piezo_a, OUTPUT);
pinMode(piezo_b, OUTPUT);
pinMode(piezo_c, OUTPUT);
pinMode(piezo_d, OUTPUT);
pinMode(piezo_e, OUTPUT);
pinMode(led_a, OUTPUT);
pinMode(led_b, OUTPUT);
pinMode(led_c, OUTPUT);
}
void loop()
{
long t_i;
long d_i;
digitalWrite(trigger_i,HIGH);
delayMicroseconds(10);
digitalWrite(trigger_i,LOW);
t_i= pulseIn(echo_i,HIGH);
d_i= t_i/59;
long t_c;
long d_c;
digitalWrite(trigger_c,HIGH);
delayMicroseconds(10);
digitalWrite(trigger_c,LOW);
t_c= pulseIn(echo_c,HIGH);
d_c= t_c/59;
long t_d;
long d_d;
digitalWrite(trigger_d,HIGH);
delayMicroseconds(10);
digitalWrite(trigger_d,LOW);
t_d= pulseIn(echo_d,HIGH);
d_d= t_d/59;
if(d_i <= 7)
{
tone(piezo_a,DO);
noTone(piezo_b);
noTone(piezo_c);
noTone(piezo_d);
noTone(piezo_e);
digitalWrite(led_a,HIGH);
digitalWrite(led_b,LOW);
digitalWrite(led_c,LOW);
}
else
{
if(d_i >=7 && d_i <= 14)
{
tone(piezo_a,RE);
noTone(piezo_b);
noTone(piezo_c);
noTone(piezo_d);
noTone(piezo_e);
digitalWrite(led_a,HIGH);
digitalWrite(led_b,LOW);
digitalWrite(led_c,LOW);
}
else
{
if(d_c <= 7)
{
tone(piezo_b,MI);
noTone(piezo_a);
noTone(piezo_c);
noTone(piezo_d);
noTone(piezo_e);
digitalWrite(led_a,LOW);
digitalWrite(led_b,HIGH);
digitalWrite(led_c,LOW);
}
else
{
if(d_c >=7 && d_c <= 14)
{
tone(piezo_b,FA);
noTone(piezo_a);
noTone(piezo_c);
noTone(piezo_d);
noTone(piezo_e);
digitalWrite(led_a,LOW);
digitalWrite(led_b,HIGH);
digitalWrite(led_c,LOW);
}
else
{
if(d_d <= 5)
{
tone(piezo_c,SOL);
noTone(piezo_a);
noTone(piezo_b);
noTone(piezo_d);
noTone(piezo_e);
digitalWrite(led_a,LOW);
digitalWrite(led_b,LOW);
digitalWrite(led_c,HIGH);
}
else{
if(d_d >= 5 && d_d <= 10)
{
tone(piezo_d,LA);
noTone(piezo_a);
noTone(piezo_b);
noTone(piezo_c);
noTone(piezo_e);
digitalWrite(led_a,LOW);
digitalWrite(led_b,LOW);
digitalWrite(led_c,HIGH);
}
else
{
if(d_d >=10 && d_d <= 15)
tone(piezo_e,SI);
noTone(piezo_a);
noTone(piezo_b);
noTone(piezo_c);
noTone(piezo_d);
digitalWrite(led_a,LOW);
digitalWrite(led_b,LOW);
digitalWrite(led_c,HIGH);
}
}
}
}
}
}
}
Si desea puedes consultar el siguiente video:
Este codigo te permitira tocar las notas musicales (Do Re Mi Fa Sol La Si) al colocar un objeto frente a cas uno de los ultrasonido, para el ultrasonido izquierdo (nota Do - Re), para el ultrasonido central (nota Mi - Fa), para el ultrasonido derecho (nota Sol - La - Si).
//SOLO UN BUZZER - TRES ULTRASONIDOS
long DO=523.25, //definimos las frecuencias de las notas
DoS=554.37,
RE=587.33,
RES=622.25,
MI=659.26,
FA=698.46,
FAS=739.99,
SOL=783.99,
SOLS=830.61,
LA=880,
LAS=932.33,
SI=987.77,
RE2=1174.66,
FAS2=1479.98,
PAU=30000; //pausa
int trigger_i =13;
int echo_i =12;
int trigger_c =11;
int echo_c =10;
int trigger_d =9;
int echo_d =8;
int piezo_a=7;
int piezo_b=6;
int piezo_c=5;
int piezo_d=4;
int piezo_e=3;
int led_a= A5;
int led_b= A4;
int led_c= A3;
void setup()
{
pinMode(echo_i, INPUT);
pinMode(trigger_i, OUTPUT);
pinMode(echo_c, INPUT);
pinMode(trigger_c, OUTPUT);
pinMode(echo_d, INPUT);
pinMode(trigger_d, OUTPUT);
pinMode(piezo_a, OUTPUT);
pinMode(piezo_b, OUTPUT);
pinMode(piezo_c, OUTPUT);
pinMode(piezo_d, OUTPUT);
pinMode(piezo_e, OUTPUT);
pinMode(led_a, OUTPUT);
pinMode(led_b, OUTPUT);
pinMode(led_c, OUTPUT);
}
void loop()
{
long t_i;
long d_i;
digitalWrite(trigger_i,HIGH);
delayMicroseconds(10);
digitalWrite(trigger_i,LOW);
t_i= pulseIn(echo_i,HIGH);
d_i= t_i/59;
long t_c;
long d_c;
digitalWrite(trigger_c,HIGH);
delayMicroseconds(10);
digitalWrite(trigger_c,LOW);
t_c= pulseIn(echo_c,HIGH);
d_c= t_c/59;
long t_d;
long d_d;
digitalWrite(trigger_d,HIGH);
delayMicroseconds(10);
digitalWrite(trigger_d,LOW);
t_d= pulseIn(echo_d,HIGH);
d_d= t_d/59;
if(d_i <= 7)
{
tone(piezo_a,DO);
digitalWrite(led_a,HIGH);
digitalWrite(led_b,LOW);
digitalWrite(led_c,LOW);
}
else
{
if(d_i >=7 && d_i <= 14)
{ tone(piezo_a,RE);
digitalWrite(led_a,HIGH);
digitalWrite(led_b,LOW);
digitalWrite(led_c,LOW);
}
else
{
if(d_c <= 7)
{
tone(piezo_a,MI);
digitalWrite(led_a,LOW);
digitalWrite(led_b,HIGH);
digitalWrite(led_c,LOW);
}
else
{
if(d_c >=7 && d_c <= 14)
{
tone(piezo_a,FA);
digitalWrite(led_a,LOW);
digitalWrite(led_b,HIGH);
digitalWrite(led_c,LOW);
}
else
{
if(d_d <= 5)
{
tone(piezo_a,SOL);
digitalWrite(led_a,LOW);
digitalWrite(led_b,LOW);
digitalWrite(led_c,HIGH);
}
else{
if(d_d >= 5 && d_d <= 10)
{
tone(piezo_a,LA);
digitalWrite(led_a,LOW);
digitalWrite(led_b,LOW);
digitalWrite(led_c,HIGH);
}
else
{
if(d_d >=10 && d_d <= 15)
tone(piezo_a,SI);
digitalWrite(led_a,LOW);
digitalWrite(led_b,LOW);
digitalWrite(led_c,HIGH);
}
}
}
}
}
}
}
Si deseas puedes consultar el siguiente video:
Por favor considera suscribirte :)
Comentarios
Publicar un comentario