// Dichiaro le 7 variabili per le mie 7 note (DO - RE - MI - FA - SOL - LA - SI). // frequenza_A; // frequenza_B; // frequenza_C; // frequenza_D; // frequenza_E; // frequenza_F; // frequenza_G; int notes[] ={262,294,330,349,392,440,494}; int s=68; int s0; int s1; int s2; int s3; int s4; int s5; int s6; int ds=7; void setup() { // Inizializzo la comunicazione seriale a 9600 bit per secondo. Serial.begin(9600); s0 = analogRead(A0)-ds; s1 = analogRead(A1)-ds; s2 = analogRead(A2)-ds; s3 = analogRead(A3)-ds; s4 = analogRead(A4)-ds; s5 = analogRead(A5)-ds; s6 = analogRead(A6)-ds; } // Creo un ciclo infinito che continua a leggere la frequenza dei fotodiodi e scrive la nota sulla porta seriale. // Quello mandato sulla porta seriale, verrà letto dal programma in C# e in base alla nota suonata e al suono desiderato, riprodurrà un suono. void loop() { // Dichiarazione variabili // Leggono dalla porta seriale la frequenza del valore del fotodiodo // int frequenza_A = analogRead(A0); // int frequenza_B = analogRead(A1); // int frequenza_C = analogRead(A2); // int frequenza_D = analogRead(A3); // int frequenza_E = analogRead(A4); // int frequenza_F = analogRead(A5); // int frequenza_G = analogRead(A6); int keyVal0 = analogRead(A0); int keyVal1 = analogRead(A1); int keyVal2 = analogRead(A2); int keyVal3 = analogRead(A3); int keyVal4 = analogRead(A4); int keyVal5 = analogRead(A5); int keyVal6 = analogRead(A6); Serial.print(" A0: "); Serial.print(keyVal0); Serial.print(" A1: "); Serial.print(keyVal1); Serial.print(" A2: "); Serial.print(keyVal2); Serial.print(" A3: "); Serial.print(keyVal3); Serial.print(" A4: "); Serial.print(keyVal4); Serial.print(" A5: "); Serial.print(keyVal5); Serial.print(" A6: "); Serial.println(keyVal6); //se su A0 ricevo segnale minore di 75 suono la prima nota nell'array notes if( keyVal0 <= s0) { tone(8, notes[0]); } else if(keyVal1 <= s1) { tone(8, notes[1]); } else if(keyVal2 <= s2) { tone(8, notes[2]); } else if(keyVal3 <= s3) { tone(8, notes[3]); } else if(keyVal4 <= s4) { tone(8, notes[4]); } else if(keyVal5 <= s5) { tone(8, notes[5]); } else if(keyVal6 <= s6) { tone(8, notes[6]); } else{ noTone(8); } }