r-map / rmap

rete monitoraggio ambientale partecipativo documentation at https://doc.rmap.cc
https://rmap.cc
52 stars 43 forks source link

Firmware: I2C lcd display stop working after sometime #358

Closed PasqualiSIMC closed 2 years ago

PasqualiSIMC commented 2 years ago

Il display di diverse stazioni stima della rete claster risulta con i pixel neri dopo alcuni mesi di funzionamento. Lo scollegamento dal modulo e il reset della stazione non risolvono il problema

pat1 commented 2 years ago

non ho al momento a disposizione un display, ma bisognerebbe controllare come avviene la regolazione di contrasto

pat1 commented 2 years ago

photo_2021-11-26_15-15-35

da provare una regolazione di contrasto tramite il trimmer indicato

pat1 commented 2 years ago

L'eventuale restart del display con: LCD_BEGIN(&lcd, LCD_COLUMNS, LCD_ROWS);

ha queste tempistiche: 1100 millisecondi

pat1 commented 2 years ago

Disabilitando queste linee nella libreria LiquidCristal_i2c

    /*
    // SEE PAGE 45/46 FOR INITIALIZATION SPECIFICATION!
    // according to datasheet, we need at least 40ms after power rises above 2.7V
    // before sending commands. Arduino can turn on way befer 4.5V so we'll wait 50
    delay(50); 

    // Now we pull both RS and R/W low to begin commands
    expanderWrite(_backlightval);   // reset expanderand turn backlight off (Bit 8 =1)
    delay(1000);
    */

il begin del display impiega 51 millisecondi; che mi pare compatibile con i tempi "non blocking"

pat1 commented 2 years ago

credo sia molto meglio migrare a hd44780 library: https://github.com/duinoWitchery/hd44780

Il begin del display con questa libreria impegna 114 millisecondi