Timer pompe laghetto

11 Anni 11 Mesi fa - 11 Anni 11 Mesi fa #1 da simonv92
Timer pompe laghetto è stato creato da simonv92
Ciao a tutti!
Dopo diversi problemini con MPLAB X e le librerie per i PIC18 finalmente sono riuscito a buttare giù qualche riga di codice.
L'obiettivo è realizzare un semplice timer che attivi e disattivi le pompe di un laghetto ad orari impostabili tramite display LCD.
Come base di partenza ho preso il programma di gestione dell'RTCC presentato su quella che si può definire la "Bibbia" della programmazione per i PIC18, ovvero il C18 step by step.
Una semplice modifica che ho fatto è stata quella di rendere il tutto "a risparmio energetico" semplicemente spegnedo la retroilluminazione del display dopo un certo tempo (se non vengono premuti tasti)
Come passo successivo vorrei creare una sorta di menu dove poter modificare data, ora e i tempi di accensione e spegnimento delle due pompe del laghetto.
Avete suggerimenti / critiche circa la struttura del programma?

File allegato:

Nome del file: main.txt
Dimensione del file:4 KB


Saluti

Simone
Allegati:
Ultima Modifica 11 Anni 11 Mesi fa da simonv92.

Si prega Accedi o Crea un account a partecipare alla conversazione.

  • simonv92
  • Avatar di simonv92
  • Junior Member
  • Junior Member
Di più
11 Anni 11 Mesi fa #2 da Mauro Laurenti
Risposta da Mauro Laurenti al topic Re: Timer pompe laghetto
Ciao,

potresti modificare il programma avendo una seconda combinazione di pulsanti che ti fa entrare in modalità "programmazione"

L'orario visualizzato in quel caso non dovrebbe piu' provenire dal RTCC ma da un orario memorizzato in EEPROM.

Per incrementare i valori potresti usare la combinazione classica dei tasti, distinguendo pero' il caso modalita' orario e modalita' programmazione. Nei due casi i valori da incrementare sarebbero infatti diversi, uno nel RTCC e uno in EEPROM.

Saluti,

Mauro

Si prega Accedi o Crea un account a partecipare alla conversazione.

  • Mauro Laurenti
  • Avatar di Mauro Laurenti
  • Moderator
  • Moderator
Di più
11 Anni 11 Mesi fa #3 da simonv92
Risposta da simonv92 al topic Re: Timer pompe laghetto
Ciao Mauro,
grazie mille per la risposta. Io pensavo di utilizzare un tasto per entrare in una sorta di "menu" dove è possibile modificare sia l'ora dell'RTCC sia quella memorizzata nella EEPROM per le accensioni.
Per visualizzare il menù setto a 1 una variabile "menu" ogni volta che viene premuto il tasto menu (BT1); nel main, tramite uno switch, se la variabile menu ha valore 1 visualizzo sul display i messaggi del menu.
Ora bisognerebbe modificare gli altri tasti in modo che funzionino da UP, DOWN e ENTER (modifica da fare nella funzione High_Int_Event), così da poter spostare un cursore all'interno del menù e poter scegliere una delle due (o più) voci tramite il tasto enter. Aggiungendo anche un "blocco" che non modifichi nulla se premo uno di questi tasti al di fuori del menù (al massimo la pressione attiverebbe la retroilluminazione).
Come faresti questa parte di programma?

Grazie ancora,

Saluti

Simone

Si prega Accedi o Crea un account a partecipare alla conversazione.

  • simonv92
  • Avatar di simonv92
  • Junior Member
  • Junior Member
Di più
11 Anni 11 Mesi fa #4 da Mauro Laurenti
Risposta da Mauro Laurenti al topic Re: Timer pompe laghetto
Ciao,

personalmente in un primo passo ti consiglio di modificare la struttura attuale e usare una seconda combinazione di tasti per attivare una variabile "imposta_allarme" e visualizza l'orario di attivazione prelevato dalla EEPROM. Reprimendo la combinazione di tasti disattivi la nuovamente la funzione e visualizzi l'orario corrente.

Il resto dei tasti per incrementare l'orario rimane uguale ma all'interno del CASE devi fare un controllo sulla variabile imposta_allarme.
Se non è settata tutto funziona come l'esempio del testo mentre e se è settata devi cambiare l' orario in EEPROM.

Saluti,

Mauro

Si prega Accedi o Crea un account a partecipare alla conversazione.

  • Mauro Laurenti
  • Avatar di Mauro Laurenti
  • Moderator
  • Moderator
Di più
Moderatori: Mauro Laurenti

Registrati al sito

Accedi a tutte le risorse e articoli non visibili pubblicamente, puoi registrarti con pochi passi.

Registrati al sito LaurTec.

Login