Salve a tutti, avrei un problema con arduino , ho cercato sul web ma non ho trovato quasi niente a riguardo e di quel poco che ho trovato ho capito ben poco. Il problema è se io vorrei far fare lampeggiare un led con delay (500) e nel mentre far fare un beep dal buzzer con delay differente ,Arduino normalmente mi somma tutti i delay presenti nel codice, da come ho letto arduino non riuscirebbe a fare ciò, datemi qualche chiarimento per favore o qualche manuale da studiare riguardo questo campo, Grazie mille a tutti.
Ciao,cerca sul web led,millis,arduino ,e vedrai che nel web trovera infiniti esempi e spiegazioni per il tuo progetto.
>Domi02: Devi studiarti come si usa la funzione millis(), prima QUI, poi QUI e QUI e QUI e tutti gli articoli che sono in QUESTA pagina ... vedrai che ti sarà tutto più chiaro.
Guglielmo
P.S.: ... oltre che a quei link, prova a dare un occhiata anche QUI.
Funziona così:
Devi fare un caffè, una torta e un gelato. Hai solo un orologio. Alle 14 metti il caffè sul fuoco, inforni la torta e accendi la gelatiera.
Alle 14.05 togli il caffè dal fuoco,
alle 14.40 togli il gelato dalla gelatiera
alle 14.50 sforni la torta.
Quindi, con millis():
Prendi il tempo con una variabile unsigned long (io uso t_nome1, t_nome2, t_nome3 ... all'interno di un programma):
t_cucina=millis();
poi verifichi:
if(millis()-t_cucina>1000) {t_cucina=millis(); fai questo}
In questo modo, "fai questo" verrà eseguito una volta ogni secondo.
È solo un esempio; puoi fare molte altre cose. Mantieni, però, sempre la forma
if(millis()-t_nome...)
per non avere mai problemi con l'overflow.
Tread ripulito da post NON inerenti il problema tecnico.
Guglielmo