Go Down

Topic: Problema Schermo LCD (Read 1 time) previous topic - next topic

gpsd

Ho comprato uno starter kit con il " 1602 Blue LCD Module " , metto il contrasto nella posizione giusta, metto i pin nella posizione giusta, ma...
...c'è un problema ho provato a scrivere 1234567890 e mi visualizza 123<=>?010 ?!? qual'è il problema???
si è bruciato qualcosa??? o magari non è una codifica giusta???

PaoloP

Scusa, ma la sfera di cristallo ce l'hanno solo Uwe e Astro.
Ci servono più informazioni per capire il tuo problema.
Arduino utilizzato, librerie utilizzate, schema dei collegamenti (una foto sarebbe meglio)
Anche la pagina web del produttore potrebbe essere di aiuto per capire il modello del LCD: parallelo o con interfaccia I2C o SPI.
Hai seguito un tutorial? Quale?

gpsd

Arduino Duemilanove, libreria inclusa in arduino 1.0.1 LiquidCrystal, lo schema collegamento la ho presa da http://www.mauroalfieri.it/elettronica/tutorial-arduino-scrive-su-un-lcd.html.

La ho comprata da ebay, pagina: http://www.ebay.com/itm/Starter-Kit-LCD1602-IR-Control-ATmega-328-arduino-compatible-/271008103766?ssPageName=ADME:X:AAQ:US:1123, vicino alla pedinatura c'è scritto: SC162A3  P5V21

Brunello

La la striscia dei Pin, l'hai saldata sul connettore dell'LCd o solo infilata ?


Michele Menniti

Potresti scrivere come sono collegati esattamente i fili o meglio postare una foro dei collegamenti; ho capito che hai usato quello schema ma è meglio verificare, a me sembra tanto un'inversione di due fili
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

Brunello

a me pare piu' un corto tra i pin 13 e 14

gpsd

#7
Oct 23, 2012, 07:14 pm Last Edit: Oct 23, 2012, 08:44 pm by UweFederer Reason: 1
Ecco le foto:









Michele Menniti

mamma mia  :smiley-eek-blue:
i collegamenti sembrano a posto, certo col fatto che nelle varie viste li hai spostati di posizione, non è che aiuti molto  :smiley-zipper:
se il software lo hai copiato fedelmente da quel sito dovrebbe essere tutto ok, prova a scollegare la retroilluminazione e vedi se cambia qualcosa, non vorrei fosse un sovraccarico
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

flz47655

Posta il codice, non è che hai usato lcd.write()?  :)

Michele Menniti

me la scordo sempre questa cosa... e giustificherebbe la stranezza del comportamento dei caratteri?
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

flz47655

Scusa ho sbagliato, non è che hai usato lcd.println() che non esiste ma che è ereditato dalla classe base e ti scasina tutto..
Io una volta ci ho perso 1 ora.. mannaggia dovrebbero scriverlo grosso nella documentazione
Anche se hai usato write() puoi avere problemi ma dovresti avere tutto sbagliato nel 99% dei casi non solo qualche carattere

Ciao

gpsd

Ho provato con println, write, print... ma niente =(
Dite che si è bruciato il processore all'interno del modeulo LCD???

flz47655

Se non posti il codice non possiamo aiutarti..

gpsd

Ecco il codice:

Code: [Select]
#include <LiquidCrystal.h>

// initialize the library with
// the numbers of the interface pins
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);

void setup() {
  // set up the LCD's number of columns and rows:
  lcd.begin(16, 2);
  // Print a message to the LCD.
  lcd.print("1234567890");
}

void loop() {
  // set the cursor to column 0, line 1
  // (note: line 1 is the second row,
  // since counting begins with 0):
  lcd.setCursor(0, 1);
  // print the number of seconds since reset:
  lcd.print(millis()/1000);
}

Go Up