Pagina 1 di 2

Primi esperimenti con display I2C

MessaggioInviato: 10 feb 2022, 10:28
da Jocman
Ciao a tutti.
Sto provando a "giocare" con un display I2C (16x4), ma c'è qualcosa che non va e non riesco a capire a cosa potrebbe essere dovuto (magari è proprio il display stesso che ha qualcosa di rotto....)
Codice: Seleziona tutto
#include <LiquidCrystal_I2C.h>

LiquidCrystal_I2C lcd(0x27, 16, 4);

void setup()
{
  lcd.begin();
   
  lcd.clear();

  lcd.setCursor(0,0);
  lcd.print("1");
  lcd.setCursor(0,1);
  lcd.print("2");
  lcd.setCursor(0,2);
  lcd.print("3");
  lcd.setCursor(0,3);
  lcd.print("4");
}

void loop() {
}


Dovrei semplicemente ottenere, ad ogni inizio riga, il corrispondente numero di riga.
Invece ottengo:
Rigo 1: "1" scritto sul primo carattere a sinistra (giusto)
Rigo 2: "2" scritto sul primo carattere a sinistra (giusto)
Rigo 3: "3" scritto sul quinto carattere a sinistra
Rigo 4: "4" scritto sul quinto carattere a sinistra

Non capisco perché....

Andrea

Re: Primi esperimenti con display I2C

MessaggioInviato: 10 feb 2022, 10:47
da PietroBaima
Adesso preparati…

Prevedo l’arrivo di stormi di tecnici armati di cacciavite digitale che vorranno chiederti di quale display si tratti…

Ti bombarderanno di domande!

Se si tratta di un display Hitachi a cui è stata attaccata una schedina IIC di controllo, se l’ambiente di sviluppo è Arduino, se la libreria è quella di Arduino, come programmi la scheda e mille altre domande.
Un bombardamento a tappetino di mouse senza tregua.

Resisti!

Sono dei gran noiosoni!

Hasta la victoria!

Re: Primi esperimenti con display I2C

MessaggioInviato: 10 feb 2022, 11:13
da Jocman
Allora gioco d'anticipo :D
il display è rigorosamente cinese, fornito da zio Ali (Surenoo), modello SIC1604A, con attaccata schedina di controllo.
IDE: Arduino (non per niente ho postato in questo forum....)
Libreria: LiquidCrystal_I2C
Come la programmo:....se non vi offendete per l'ironia: con le dita sulla tastiera :lol:

Re: Primi esperimenti con display I2C

MessaggioInviato: 10 feb 2022, 11:21
da PietroBaima
Punti critici del progetto:
Jocman ha scritto:il display è rigorosamente cinese, fornito da zio Ali (Surenoo), modello SIC1604A, con attaccata schedina di controllo.


Jocman ha scritto: Libreria: LiquidCrystal_I2C


Jocman ha scritto: dita sulla tastiera


Cosa vuol dire quel 27 esadecimale nell’inizializzazione del display?

Re: Primi esperimenti con display I2C

MessaggioInviato: 10 feb 2022, 12:24
da dadduni
Prova anche ad inserire un ritardo delay(1) tra ogni comando e il successivo.

Credo che il 0x27 possa essere l'indirizzo i2c del ricevitore

Re: Primi esperimenti con display I2C

MessaggioInviato: 10 feb 2022, 12:38
da alessandrovo
4d477f1fe3259b6bbf9c7016a36e8d063d63cf85_2_690x464.jpeg


in sostanza ti fa un difetto di quesot tipo

metti -4 al posto di 0 o aggiorna la libreria

Codice: Seleziona tutto
 
lcd.setCursor(0,0);
  lcd.print("1");
  lcd.setCursor(0,1);
  lcd.print("2");
  lcd.setCursor(-4,2);
  lcd.print("3");
  lcd.setCursor(-4,3);
  lcd.print("4");

Re: Primi esperimenti con display I2C

MessaggioInviato: 10 feb 2022, 12:41
da PietroBaima
non dovrebbe scrivere un solo numero per riga?

Re: Primi esperimenti con display I2C

MessaggioInviato: 10 feb 2022, 12:48
da Jocman
PietroBaima ha scritto:Punti critici del progetto:


Cosa vuol dire quel 27 esadecimale nell’inizializzazione del display?


si, è l'indirizzo della scheda I2C (o almeno così spiegano nei vari tutorial che ho trovato)

Tutti punti critici? ce ne avessi azzeccato uno buono..... :roll:

E utilizzando il suggerimento con gli indici negativi, effettivamente scrive dove dovrebbe.
Ma non ha senso.....
A casa ho un display gemello, proverò a vedere se anche quello mi da difetto....

Aggiornare la libreria per correggere in automatico l'indice? Si potrebbe fare, ma se fosse un difetto di questo display, poi incasinerei eventuali display futuri "funzionanti"

Andrea

Re: Primi esperimenti con display I2C

MessaggioInviato: 10 feb 2022, 12:59
da alessandrovo
e' un difetto noto della libreria, e' stata creata per display 2 righe, solo in seguito estesa e in alcuni versioni ci sono dei bug, potresti anche correggerla come esercizio ma è piu "comodo" aggiornarla

@Pietro si l'immagine è di repertorio ma era il modo piu' rapido di spiegarmi senza prendere in prestito il cacciavite ultrasonico del Dr. Who

Re: Primi esperimenti con display I2C

MessaggioInviato: 10 feb 2022, 13:06
da PietroBaima
alessandrovo ha scritto:e' un difetto noto della libreria, e' stata creata per display 2 righe, solo in seguito estesa e in alcuni versioni ci sono dei bug, potresti anche correggerla come esercizio ma è piu "comodo" aggiornarla

:roll:
Ecco, questi sono i motivi per i quali preferisco scrivermi le librerie da solo.
Almeno so cosa fanno in dettaglio.