JeremyBlum.com

v3.0

Tutorial 13 for Arduino: Liquid Crystal Displays

| 23 Comments

I had initially planned to do an LCD tutorial a little further down the line, but there was very high demand for it, and I already had a circuit assembled for testing the new LCD that element14 sent me to evaluate. So, this seemed like an appropriate time to roll it out!

In this episode, I explain how communication works with most modern LCD character displays, I show the schematics and circuit required to talk to an LCD, and then I demonstrate it working using two demo programs. The first program will create an animated progress bar using custom characters, and the second will leverage I2C and button debouncing knowledge from tutorial 7 and tutorial 2 respectively to create a real time temperature readout in both Celsius and Fahrenheit. Download the source code, schematics, datasheets, and parts list below!

 

You can download the files associated with this episode here:

GNU GPL License Distributed under the GNU General Public (Open-Source) License.
Please Attribute and Share-Alike.

23 Comments

  1. Hi Jeremy, would you be able to help me with a problem im having? I will explain so you can decide. Im working with a common anode led dot matrix display and two 74HC595N shift registers. Im confident that I have wired everything correctly to my specific dot matrix display but when i upload the code to produce a heart(its from the book beginning arduino) all that happens is all the leds are light, albiet some are brighter than others. I have a schematic of my work and i am happy to attach the code..Please help me because im out of ideas on how to resolve the issue! If not, no worries, I know you’re busy!

  2. Ok I will do :)

  3. Hello, I haven’t been here for a quite while, and there are 3 new Arduino tutorials. Wonderful ! Thank You !

  4. Awesome!! I’ve never been to your site before. I’ve been playing with the idea of making a specific type of timer using Arduino and an LCD display. A friend of mine pointed me to this page. Your site is definitely getting bookmarked and visited often!! Good job!

  5. I tired to import Arduino in Processing. I followed the procedure that is outlined in “http://www.arduino.cc/playground/Interfacing/Processing”. When I tried to run the example in the above website, I got this error: “cc” does not exist. Can you help me with this?

    • you can’t run an arduino program in processing. What are you trying to do?

      • Thanks, I figured it out. I was trying to design a game. Now, I am trying to make it wireless. I followed your tutorial 9 on wireless. I was successful to program the Xbees. I tried to load a simple sketch to tes the wireless, I could not do it. The Serial Port in Tool Menu of Arduino IDE is grayed-out(not activated) I checked the Ports on Device Manage of Control Panel (Window XP), my Arduino Uno is mapped to COM4, but Arduino IDE does not recognize it. Have had a similar experience?

  6. Hi Jeremy,
    You are the best explainer for all that can be done with PIC Chips. Question, can an Arduino display to a 7 inch LCD Display like (http://www.ebay.com/itm/7-inch-LCD-Touch-Screen-panel-/280604977083?pt=BI_Electrical_Equipment_Tools&hash=item41555c27bb) ?

    Thanks for your time and effort.

  7. Hi,
    first i have to say, your tutorials are awesome! I’ve learned quite a lot here.
    Question: Do you know a good tutorial about graphic lcds? I want to use one
    in my projekt, but i have no clue how to program it^^

  8. Jeremy,

    I’m building a very big project at the moment and I need a lot of my arduino’s pins. Does it matter if I connect the display to normal I/O pins?! Or are there pins on the display that need PWM (I’m not sure if the LiquidCrystal library/LCD display needs them or not)?!

    Also thank you for your amazing tutorials! You are the reason I bought an Arduino in the first place!

  9. Hello Jeremy,

    I’ve tried printing to LCDs and one thing I noticed was that when you start counting from say 1 up to 20 and count down again, the second digit remains and will not clear. Is there any way to make this count down from 20, 19, …, 9, 8…1 instead of 20, 19, 18…10, 90, 80…10?

    Best regards!

  10. hello jeremy…i am in the last year student with the final year project…i am using arduino to build a 30 minutes timer but get confuse to it..do you have any previous post that tell about making timer using the arduino?

  11. Hi Jeremy,

    i’m making a project right using a Arduino Uno now and i must measure the temperature to but i must display the temperature on a Serial LCD. Can you give me some advices?
    Actually i must create a Breathalyzer and because the temperature is one of factors i must displying it to. I need some help.

    Tank you very mouch

  12. Hi Jeremy,
    Your tutorials really help those of us that do not understand electronics, but still want to get something done with the Arduino.
    I have some 4 digit 7 segment LED B08M04 displays that I would like to use with Arduino to show values with 2 fixed decimals. Can you please explain how to do this. Pins 1,3,4,5,6,8 are used with Pin 9 connected to pin 6.

    Cheers,

  13. Hi Jeremy,

    i really love to learn more from you,,and this days i planning to make a tester for vga cable which is connected to the lcd, if one of the wire is not present or damage and interchange the lcd will give information which wire and pin number is abnormal, the problem for the vga i need to check is has a 15 wire connected against the pin which is tottaly different with the vga cable you can buy from the local market. i really apreciated it alot for your help, i want to interface this project to my arduino duemilonove.

    thank you so much

  14. Hi Jeremy,

    Just wanted to say thanks for your tutorials. There great !!!

Leave a Reply

Required fields are marked *.

*