caratteri lcd

si la riga è così..e ti confermo anche gli altri 3 pin..
cmq scusa è che oggi propio nn riuscivo a inserire le foto..

non ci sei riuscito nemmeno ora :grin:
clicca su "additional options" e seleziona le foto una per volta, così le alleghi al post :wink:

grazie.. :roll_eyes:

Bene, allora a questo punto le cose si restringono a due possibilità:
1 - i fili innestati negli header dell'LCD o di Arduino non fanno contatto corretto
2 - il display è guasto

Sicuramente non c'è inversione di segnali altrimenti non avremmo avuto simboli uguali per caratteri diversi, quindi restano le due possibilità suddette, speriamo per la prima

Inizialmente i fili li avevo stagnati sul display..però riprovare nn costa niente..
Nel caso ce un modo per controllare se display è ok??

Il problema potrebbe essere anche lato Arduino; prima di stagnarli fai questa prova: durante l'esecuzione dell'Hello World! prova a muovere i fili infilati nel display, con delicatezza, una cosa minima, e vedi se cambia qualcosa, prova con un filo per volta; se ad un certo punto di pare di vedere miglioramenti allora puoi saldarli, però se l'avevi già fatto mi sa che il display è andato, visto che sei assolutamente certo di tutto il resto, e d'altra parte: LCD collegato correttamente, sketch e lib originale, niente da dire, purtroppo.
L'unica prova che puoi fare è metterne un altro, solo lì ti accorgi se il problema persiste o si risolve.

niente da fare.. =( =( =( =( =( =(
domani provo a sentire quelli di futurashop se possono sostituirmelo, al max ne prendo uno nuovo magari seriale cosi ho solo 3 fili..
ci tengo a chiederti SCUSA per oggi..dai almeno adesso ho imparato come si postano le immagini e che se ho un problema è meglio pubblicare più info possibili già dal primo messaggio..
grazie e scusa ancora..

No, non scusarti, mi fai restare male :|, le mie sono "tecniche" professionali ;), la provocazione garbata è uno dei modi migliori per spiegare qualcosa quando qualcuno è un po' "sordo", magari perché non conosce l'importanza di quel qualcosa. Ora tu hai capito che se avessi aperto il Topic fornendo immagini e sketch ce la saremmo cavata in 10 minuti invece che in una giornata :sweat_smile:, quindi è già questo un successo no?
Il seriale costa un bel po' di soldini, lascia perdere, non si rompono così facilmente questi LCD, e ancora non è detto che il tuo sia guasto. Comunque senti Futura e vedi che dicono, spiega che sei stato aiutato nella prove dal Forum di Arduino e che sei ragionevolmente certo che il display abbia il controller guasto.

ok..grazie mille ti farò sapere..

Io ho lo stesso lcd e anche io ho problemi, credo che si tratti di qualche collegamento...ho seguito il tutorial di mauro alfieri con il datasheet sotto.
Non noto, purtroppo, nessuna scritta con nessun tipo di caratteri, semplicemente girando il potenziometro passo dal non vedere nulla a vedere i quadretti del carattere completamente anneriti (rettangolo neri per intenderci). Leggendo cosa dovrebbe fare il potenziometro credo che il funzionamento di questo sia giusto e che semplicemente a me non vengano i caratteri.

Lavoro con Arduino Uno Rev3

Questo è il mio codise:

#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("hello, world!");
}
 
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);
}

Mentre i collegamenti che ho fatto sono:

+/- retro illuminazione su 5V e GND (e questo funziona)
1 GND
2 5V (poichè si accende anche questi due devono essere corretti)
3 potenziometro (e anche qui va quindi penso tutto ok)

4 pin12
5 GND
6 pin11
7-8-9-10 scollegati
11 pin5
12 pin4
13 pin3
14 pin2

i cavi li ho saldati prima con mio papà quindi non credo proprio siano quelli che danno problemi

Qualcosa saprebbe aiutarmi?
Grazie mille, Andrea

Ciao Andrea, i collegamenti che hai elencato sono esattamente quelli richiesti, il comportamento però è quello tipico di:
1 - sketch non caricato su Arduino (ciò che ti funziona finora è la parte specificatamente hardware, cioè retroilluminazione e contrasto)
2 - collegamenti non corretti, che può significare due pin in corto, anche una sola saldatura fatta male, o probabilmente il collegamento lato Arduino, mica avrai saldato anche lì :wink:
Verifica per bene tutto.

Eccomi, alla fine tutto si è magicamente risolto...le saldature ovviamente le ho fatte sulla schedina di supporto all'lcd, ho tagliato 8 cavetti di quelli con l'innesto che vendono coi kit in modo da avere già la 'presa' all'altro capo.

Poichè magicamente non succede mai nulla provo ad analizzare quanto successo. Dopo aver scritto ho smesso di smanettare, tanto dopo aver ricollegato tutto tre volte non poteva essere li il problema, ho aspettato che mio papà tornasse e ho chiesto di dare un occhio: carico il programma e mi mette dei simboli strani (già un passo), non come quelli elencati dall'altro utente perchè non corrispondevano nemmeno le posizioni, però poco prima avevo caricato un'altro programmino che avrebbe dovuto scrivere li alcuni valori.

Ricarico il programma e va...

Ho paura che ogni tanto faccia fatica a scrivere, non so il motivo, però evidentemente è il primo punto che dicevi...

Ti va di fare una prova?

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

prima di lcd.print("hello, world!");
aggiungi la riga:
delay(1000);
in pratica dopo aver inizializzato il display metti una pausa di un secondo e poi tutto il resto, spesso si è risolto così

Haha, lo avevo già fatto per vedere di risolvere un problema con il passo successivo, quello di collegare il sensore temperatura. In pratica non avendo delay e continuando a scrivere dava la sensazione di lampeggio, ho impostato il ritardo e ora non lo fa più.

Ho però un altro mezzo problema (anche se forse è perchè lavoravo con tanta luce e adesso provo con meno), collegando la retroilluminazione nell' "hello world" nessun problema. Facendolo ora accentua quella sensazione di lampeggio e quasi sparisce tutto...pensavo fosse un problemi di potenza così ho messo un alimentatore esterno e ho provato gradualmente ad aumentare voltaggio e amperaggio assieme a mio papà ma migliora tutto, tranne questo...

E' successo a qualcuno?

La sensazione di lampeggio è dovuta alla continua riscrittura dei dati sul display, specialmente se ogni volta cancelli la videata precedente, purtroppo c'è poco da fare, considera che però l'effetto è pià accentuato se NON guardi il display in posizione corretta, cioè gli occhi devono stare perpendicolari al display.

Sisi avevo intuito, infatti ho provato subito a modificare il delay e ho visto che appunto dipendeva dal loop.

Tra l'altro credo di aver risolto anche altri problemi, dopo tre ore e grazie ad una stupidissima prova con un led e soprattutto dopo aver scollegato tutto (e vicino ad una crisi di nervi), ho scoperto che un maledettissima cavetto non andava...la sfiga ha voluto che su 2-3 prove di collegamento anche con sensori diversi quel cavetto finiva sempre in mezzo a far danni...alla fine li ho presi in mano tutti e controllati col tester...

Ora le cose sembrano andare, da ieri ho cominciato a costruire una shield che mi semplichi il lavoro di collegamento integrando un potenziometro e unendo i poli che poi vanno a finire nello stesso connettore in modo da avere meno fili volanti possibili...Il passo successivo sarà un pulsantino per la retroilluminazione...

e perché non te la piloti con un pin di Arduino la retroilluminazione?

Perchè volevo una cosa che lo facesse accendere due secondi quando uno ha bisogno e stop...ad ogni modo non è definitivo che non posso più tornare indietro, basta dissaldare e risaldare un cavetto :slight_smile:

Se il "quando serve" è a discrezione dell'utente e non dipende dallo sketch allora ovviamente puoi ricorrere al comando manuale, ma invece di un interruttore prevedi un pulsante: lo premi e lo rilasci subito e da quel momento fai partire un conteggio di due secondi nei quali mantieni accesa la retro.