Resettare Solo modulo LCD connesso in I2c

Ciao,
utilizzo un ATmega 328p-pu con modulo I2c e display Lcd 20x4.
I pin A4,A5 [ sda,scl ] ho inserito 2 resistenze di PullUp valore 4,7k.
Volevo sapere se si riesce a resettare ,con comando software, solo il modulo LCD e non il micro 328.
Link Modulo I2C e Dsiplay LCD :

SunFounder IIC I2C TWI Serial 2004 20x4 LCD Module Shield compatible with Arduino R3 MEGA (IIC 2004) : Amazon.it: Commercio, Industria e Scienza

Grazie,Mauro

Che intendi per resettare l'LCD?
Che cosa vuoi fare?

Vorrei ricreare la procedura di inizializzazione iniziale ,solo per il modulo i2c e di conseguenza il display lcd.
Al posto di premere il pulsante di reset del atmega, e perdere i dati non salvati in eeprom, attivare un reset solo del modulo + lcd.
Dici che sia possibile ?
Grazie

Continuo a non capire...
Fai il begin...

Esempio:
accendo il micro
dopo due ore che il codice esegue le istruzioni voglio fare un Reset solo del modulo I2C +Display
se premo il pulsante Reset ( Riavvio Micro + modulo I2C + lcd e così non lo voglio )
vorrei un reset equivalente ,ma solo del modulo I2C + lcd ,ma il micro deve continuare ad eseguire le istruzioni
spero che mi sia fatto capire ?
Grazie

Basta un pulsante che toglie l'alimentazione al modulo I2C e display.
Ma... perché ?? Non è che vuoi fare sta cosa per ovviare ad un problema che si può risolvere in altro modo ?

Questa operazione ,reset alimentazione del modulo i2c ( eliminavo per un tempo x il +5V ) ,l'avevo già provata ma il modulo si spegne ,ma al riavvio si accende ,ma non si scrive nessun carattere.
Ovviare si un problema ,che potrei incontrare in futuro ,visto che i moduli i2c ogni tanto ,forse dovuto a qualche errore di comunicazione o libreria , creano uno sfrafallio su display che viene eliminato solo da un riavvio del micro.
Grazie

No, no, non ci siamo... :frowning:

In che senso?

Quindi questa strada sembra non percorribile.

Lo sfarfallio l'ho verificato anche senza modulo I2c, spesso il motivo è lcd.clear() eseguito troppo spesso. Potrebbe essere il tuo caso?

Ciao.

Onestamente , in tutto il codice non è ho usato uno...

Se lo pubblichi, finiamo di sparare a caso... :slight_smile:

Scusa ,ma io non ho nessun problema con nessun tipo di codice...io ho solo fatto una domanda "Volevo sapere se si riesce a resettare ,con comando software, solo il modulo LCD e non il micro 328 "

Se rifai il begin della libreria non si "resetta" il display?
Se togli alimentazione al display quando la ridai fai di nuovo il begin?

scusa non ho capito ?

Forse il metodo begin della libreria del lcd "reinizializza" il display... Hai provato a chiamare quel metodo quando il lcd sfarfalla?
Poi dici di aver provato a togliere l'alimentazione al lcd, ma quando la ridai e si riaccende chiami di nuovo il begin?

E' un po' il problema che avevo io. Tutti sappiamo che quei moduli LCD ogni tanto fanno apparire caratteri strani tipo #@%&!@#§ eccetera.
Ecco che viene comodo un reset solo del LCD, dato che difficilmente Arduino si blocca.
Ma avevo già visto che è difficile, se non impossibile, a meno di fare modifiche hardware.

La domanda non dovrebbe essere "Come resettare il display?", ma "Come evitare che compaiano simboli strani sul display?". La soluzione non è cancellare i simboli strani dal display, ma fare in modo che non appaiano, perché non è normale che accada!
Il punto di partenza è realizzare bene l'hardware, ricordandosi che l'I2C è nato per brevi connessioni fra circuiti integrati:

The vast majority of applications use I2C in the way it was originally designed—peripheral ICs directly wired to a processor on the same printed circuit board, and therefore over relatively short distances of less than 1 foot (30 cm), without a connector.

Concordo, ho un LCD 4x20 I2C che è acceso initerrottamente dal 2017 (è una stazioncina meteo) e ... mai avuto un problema di caratteri strani ... ma, ovviamente, il collegamento al bus I2C è fatto con cavi di pochi cm :wink:

Guglielmo

P.S.: ... anche l'uso di una libreria affidabile, come ad esempio quella di Testato, rende il tutto più stabile.

Io connetto direttamente i 4 pin del LCD 4x20 i2C al circuito stampato che accoglie anche il NANO, ma ho avuto seri problemi dovuti all'alimentazione che, pur non bloccando MAI il Nano, facevano apparire i "segni strani" sul LCD.
Però, come succede a Guglielmo, ho diverse centraline collegate da ANNI senza questi problemi...

P.S. la libreria di Testato è fantastica !!! :grinning_face_with_smiling_eyes: