PIC16F628A en lcd

Hoi,

Ik heb het volgende lcd aan gesloten op mijn pic.

http://ledsee.com/index.php?page=shop.getfile&file_id=18&produ…

Ik heb de kabeltjes lopen volgens het schema van:
http://www.picbasic.nl/beginners4.htm

De
LCD_ENPIN zit op poort A.6
en
LCD_RSPIN zit op poort A.7
Verder heb ik de gnd, de r/w en de k- opelkaar aan gesloten.
En de +5 en de v0 opelkaar aangesloten.

Alleen als ik nu het volgende schema in mijn pic zet en spanning op de pic zet. gaat de backlicht eerst fel branden en na 0,5 sec cleard hij het scherm en word iets minder fel. er komen alleen blokjes op het lcd testaan.

Als ik de pic niet aansluit en de lcd van spaning voorzie gaat deze aan en cleard niet, en blijft gewoon fel branden.

De pic heb ik getest en werkt wel met drukknoppen en ledjes.

Ik heb het volgende schema in de pic staan:

DEVICE 16f648a ;Gebruik een 16F628A type
CONFIG INTRC_OSC_NOCLKOUT, WDT_OFF, PWRTE_ON, LVP_OFF, MCLRE_OFF

DECLARE LCD_ENPIN = PORTA.6 ;De EN aansluiting moet nu aan PORTA.6
DECLARE LCD_RSPIN = PORTA.7 ;De RS aansluiting moet nu aan PORTA.7
DECLARE LCD_LINES = 4

SYMBOL Tijd = 3000 ;Tekst veranderen om de 3 seconden

DELAYMS 500 ;LCD stabilisering

WHILE 1 = 1 ;Oneindig blijven doorgaan
CLS ;Wis oude tekst uit
PRINT "Hallo." ;Zet tekst op het scherm
DELAYMS Tijd ;Tijd om tekst te laten zien

CLS
PRINT "Tekst op een LCD"
DELAYMS Tijd

CLS
PRINT "Met PIC-Basic!"
DELAYMS Tijd

CLS
PRINT "Eenvoudig toch?"
DELAYMS Tijd

CLS
DELAYMS Tijd ;Tijd om LEEG scherm te laten zien
WEND ;Terug naar WHILE

END ;Einde programma

Weet iemand wat ik verkeerd doe, of wat ik moet veranderen?

Alvast bedankt

orgelmaker

aka vandy682002

Vo moet aan pot van 10K hangen voor de opheldering van tekst !!!
Met de pot een beetje spelen tot hij goed staat!

Groeten Al,

nooit te oud om te leren http://users.skynet.be/orgelmakers

Heb je de 4 datalijntjes wel (goed) op het display aangesloten?

Als ik in de datasheet van het LCD display kijk, dan is de pot.meter anders aangesloten dan 'normaal'.
Ik ga er vanuit dat deze pot.meter voor het contrast bedoeld is.

Wel 'type' LCD display heb je precies ?
In de datasheet staan meerdere types.
Ook negatieve (ik denk dat deze een negatieve contrast spanning nodig hebben).

Edit:
Toch wel een weerstand gebruikt voor je backlicht ?
(backlicht is 4,2 volt !)

Ik heb het volgende lcd:

http://ledsee.com/index.php?page=shop.product_details&flypage=shop…

Ik heb een 25k weerstand aangesloten op de v0 ipv. de 10k.
Nu heb ik een heel klein berijk, alleen als ik aan de potmeter draai gaat alleen het backlicht harder/zachter branden.

Ik heb de data lijnen aangesloten volgens www.picbasic.nl en heb ze ook door gemeten.

Henry S.

Moderator

Op 20 oktober 2007 18:04:14 schreef frank_1988:
Ik heb een 25k weerstand aangesloten op de v0 ipv. de 10k.
Nu heb ik een heel klein berijk,

Het bereik moet hetzelfde blijven, ook met 10k.

alleen als ik aan de potmeter draai gaat alleen het backlicht harder/zachter branden.

huh?

Deze post is niet door ChatGPT gegenereerd. De 2019 CO labvoeding.

Met de potmeter regel je het contrast, niet het backlight.
In de datasheet staat onduidelijk aangegeven hoe de potmeter moet worden aangesloten. Je kunt beter het plaatje van picbasic gebruiken.

