Salve,
sto cercando di riprodurre un paio di canzoni utilizzando il piezo di Arduino, utilizzando degli array che contengono le note da riprodurre, tuttavia incontro questo errore:"16:219: error: invalid conversion from 'const char*' to 'int' [-fpermissive]" e non capisco che significhi e come correggerlo, anche perché la struttura del codice l'ho ripresa dal libro "Arduino progetti e soluzioni", quindi dovrebbe essere giusto, no?
Comunque, gli array sono questi:
const int piezo = 13;
int noteNomi[]={'A', 'a', 'B', 'C', 'D', 'E', 'F', 'G', 'b', 'e', 'f'};
unsigned int frequenze[]={262, 277, 294, 330, 349, 370, 392, 440, 494, 311, 415, 466};
const word noteConto = sizeof(noteNomi);
int wonderw[]={"GFEFEFEF FEFEFEFGE GFEFFFF FEFFEFGE GBGBBCBGF EFEFGE CCdE FEFEFEFGE GFEFEFEF FEFEFEFGE GBGBBCBGE EFEFGE CCdE FGAFFGAFGAF GAFFGAFGAF GAFFGAF FCBCA AABCBAF aaF EFEFEFFaF aBCF aaBaa CCA FAFAFAACA CD "};
const word wonderwL = sizeof(wonderw);
int allofme[]={"fAAAAAAe AAAAfAAfeF AAaAeaAe eFAFD AAAAfAAfee AAAbaAAfeF AAaAeeaaAe efAfa eFbaAf eEDbD DDbaAAfef AbAD AfeA AAfffefe AAfffefe AAbAF AeEDbA AAfffefe AAfffefe AAabeEDbaA beAfAAabeEFbaAbeff fAAAAfAfee AAAAbaAAfef AAAaAea AeffAfAD bAfebAA ebAAffAfAD AAAaA AeaAefAfaa DbaeEDbaAf DbaeEDbaAf DbaeEDb AAabeEeDbaA beAfAAabeEeDbaAAf "};
const word allofmeL = sizeof(allofme);
Questi vengono riprodotti in cicli di questo tipo:
for(int i=0; i<allofmeL; i++){
int durata=333;
playNote(allofme[i], durata);
delay(2);
}//esegue l'array con All of me
La riproduzione avviene con questa funzione:
void playNote(int note, int durata){
for(int i=0; i<noteConto; i++){
if(noteNomi[i]==note){
tone(piezo, frequenze[i], durata);
}
}
delay(durata);
}
Grazie in anticipo a chiunque possa darmi una mano.