Salve a tutti, vi scrivo perché oggi mentre programmavo arduino uno con la funzione tone fornendo istruzioni circa il pin da suonare, la frequenza ed il tempo ho notato delle stranezze sul comportamento del suddetto pin. In pratica sullo stesso contatto ho collegato buzzer e led, l'idea era di suonare una nota di 2000Hz per 1000 millesimi di secondo e di far corrispondere la cessata emissione del suono con l'accensione del led. Non so per quale motivo ma alla fine del suono il led si spegneva e non si riaccendeva nemmeno se facevo seguire a tone l'istruzione digitalWrite (pin, HIGH).
Ho controllato se altre righe potessero interferire con questi comandi ma nada, alla fine sono riuscito ad ottenere il risultato sperato usando noTone ed eliminando la durata del suono della nota dall'istruzione tone.
Qualcuno saprebbe dirmi perché?
Grazie a tutti per l'attenzione
Se non ricordo male Tone è una istruzione non bloccante, significa che una volta incontrata l'istruzione, Arduino setta un po' di cose per emettere il suono e poi va avanti, non aspetta che il suono sia finito.
Prova ad aggiungere un Delay dopo il Tone.