suonerie natalizie

Salve a tutti avrei bisogno del vostro aiuto , ho trovato lo sketch suonerie natalizie e ho inserito nello sketch centralina alba giorno tramonto ma ottengo errore di compilazione .Vorrei tanto il vostro aiuto Grazie Giuseppe
Allego lo sketch

centralina_con_quattro_rele.ino (8.78 KB)

Metti separati lo sketch funzionante e la parte che vuoi aggiungere.

manca la graffa chiusa prima di :
void play_rtttl(char *p) {

poi c'è in automatico una graffa di troppo..dopo

trovata una libreria in rete non so se è quella giusta comunque in "tone.cpp" riga 26 devo sostituire wiring.h con Arduino.h se no il mio compilatore non compila.
ora non da errore ma non posso provare lo sketch
:slight_smile:

Grazie Marinaio e Camperos gli sketch suonerie e alba giorno e tramonto separatamente funzionano bene avevo già fatto la correzione wiring con arduino.h. Io vorrei che quando avviene il giorno dovrebbe suonare la canzone natalizia. La compilazione risulta corretta l'errore è secondo me è 'play_rtt1' manca qualcosa. L'errore è :Arduino:1.6.1 (Windows 7), Scheda:"Arduino Uno"

centralina_con_quattro_rele.ino: In function 'void loop()':

centralina_con_quattro_rele.ino:93:32: error: 'play_rtttl' was not declared in this scope

centralina_con_quattro_rele.ino:97:26: error: a function-definition is not allowed here before '{' token

centralina_con_quattro_rele.ino:305:1: error: expected '}' at end of input

Errore durante la compilazione

Questo report potrebbe essere più ricco
di informazioni con
"Mostra un output dettagliato durante la compilazione"
abilitato in "File > Impostazioni"

No, NON compila.
Hai iniziato la dichiarazione della funzione incriminata SENZA chiudere la loop con la graffa di chiusura.

Questa segnalazione: "centralina_con_quattro_rele.ino:305:1: error: expected '}' at end of input" indica un casino con le graffe.

Questa: "centralina_con_quattro_rele.ino:97:26: error: a function-definition is not allowed here before '{' token" che stai dichiarando una tua funzione in un posto sbagliato. Infatti la loop() non è chiusa, sembra quasi che vuoi mettere la funzione play_xxx dentro alla loop.

Guarda giuseppe che camperos ti ha già detto tutte le modifiche da fare perchè lo sketch compili correttamente... se poi non funziona perchè c'è qualche errore nella logica, quello è un altro paio di maniche... per quello ti avevo detto di allegare i due file separati...

Grazie ora vi allego i due sketch separati confido in voi per l'aiuto

sketch_jan28a.ino (12.1 KB)

centralina_con_due_rele.ino (3.82 KB)

Scusate del ritardo avevo dimenticato di dirvi che volevo inserire una delle canzoni natalizie nel programma centralina Grazie per tutti coloro che avranno la pazienza di aiutarmi

potresti provare così:
tutto il "void loop" dello sketch musiche lo copi sotto lo sketch "alba" fuori dal void loop() alba
poi cambi void loop() delle musichette in void musichette()

poi (nel void loop alba) inserisci:

musichette();
lo devi mettere dentro un if,

tipo.... if (pin_moon > 200){
musichette();
}

scusate del ritardo, ma cercavo di mettere in atto ciò che avete suggerito . Il problema sembra risolvere,infatti non ho nessun errore nella compilazione , ma quando vado ad eseguire il programma alcune funzioni dello sketch alba non vengono eseguite, penso che il programma musichette va in conflitto . Forse dovrei rinunciare alla musica.Comunque grazie se avete altri suggerimenti apprezzerò con piacere .Giuseppe

metti il nuovo sketch

Grazie per il vostro interessamento poichè lo sketch è troppo lungo .Allego come file

alba_e_musichette.ino (9.4 KB)