Help accensione / spegnimento LCD

vitalife:
Per permettere di programmare e far vedere il tempo di apertura programmato, fino a 12 ore in incrementi di mezz'ora! Avevo pensato di non metterlo, però dovrei dare dei feedback audio con un piezo mentre si imposta il timer, sarebbe poco chiaro!

Potresti usare un piccolo display a 7 segmenti a 2 cifre pilotato con uno shift register (3 pin) e 2 transistor (2 pin).

leo72:
Se è un progetto a batterie, se stacchi anche l'alimentazione è meglio.

Intendi sempre l'alimentazione del display immagino! :slight_smile: O quella di arduino ? O quella del gatto ??? NO quella proprio no !

Per ora sto usando arduino per prototipare, tieni presente che ho ricevuto il kit la scorsa settimana, quando (e se ) tutto funzionerà con arduino intero volevo mettere solo il microcontrollore.

grazie, mi stai dando veramente un sacco di idee e di aiuto ! Il minidisplay mi piace! Ripeto, essendo a digiuno di elettronica (a parte gli studi universitari di un bel po' di anni fa, tanta teoria e niente pratica), mi mancano un bel po' di concetti di base. Del resto pensavo che con i display a segmenti le sveglie o orologi digitali vanno avanti anni prima di esaurire le batterie... E' il tipo di display che suggerisci tu, giusto ? In piccolo ovviamente...

Sì, intendo i display "vintage" :wink:
Questo della foto è il primo che ho trovato. Lo prendi a catodo comune, così piloti i segmenti con uno shift register tipo il 74595. Ripensando a quello che ti ho scritto, non ti servono neanche i 2 transistor, a meno che tu non voglia multiplexarlo. Visualizzi i numeri col display, puoi usare il punto per le mezz'ore. Sennò ci sono anche a 3 cifre, se vuoi fare ad esempio "10.5"

Secondo me è la scelta più semplice e quella che ti da poi meno sbattimenti.

7-Segment-LED-Display.jpg

L'ora tarda mi fa scriverr bischerate... :sweat_smile:
I transistor ti servono a meno che tu non usi tanti s/r quante sono le cifre del display

Ma come già detto da leo, se usi addirittura un motore ti stai preoccupando di pochi ma del display ? che motore vuoi usare e quali batterie ?

Allora, per motore e meccanica vorrei usare il tray di un vecchio cdrom, idea rubata da un progetto da un altro progetto simile. mi preoccupo del display perché il motore verrebbe azionato una sola volta quando scade il timer impostato, cioè dopo qualche ora... ovvio che consuma tanto, ma verrebbe azionato per pochi secondi, mentre il display dovrebbe stare acceso per molte ore. come batteria pensavo a una batteria da 9v, quelle rettangolari per intenderci..

vitalife:
Allora, per motore e meccanica vorrei usare il tray di un vecchio cdrom, idea rubata da un progetto da un altro progetto simile. mi preoccupo del display perché il motore verrebbe azionato una sola volta quando scade il timer impostato, cioè dopo qualche ora... ovvio che consuma tanto, ma verrebbe azionato per pochi secondi, mentre il display dovrebbe stare acceso per molte ore. come batteria pensavo a una batteria da 9v, quelle rettangolari per intenderci..

La capacità di una pila da 9V è di un paio di centinaio di mA (quelle ricaricabili sono sui 200 mAh).
Ammettiamo un consumo di qualche decina di mA di tutta l'elettronica, solo essa ti svuota la pila in 10 ore. Appena accendi il CDROM svuoti tutto il residuo che c'è. A questo punto la domanda è: ma il cassettino si deve richiudere oppure no? Cioè eroghi una sola dose al giorno?

Di sicuro il consumo istantaneo del display a sette segmenti è maggiore del display lcd, però puoi spegnerlo senza problemi, invece togliere la corrente al display lcd potrebbe richiedere una reinizzializzazione e quindi devi vedere cosa fa la lib che intendi usare e nel caso modificarla oppure usare qualche altra lib pronta per spegnere il display.

Risolto questo puoi anche mettere il micro a nanna, risparmiando ancora più energia. Occhio che in caso di alimentazione a batteria conviene non usare regolatori di tensione ma usare tante batterie fino a raggiungere la tensione voluta, es 4 pile ricaricabili da 1.2 volt per alimentare il micro ed tutto il resto. Nota che con batterie cariche la tensione potrebbe superare di poco i 5 volts, in tal caso il micro continua a lavorare fino a 5.5 volts ma se per caso volessi per sicurezza rimanete sotto i 5 volts puoi mettere un diodo in serie che sottrae 0.6 volts. Il micro continuerà a lavorare anche con 3 volt e anche meno.

Ciao.

Il suo problema è che deve attivare lo sportellino della mangiatoia ad un determinato orario.
Se mette il micro in sleep senza prevedere un meccanismo di risveglio, il suo "timer" si bloccherà e non verrà attivato nulla.

vitalife:
Il principio di funzionamento della mangiatoia che ho in mente è semplicissimo: programmi un timer, lo avvii e quando scade si apre la ciotola.

Per fare ciò esistono tanti modi. Mi vengono in mente:

  1. usare un PCF8563 che ha un allarme HW integrato: quando scatta l'orario selezionato, attiva un interrupt su un pin. Quel pin può essere collegato all'Atmega328 e risvegliare così il micro che apre lo sportellino.

  2. può usare il WatchDog impostandolo per generare solo un interrupt e non il reset del microcontrollore. Se lo imposta per tempi lunghi, ad esempio 1/4/8 secondi, può:
    a) mettere il micro in sleep
    b) generato l'interrupt da parte del Watchdog, incrementa un contatore;
    c) se il contatore raggiunge il valore prefissato attiva lo sportellino, altrimenti torna al punto a).

  3. può usare il principio che ho usato io per il Micrologio, ossia l'uso del timer 2 con il modulo RTC interno. Imposta il timer 2 per lavorare con il quarzo esterno e genera un interrupt al secondo e poi procede come nel punto 2).

  4. tanti altri che ora non so

