La libreria LiquidCrystal e' attendibile?

Ciao a tutti, avevo gia' lavorato con gli lcd in passato con la libreria liquidcrystal (una versione modificata) con 11 fili (8 bit). Possiedo un lcd hitachi compatibile di 4x16 caratteri, provo ad aprire l'esempio dal liquidcrystal in arduino0015 e c'e' scritto come cablarlo (a 4 bit, deduco, che e' quello che voglio io):

#include <LiquidCrystal.h>

// LiquidCrystal display with:
// rs on pin 12
// rw on pin 11
// enable on pin 10
// d4, d5, d6, d7 on pins 5, 4, 3, 2
LiquidCrystal lcd(12, 11, 10, 5, 4, 3, 2);

void setup()
{
  // Print a message to the LCD.
  lcd.print("hello, world!");
}

void loop()
{
}

E visto che scrivo, chiaramente non va. Mi domando, ma e' valida questa libreria? Nel playground ce ne sono una decina.. io stesso al tempo non avevo usato questa e ci sono un disastro di discussioni sul forum...

si però nel mio caso ho dovuto usare i piedini nell'ordine inverso
prova varie configurazioni

ps ricorda il contrato sono venuto matto perchè mi ero dimenticato.....

Quali piedini nell'ordine inverso? I DBX ?
Il contrato che e' ? :-/
Grazie, Fede

sorry volevo dire contrasto

io uso (del mio display): db3,db2,db1,db0
in questo ordine

se prendi il datasheet del tuo display oltre ai piedini da collegare descritti dalla libreria ci sono da collegare in più anche:
-alimentazione (credo tu lo abbia fatto);
-contrasto, obbligatorio indicato con Vo (puoi farlo o con un potenziometro o usando il pwm e un condensatore collegato tra massa e il piedino);
-la retroilluminazione se ne è provvisto o se vuoi usarla (piedini A e K);

N.B.:alcuni display a 16 caratteri vanno a capo dopo 8, in pratica è come se avessero il doppio delle righe

Del mio display il datasheet e' questo
http://www.artronic.pl/o_produkcie.php?id=629?

e ho collegato in questo modo:
1 GND
2 +5
3 +5 tramite potenziometro (regola il contrasto)
4 RS ad arduino 12
4 RW ad arduino 11
6 E ad arduno 10
11 ad arduino 5
12 ad arduino 4
13 ad arduino 3
14 ad arduino 2
15 +5
16 GND

Regolando il potenziometro non cambia niente, anche perche' credo proprio che non ci sia scritto niente. Il codice e' quello del primo post. Grazie Federico anche per il ragguaglio degli a-capo, ma per ora non scrive niente... Ho provato l'idea di garinus, ma sostanzialmente non cambia.

Cavolo, dovrebbe essere cosi' semplice che il fatto che non funzioni mi lascia senza idee...

boh, sembra collegato giusto.

il centrale del potenziometro va al piedino del display, gli altri due terminali all'alimentazione, io ho provato con uno da 10k.

l'alternativa pwm è collegare un piendino pwm di arduino al pin contrasto del display (pin3) e poi sempre tra il piedino del display e massa metti un condensatore da 10uF o anche 100uF, serve per livellare la tensione, se non lo metti ottieni un effetto tipo..............................matrix.
Come valore di pwm stai intorno a 64, oppure provane un po' finchè non leggi qualcosa.

accendendolo almeno qualcosa che diventa nero dovrebbe esserci
una linea o le righe di quadretti

Cavolo, ho aggiunto un condensatore elettrolitico da 1uf 50v (uno a caso che avevo qui sostanzialmente, e il display ha scritto hello world..

Dannazione, in questi giorni sembra che ogni cosa che tocco debba avere un condensatore aggiuntivo per funzione!

Provo se funzionano le 4 righe e vi faccio sapere...

Grazie per avermelo suggerito !!

Scusate, ma questa cosa che mi da, e' sintomo di un allacciamento sbagliato dei canali dei dati? Se scrivo

  lcd.print("112233445566778");
  lcd.print("Fede");
  lcd.print("Federico");
  lcd.print("112233445566778");

ottengo scritto sul monitor:

112233445566778F
78
edeFederico11223

? (Ma come si fa ad andare a capo?)

lcd.setCursor(colonna,riga)

Grazie :wink:

E' bizzarro pero'...

// Print a message to the LCD.
lcd.setCursor(0,0);
lcd.print("1122334455667788");
lcd.setCursor(0,1);
lcd.print("Federi");
lcd.setCursor(0,2);
lcd.print("Federico");
lcd.setCursor(0,3);
lcd.print("112233445566778");

Questo scrive le ultime due righe, con 4 spazi prima. Quindi, le prime due sono corrette, le seconde due sono indentate di 4. Se scrivo per le ultime due, setCurso(-4,2) e -4,3 allora sono tutte allineate giuste...

E' possibile?

bizzarro si, in merito a questa cosa non saprei

tutto è possibile il mio con set cursor va alla riga giusta
ma a capo va in questo ordine 1324

Dovrei farmi delle funzioni per riportare il mio monitor ad un utilizzo normale :slight_smile: