Construye un piano con este sencillo tutorial 4.5/5 (4)

Realizar un piano usando una placaArduino es un proyecto muy interesante y fácil de hacer. No va a ser una versión convencional de un piano, pero vas a realizar una que con la que podrás tocar unas cuantas melodías. Aquí, vamos a hacer un piano que se puede utilizar para tocar los tonos básicos de una canción. Para este proyecto no hace falta ser músico profesional, solamente tener un Arduino Uno y las ganas de realizar un divertido proyecto. !Vamos allá!

Componentes necesarios:

  1. Arduino Uno
  2. Un teclado
  3. Un Altavoz de 1W, con un pequeño altavoz de juguete nos vale (Piezo Buzzer)
  4. Unos pocos cables

Diagramas

tutorial arduino piano 1 - Construye un piano con este sencillo tutorial

Pin Arduino
Teclado de izquierda a derecha
3
Pin1
2
Pin2
1
Pin3
0
Pin4
7
Pin5
6
Pin6
5
Pin7
4
Pin8
Altavoz y Buzzer
12
a un terminal
Gnd
a otro terminal

Código

 

Antes de cargar este código a tu placa Arduino necesitas añadir la librería’ keypad.h’ a Arduino IDE. Para ello has de ir a la carpeta raíz del Arduino IDE y pegar el archivo descomprimido de descarga del enlace de arriba en la carpeta’ Libraries’.

Ten en cuenta lo siguiente: necesitas conectar el altavoz o el buzzer sólo al pin PWM. Aquí lo hemos conectado al pin 12, que es un pin PWM.

    #include
    #include "pitches.h" 
    #define GND 12 
    const byte ROWS = 4; //four rows 
    const byte COLS = 4; //four columns 
    const int SPEAKER=11;
    //define the symbols on the buttons of the keypads 
    char hexaKeys[ROWS][COLS] = {  
    {'0','1','2','3'},   
    {'4','5','6','7'},   
    {'8','9','A','B'},   
    {'C','D','E','F'} }; 
    byte rowPins[ROWS] = {3, 2, 8, 0}; //connect to the row pinouts of the keypad 
    byte colPins[COLS] = {7, 6, 5, 4}; //connect to the column pinouts of the keypad
    //initialize an instance of class NewKeypad 
    Keypad customKeypad = Keypad( makeKeymap(hexaKeys), rowPins, colPins, ROWS, COLS); 
    void setup()
    {   
    Serial.begin(9600);  
    pinMode(GND,OUTPUT);   
    digitalWrite(GND,LOW); 
    }    
    void loop()
    {   
    char customKey = customKeypad.getKey();      
    if (customKey=='0')
    {     
    Serial.println(customKey);     
    tone(SPEAKER,NOTE_C4,350);   
    }   
    if (customKey=='1')
    {
        Serial.println(customKey);
        tone(SPEAKER,NOTE_D4,350);
     }   
    if (customKey=='2')
    {
        Serial.println(customKey);
        tone(SPEAKER,NOTE_E4,350);
      }
      if (customKey=='3')
    {
        Serial.println(customKey);
        tone(SPEAKER,NOTE_F4,350);
      }
      if (customKey=='4')
    {
        Serial.println(customKey);
        tone(SPEAKER,NOTE_G4,350);
      }   
    if (customKey=='5')
    {
        Serial.println(customKey);
        tone(SPEAKER,NOTE_A4,350);
      }
      if (customKey=='6')
    {
        Serial.println(customKey);
        tone(SPEAKER,NOTE_B4,350);
      }
      if (customKey=='7')
    { 
        Serial.println(customKey);
        tone(SPEAKER,NOTE_C5,350);
      }
      if (customKey=='8')
    {
        Serial.println(customKey);
        tone(SPEAKER,NOTE_D5,350);
      }
      if (customKey=='9')
    {
        Serial.println(customKey);
        tone(SPEAKER,NOTE_E5,350);
      }
      if (customKey=='A')
    {
        Serial.println(customKey);
        tone(SPEAKER,NOTE_F5,350);
      }
      if (customKey=='B')
    {
        Serial.println(customKey);
        tone(SPEAKER,NOTE_G5,350);
      }
      if (customKey=='C')
    {
        Serial.println(customKey);
        tone(SPEAKER,NOTE_A5,350);
      }
      if (customKey=='D')
    {
        Serial.println(customKey);
        tone(SPEAKER,NOTE_B5,350);
      }
      if (customKey=='E')
    { 
        Serial.println(customKey);
        tone(SPEAKER,NOTE_C6,350);
      }
      if (customKey=='F  ')
    {
        Serial.println(customKey);
        tone(SPEAKER,NOTE_D6,350);
      }
    }

Califique esto

También te puede interesar

Deja un comentario

Tu dirección de correo electrónico no será publicada.

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

Pin It on Pinterest

Shares