top of page

El Código

//---------------------------------------------------------------
int Boton1 = 2;                                       //   Pulsador de sonido N° 1
int Boton2 = 3;                                       //   Pulsador de sonido N° 2
int Boton3 = 4;                                       //   Pulsador de sonido N° 3
int Boton4 = 5;                                       //   Pulsador de sonido N° 4
int Boton5 = 7;                                       //   Pulsador de sonido N° 5
int Boton6 = 8;                                       //   Pulsador de sonido N° 6
int Boton7 = 9;                                       //   Pulsador de sonido N° 7
//---------------------------------------------------------------
int SwitchX = 10;                                      //   Switch Cambio de tono N° 1
int SwitchY = 12;                                      //   Switch  Cambio de tono N° 2
//---------------------------------------------------------------
int Tiempo = 50;                                      //   Retraso de tiempo.
//---------------------------------------------------------------
int Buzzer = 6;                                       // Salida Buzzer
//---------------------------------------------------------------
void setup()
//---------------------------------------------------------------
{
  //---------------------------------------------------------------
  pinMode(Boton1, INPUT);                             //   Declaramos el pin como entrada.
  pinMode(Boton2, INPUT);                             //   Declaramos el pin como entrada.
  pinMode(Boton3, INPUT);                             //   Declaramos el pin como entrada.
  pinMode(Boton4, INPUT);                             //   Declaramos el pin como entrada.
  pinMode(Boton5, INPUT);                             //   Declaramos el pin como entrada.
  pinMode(Boton6, INPUT);                             //   Declaramos el pin como entrada.
  pinMode(Boton7, INPUT);                             //   Declaramos el pin como entrada.
  //---------------------------------------------------------------
  pinMode(SwitchX, INPUT);                             //   Declaramos el pin como entrada.
  pinMode(SwitchY, INPUT);                             //   Declaramos el pin como entrada.
  //---------------------------------------------------------------
  pinMode(Buzzer, OUTPUT);                            //   Declaramos el pin como salida.
  //---------------------------------------------------------------
}
//---------------------------------------------------------------
void loop()
//---------------------------------------------------------------
{
  //---------------------------------------------------------------
  int FrecuenciaMultiplicada1 = 1;                    //   Multiplicador.
  int FrecuenciaMultiplicada2 = 2;                    //   Multiplicador.
  int FrecuenciaMultiplicada3 = 3;                    //   Multiplicador.
  int FrecuenciaMultiplicada4 = 4;                    //   Multiplicador.
  //---------------------------------------------------------------
  int ValorX = digitalRead(SwitchX) ;                  //   Obtenemos valor del boton.
  int ValorY = digitalRead(SwitchY) ;                  //   Obtenemos valor del boton.
  //---------------------------------------------------------------
  int Valor7 = digitalRead(Boton1) ;                  //   Obtenemos valor del boton.
  int Valor6 = digitalRead(Boton2) ;                  //   Obtenemos valor del boton.
  int Valor5 = digitalRead(Boton3) ;                  //   Obtenemos valor del boton.
  int Valor4 = digitalRead(Boton4) ;                  //   Obtenemos valor del boton.
  int Valor3 = digitalRead(Boton5) ;                  //   Obtenemos valor del boton.
  int Valor2 = digitalRead(Boton6) ;                  //   Obtenemos valor del boton.
  int Valor1 = digitalRead(Boton7) ;                  //   Obtenemos valor del boton.
  //---------------------------------------------------------------
  if (Valor1 == LOW && Valor2 == LOW && Valor3 == LOW && Valor4 == LOW && Valor5 == LOW && Valor6 == LOW && Valor7 == LOW) {     //   Si todos son LOW.
    noTone(Buzzer);                                   //   Silencio.
  }
  //---------------------------------------------------------------
  if (ValorX == LOW  && ValorY == LOW) {              //   SI SwitchX y  SwitchY.
    //---------------------------------------------------------------
    if (Valor7 == HIGH) {                             //   SI Valor = HIGH.
      tone(Buzzer, 493.88 * FrecuenciaMultiplicada1 );//   Ejecuta Nota.
      delay(Tiempo);                                  //   Retraso.
    }
    if (Valor6 == HIGH) {                             //   SI Valor = HIGH.
      tone(Buzzer, 440 * FrecuenciaMultiplicada1);    //   Ejecuta Nota.
      delay(Tiempo);                                  //   Retraso.
    }
    if (Valor5 == HIGH) {                             //   SI Valor = HIGH.
      tone(Buzzer, 392 * FrecuenciaMultiplicada1 );   //   Ejecuta Nota.
      delay(Tiempo);                                  //   Retraso.
    }
    if (Valor4 == HIGH) {                             //   SI Valor = HIGH.
      tone(Buzzer, 349.23 * FrecuenciaMultiplicada1 );//   Ejecuta Nota.
      delay(Tiempo);                                  //   Retraso.
    }
    if (Valor3 == HIGH) {                             //   SI Valor = HIGH.
      tone(Buzzer, 329.63 * FrecuenciaMultiplicada1 );//   Ejecuta Nota.
      delay(Tiempo);                                  //   Retraso.
    }
    if (Valor2 == HIGH) {                             //   SI Valor = HIGH.
      tone(Buzzer, 293.66 * FrecuenciaMultiplicada1 );//   Ejecuta Nota.
      delay(Tiempo);                                  //   Retraso.
    }
    if (Valor1 == HIGH) {                             //   SI Valor = HIGH.
      tone(Buzzer, 261.63 * FrecuenciaMultiplicada1 );//   Ejecuta Nota.
      delay(Tiempo);                                  //   Retraso.
    }
    //---------------------------------------------------------------
  }
  if (ValorX == HIGH  && ValorY == LOW) {             //   SI SwitchX y  SwitchY.
    //---------------------------------------------------------------
    if (Valor7 == HIGH) {                             //   SI Valor = HIGH.
      tone(Buzzer, 493.88 * FrecuenciaMultiplicada2 );//   Ejecuta Nota.
      delay(Tiempo);                                  //   Retraso.
    }
    if (Valor6 == HIGH) {                             //   SI Valor = HIGH.
      tone(Buzzer, 440 * FrecuenciaMultiplicada2);    //   Ejecuta Nota.
      delay(Tiempo);                                  //   Retraso.
    }
    if (Valor5 == HIGH) {                             //   SI Valor = HIGH.
      tone(Buzzer, 392 * FrecuenciaMultiplicada2);    //   Ejecuta Nota.
      delay(Tiempo);                                  //   Retraso.
    }
    if (Valor4 == HIGH) {                             //   SI Valor = HIGH.
      tone(Buzzer, 349.23 * FrecuenciaMultiplicada2); //   Ejecuta Nota.
      delay(Tiempo);                                  //   Retraso.
    }
    if (Valor3 == HIGH) {                             //   SI Valor = HIGH.
      tone(Buzzer, 329.63 * FrecuenciaMultiplicada2); //   Ejecuta Nota.
      delay(Tiempo);                                  //   Retraso.
    }
    if (Valor2 == HIGH) {                             //   SI Valor = HIGH.
      tone(Buzzer, 293.66 * FrecuenciaMultiplicada2); //   Ejecuta Nota.
      delay(Tiempo);                                  //   Retraso.
    }
    if (Valor1 == HIGH) {                             //   SI Valor = HIGH.
      tone(Buzzer, 261.63 * FrecuenciaMultiplicada2); //   Ejecuta Nota.
      delay(Tiempo);                                  //   Retraso.
    }
    //---------------------------------------------------------------
  }
  if (ValorX == LOW  && ValorY == HIGH) {             //   SI SwitchX y  SwitchY.
    //---------------------------------------------------------------
    if (Valor7 == HIGH) {                             //   SI Valor = HIGH.
      tone(Buzzer, 493.88 * FrecuenciaMultiplicada3 );//   Ejecuta Nota.
      delay(Tiempo);                                  //   Retraso.
    }
    if (Valor6 == HIGH) {                             //   SI Valor = HIGH.
      tone(Buzzer, 440 * FrecuenciaMultiplicada3);    //   Ejecuta Nota.
      delay(Tiempo);                                  //   Retraso.
    }
    if (Valor5 == HIGH) {                             //   SI Valor = HIGH.
      tone(Buzzer, 392 * FrecuenciaMultiplicada3);    //   Ejecuta Nota.
      delay(Tiempo);                                  //   Retraso.
    }
    if (Valor4 == HIGH) {                             //   SI Valor = HIGH.
      tone(Buzzer, 349.23 * FrecuenciaMultiplicada3); //   Ejecuta Nota.
      delay(Tiempo);                                  //   Retraso.
    }
    if (Valor3 == HIGH) {                             //   SI Valor = HIGH.
      tone(Buzzer, 329.63 * FrecuenciaMultiplicada3); //   Ejecuta Nota.
      delay(Tiempo);                                  //   Retraso.
    }
    if (Valor2 == HIGH) {                             //   SI Valor = HIGH.
      tone(Buzzer, 293.66 * FrecuenciaMultiplicada3); //   Ejecuta Nota.
      delay(Tiempo);                                  //   Retraso.
    }
    if (Valor1 == HIGH) {                             //   SI Valor = HIGH.
      tone(Buzzer, 261.63 * FrecuenciaMultiplicada3); //   Ejecuta Nota.
      delay(Tiempo);                                  //   Retraso.
    }
    //---------------------------------------------------------------
  }
  if (ValorX == HIGH  && ValorY == HIGH) {            //   SI SwitchX y  SwitchY.
    //---------------------------------------------------------------
    if (Valor7 == HIGH) {                             //   SI Valor = HIGH.
      tone(Buzzer, 493.88 * FrecuenciaMultiplicada4 );//   Ejecuta Nota.
      delay(Tiempo);                                  //   Retraso.
    }
    if (Valor6 == HIGH) {                             //   SI Valor = HIGH.
      tone(Buzzer, 440 * FrecuenciaMultiplicada4);    //   Ejecuta Nota.
      delay(Tiempo);                                  //   Retraso.
    }
    if (Valor5 == HIGH) {                             //   SI Valor = HIGH.
      tone(Buzzer, 392 * FrecuenciaMultiplicada4);    //   Ejecuta Nota.
      delay(Tiempo);                                  //   Retraso.
    }
    if (Valor4 == HIGH) {                             //   SI Valor = HIGH.
      tone(Buzzer, 349.23 * FrecuenciaMultiplicada4); //   Ejecuta Nota.
      delay(Tiempo);                                  //   Retraso.
    }
    if (Valor3 == HIGH) {                             //   SI Valor = HIGH.
      tone(Buzzer, 329.63 * FrecuenciaMultiplicada4); //   Ejecuta Nota.
      delay(Tiempo);                                  //   Retraso.
    }
    if (Valor2 == HIGH) {                             //   SI Valor = HIGH.
      tone(Buzzer, 293.66 * FrecuenciaMultiplicada4); //   Ejecuta Nota.
      delay(Tiempo);                                  //   Retraso.
    }
    if (Valor1 == HIGH) {                             //   SI Valor = HIGH.
      tone(Buzzer, 261.63 * FrecuenciaMultiplicada4); //   Ejecuta Nota.
      delay(Tiempo);                                  //   Retraso.
    }
    //---------------------------------------------------------------
  }
}

Piano, Versión 2

Piano Interactivo. Con 4 Modo de Tonos:​
Materiales para el proyecto:
​
Arduino Uno.
1 Buzzer.
7 Pulsadores.
2 Switch.
9 Resistencias de 10 K ohm.

Conexión:
​
​Pin 6 del Arduino al Buzzer.
​Pin 2 del Arduino al Pulsador 1.
​Pin 3 del Arduino al Pulsador 2.
​Pin 4 del Arduino al Pulsador 3.
​Pin 5 del Arduino al Pulsador 4.
​Pin 7 del Arduino al Pulsador 5.
​Pin 8 del Arduino al Pulsador 6.
​Pin 9 del Arduino al Pulsador 7.
​Pin 10 del Arduino al Switch 1.
​Pin 12 del Arduino al Switch 1.
 
 
 
 
​
bottom of page