Pages: [1]   Go Down
Author Topic: HELP! Is my LCD broken?  (Read 974 times)
0 Members and 1 Guest are viewing this topic.
Ohio, USA
Offline Offline
Newbie
*
Karma: 0
Posts: 8
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Hey, people, i need help.
I have an lcd, and I am using it in a reaction timer project. What it is SUPPOSED to do is this: The led is off for a random amount of time. When it tuns on, the two players race to press their button as fast as they can. If a foul occurs, then a low tone is played and the lcd shows who fouled. If it is not a foul, the LCD shows who won and what their time was.
Here is the code
Code:
/* Reaction Timer
By- Racerdude24
This is a game where there is an led and two buttons. as soon as the led lights up, the first player to push the button wins. If pushed before that, it is a foul.  If won, the lcd shows who
along with the winner's time. If foul, it shows who.
*/
// wiring:
// ----------------^ means on lcd, ~ means on arduino--------------------

/* *Ground & 5v to pins 1^ & 2^, respectively
   *2K pot, 2 ends to 5v & Ground, wiper to pin 3^
   *Digital pin 7~ connected to pin 4^
   *Pin 5^ connected to ground
   *Pin 6^ connected to digital pin 8~
   *Pin 11^ connected to digital pin 9~
   *Pin 12^ connected to digital pin 10~
   *Pin 13^ connected to digital pin 11~
   *Pin 14^ connected to digital pin 12~
   *Pin 6~ to 5v by pushbutton Switch
   *Pin 6~ to ground by resistor
   *Pin 5~ to 5v by pushbutton switch
   *Pin 5~ to ground by resistor
   *Pin 13~ to ground by LED
   *Speaker connected to Pin 4~ & Ground
   ******************************************** These next two pins will only be on an lcd with a backlight. If there is no backlight, ignore these next 2 steps.
   *Pin 15^ connected to 5v via 220 Ω resistor
   *Pin 16^ connected to ground
   
   ``````````To adjust contrast, twist the 2K potentiometer```````````
 */
 #include "pitches.h"

 
 #include <LiquidCrystal.h>;
 LiquidCrystal lcd(7, 8, 9, 10, 11, 12);
 
 const int led = 2;                   //the pins used.
 const int player1 = 6;
 const int player2 = 5;
 const int speaker = 4;
 
 int pressed = 0;
 int ready = 0;
 
 int currentmillis = 0;
 int time = 0;
 
 void setup(){
   Serial.begin(9600);
   lcd.begin (16, 2);
   randomSeed(analogRead(0));
   time = random(1000, 6000);
 }
 
 void loop(){
  currentmillis = millis();
   if (currentmillis > time){                  //if the delay is over
      ready = 1;                       //make any following presses non-foul
     digitalWrite(led, HIGH);              //turn the led on
  }
   if (digitalRead(player1) == HIGH){     //if player 1 pushed his button
     if (pressed == 0){                   //was something pressed already? if not...
       if (ready == 1){                   //is it a foul? if not...
         pressed = 1;                     //keep the other player from pressing
         lcd.print("Player 1 wins!!");     //self explanatory
         lcd.setCursor(0, 1);               
         lcd.print((float)(currentmillis - time)/1000);//print the reaction time
         tone(4, NOTE_C4, 1000);           //play a high tone
         
       }
       else{                              //if it is a foul
       lcd.print("Foul on player 1");      //also self explanatory
       pressed = 1;                        //keep other player from pressing
       tone(4, NOTE_C3, 1000);              //play low tone
       }
     }
     else{
       
     }
   }
   
    if (digitalRead(player2) == HIGH){         //this code is the same as player 1's, with a few changes
     if (pressed == 0){
       if (ready == 1){
         pressed = 1;
         lcd.print("Player 2 wins!!");
         lcd.setCursor(0, 1);
         lcd.print((float)(currentmillis - time)/1000);
         tone(4, NOTE_C4, 1000);
       }
       else{
       lcd.print("Foul on player 2");
       pressed = 1;
       tone(4, NOTE_C3, 1000);
       }
     }
   }
 }   
 

However, if you look at the video, you see that the LCD is not showing any characters. I don't think it is the code, because it worked before. Am I applying too much voltage to it? The Pic shows that I am using 3.3v, but beforehand I was using 5v. Could that have damaged it?

I have no idea what the product number is, I just know it is made by samsung.
Some things it says on the back are:
*FCT 3135
*UC-16202-GNAR5-V97051503
*Samsung (logo)
*0052A


Here is a video

And lastly, A photo. (on attatchment)

All I need to know: Is it broken? and Can it be fixed?


* photo.JPG (354.04 KB, 720x960 - viewed 23 times.)
Logged

