Cos'è ElectroYou | Login Iscriviti

ElectroYou - la comunità dei professionisti del mondo elettrico

Primi esperimenti con display I2C

Progetti, interfacciamento, discussioni varie su questa piattaforma.

Moderatori: Foto UtenteMassimoB, Foto UtenteWALTERmwp, Foto Utentexyz

0
voti

[1] Primi esperimenti con display I2C

Messaggioda Foto UtenteJocman » 10 feb 2022, 10:28

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
Avatar utente
Foto UtenteJocman
15 3
New entry
New entry
 
Messaggi: 50
Iscritto il: 17 lug 2019, 16:55

1
voti

[2] Re: Primi esperimenti con display I2C

Messaggioda Foto UtentePietroBaima » 10 feb 2022, 10:47

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!
Generatore codice per articoli:
nomi
emoticon
citazioni
formule latex
Avatar utente
Foto UtentePietroBaima
85,5k 7 12 13
G.Master EY
G.Master EY
 
Messaggi: 11349
Iscritto il: 12 ago 2012, 1:20
Località: Londra

0
voti

[3] Re: Primi esperimenti con display I2C

Messaggioda Foto UtenteJocman » 10 feb 2022, 11:13

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:
Avatar utente
Foto UtenteJocman
15 3
New entry
New entry
 
Messaggi: 50
Iscritto il: 17 lug 2019, 16:55

1
voti

[4] Re: Primi esperimenti con display I2C

Messaggioda Foto UtentePietroBaima » 10 feb 2022, 11:21

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?
Generatore codice per articoli:
nomi
emoticon
citazioni
formule latex
Avatar utente
Foto UtentePietroBaima
85,5k 7 12 13
G.Master EY
G.Master EY
 
Messaggi: 11349
Iscritto il: 12 ago 2012, 1:20
Località: Londra

0
voti

[5] Re: Primi esperimenti con display I2C

Messaggioda Foto Utentedadduni » 10 feb 2022, 12:24

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
Avatar utente
Foto Utentedadduni
1.784 2 7 12
Expert EY
Expert EY
 
Messaggi: 1223
Iscritto il: 23 mag 2014, 16:26

0
voti

[6] Re: Primi esperimenti con display I2C

Messaggioda Foto Utentealessandrovo » 10 feb 2022, 12:38

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");
Avatar utente
Foto Utentealessandrovo
240 1 4
Frequentatore
Frequentatore
 
Messaggi: 127
Iscritto il: 2 giu 2020, 17:50

0
voti

[7] Re: Primi esperimenti con display I2C

Messaggioda Foto UtentePietroBaima » 10 feb 2022, 12:41

non dovrebbe scrivere un solo numero per riga?
Generatore codice per articoli:
nomi
emoticon
citazioni
formule latex
Avatar utente
Foto UtentePietroBaima
85,5k 7 12 13
G.Master EY
G.Master EY
 
Messaggi: 11349
Iscritto il: 12 ago 2012, 1:20
Località: Londra

0
voti

[8] Re: Primi esperimenti con display I2C

Messaggioda Foto UtenteJocman » 10 feb 2022, 12:48

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
Avatar utente
Foto UtenteJocman
15 3
New entry
New entry
 
Messaggi: 50
Iscritto il: 17 lug 2019, 16:55

0
voti

[9] Re: Primi esperimenti con display I2C

Messaggioda Foto Utentealessandrovo » 10 feb 2022, 12:59

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
Avatar utente
Foto Utentealessandrovo
240 1 4
Frequentatore
Frequentatore
 
Messaggi: 127
Iscritto il: 2 giu 2020, 17:50

0
voti

[10] Re: Primi esperimenti con display I2C

Messaggioda Foto UtentePietroBaima » 10 feb 2022, 13:06

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.
Generatore codice per articoli:
nomi
emoticon
citazioni
formule latex
Avatar utente
Foto UtentePietroBaima
85,5k 7 12 13
G.Master EY
G.Master EY
 
Messaggi: 11349
Iscritto il: 12 ago 2012, 1:20
Località: Londra

Prossimo

Torna a Arduino

Chi c’è in linea

Visitano il forum: Nessuno e 1 ospite