- Messaggi: 9
- Ringraziamenti ricevuti 1
Evento doppio click con PIC18
12 Anni 9 Mesi fa #1
da michelefax
Evento doppio click con PIC18 è stato creato da michelefax
Ciao a tutti,
stò lavorando ad un progetto personale che ha come scopo quello di gestire le luci di casa mia.
Il dispositivo finale dovrebbe accendere e spegnere le luci sia da pulsante a parete sia da telecomando codifica RC5.
Vorrei reperire un flowchart per riconoscere quattro eventi nella pressione di tasti per esempio collegati ad una porta del pic18.
In particolare dovrei poter riconoscere i seguenti eventi:
1)pressione prolungata di un tasto: a cui pensavo di associare lo spegnimento di tutte le luci
2)singola pressione corta (click singolo): che accende se spenta o spegne se accesa una singola luce
3)doppia pressione corta (doppio click): che accende tutte le luci
4)pressione singola seguita da pressione prolungata:che mette in modo programmazione il dispositivo così da associare al tasto premuto il primo codice telecomando che viene successivamente ricevuto.
Allora, al momento il dispositivo prototipo allestito con Freedom II riconosce i codici del telecomando e la pressione dei pulsanti accendendo e spegnendo le singole luci ma di più non riesce a fare.
Le luci sono gestite da un I/O expander PCF8574 configurato con tutte uscite.
I pulsanti fanno capo ad un altro PCF8574 configurato con tutti ingressi e gestito con interrupt.
Alla fine di tutto questo discorso che potrebbe anche non interessare a nessuno chiedo se qualche anima pia mi può aiutare a trovare un flowchart o parte di codice che mi permetta, come detto sopra, di intercettare il click singolo, il doppio click e la pressione prolungata di un pulsante.
Per il momento tutte le mie ricerche hanno prodotto esito negativo.
Grazie a tutti.
michelefax
stò lavorando ad un progetto personale che ha come scopo quello di gestire le luci di casa mia.
Il dispositivo finale dovrebbe accendere e spegnere le luci sia da pulsante a parete sia da telecomando codifica RC5.
Vorrei reperire un flowchart per riconoscere quattro eventi nella pressione di tasti per esempio collegati ad una porta del pic18.
In particolare dovrei poter riconoscere i seguenti eventi:
1)pressione prolungata di un tasto: a cui pensavo di associare lo spegnimento di tutte le luci
2)singola pressione corta (click singolo): che accende se spenta o spegne se accesa una singola luce
3)doppia pressione corta (doppio click): che accende tutte le luci
4)pressione singola seguita da pressione prolungata:che mette in modo programmazione il dispositivo così da associare al tasto premuto il primo codice telecomando che viene successivamente ricevuto.
Allora, al momento il dispositivo prototipo allestito con Freedom II riconosce i codici del telecomando e la pressione dei pulsanti accendendo e spegnendo le singole luci ma di più non riesce a fare.
Le luci sono gestite da un I/O expander PCF8574 configurato con tutte uscite.
I pulsanti fanno capo ad un altro PCF8574 configurato con tutti ingressi e gestito con interrupt.
Alla fine di tutto questo discorso che potrebbe anche non interessare a nessuno chiedo se qualche anima pia mi può aiutare a trovare un flowchart o parte di codice che mi permetta, come detto sopra, di intercettare il click singolo, il doppio click e la pressione prolungata di un pulsante.
Per il momento tutte le mie ricerche hanno prodotto esito negativo.
Grazie a tutti.
michelefax
Si prega Accedi o Crea un account a partecipare alla conversazione.
- michelefax
- Autore della discussione
- New Member
Riduci
Di più
12 Anni 9 Mesi fa #2
da Akuryu
Risposta da Akuryu al topic Re: Evento doppio click con PIC18
Allora provo ad andarmene per un idea, vediamo se ci azzecco (sperando che se dico castronerie non mi menano) se utilizzi il pulsante sull'interrupt e ad ogni pressione incrementi una variabile che poi controlli nel main potresti avere questa situazione.
Alla fin della funzione al controllo si resetta la variabile, il controllo nel main in loop. Spero di essermi spiegato alquanto chiaramente.
Caso 1: Pressione prolungata | Variabile a 1 |
Pressione continua | |
Caso 2: Pressione Corta | Variabile a 1 |
Nessuna Pressione | |
Caso 3: Doppia pressione corta | Variabile a 2 |
Pressione continua | |
Caso 4: click + pressione | Variabile a 2 |
Pressione continua |
Alla fin della funzione al controllo si resetta la variabile, il controllo nel main in loop. Spero di essermi spiegato alquanto chiaramente.
Ringraziano per il messaggio: michelefax
Si prega Accedi o Crea un account a partecipare alla conversazione.
- Akuryu
- Premium Member
Riduci
Di più
- Messaggi: 137
- Ringraziamenti ricevuti 3
Moderatori: Mauro Laurenti, Pinna, StefA, Matteo Garia
Registrati al sito
Accedi a tutte le risorse e articoli non visibili pubblicamente, puoi registrarti con pochi passi.