Buongiorno a tutti, sono nuovo spero di scrivere nel posto giusto, in caso contrario mi scuso con i moderatori.
Ho iniziato da poco ad usare arduino. Ho iniziato un progettino per un regalo di natale. Il progetto consiste in un ecg con arduino nano e un sensore di battito AD8232 e un buzzer per arduino che suona quando non rileva il battito. Fino a qua tutto bene. Ora ho provato a scrivere il programma in modo che il buzzer suona solo dopo tot secondi che non rileva il battito ma il buzzer non suona mai...vi scrivo qui sotto il programma se qualcuno mi può dire dove ho sbagliato .
Benvenuto !
Essendo il tuo primo post, nel rispetto del regolamento della sezione Italiana del forum (… punto 13, primo capoverso), ti chiedo cortesemente di presentartiIN QUESTO THREAD (spiegando bene quali conoscenze hai di elettronica e di programmazione ... possibilmente evitando di scrivere solo una riga di saluto) e di leggere con molta attenzione tutto il su citato REGOLAMENTO ... Grazie.
P.S.: Ti ricordo che, purtroppo, fino a quando non sarà fatta la presentazione nell'apposito thread, nessuno ti potrà rispondere, quindi ti consiglio di farla al più presto.
>Okrimer89: ti ricordo che in conformità al regolamento, punto 7, devi editare il tuo post iniziale (quindi NON scrivendo un nuovo post, ma utilizzando il bottone More -> Modify che si trova in basso a destra del tuo post) e racchiudere il codice all'interno dei tag CODE (... sono quelli che in edit inserisce il bottone con icona fatta così: </>, tutto a sinistra).
In pratica, tutto il tuo codice dovrà trovarsi racchiuso tra due tag: [code] _il _tuo_ codice_ [/code] così da non venire interpretato e non dare adito alla formazione di caratteri indesiderati o cattiva formattazione del testo. Grazie.
gpb01: >Okrimer89: ti ricordo che in conformità al regolamento, punto 7, devi editare il tuo post iniziale (quindi NON scrivendo un nuovo post, ma utilizzando il bottone More -> Modify che si trova in basso a destra del tuo post) e racchiudere il codice all'interno dei tag CODE (... sono quelli che in edit inserisce il bottone con icona fatta così: </>, tutto a sinistra).
In pratica, tutto il tuo codice dovrà trovarsi racchiuso tra due tag: [code] _il _tuo_ codice_ [/code] così da non venire interpretato e non dare adito alla formazione di caratteri indesiderati o cattiva formattazione del testo. Grazie.
È molto semplice: ogni volta che arriva un impulso, prendi il tempo con millis(), ad esempio: t=millis(); poi, con un if, se millis()-t>tempo_massimo, suona l'allarme.
Dove ho sbagliato nel mio sketch? Scusatemi ma ho iniziato ad avvicinarmi a questo mondo da pochissimo e idem ad usare arduino quindi chiedo scusa se risulto "ignorante" in materia
Secondo me nel tuo codice c'è che la variabile avviaAllarme non arriva mai al valore di 5000 o superiore, forse viene eseguito l'else e azzera la variabile prima di arrivare a 5000.
torn24:
Secondo me nel tuo codice c'è che la variabile avviaAllarme non arriva mai al valore di 5000 o superiore, forse viene eseguito l'else e azzera la variabile prima di arrivare a 5000.
Secondo me devi vedere se gli input dei pin avvengono per il tempo necessario. Se tutti e due i pin sono a zero prima che la variabile raggiunga 5000, viene eseguito l'else e riporta a zero la variabile.
Tu stai facendo due controlli "temporali", ed evidentemente qualcosa non funziona!
imho hai bisogno solo di un "timer", che controlli ad ogni giro di loop.
Cerco di spiegarmi e spero sia corretto
Se non c'è attività, fai partire un timer, solo se non è già partito
SE inizio_inattivita==0, inizio_inattivita = millis()
se c'è attività, azzeri il timer
inizio_inattivita==0
alla fine del loop controlli se il tempo di inattività è superiore all'intervallo che hai deciso, se si, suoni
Non è molto più semplice prendere il tempo a ogni impulso e azionare l'allarme se il tempo trascorso dall'ultimo impulso supera il valore impostato?...
Si solo che come ho scritto ho appena iniziato ad usare arduino quindi gran parte dello sketch l ho preso da vari spunti su internet quindi non saprei come cambiare il tutto
Okrimer89:
Si solo che come ho scritto ho appena iniziato ad usare arduino quindi gran parte dello sketch l ho preso da vari spunti su internet quindi non saprei come cambiare il tutto
Però se mai provi, mai impari
Forse dovresti iniziare con lo studiare un po' di programmazione; ad esempio QUESTO e QUESTO sono un ottimo inizio.
Comunque nel mio post #11, c'è tutto quello che ti serve per provare almeno un'alternativa.