Fermare tapparelle durante la marcia

Salve ho intenzione di collegare le mie tapparelle ad arduino mega con dei relè in modo da poterle pilotare tramite smartphone.. Ho già realizzato il circuito quindi il relè 1 collegato al pin 8 ed il relè 2 al pin 9. I due pulsanti della tapparella (salita e discesa) sono collegati ai pin 46 e 50. Sono riuscito a fare funzionare correttamente i relè quindi quando premo il pulsante di salita si eccita il relè 1 per un tot di secondi mentre quando premo il pulsante di discesa si eccita il relè 2 per un tot di secondi. La mia domanda è :"è possibile ripremendo lo stesso tasto o di salita o di discesa fermare la marcia della tapparella ?" Grazie in anticipo

Essendo il tuo primo post Ti invitiamo a presentarti QUI
(dicci quali conoscenze hai di elettronica e di programmazione) e a leggere il regolamento QUI
se non lo hai già fatto.

Comunque benvenuto sul forum.

Attilio

Voorei dare una risposta in stile della domanda: Sí, é possibile.

Questo perché senza informazioni e sketch non si puó dare maggiori consigli o risposte.

Un avvertimento. La maggior parte delle schede relé che sono venduti in internet non sono adatte per essere usate con 230AC di rete. Hanno le distanze di sicurezza non rispettate e le piste troppo sotili per la corrente indicata.

Ciao Uwe

lucaborgo99: La mia domanda è :"è possibile ripremendo lo stesso tasto o di salita o di discesa fermare la marcia della tapparella ?"

Si, devi salvare in due variabili (una per la salita e una per la discesa) lo stato della tapparella e ogni volta che premi un pulsante testi la relativa variabile e agisci di conseguenza.

Esempio:

ogni volta che premi il pulsante "salita", testi la variabile di controllo e: se = 1 fermi tutto e metti la variabile a "0", se = 0 attivi il relè e metti la variabile a "1".

Stessa cosa per la discesa.

NB: ovviamente quando la tapparella si ferma da sola le due variabili (salita e discesa) vanno messe = 0

Attilio

Usando la sfera di cristallo la risposta é:

Non usare delay() per determinare il tempo di accensione dei relé ma fai la temporizzazioen con millis(). Vedi l' esempio blink without delay. Cosí puoi verficato lo stato dei pulsanti anche durante il moto della taparella.

Ciao Uwe

ultimo_53:
Si, devi salvare in due variabili (una per la salita e una per la discesa) lo stato della tapparella e ogni volta che premi un pulsante testi la relativa variabile e agisci di conseguenza.

Esempio:

ogni volta che premi il pulsante “salita”, testi la variabile di controllo e: se = 1 fermi tutto e metti la variabile a “0”, se = 0 attivi il relè e metti la variabile a “1”.

Stessa cosa per la discesa.

NB: ovviamente quando la tapparella si ferma da sola le due variabili (salita e discesa) vanno messe = 0

Attilio

Grazie Attilio! In questa tua risposta ad un altro utente del forum, mi hai illuminato su come eseguire una simile operazione. Non chiedevo il codice ma un modo per come procedere…
Col mio sistema domotico gestisco già le tapparelle, sul touch screen (c’è il video su youtube, cerca “la mia casa domotica”) ho già due pulsanti, uno apre o chiude totalmente, l’altro comanda il motore per il tempo di pressione del pulsante. Sto mettendo dei pulsanti fisici e volevo eseguire la stessa cosa utilizzando però solo 2 pulsanti. Non sapevo come gestire il tutto. La cosa ora è semplice: premo il pulsante e la tapparella apre (o chiude) fino alla fine, a meno che non ripremo il pulsante e la blocco dove voglio. Potrei aggiungere un’altra cosa…
-se premo il pulsante “abbassa” avvio il motore che abbassa la tapparella
-se mentre il motore sta abbassando la tapparella ripremo il pulsante “abbassa” blocco il motore (e regolo l’apertura come voglio)
-se mentre il motore sta abbassando la tapparella premo il pulsante “alza”, porto la tapparella ad un valore di chiusura prefissato (ad esempio quello che la mogliettina chiama “righine” cioè tapparella quasi totalmente chiusa che lascia passare spiragli di luce).
Mi basta giocare un po con le variabili.

Grazie ancora, mi hai dato una bella imboccata!

Buone feste!

Cristian