Iniziano i problemi... con Arduino.

Su un microcontrollore comunque non hai grandi problemi di tempistiche: and ava anche bene campionare ogni millisecondo o addirittura fare un loop stre

n conseguente indeterminatezza dei tempi.

a... Se invece configuri un interrupt che reagisce in base al cambio del li

nteressante!

--
marimbarza
Reply to
marimbarza
Loading thread data ...

Ahhh... capito (devo dire che si confermava il mio sospetto). Io con arduino preferisco sempre tenere i tempi con millis() e poi far scattare opportuni triggers. E'

stesso che se mi serve misurare un tempo in arduino con un interrupt sto usando l'hardware sbagliato (limite mio, sottolineo).

Grazie per la risposta!

--
- Thanks for introducing me to minimalims. 
- It's the least I could do.
Reply to
Archaeopteryx

Il 02/09/2019 19:20, Claudio_F ha scritto:

Reply to
Drizzt do'Urden

Il 04/09/19 18:43, Drizzt do'Urden ha scritto:

Se contestualizzi anche cosa non e` chiaro...

Reply to
Claudio_F

Il 02/09/2019 19:20, Claudio_F ha scritto:

almeno questo l'ho capito.

per dire, questa riga significa che mette il valore LOW in tendachiusa()?

ho cercato le spiegazioni di bool e di return ma non le ho comprese quindi non capisco queste righe.

//--------------------------------------------------------------------

Queste righe poi sono un mistero.

--
Saluti da Drizzt. 


www.agidone.altervista.org 
http://www.tappezzeriagraziella.com/ 
MAI PIU' OPEL IN VITA MIA!!!!
Reply to
Drizzt do'Urden

Il 04/09/19 21:37, Drizzt do'Urden ha scritto:

const per dire che e` una costante (il suo valore non cambia mai), byte perche` per rappresentare valori inferiori a 256 e` sufficiente un solo byte (mentre un int su Arduino occupa due byte di memoria).

Qui ci sono due concetti assieme. Il primo e` quello di funzione richiamata per farsi restituire un valore (il valore viene restituito con 'return'). Il secondo e` quello di espressione boleana, in pratica si verifica se la lettura del finecorsa e` LOW e in quel caso l'espressione vale 1 (true) altrimenti vale 0 (false), questo e` il valore che viene ritornato. In pratica e` la forma contratta di:

bool tendaChiusa() { if (digitalRead(finecorsa) == LOW) { return true; } else { return false; } }

E' la stessa logica che hai postato qualche messaggio indietro, solo realizzata tramite chiamate a singole funzioni. In particolare le chiamate a 'tendaChiusa' e 'setVento' restituiscono un valore che viene valutato nelle condizioni, mentre 'fermaChiusura' e 'avviachiusura' sono solo procedure esecutive (si definiscono di tipo void per indicare che non ritornano niente).

Reply to
Claudio_F

Il 04/09/2019 22:03, Claudio_F ha scritto:

Grazie, sei gentilissimo, me la devo studiare per capirla e fare qualche prova, con la pratica si capisce meglio :-)

Reply to
Drizzt do'Urden

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.