Mejorando el teclado electrónico musical (codigo)

Programación 

Resultado de imagen para arduino uno
El dia de hoy empezamos a mejorar nuestro piano y su programación en la clase aprendimos lo siguiente ;para funcionar nuestro circuito se debe tener una fuente de energía la cual puede ser una batería . El arduino posee pines digitales y análogos . En el código se debe tomar en cuenta el pin mode ya que puede ser input y output .Ya que nuestro proyecto es un piano se debe poner 7 pulsadores para imitar las notas do , re , mi , fa ,sol , la , si.En esta clase junto a mi compañera pudimos ver como ya suene un poco mejor la melodía y como ayudaron los cambios estéticos .La dificultad que tenemos es que nuestra melodía no suena muy musical como se supone que debería .Mi compañera y yo aún nos preguntamos porque aún suena rara nuestra melodía .

El código es este :

#define T_C 262
#define T_D 294
#define T_E 330
#define T_F 349
#define T_G 392
#define T_A 440
#define T_B 493



const int C = 10;
const int D = 9;
const int E = 8;
const int F = 7;
const int G = 6;
const int A = 5;
const int B = 4;



const int Buzz = 13;
const int LED = 3;






void setup()
{
  pinMode(LED, OUTPUT);
  pinMode(C, INPUT);
  digitalWrite(C,HIGH);

  pinMode(D, INPUT);
  digitalWrite(D,HIGH);

  pinMode(E, INPUT);
  digitalWrite(E,HIGH);

  pinMode(F, INPUT);
  digitalWrite(F,HIGH);

  pinMode(G, INPUT);
  digitalWrite(G,HIGH);

  pinMode(A, INPUT);
  digitalWrite(A,HIGH);

  pinMode(B, INPUT);
  digitalWrite(B,HIGH);



   digitalWrite(LED,LOW);






}



void loop()
{

  while(digitalRead(C) == LOW)
  {
    tone(Buzz,T_C);
    digitalWrite(LED,HIGH);
  }



  while(digitalRead(D) == LOW)
  {
    tone(Buzz,T_D);
    digitalWrite(LED,HIGH);
  }



  while(digitalRead(E) == LOW)
  {
    tone(Buzz,T_E);
    digitalWrite(LED,HIGH);
  }



  while(digitalRead(F) == LOW)
  {
    tone(Buzz,T_F);
    digitalWrite(LED,HIGH);
  }



  while(digitalRead(G) == LOW)
  {
    tone(Buzz,T_G);
    digitalWrite(LED,HIGH);
  }



  while(digitalRead(A) == LOW)
  {
    tone(Buzz,T_A);
    digitalWrite(LED,HIGH);
  }



  while(digitalRead(B) == LOW)
  {
    tone(Buzz,T_B);
    digitalWrite(LED,HIGH);
  }



  noTone(Buzz);
  digitalWrite(LED,LOW);


  }

Comentarios

Entradas populares