Il nuovo listato finalmente funzionante a dovere

:
int Buzzer=13; //Associa "Buzzer" al pin D13
int Do=12; //Associa "Do" al pin D12
int Re=11; //Associa "Re" al pin D11
int Mi=10; //Associa "Mi" al pin D10
int Fa=9; //Associa "Fa" al pin D9
int Sol=8; //Associa "Sol" al pin D8
int La=7; //Associa "La" al pin D7
int Si=6; //Associa "Si" al pin D6
int ValueButton; //Registro valore pulsante
void setup() //Azioni da eseguire solo all'avvio
{
pinMode(Buzzer,OUTPUT); //Imposta il pin D13 in uscita
pinMode(Do,INPUT); //Immposta il pin D12 in ingresso
pinMode(Re,INPUT); //Imposta il pin D11 in ingresso
pinMode(Mi,INPUT); //Imposta il pin D10 in ingresso
pinMode(Fa,INPUT); //Imposta il pin D9 in ingresso
pinMode(Sol,INPUT); //Imposta il pin D8 in ingresso
pinMode(La,INPUT); //Imposta il pin D7 in ingresso
pinMode(Si,INPUT); //Imposta il pin D6 in ingresso
}
void loop() //Azioni da eseguire all'infinito
{
ValueButton=digitalRead(Do); //Associa a "ValueButton" il valore del pulsante "Do"
while(ValueButton==HIGH) //Se il pulsante "Do" risulta premuto...
{
tone(Buzzer,262); //...fai suonare il "Buzzer" a 262Hz...
ValueButton=digitalRead(Do); //...rileggi il valore del pulsante "Do"...
if(ValueButton==LOW) //...se il pulsante "Do" risulta rilasciato...
{
noTone(Buzzer); //...spegni il "Buzzer"
}
}
ValueButton=digitalRead(Re); //Associa a "ValueButton" il valore del pulsante "Re"
while(ValueButton==HIGH) //Se il pulsante "Re" risulta premuto...
{
tone(Buzzer,294); //...fai suonare il "Buzzer" a 294Hz...
ValueButton=digitalRead(Re); //...rileggi il valore del pulsante "Re"...
if(ValueButton==LOW) //...se il pulsante "Re" risulta rilasciato...
{
noTone(Buzzer); //...spegni il "Buzzer"
}
}
ValueButton=digitalRead(Mi); //Associa a "ValueButton" il valore del pulsante "Mi"
while(ValueButton==HIGH) //Se il pulsante "Mi" risulta premuto...
{
tone(Buzzer,330); //...fai suonare il "Buzzer" a 330Hz...
ValueButton=digitalRead(Mi); //...rileggi il valore del pulsante "Mi"...
if(ValueButton==LOW) //...se il pulsante "Mi" risulta rilasciato...
{
noTone(Buzzer); //...spegni il "Buzzer"
}
}
ValueButton=digitalRead(Fa); //Associa a "ValueButton" il valore del pulsante "Fa"
while(ValueButton==HIGH) //Se il pulsante "Fa" risulta premuto...
{
tone(Buzzer,349); //...fai suonare il "Buzzer" a 349Hz...
ValueButton=digitalRead(Fa); //...rileggi il valore del pulsante "Fa"...
if(ValueButton==LOW) //...se il pulsante "Fa" risulta rilasciato...
{
noTone(Buzzer); //...spegni il "Buzzer"
}
}
ValueButton=digitalRead(Sol); //Associa a "ValueButton" il valore del pulsante "Sol"
while(ValueButton==HIGH) //Se il pulsante "Sol" risulta premuto...
{
tone(Buzzer,392); //...fai suonare il "Buzzer" a 392Hz...
ValueButton=digitalRead(Sol); //...rileggi il valore del pulsante "Sol"...
if(ValueButton==LOW) //...se il pulsante "Sol" risulta rilasciato...
{
noTone(Buzzer); //...spegni il "Buzzer"
}
}
ValueButton=digitalRead(La); //Associa a "ValueButton" il valore del pulsante "La"
while(ValueButton==HIGH) //Se il pulsante "La" risulta premuto...
{
tone(Buzzer,440); //...fai suonare il "Buzzer" a 440Hz...
ValueButton=digitalRead(La); //...rileggi il valore del pulsante "La"...
if(ValueButton==LOW) //...se il pulsante "La" risulta rilasciato...
{
noTone(Buzzer); //...spegni il "Buzzer"
}
}
ValueButton=digitalRead(Si); //Associa a "ValueButton" il valore del pulsante "Si"
while(ValueButton==HIGH) //Se il pulsante "Si" risulta premuto...
{
tone(Buzzer,494); //...fai suonare il "Buzzer" a 494Hz...
ValueButton=digitalRead(Si); //...rileggi il valore del pulsante "Si"...
if(ValueButton==LOW) //...se il pulsante "Si" risulta rilasciato...
{
noTone(Buzzer); //...spegni il "Buzzer"
}
}
}