Go Down

Topic: LCD 16X1 (Read 1 time) previous topic - next topic

Subsea

Oct 18, 2012, 09:28 pm Last Edit: Oct 21, 2012, 09:32 pm by SUBSEA Reason: 1
Ciao a tutti. Oggi ho provato per la prima volta un lcd che ho comprato in fiera per 4 euro. Il prezzo era veramente buono, ma il problema è che non mi mostra nessun carattere. ho seguito questo schema [url]http://arduino.cc/en/uploads/Tutorial/LCD_bb.png[questo schema/url] e caricato lo sketch "hello world". Non avendo un potenziometro in casa ho collegato una resistenza da 10 ohm da 5V al ground, ma avevo paura di far sltare la USB così ho lasciato perdere. Può esseresi fusa la USB(o peggio il PC? :smiley-eek-blue:)? domani provo con il potenziometro.

uwefed

La tensione Vo serve per far visualizzare i caratteri. Senza non vedi niente. Procurati un potenziometro.
Ciao Uwe

Subsea

Sì in effetti adesso ho visto CBE era il contrasto. Quindi non si è rovinato il PC avendo messo la resistenza tra i 5 v di Arduino e il gnd?

uwefed

Vedo che scrivi ancora sul forum percui sembra che non hai fulminato il PC.  :D :D :D :D

Ciao Uwe

Subsea

Ahaha! Giusto! :smiley-mr-green: grazie mille! ;)

Michele Menniti

Comunque una 10 ohm in parallelo all'alimentazione fa 0,5A, quindi il limite dell'USB, davvero il rischio era minimo o nullo; comunque sapendo che il potenziometro in genere è un 10K forse era più consona una prova con 5k.
Giusto per non fare sembrare questo mio post inutile ti dò una dritta: il potenziometro puoi usarlo come semplice resistenza variabile invece che come trimmer, colleghi il pin del contrasto al centrale del potenziometro, ed uno qualsiasi dei laterali a GND, vedrai che ti funziona benissimo lo stesso, senza "coinvolgere" il positivo.
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

Subsea

Ok provo come hai detto tu! Solo una cosa: come facevo a sapere che il trimmer restituiva il gnd anziché il positivo?

Michele Menniti


Ok provo come hai detto tu! Solo una cosa: come facevo a sapere che il trimmer restituiva il gnd anziché il positivo?

Forse non ho capito bene, un trimmer è come una doppia resistenza variabile con un capo in comune, in pratica è un partitore variabile; sul centrale, in base alla posizione del perno, ti trovi una tensione che va da 0V a 5V.
Il sitema che ti ho suggerito io funziona perché tutti i nuoci LCD il riferimento positivo lo hanno già interno, quindi non devi fare altro che aggiungere una resistenza tra il pin del contrasto e GND, devi usare un potenziometro perché non sai qual è il valore ma una volta trovatolo, se non ti serve variarlo, nessuno ti imedisce di togliere il potenziometro e mettere una R fissa, del valore che misurerai sul potenzimetro.
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

Subsea

Capito! Gtazie ancora! Comunque intendevo perchè il capo comune conduceva il negativo invece del positivo.

Subsea

Altro problema: come mai non mi va più in là di 8 caratteri? Mi spiego meglio, lui arriva all' ottavo carattere, non va oltre. questo è lo schema:
Code: [Select]
/*
#include <LiquidCrystal.h>

LiquidCrystal lcd(12, 11, 5, 4, 3, 2);

void setup() {

  lcd.begin(16, 1);

  lcd.print("hello, world!");
}

void loop() {

  lcd.setCursor(0, 1);

  lcd.print(millis()/1000);
}
in poche parole mi appaiono solo "hello wo"

Hal90001

Prova a mettere:
Code: [Select]
lcd.setCursor(0,0);

Subsea

avevo già provato, ma non cambia nulla... Comincio a credere di aver un display sfigato!

cece99


avevo già provato, ma non cambia nulla... Comincio a credere di aver un display sfigato!

Avresti una foto? magari non è un 16x2 ma è un 8x4 con due linee affiancate
Il Vero Programmatore non ha bisogno di manuali sull'assembler, sono
  sufficienti i data sheet dei microprocessori.

Brunello

e poi perche' scrivi

Quote
lcd.begin(16, 1);


se e' un 16x2

Subsea

Ecco è proprio questo il problema. Io ho detto che era 16×2, ma io vedo solo un layer.

Go Up
 

Quick Reply

With Quick-Reply you can write a post when viewing a topic without loading a new page. You can still use bulletin board code and smileys as you would in a normal post.

Warning: this topic has not been posted in for at least 120 days.
Unless you're sure you want to reply, please consider starting a new topic.

Note: this post will not display until it's been approved by a moderator.
Name:
Email:

shortcuts: alt+s submit/post or alt+p preview