Problema Schermo LCD

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???

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?

Arduino Duemilanove, libreria inclusa in arduino 1.0.1 LiquidCrystal, lo schema collegamento la ho presa da Tutorial: Arduino scrive su un Lcd - Mauro Alfieri Wearable Domotica Robotica Elettronica.

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

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

saldata.

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

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

Ecco le foto:

mamma mia :fearful:
i collegamenti sembrano a posto, certo col fatto che nelle varie viste li hai spostati di posizione, non è che aiuti molto :zipper_mouth_face:
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

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

me la scordo sempre questa cosa... e giustificherebbe la stranezza del comportamento dei caratteri?

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

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

Se non posti il codice non possiamo aiutarti..

Ecco il codice:

#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);
}

Dalla foto sembra che invece dei pin 11 e 12 hai usato 12 e 13.. prova a ricontrollare i collegamenti

Ciao

no, ti assicuro che sono i pin 12 e 11 !!!

gpsd:
...c'è un problema ho provato a scrivere 1234567890 e mi visualizza 123<=>?010 ?!? qual'è il problema???

Analizzando la codifica binaria dei caratteri che invii risulta che c'è un problema su D7 del display, collegato al pin 2 di Arduino, è sempre uguale a D6 (pin 3), controlla che non ci sia un corto tra il pin 2 e il pin 3.

1 -> 0x31 = 0b0011 0001
2 -> 0x32 = 0b0011 0010
3 -> 0x33 = 0b0011 0011

< -> 0x3C = 0b0011 1100, atteso 0b0011 0100 (4)
= -> 0x3D = 0b0011 1101, atteso 0b0011 0101 (5) 
> -> 0x3E = 0b0011 1101, atteso 0b0011 0110 (6)
? -> 0X3F = 0b0011 1111, atteso 0b0011  0111 (7)
0 -> 0x30 = 0b0011 0000, atteso 0b0011 1000 (8)
1 -> 0x31 = 0b0011 0001, atteso 0b0011 1001 (9)

0 -> 0x30 = 0b0011 0000

flz47655:
Dalla foto sembra che invece dei pin 11 e 12 hai usato 12 e 13.. prova a ricontrollare i collegamenti

Quelli sono i pin dei segnali R/S e Enable, un errore su quelle connessioni comporta non vedere apparire nulla sul display.

visto che lato Arduino e lato breadbord è praticamente impossibile fare un corto, probabilmente ci sarà ua sbavatura sulla saldature di uno dei due pin D7 e D6