Help con arduino - BaroneRosso.it - Forum Modellismo

Torna indietro   BaroneRosso.it - Forum Modellismo > Elettronica > Circuiti Elettronici


 
 
Strumenti discussione Visualizzazione
Prev Messaggio precedente   Prossimo messaggio Next
Vecchio 14 aprile 18, 12:55   #8 (permalink)  Top
User
 
L'avatar di CarloRoma63
 
Data registr.: 08-08-2011
Residenza: Roma
Messaggi: 5.805
Citazione:
Originalmente inviato da pavmail Visualizza messaggio
Torno un'attimo sul mio sketch, risolto perfettamente utilizzando il suggerimento di Carlo.

Il primo switch (livello massimo) viene premuto per frazioni di secondo ad ogni passaggio di una sfera. Questo comporta che, con il secondo switch (livello minimo) premuto, il programma di blocca. Per risolvere ho utilizzato un delay, ma non mi sembra la soluzione definitiva, dato che poi ritardo si riperquote anche sul riavvio del motore.

Pensavo di inserire un debounce per cambiare lo stato del primo switch dopo x tempo, ma ho fatto diversi tentativi senza riuscire ad integrarlo correttamente. E' una soluzione applicabile?

Grazie
Per quanto tempo rimane premuto il primo switch quando passa la sfera? Credo comunque che la soluzione migliore sia un delay.

Modifica la parti finale in questo modo.

if (StatoMotore){
delay(1000) // 1000 millisecondi, vedi tu quanto ti occorre
if (digitalRead(SW1)){ // se dopo il delay è ancora HIGH allora esegue
digitalWrite(PinMotore, HIGH);
}
}else{
digitalWrite(PinMotore, LOW);
}

Nota che questa soluzione implica necessariamente un ritardo nella risposta del motore, sia in accensione che in spegnimento. Se non puoi tollerare questo ritardo, specialmente per lo spegnimento, allora la soluzione è un pochino più complessa .

Carlo
__________________
Dai un pesce ad un uomo e lo avrai sfamato per un giorno, insegnagli a pescare e lo avrai sfamato per sempre. (Confucio)
I miei modelli: http://www.youtube.com/results?search_query=carloroma63
CarloRoma63 non è collegato   Rispondi citando
 

Bookmarks



Strumenti discussione
Visualizzazione
Modalità elencata Modalità elencata

Regole di scrittura
Non puoi creare nuove discussioni
Non puoi rispondere alle discussioni
Non puoi inserire allegati
Non puoi modificare i tuoi messaggi

BB code è Attivato
Le faccine sono Attivato
Il codice [IMG] è Attivato
Il codice HTML è Disattivato
Trackbacks è Disattivato
Pingbacks è Disattivato
Refbacks è Disattivato


Discussioni simili
Discussione Autore discussione Forum Commenti Ultimo Commento
problema con arduino fabiano2007 Circuiti Elettronici 15 23 marzo 14 02:15



Tutti gli orari sono GMT +2. Adesso sono le 06:22.


Basato su: vBulletin versione 3.8.11
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
E' vietata la riproduzione, anche solo in parte, di contenuti e grafica. Copyright 1998/2019 - K-Bits P.I. 09395831002