Pages: 1 [2]   Go Down
Author Topic: LCD 16X1  (Read 1070 times)
0 Members and 1 Guest are viewing this topic.
Lamezia Terme
Offline Offline
Shannon Member
****
Karma: 414
Posts: 11987
Le domande di chi vuol imparare rappresentano la sua sete di sapere
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

lcd.begin(16, 1);

per quanto ne so la numerazione delle righe va da 1 a 4 con valori da 0 a 3, quindi dovrebbe essere corretto. E comunque al massimo non funzionerebbe la seconda riga non la seconda metà della prima riga smiley-eek
Logged

Guida alla programmazione ISP e seriale dei micro ATMEL (Caricare bootloader e sketch):
http://www.michelemenniti.it/Arduino_burn_bootloader.php
Guida alla Programmazione ATmega328 noP:
http://www.michelemenniti.it/atmega328nop.html
Articoli su Elettronica In:
http://www.michelemenniti.it/elettronica_in.html

Bologna
Offline Offline
God Member
*****
Karma: 5
Posts: 502
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

In poche parole l ho pagato la metà che uno su eBay e quindi ho metà caratteri smiley-mr-green
Logged

Lamezia Terme
Offline Offline
Shannon Member
****
Karma: 414
Posts: 11987
Le domande di chi vuol imparare rappresentano la sua sete di sapere
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

In poche parole l ho pagato la metà che uno su eBay e quindi ho metà caratteri smiley-mr-green
Non scherziamo, vediamo invece di farlo funzionare, poi tutto può essere, ma era un privato o un Venditore? nel secondo caso hai diritto alla sostituzione, ma prima di fare figurimm è meglio ricontrollare tutto. Prendiamo l'Hello World originale, dove effettivamente il comando "16,2" sembra dare ragione a brunello, ma io ho usato 20,3 per un LCD 20 caratteri per quattro righe:
Code:
#include <LiquidCrystal.h>
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
void setup() {
  lcd.begin(16, 2);
  lcd.print("hello, world!");
}
void loop() {
  lcd.setCursor(0, 1);
  lcd.print(millis()/1000);
}
quindi l'unica differenza sta nel 16,2 per cui prova a rimetterlo così e vediamo che succede.
L'altra problematica in genere sono i collegamenti, l'errore di inversione di qualche pin o proprio di uso di un altro pin, o i contatti, in quantp molti di noi pensano che gli elettroni, essendo leggerissimi, possono viaggiare nell'aria e far funzionare i componenti anche senza il contatto fisico, ergo: puoi postare una bella foto nitida dei collegamenti tra Arduino e LCD?
Logged

Guida alla programmazione ISP e seriale dei micro ATMEL (Caricare bootloader e sketch):
http://www.michelemenniti.it/Arduino_burn_bootloader.php
Guida alla Programmazione ATmega328 noP:
http://www.michelemenniti.it/atmega328nop.html
Articoli su Elettronica In:
http://www.michelemenniti.it/elettronica_in.html

Bologna
Offline Offline
God Member
*****
Karma: 5
Posts: 502
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

I collegamenti sono esatti e ho provato in tutti i metodi, ma si ferma davvero ad 8 caratteri. In questi giorni provo a comprarne un altro e vedere se ha lo stesso problema. Intanto sapete altre possibili soluzioni?
Logged

Global Moderator
Italy
Offline Offline
Brattain Member
*****
Karma: 313
Posts: 21624
Logic is my way
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

lcd.begin(16, 1);

per quanto ne so la numerazione delle righe va da 1 a 4 con valori da 0 a 3, quindi dovrebbe essere corretto. E comunque al massimo non funzionerebbe la seconda riga non la seconda metà della prima riga smiley-eek
Sì, la numerazione parte da 0 ma per quanto riguarda l'indicizzazione (es. posizionare il cursore). Quando fai un Lcd.begin() devi passare il numero di righe e colonne di cui è effettivamente composto il display: quindi per un 20x4 devi scrivere Lcd.begin(20,4).
Logged


Lamezia Terme
Offline Offline
Shannon Member
****
Karma: 414
Posts: 11987
Le domande di chi vuol imparare rappresentano la sua sete di sapere
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Nello sketch del modulo display dell'HV io ho usato 20,3 (ho controllato ora) eppure tutto funziona regolarmente  smiley-roll
Logged

Guida alla programmazione ISP e seriale dei micro ATMEL (Caricare bootloader e sketch):
http://www.michelemenniti.it/Arduino_burn_bootloader.php
Guida alla Programmazione ATmega328 noP:
http://www.michelemenniti.it/atmega328nop.html
Articoli su Elettronica In:
http://www.michelemenniti.it/elettronica_in.html

Global Moderator
Italy
Offline Offline
Brattain Member
*****
Karma: 313
Posts: 21624
Logic is my way
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

http://arduino.cc/en/Reference/LiquidCrystalBegin
Ma con begin si deve passare la dimensione del display, non gli indici delle righe e delle colonne.

Non so perché ti funziona ma in teoria non va bene. Io uso (20,4) con un display 20x4 appunto.
Logged


Bologna
Offline Offline
God Member
*****
Karma: 5
Posts: 502
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Ma... oggi provo con 16, 0 poi vi dico ma sono scettico
Logged

Pages: 1 [2]   Go Up
Jump to: