lcd 16*2 su standalone e comando lcd.clear()

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 :sweat_smile:

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

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 ;)

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 :*

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.

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

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

if (5==rtc.getSeconds())

Ma va bene ugualmente questa sintassi?

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

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

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

leo, ora provo

ok, risolto anche se grezzamente:

    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

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.

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.

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 :sweat_smile:

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.

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 :slight_smile:

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