- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hej
I cant get my LCD screen to work at all. I have followed the example in the pdf file.
http://www.cypress.com/?docID=33243
set it up by trying to use port 6 or port 0 but it will still not work. the program code is copied directly from the example and doesnt give any errors.
I am using a 1k potmeter for the display.
have moved the jumper so i get a 5V output from VDD.
when i build nothing happens on the screen. when build is finished i unplug the psoc 3 from the pc and plug it in again, nothing happens.
what could be the problem?
hope you guys can help
regards Jason
Solved! Go to Solution.
- Labels:
-
PSoC 3
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
What kind of LCD module are you using on the firsttouch kit and which usermodule are you using?
If you do not mind, post your complete project here, so that we all can have a look at.
To do so, use "File -> Create Workspace Bundle (minimal)" and upload the resulting .zip file here using ms internet explorer (NOT CHROME!!)
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
The LCD must be 44780 controller compatible for starters. Also the project
is available on opening screen under Examples and Kits, to make sure you
have a good starter project. LCD contrast adjustment also must be done
with a pot.
Best to post your project, and the schematic you have implemented.
Regards, Dana.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I have tried two lcd screens.
MDL-16265
http://www.alldatasheet.com/datasheet-pdf/pdf/165398/VARITRONIX/MDL-16265.html
DEM20485
http://www.gaw.ru/pdf/lcd/lcm/Display/char/DEM20485SYH-LY.PDF
Pin connection.
P6_0 - DB4 - pin 11 on lcd
P6_1 - DB5 - pin 12 on lcd
P6_2 - DB6 - pin 13 on lcd
P6_3 - DB7 - pin 14 on lcd
P6_4 - E - pin 6 on lcd
P6_5 - RS - pin 4on lcd
P6_6 - R/!W - pin 5 on lcd
i have also tried port 0.
P0_0 - DB4
P0_1 - DB5
P0_2 - DB6
P0_3 - DB7
P0_4 - E
P0_5 - RS
P0_6 - R/!W
I have attached the program as instructed. if you need any further information let me know.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Display is compatible, you are connecting a pot to Vdd, other side to Vss, and wiper to Vo to adjust
contrast ? Also your project settings are 5V, as display is 5V.
You have the right pin numbers in post, you sure you got pin 1 orientation on display left side of
pins when display is oriented with pin connection holes at top ?
You issued
LCD_Char_Init( );
LCD_Char_Start( );
Do not use chrome to post a project, your project did not get posted.
Regards, Dana.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
You forgot the project...
Bob
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
First the LCD settings must be -
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Dana:
I am using a 1k Pot that is connected to VDD, pin 3 on lcd(vo) and vss.
I have moved the jumper so i get 5V at VDD. the jumper is in position 2 and 3.
the display is marked 16 in one end. so the other ends first pin is connected to gnd.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
You had a couple of double underscores in f() api names used, this works -
#include <device.h>
#include "LCD.h"
uint8 i = 0;
void main() {
LCD_Init( );
LCD_Start( );
LCD_Position(0, 0); //Positions the cursor
LCD_PrintString("Hello World"); /*Prints the null terminated string Hello World at (0,0)*/
for(;;) {
CyDelay(1000); //1 sec Delay
LCD_Position(1, 0);
LCD_PrintNumber(i); //Prints the value of i
i++;
}
}
Regards, Dana.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
try look at the last example i uploaded dana.
i have taken the example from cypress directly.
regards Jason
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
when i compile the code you gave me dana it gives me a warning.
WARNING: C:\PSOC3\LCD_DISPLAY\LCD_DISPLAY\LCD_DISPLAY.CYDSN\MAIN.C:21: 'LCD_Init': missing function-prototype
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I am using "PSOC Creator Component Pack 5", maybe thats
the issue. Compiles and runs fine on this end.
Try it w/o Init() but I think thats needed.
Regards, Dana.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Make sure you don't have a double '__' (underscore) in LCD_Init( );
Regards, Dana.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I am using creator 1.0. higher versions are not compatible with the psoc 3 version i have.
there is no dobble line (__)
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I think the Init( ) got added later, so try it w/o.
Regards, Dana.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
the warnings are removed but i still dont have any picture ?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
What is the contrast pin tied to ? Should be a pot to allow 0 - Vdd.
Normally a display with bad contrast will be dark block characters,
you see any of this ? Kit jumpers and project settings consistent
with 5 V operation ?
Laslty if you look at LCD data sheet, revision section, quite a lot of changes,
some timing related.
There is an exchange program for that kit to the full 030 board, maybe that
would be good to execute on, and get you into current Creator Version. versions
fix bugs, some w/o workarounds. www.cypress.com/
Regards, Dana.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
LCD_Init( ); is not needed as it is called inside LCD_Start().
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Looks like datasheet should be cleared up on both start() and init() functions, eg.
description.
Regards, Dana.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
exactly
Lcd_Start() should be enough. i have dobble check the wires several times. I am completly lost at this point.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
if all wires seem to be properly connected (you have done continuity checks with a meter) and you see proper voltages on the pins. The first thing I would do is check if the LCD is atleast working (powered).
To do this just play with the contrast pot, if its working you should start seeing the pixels get darker as you get to one of the extremes of the pot. on the other side it should get completelly white and see nothing. If you see no change then check lcd power again.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
You are probably right. I haven't thought about it. The first time I ever used a Char_LCD module (without having looked at the example project) I've also tried to use Init(), but since it is not even listed in Char_LCD.h I quickly looked at the source and realised it was not needed.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Have you managed to make it work? if so, what was the cause of the problem?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello everyone
I finally got it to work.
I had two errors. I had a loong testing face so i had tried to put the jumper to a 3.3V position and forgot to put it back to a 5V position.
second error was in my potmeter. I switched it to a new one and VOILA it worked. I just had to turn it all the way to the right before i got a display.
So thanks for the help everyone. I can finally continue with my project.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
That was one week of searching for an error... Too bad, I can feel with you!
Bob
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Small mitakes, has hapened to all of us. The best solution is to take a break or ask someone with fresh eyes to check for you.