Salve ragazzi. Rieccomi con un altra domandina. Ho completato la parte con millis(alla fine era molto semplice certe volte il cervello non si connette con le mani che scrivono lo sketch sopratutto dopo parecchie ore di lavoro) grazie comunque. Adesso dovrei far cambiare stato ad un digitale solo quando un segnale analogico letto arrivi al suo massimo. Per comprendere in 10 secondi faccio un esempio pratico: ho un analogread di un segnale che arduino rileva con questa scala di valori
10-20-30-50-150-300-600-400-240-200-100-20-10
Ecco dovrei far cambiare stato al pin digitale nel momento che il valore passa da 600(picco più alto in questo caso) a 400. Grazie ragazzi sempre.
if lettura > massimo
{
massimo = lettura
}
if lettura > massimo
{
accendi LED
}
Non so come vuoi spegnere il LED
Ciao Uwe
Dovresti creare un sistema che prevede il futuro.
Come fai a sapere cosa succederà dopo?
Come fai a sapere se dopo quel 600 , 400 si verificherà nell'arco dei 10 s una lettura di 700 ???
O forse hai omesso di dire qualcosa.
Supponiamo che le letture siano sempre tali da avere una salita, un picco e quindi una discesa.
In questo caso si può fare.
Basta confrontare ogni lettura con la precedente, SE la lettura è MINORE della precedente, allora hai appena superato il momento del picco.
Effettivamente ho dimenticato di scrivere che segue sempre una scala prima crescente e poi decrescente. Ma non riesco a capire il codice di uwe. Ossia nel primo if controlla se lettura istantanea è piu grande di misura. E nel secondo if la stessa cosa?
no, nel secondo if accende il led solo se Lettura > massimo.
Cosa che non puoi fare con un solo if, perche' non sai quale sara' il prossimo valore di lettura
Ma il secondo if non dovrebbe essere lettura < di massimo per identificare che è cominciata la discesa di valori?
vero, tu volevi accendere il Led quando iniziava a scendere
Infatti, basta accendere quando la lettura corrente è per la prima volta minore della precedente.
Quando diventa maggiore della precedente, vuol dire che è ricominciato il ciclo e si può azzerare il contatore della "prima volta".
perfetto... tutto ok... funzionante al 100%