Práctica 22. La escala musical tocada por un pizoeléctrico

Como se dijo en la práctica anterior, un material piezoléctrico es aquel que aplicándole una diferencia de potencial eléctrico genera tensiones en su interior que a su vez generan deformaciones. Además se sabe que, con la ayuda de un Piezo Buzzer, se pueden generar sonidos.

Ahora bien ¿qué pasa si se puede controlar la diferencia de potencial eléctrico de tal manera de crear un sonido agradable y con ritmo al oído? Pues es completamente posible. Es por ello que en esta práctica se aplicarán los conceptos vistos en la práctica 21, pero con una variación del código que permitirá crear una escala musical con la ayuda de un Piezo Buzzer, una tarjeta Arduino y otros materiales que más adelante se señalarán.

22.1 Objetivos

Realizar un programa para generar una escala musical con una tarjeta Arduino y un Piezo Buzzer.

22.2 Materiales y Métodos

  1. Un cable USB impresora.
  2. Un computador.
  3. Cables para el montaje del circuito.
  4. Una tarjeta Arduino Uno-R3 o Arduino Mega 2560.
  5. Un piezo buzzer.

22.3 Montaje de la práctica

Figura 1. Montaje del circuito en el programa Fritzing

Antes de comenzar el montaje del circuito, se proyecta su montaje en el programa Fritzing. Este montaje es bastante simple; solo se debe conectar las terminales de los cables del piezo buzzer (pieza circular) con la tarjeta arduino. El terminal negro en la entrada “GND” y el termianl rojo en la entrada “-9”. Clic aquí para el enlace a TinkerCad.

Escala musical - gerartecnoalumno
Figura 2. Escala musical

22.4 Codificación de la práctica

Cada nota musical tiene una frecuencia que hace que el Piezo Buzzer vibre y genere el tono correspoendinte a esa nota musical. En el siguiente cuadro se podrán ver los códigos (frecuencia) de la escala musical.

Tabla: Lista de frecuencias de las notas musicales

22.4.1 Codificación con lazo For

//
int pizoElectro=9;
long pulso;
int i;
long DO=523.25,
     RE=587.33,
     MI=659.26,
     FA=698.46, 
     SOL=783.99,  
     LA=880, 
     SI=987.77;  
  
long escalera[]={DO,RE,MI,FA,SOL,LA,SI}; 
void setup()
{
  pinMode(pizoElectro, OUTPUT);
}

void loop()
{  pulso=500;
 //subo
  for (i=0; i<=6; i++) {
   tone(pizoElectro, escalera[i]);  
  delay(pulso);
 noTone(pizoElectro);   
  }
  //bajo
 tone(pizoElectro, escalera[0]); 
  delay(pulso);
  for (i=6; i>=0; i--) {
   tone(pizoElectro, escalera[i]);  
  delay(pulso);
  noTone(pizoElectro);
  }
}
   

}

22.4.2 Codificación sin lazo For (paso a paso)

//
int pizoElectro=9;
long pulso;
long DO=523.25,
     RE=587.33,
     MI=659.26,
     FA=698.46, 
     SOL=783.99,  
     LA=880, 
     SI=987.77;  
  
 void setup()
{
  pinMode(pizoElectro, OUTPUT);
}

void loop()
{
 long escalera[]={DO,RE,MI,FA,SOL,LA,SI};  
  pulso=750;
 // subo
  tone(pizoElectro, DO);
  delay(pulso);
 noTone(pizoElectro);
 tone(pizoElectro, RE);
  delay(pulso);
 noTone(pizoElectro);
 tone(pizoElectro, MI);
  delay(pulso);
 noTone(pizoElectro);
 tone(pizoElectro, FA); 
  delay(pulso);
 noTone(pizoElectro);
 tone(pizoElectro, SOL);
  delay(pulso);
 noTone(pizoElectro);
  tone(pizoElectro, LA);
  delay(pulso);
  noTone(pizoElectro);
  tone(pizoElectro, SI); 
  delay(pulso);
  noTone(pizoElectro);
 //bajo 
  tone(pizoElectro, DO);
  delay(pulso);
  noTone(pizoElectro);
  tone(pizoElectro, SI); 
  delay(pulso);
  noTone(pizoElectro);
   tone(pizoElectro, LA);
  delay(pulso);
 noTone(pizoElectro);
  tone(pizoElectro, SOL);
  delay(pulso);
  noTone(pizoElectro);
  tone(pizoElectro, FA); 
  delay(pulso);
  noTone(pizoElectro);
  tone(pizoElectro, MI);
  delay(pulso);
  noTone(pizoElectro);
  tone(pizoElectro, RE);
  delay(pulso);
  noTone(pizoElectro);
 tone(pizoElectro, DO);
  delay(pulso);
  noTone(pizoElectro);
}
   

}

22.5 Conclusión

A través de esta práctica se logró hacer que con un Piezo Buzzer y una tarjeta Arduino se generaran frecuencias distintas de sonido para crear un tono de una serie de notas musicales ordenadas. Además, se vio que era posible realizarla mediante dos códigos distintos usando el comando For y tone() visto en la práctica 21 y con la ayuda de un modelo del montaje de la tarjeta arduino en TinkerCad.