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 :
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
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
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 "
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
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...