0
Offline Offline
Sr. Member
****
Karma: 5
Posts: 476
what?
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Have you tried the hello world lcd example?

Logged

Western New York, USA
Offline Offline
Faraday Member
**
Karma: 25
Posts: 4111
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Quote
All I need to know: Is it broken? and Can it be fixed?
Maybe and maybe.

What shows up on your LCD when you remove all of the wires except those going to pins 1, 2, and 3?

It looks like the display changes when you press on the black frame around the glass.  This indicates a poor connection between the display itself and the PC board. 

Did you do a search for any of the things it says on the back of the display?


Don

Logged

Ohio, USA
Offline Offline
Newbie
*
Karma: 0
Posts: 8
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Have you tried the hello world lcd example?


Yes, and the same thing happened


What shows up on your LCD when you remove all of the wires except those going to pins 1, 2, and 3?


The same thing.  smiley-confuse

Did you do a search for any of the things it says on the back of the display?[/color]

Don


Yes, and I couldn't find anything.
The reason is, I didn't actually buy this, I dug it out of some old phone. That's why I don't know the part number.
Logged

Western New York, USA
Offline Offline
Faraday Member
**
Karma: 25
Posts: 4111
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Remove all of the wires except those going to pins 1, 2, and 3 and then put pressure on the black frame around the glass.  If you get the expected single row of blocks then you have a poor connection between the display itself and the PC board.   You will notice several places where tabs from that frame protrude through the PC board and you can try twisting them some more to tighten the connection.  You may have to melt some solder first.

Also, I have some ribbon cable similar to the type that you are using.  Mine does not really make secure contact with the breadboard so that may be an additional problem in your case as well.


Don
Logged

Western New York, USA
Offline Offline
Faraday Member
**
Karma: 25
Posts: 4111
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Quote
Yes, and I couldn't find anything.
You have to be able to pick out what to search for, in this case 'UC-16202'.

I found one 'datasheet' here www.britestone.com/shop/upload/DN/LCD/UC-16202.pdf but all it does is confirm that the connections etc. are similar to all the other LCD modules that are around.


Don
Logged

Ohio, USA
Offline Offline
Newbie
*
Karma: 0
Posts: 8
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset



Also, I have some ribbon cable similar to the type that you are using.  Mine does not really make secure contact with the breadboard so that may be an additional problem in your case as well.


Don
Nah, that's not the problem. I used a multimeter to check the resistance between the top of the ribbon and another wire, it was fine
Remove all of the wires except those going to pins 1, 2, and 3 and then put pressure on the black frame around the glass.  If you get the expected single row of blocks then you have a poor connection between the display itself and the PC board.  
Yeah, I tried that, I got the single row SOMETIMES when I pressed it, however the squares looked like there was a line moving from bottom to top when I pressed it.
 You will notice several places where tabs from that frame protrude through the PC board and you can try twisting them some more to tighten the connection.  You may have to melt some solder first.


I tried that, but it STILL didn't work! What do you mean by "melt some solder"?
« Last Edit: February 07, 2013, 06:31:24 am by Racerdude24 » Logged

Western New York, USA
Offline Offline
Faraday Member
**
Karma: 25
Posts: 4111
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Quote
I used a multimeter to check the resistance between the top of the ribbon and another wire, it was fine.
Your problem is intermittent.  At some times it may be fine and at other times not so fine.

Quote
What do you mean by "melt some solder"
Some boards may have the tabs secured by a blob of solder.

Quote
The Pic shows that I am using 3.3v, but beforehand I was using 5v
I forgot about this part.  What made you switch to 3.3 Volts?  Most LCD modules require at least 4.5 Volts or so and we now know that this one does as well.  The data sheet also indicates that pin 3 should typically be at about 0.5 Volts.

Don
Logged

Ohio, USA
Offline Offline
Newbie
*
Karma: 0
Posts: 8
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

What made you switch to 3.3 Volts?  Most LCD modules require at least 4.5 Volts or so and we now know that this one does as well.  The data sheet also indicates that pin 3 should typically be at about 0.5 Volts.
I changed it back because of the "data sheet" you sent me. I at first I thought that 5v may be overpowering it, so I changed it. Yet it works with neither.  smiley-sad
Logged

Ohio, USA
Offline Offline
Newbie
*
Karma: 0
Posts: 8
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Okay, I realized something. The LCD doesn't show anything unless I accidentally short a connection on the back. So in that case it might have nothing to do with the frame. (face palm)
Logged

Ohio, USA
Offline Offline
Newbie
*
Karma: 0
Posts: 8
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

I'm not sure if bumping is allowed. I just want help. If bumping is not allowed, please just delete this post and I will buy another lcd  smiley.
Logged

Pages: [1]   Go Up
Jump to: