Go Down

Topic: lcd 16*2 su standalone e comando lcd.clear() (Read 1 time) previous topic - next topic

reizel

ho un display 16*2 su un arduino standalone, questo display e' su una strip e mi servirebbe collegarlo a circuito acceso, verifico che tutto vada (segna l'orario) e quindi lo scollego (e lo uso per altro), e' un operazione che farei forse una volta al mese

quando collego pero' il display a circuito funzionante il display non va (ovviamente)

come posso fare in modo che si resetti "a caldo"? lcd.clear() e' il comando giusto o c'e' un altro modo?

spero d'essermi spiegato :smiley-sweat:

ed essendo un orologio da visualizzare sul display (h:m:s) dove gli do un clear? ogni minuto o meno?

superlol

io avevo fatot una cosa simile ma ogni volta riavviavo il software.

non sono sicuro ma dovrebbe bastare, fa delle prove così tutti avranno la risposta ;)
Il nuovo forum italiano sull'elettronica: http://www.electroit.tk/ <--- Nuovamente online!

reizel

ok faccio le prove, speravo in una soluzione certa che non mi facesse toglier l'atmega dallo zoccolo e da arduino 20 volte :)

meglio se metto sullo standalone anche gli IO per la programmazione arduino/isp...

riaccendiamo il saldatore :*

leo72

Non puoi attaccare/scollegare a tensione data un LCD, bruci l'elettronica.
lcd.clear() cancella tutto quello che c'è a video.
lcd.noDisplay() disattiva invece la visualizzazione. Penso sia quello che stai cercando.

pelletta

Per fare prima e soprattutto per evitare di danneggiare l'atmega a forza di togli e metti ti consiglio di mettere l'atmega direttamente su un altro zoccolo. Buon divertimento

reizel

vero pelletta, nonostante ci vada piano succede di piegare i pin dell'atmega, collegare 2 zoccoli e' un ottimo suggerimento ;)

if (5==rtc.getSeconds()) {            //reset del display al secondo 5 di ogni minuto
    lcd.clear();
    }   

ho provato con questo comando ma nulla, il display rimane bloccato al ricollegamento

dite proprio che rischio di romperlo a togliere e rimettere a caldo? ne comprero' un altro allora, per 3 euro, comunque mi piacerebbe saper come fare, con lcd.noDisplay() lo spegnerei, volendo ho ingressi disponibili, si potrebbe accenderlo da un pusante o interruttore?
pero' non voglio aggiungere altri integrati



pelletta

Quote
if (5==rtc.getSeconds())

Ma va bene ugualmente questa sintassi?

Io farei:
if (rtc.getSeconds()==5)

leo72

Attenzione. Ogni volta che l'elettronica dell'LCD viene collegata o scollegata, va reinizializzato il display, altrimenti resta bloccata.

reizel

pelletta, sul post swRTC di leo ho postato il codice completo e uso proprio quella sintassi, credo siano equivalenti

leo, ora provo

reizel

ok, risolto anche se grezzamente:

Code: [Select]
 
    if (5==rtc.getSeconds()) {           
    lcd.clear();                        //reset display
    lcd.begin(16, 2);                   //inizializzo lcd
    }


l'ho inserito a fine del codice, basta che riattacco il display a caldo, al quinto secondo di ogni minuto lui resetta/inizializza e rifunziona

leo72

Ma sei ostinato... NON devi inserire elettronica "a caldo"  ]:D
Se proprio lo vuoi staccare mettilo dietro ad un paio di buffer tristate (74HC125) ed isolalo con quello.

reizel


Ma sei ostinato... NON devi inserire elettronica "a caldo"  ]:D
Se proprio lo vuoi staccare mettilo dietro ad un paio di buffer tristate (74HC125) ed isolalo con quello.


e dai, non sto mica armeggiando con il condensatore del microonde acceso  ]:D (mortale...)

non volevo aggiungere altri integrati, un buffer sarebbe perfetto, ma non ne ho sottomano, per come uso il display con questo standalone finisce che nemmeno lo mettero' visto che serve pochissimo e posso fare senza :smiley-sweat:

leo72

Usa allora noDisplay.
La sola elettronica di controllo di un LCD consuma pochissimo: il mio 20x4 consuma solo 2,4 mA! Puoi anche tenerlo lì a non far nulla.

reizel

dopo mi provo lo sketch http://arduino.cc/en/Tutorial/LiquidCrystalDisplay
con display e nodisplay cosi' capisco cosa fa effettivamente, e' che ho solo un display al momento :)

tu come li usi quei comandi?, hai un tastino per accenderlo quando serve?

Go Up