Vdd moet op de +5V worden aangesloten.

Hoe heb je het backlicht aangesloten ?

Ik heb het volgende lcd:

http://ledsee.com/index.php?page=shop.product_details&flypage=shop…

Daaraan kan ik niet precies zien werk type het is.
In de datasheet staan de types STN, TN, HTN en de FSTN.
Welk type staat er op je display ?

het enigste wat op het lcd staat is:
ym2004a

als ik aan de potmeter draai, worden de blokjes en de achtergrond lichter/donkerder.

[Bericht gewijzigd door frank_1988 op zaterdag 20 oktober 2007 18:37:58 (49%)

Hoe heb je het backlicht aangesloten ?

de backlight hoort niet mee te gaan op je potmeter er is iets heel erg fout aangesloten.

Een zak tuinaarde opescheuren

Ik zal het lcd, een keer helemaal opnieuw aan sluiten, als ik hem als volgt aansluit zou hij dan moeten werken?:

GND lcd1-------pic pin5 GND
+5v lcd2-------pic pin14 vcc
v0 lcd3-------op middelste pinnetje van de pot meter
rs lcd4-------pic pin16 A.7
r/w lcd5-------pic pin5 GND
en lcd6-------pic pin15 A.6
DB0 lcd7
DB1 lcd8
DB2 lcd9
DB3 lcd10
DB4 lcd11------pic pin10 B.4
DB5 lcd12------pic pin11 B.5
DB6 lcd13------pic pin12 B.6
DB7 lcd14------pic pin13 B.7
A+ lcd15------pic pin5 GND
k- lcd16------pic pin14 vcc

lcd pin 3 is de power supply for LCD drive, als deze op de potmeter aansluit kan ik dan het contrast instellen?

In de datasheet staat: lcd pin 16 = backlicht(5v)
Ik heb op pin 16 wel 5 volt gehad, het backlicht branden toen helder. Moet ik er toch een weerstand van 22 ohm voor zetten?(het lcd is 35ma).

ps.
ik gebruik:
pic: 16f648a
lcd:
http://ledsee.com/index.php?page=shop.product_details&flypage=shop…
http://ledsee.com/index.php?page=shop.getfile&file_id=18...;Itemid…

boven aan in mijn programma komt het volgende te staan:
DECLARE LCD_ENPIN = PORTA.6 ;De EN aansluiting = PORTA.6
DECLARE LCD_RSPIN = PORTA.7 ;De RS aansluiting = PORTA.7
DECLARE LCD_LINES = 4
Moet ik hier ook neer zetten dat mijn lcd 20 karakters op 1 lijn heeft?

Alvast bedankt,

Frank Senders

Op 7 november 2007 12:00:41 schreef frank_1988:
In de datasheet staat: lcd pin 16 = backlicht(5v)
Ik heb op pin 16 wel 5 volt gehad, het backlicht branden toen helder. Moet ik er toch een weerstand van 22 ohm voor zetten?(het lcd is 35ma).

Op 20 oktober 2007 17:37:27 schreef MMSoft:
Edit:
Toch wel een weerstand gebruikt voor je backlicht ?
(backlicht is 4,2 volt !)

Niet geheel duidelijk dus. Als je datasheet doodleuk 5V vermeldt dan zit er misschien een weerstand intern? Maar het kan geen kwaad om zelf nog een weerstandje op te nemen hoor.

If you want to succeed, double your failure rate.

A+ lcd15------pic pin5 GND
k- lcd16------pic pin14 vcc

dit betekend dat je geen backlight hebt ...
en er moet iig een weerstand tussen

A+ lcd15--23-- +5V
k- lcd16------ GND

weerstand moet minimaal 23 ohm zijn.
0,8 / 0,035 = 22,9 ohm dus eerst volgende waarde pakken.
en de lcd niet over de voeding zetten van de pic maar over je bron.

Een zak tuinaarde opescheuren

Hoi,

Ik had pin 1,5 en 16 van het lcd en pin 2 en 15 met elkaar doorverbonden, omdat ik dacht dat A+ de 5v was.

Nu heb ik pin 1,2 en 5 wel goed aangesloten,

Als de PIC er inzit:
kan ik het contrast instellen van regel 2 en 4, door aan de potmeter te draaien. (Alleen krijg ik geen tekst op mijn scherm)

Als de PIC er niet inzit:
Gaat het backlicht branden en gebeurd er nix als ik aan de pot meter draai.(het zelfde als de pot meter op 10 ohm staat en de PIC er wel inzit)

Is het lcd dan kapot gegaan door het velen solderen en verkeerd aansluiten?
Of heb ik gewoon iets verkeerd in mijn programma staan?

Alvast bedankt,

blijkbaar werkt het display nu goed.

mogelijk is je pic stuk maar ik verwacht niet dat je display stuk is die dingen zijn erg robuust

heb je alle datalijnen correct aangesloten en correct in je programma gezet ?
als je dat heb gedaan is het in picbasic niets anders als:

Print at 1, 1, "Hello World"

[Bericht gewijzigd door Kevinoud op vrijdag 9 november 2007 09:39:59 (19%)

Een zak tuinaarde opescheuren

Ik heb de lcd zo aan gesloten:

GND lcd1-------pic pin5 GND
+5v lcd2-------pic pin14 vcc
v0 lcd3-------op middelste pinnetje van de pot meter
rs lcd4-------pic pin16 A.7
r/w lcd5-------pic pin5 GND
en lcd6-------pic pin15 A.6
DB0 lcd7
DB1 lcd8
DB2 lcd9
DB3 lcd10
DB4 lcd11------pic pin10 B.4
DB5 lcd12------pic pin11 B.5
DB6 lcd13------pic pin12 B.6
DB7 lcd14------pic pin13 B.7
A+ lcd15-23ohm--pic pin5 GND
k- lcd16------pic pin14 vcc

En ik heb het volgende programma gebruikt:

DEVICE 16F648A ;Gebruik een 16F648A type
CONFIG INTRC_OSC_NOCLKOUT, WDT_OFF, PWRTE_ON, LVP_OFF, MCLRE_OFF
ALL_DIGITAL TRUE

DECLARE LCD_ENPIN = PORTA.6 ;De EN aansluiting moet nu aan PORTA.6
DECLARE LCD_RSPIN = PORTA.7 ;De RS aansluiting moet nu aan PORTA.7
DECLARE LCD_LINES = 4

DELAYMS 500

symbol nood = PORTB.3
symbol relais1 = PORTB.1

TRISA = %11111111
TRISB = %11111101 ; relais 1 is een uitgang
PORTA = %00000000
PORTb = %00000000
PORTb_pullups on
clear

CLS ;Wis eventuele oude tekst
while 1=1
delayms 1
if nood = 1 then
delayms 50
relais1 = 1
PRINT AT 1, 7, "Hallo."
PRINT AT 2, 1, "nu blij?"
else
relais1 = 0
cls
endif
wend
END ;Einde programma

Ik heb ook geprobeerd om alleen
print 'hallo'
in het programma te zetten maar dat werkte ook niet.

Als ik het bovenstaande programa op een nieuwe pic heb gezet en deze aan sluit en 'nood'indruk schakeld het relais wel maar er komt nix op het lcd testaan.
Ik kan wel nogsteeds het contrast van regel 2 en 4 instellen met de potmeter.

Wat doe ik fout of is het lcd toch kapot????

Probeer nu eens eerst een simpel programma te maken voor gewoon wat tekst op je display te plaatsen.

Ik heb de indruk dat je probeert te lopen vooraleer je al kan stappen.


DEVICE 16F628A                ;Gebruik een 16F628A type
CONFIG INTRC_OSC_NOCLKOUT, WDT_OFF, PWRTE_ON, LVP_OFF, MCLRE_OFF

DELAYMS 500                   ;LCD stabilisering

CLS                           ;Wis scherm en zet cursor links bovenaan 
PRINT "PIC Basic cursus"      ;Plaats tekst op het display

END                           ;Einde programma

Ik heb deze code van www.picbasic.nl gehaald. Ikzelf gebruik niet meer Picbasic maar ik weet dat deze code 100 % zeker werkt.

Probeer eerst dit en ga dan verder !

Edit :

A+ lcd15-23ohm--pic pin5 GND
k- lcd16------pic pin14 vcc

Ik hoop dat je dit niet meent, de kathode dient aan de GND te hangen en de Anode aan de Vcc.

[Bericht gewijzigd door Mathieuke op vrijdag 9 november 2007 19:17:25 (11%)

DEVICE 16F628A ;Gebruik een 16F628A type
CONFIG INTRC_OSC_NOCLKOUT, WDT_OFF, PWRTE_ON, LVP_OFF, MCLRE_OFF

DELAYMS 500 ;LCD stabilisering

CLS ;Wis scherm en zet cursor links bovenaan
PRINT "PIC Basic cursus" ;Plaats tekst op het display

END ;Einde programma

Ik moet toch in dat programma aan geven waar mijn re en 'en' aansluiting zitten?
het volgende programa heb ik wel geprobeerd:

DEVICE 16F648A ;Gebruik een 16F628A type
CONFIG INTRC_OSC_NOCLKOUT, WDT_OFF, PWRTE_ON, LVP_OFF, MCLRE_OFF

DECLARE LCD_ENPIN = PORTA.6 ;De EN aansluiting moet nu aan PORTA.6
DECLARE LCD_RSPIN = PORTA.7 ;De RS aansluiting moet nu aan PORTA.7
DECLARE LCD_LINES = 4

DELAYMS 500 ;LCD stabilisering

CLS ;Wis scherm en zet cursor links bovenaan
PRINT "PIC Basic cursus" ;Plaats tekst op het display

END ;Einde programma

alleen werkte niet, daarom had ik de druk knop er bijgezet om te kijken of het wel efect had.

Er bestaan standaard aansluitingen bij een PIC16F628A.

Probeer eerst eens je LCD daar mee aan te sluiten !

Gebruik deze link :

http://www.picbasic.nl/images/schema_cursus4a.gif

Niet meteen met die poorten gaan wisselen als het niet wil.
Het advies is om het schema precies zo over te nemen (aan te sluiten) en het eerste programmavoorbeeld precies zo over te nemen.

Als dat geen resultaat geeft moet je eerst zoeken wat de oorzaak is voordat je begint met andere poortaansluitingen en andere programma's.
- Is het display wel goed (HD44780)?
- Loopt de PIC (test met eerst met een knipperend LEDje)
- Contrast goed ingesteld

Ohm sweet Ohm | www.picbasic.nl

Op 20 oktober 2007 17:07:30 schreef frank_1988:
DEVICE 16f648a ;Gebruik een 16F628A type

Je meld dat je een 16F628 gebruikt, en in je code defineer je een 16F648...

???

hoi,

Dat komt omdat ik het standaart programma van pic basic gekopieerd heb, en alleen de eerste veranderd heb omdat ik een 16f648a pic heb.

orgelmaker

aka vandy682002

Is het de lite verie van picbasic??? Die kan de 16F648a niet aan!!!!
Denk dat je dan beter eens test met een 16F628a.
En zo als Fritz zegt eerst leren stappen en dan pas lopen.

nooit te oud om te leren http://users.skynet.be/orgelmakers

Hoi,

Ik kreeg het niet voor elkaar om een werkend programma te maken, dus heb ik het lcd vervange voor een nieuwe.
Nu krijg ik wel gewoon tekst op het lcd en het contrast kan ik netjes instelen.
Nu nog een mooi programma schrijven:)
Allemaal bedankt voor de reacties en voor het helpen bij een goed aansluit schema te komen, ik heb hem nu als volgd aangesloten.

GND lcd1-------pic pin5 GND
+5v lcd2-------pic pin14 vcc
v0 lcd3-------op middelste pinnetje van de pot meter
rs lcd4-------pic pin16 A.7
r/w lcd5-------pic pin5 GND
en lcd6-------pic pin15 A.6
DB0 lcd7
DB1 lcd8
DB2 lcd9
DB3 lcd10
DB4 lcd11------pic pin10 B.4
DB5 lcd12------pic pin11 B.5
DB6 lcd13------pic pin12 B.6
DB7 lcd14------pic pin13 B.7
A+ lcd15-------pic pin5 GND
k- lcd16-24ohm-pic pin14 vcc
(in de datasheed staat dat A+ lcd pin15 de katode is en k-lcd pin16 de Anode)