18 de nov. 2014

MELODIA

Hem fet so amb un brunzidor piezoelèctric, hem comprobat que els tons depenen de la freqüència dels trens de polsos, que ha de ser tan alta que hem d'utilitzar l'instrucció delayMicroseconds(); en comptes de delay();

Aquest és el nostre muntatge:



















El programa que repeteix l'escala musical:
/*Melodia*/
int PiezoPin=8;
int tons[] ={1915,1700,1519,1432,1275,1136,1014};
int i=0;
int j=0;
int durada=250;

void setup()
{
  pinMode(PiezoPin,OUTPUT);
}

void loop()
{
 for(i=0; i<7; i=i++)
 {
   for(j=0; j<durada; j=j++)
   {
     digitalWrite(PiezoPin,HIGH);
     delayMicroseconds(tons[i]);
     digitalWrite(PiezoPin,LOW);
     delayMicroseconds(tons[i]);
   }
  }
}

Cap comentari:

Publica un comentari a l'entrada