grazie a tutti per i preziosi contributi, ora ho le idee più chiare, e sto decidendo di adottare il display a 7 segmenti perchè è più semplice da spegnere, però in prima battuta ho deciso che alimenterò il tutto a 9V con un trasformatore. Tenete presente che è il mio primo progetto, maneggio arduino da una settimana e ho decisamente poca confidenza con l'HW ! Però stasera ho smontato un vecchio CDROM rotto, e sono riuscito a controllare l'apertura e la chiusura del tray tramite un ponte H, e un po' di soddisfazione me l'ha data ! Penso che procederò così:

  • sviluppo del circuito da interfacciare ad arduino su breadboard, e di tutta la logica controllo
  • realizzazione fisica del contenitore (ciotola) temporizzato
  • riportare l'atmega su breadboard con il suo circuito di alimentazione per liberare arduino

Quando (e se) tutto funzionerà a dovere dopo qualche giro di bug fixing, inizierò a pensare all'ottimizzazione energetica, argomento che mi pare molto interessante, ma che forse posso affrontare in un secondo momento. Mettere il micro in sleep mi interessa molto, proverò ad attuare una delle tecniche descritte da leo72. Il tutto nell'ottica di poter far funzionare la ciotola con le pile... Ma secondo voi, col micro in sleep e LCD spento, il consumo (contando che a quel punto rimane un ponte H e poco più non dovrebbe essere irrisorio?
Ultimo step che vorrei implementare è quello di disalimentare il circuito una volta che la ciotola si è aperta e ha svolto il suo lavoro fino alla successiva accensione / riprogrammazione. Per concludere, quando (e se mai :slight_smile: arriverò a qualcosa di definitivo, vorrei portare il circuito su una millefori per renderlo un po' più definitivo.

Questo thread mi servirà un sacco per recuperare le info man mano che vado avanti col progetto"

Grazie a tutti ancora, conto di postare tra un po' il primo prototipo!

Fede

Il solo micro in sleep consuma pochissimo, siamo nell'ordine dei uA (micro Ampere) con impostazioni di risparmio energetico abbastanza aggressive.
A questo ci devi sommare il consumo del resto dell'elettronica, ma qui va valutato quando hai realizzato il tutto.