informazione su un lcd 16x2

buongiorno a tutti...sto usando un lcd 16x2 per visualizzare la temperatura...sul display mi escono solo simboli, questione solo di retroilluminazione??

Ciao..
Prima ti consiglio di cambiare titolo e scrivere un qualcosa che indichi il contenuto del tuo topic, altrimenti chi legge il forum non capisce... :wink:
Poi se scrivi qualche dettaglio in più (schema di collegamento, eventuale sketch, ecc...) potremo aiutarti meglio, perchè scritto così vuol dire tutto e niente. Anche perchè la retroilluminazione dovrebbe essere l' ultimo componente che da questi problemi. :slight_smile:
Hai fatto qualche ricerca nel forum ? perchè ci sono vari topic di persone che hanno avuto problemi simili ai tuoi.

ok hai ragione e scusate :stuck_out_tongue: ...cmq si ho già dato un'occhiata nel forum ma non ho trovato alcuna soluzione al mio problema!!io ho seguito il seguente schema per fare i collegamenti : http://www.google.it/imgres?imgurl=http://www.adrirobot.it/display_lcd/LCD_keypad_arduino/immagini/lcd_bb.png&imgrefurl=http://www.adrirobot.it/display_lcd/LCD_keypad_arduino/lcd_arduino_presentazione.htm&h=504&w=892&sz=45&tbnid=YeEJW7BzJ-7-JM:&tbnh=68&tbnw=120&prev=/search%3Fq%3Dcollegamento%2Blcd%2Barduino%26tbm%3Disch%26tbo%3Du&zoom=1&q=collegamento+lcd+arduino&usg=__fxRcN8gs6p1j-6G8b_RZPty_VPg=&docid=agT2HTzyQlfjvM&hl=it&sa=X&ei=LWQwUZzLN6iq4ATTooCgDw&ved=0CEMQ9QEwAg&dur=2155
mentre lo sketch è questo:

#include <LiquidCrystal.h>
LiquidCrystal schermo (12, 11, 5, 4, 3, 2);
const int RELE =  7;  //Relè
float temperatura;


void setup()  
{ 
  pinMode(RELE, OUTPUT);  //Impostazione PIN come uscita
      //display
  schermo.begin(16,2);
  } 
 
void loop()
{
  temperatura=analogRead(A0);
 schermo.setCursor(0,1);
 schermo.println("temperatura: ");
  schermo.println(((5* temperatura* 100.0)/1024)* 0.0325);
  delay (1000);

  
  if ((((5* temperatura* 100.0)/1024)* 0.0325) <13.00)
  {
    digitalWrite(RELE,HIGH);
    schermo.setCursor(0,2);
    schermo.println("ACCESO");
  }
  else
  {
    digitalWrite(RELE,LOW);
    schermo.setCursor(0,2);
    schermo.println("SPENTO");
  }
  delay(1000);
}

ok lo schema da cui sei partito, ma il tuo ? Che errore esattamente ti da ? Quando te lo da ?
Con cosa alimenti arduino ? a quanti volt ?... Insomma servono molte info per sapere cosa potrebbe essere..
:cold_sweat:

Confermo che dovresti cambiare il titolo del Topic, basta che aggiungi "su display LCD"....
Il tuo problema di solito lo hanno tutti coloro che ewffettuano collegamenti "volanti" tra i fili ed il display, senza saldarli, succede di tutto, ad iniziare da quello che lamenti tu, una foto sarebbe gradita :slight_smile:

non me lo fa cambiare il nome... alimentazione 5 V di arduino!!poi il display si accende solo se collego una resistenza all' anodo e il catodo gli do la massa. Credo che sia un problema più di retroilluminazione, infatti ora sto comprando una resistenza intorno ai 6 ohm.

Perdonami, non si vede molto bene il display dalla foto, ma mi sembra rotto... ha un macchia scura al centro e mi sembra anche nei lati...
Non è che puoi fare un primo piano del display con il problema in atto ?
Intanto verifichiamo le connessioni...

i contatti sull'LCD li devi saldare...

:smiley:
E' vero! non avevo notato. Avevo dato per scontato la cosa... :smiley:
Salda i pin prima

non credo che sia rotto...quella è solo la carta che da quell'effetto :stuck_out_tongue:

ok..volevo evitare questa operazione(quella di saldare ma mi sa che sono costretto)

Ciao,
come sketch prova questo:

#include <LiquidCrystal.h>

LiquidCrystal schermo (12, 11, 5, 4, 3, 2);
const byte RELE =  7;  //Relè
float temperatura;

void setup()  
{ 
  pinMode(RELE, OUTPUT);  //Impostazione PIN come uscita
  schermo.begin(16,2); //display
} 

void loop()
{
  temperatura = analogRead(A0);
  temperatura = ((5 * temperatura * 100.0)/1024.0) * 0.0325;

  schermo.setCursor(0,1);
  schermo.print("temperatura: ");
  schermo.setCursor(13,1);  
  schermo.print(temperatura);

  schermo.setCursor(0,2);
  if (temperatura < 13)
  {
    digitalWrite(RELE,HIGH);
    schermo.print("ACCESO");
  }
  else
  {
    digitalWrite(RELE,LOW);
    schermo.print("SPENTO");
  }

  delay(2000);
}

E' il tuo con qualche modifica.

Per modificare il titolo del topic devi rieditare il primo messaggio e cambiarlo li.
inoltre rieditando l'altro messaggio includi il codice nei tag COD: pulsante # sopra le faccine.

PaoloP:
Per modificare il titolo del topic devi rieditare il primo messaggio e cambiarlo li.
inoltre rieditando l'altro messaggio includi il codice nei tag COD: pulsante # sopra le faccine.

L'ho fatto io.

@tecnico3:
http://arduino.cc/forum/index.php/topic,149082.0.html

ok..volevo evitare questa operazione(quella di saldare ma mi sa che sono costretto)

bhè.. se vuoi che funzioni.. penso proprio di si. ]:smiley:

ok grazie e scusate :blush:
mi è venuto un piccolo dubbio rivedendo il programma: la formula per la temperatura è giusta?? ne trovai diverse su dei siti e quella che mi è sembrata più corretta, è quella che ho scritto io..è corretta?

tecnico3:
ok..volevo evitare questa operazione(quella di saldare ma mi sa che sono costretto)

L'alternativa è cercare uno shield con un display LCD già saldato e pronto all'uso.

ma voi credete che sia solo quello il problema?oggi pomeriggio mi metto e lo saldo

tecnico3:
ma voi credete che sia solo quello il problema?oggi pomeriggio mi metto e lo saldo

Al 90% sì.

Salda uno strip di header maschi con la parte lunga rivolta in basso, così puoi inserire l'LCD comodamente su una breadboard.
Nel caso che poi devi riportare il progetto su una millefori, non dovrai poi far altro che risaldare gli header alla basetta.

mi è venuto un piccolo dubbio rivedendo il programma: la formula per la temperatura è giusta??

Per capire questo dovremo prima sapere che tipo di sensore hai per la temperatura. Ce ne sono di diversi tipi. (analogici, digitali, ecc..)
(magari lo hai scritto da qualche parte e io non l' ho letto)

è un sensore di tipo digitale modello ds18b20