LCD2004 20×4 LCD Character Display with HD44780 Tutorial (All Switches and LEDs, No Microcontroller)

Sdílet
Vložit
  • čas přidán 26. 06. 2024
  • This tutorial covers interfacing with an LCD2004 20x4 LCD Character Display module with an HD44780 controller using only switches and simple components on a breadboard.
    0:00 Introduction
    0:21 LCD2004 available options
    1:21 Power, contrast and back light
    2:29 Control lines
    6:02 Initialization
    7:41 Writing to the screen
    8:58 Enable line debouncing
    10:51 Cursor positioning, interlaced memory layout
    17:27 Reading data
    20:04 CGRAM custom characters
    21:05 Shifting the display left/right
    22:11 Ending: Space Invaders playfield
    HD44780 Datasheet: www.sparkfun.com/datasheets/L...
    This video was inspired by the work of many other amazing creators on CZcams including:
    - Ben Eater / beneater
    - James Sharman / weirdboyjim
    - Julian Ilett / julius256
    #ElectronicsCreators

Komentáře • 49

  • @allenhuffman
    @allenhuffman Před rokem +8

    This is one of my all time favorite tutorials. Thank you for doing this. I was searching on how to READ data back from the LCD and found this video. By doing it manually, it made it crystal clear what I needed to do via a PCF8574 I2C interface chip. Very impressive work.

  • @Gameplayer55055
    @Gameplayer55055 Před rokem +3

    Too underrated video. Very useful to avoid Arduino shitlibraries

  • @DavidTLutz
    @DavidTLutz Před 4 měsíci +1

    Another great video. Wish I had found this before the CPU project. It clarifies so much that was intially obscure to me in the CPU series. Thanks!

  • @ronhill9800
    @ronhill9800 Před 2 lety +5

    The most comprehensive and easy to follow-along CZcamss ever made....Sir u have my respect...

    • @H4sh1r
      @H4sh1r Před 2 lety

      CZcams Videos*

    • @H4sh1r
      @H4sh1r Před 2 lety

      Wtf is "a" youtube tho

    • @H4sh1r
      @H4sh1r Před 2 lety

      WAIT A MINUTE, IVE BEEN HERE BEFORE?!?!?

    • @RizzMonster69
      @RizzMonster69 Před měsícem +1

      @@H4sh1rAlzheimercore

    • @H4sh1r
      @H4sh1r Před měsícem

      @@RizzMonster69 i would like to apologize as i havw no idea when i said any of that so yes very alzheimercore 💀

  • @TimoteoLXX111
    @TimoteoLXX111 Před rokem

    Thank you Ian for posting this and other videos. I have followed this tutorial and finished it on breadboard. Now I am working on making the 20x2 lcd display project in a project box.

  • @user-go9ed4kc3k
    @user-go9ed4kc3k Před rokem +1

    Thank you for your surprise, it was a great help

  • @desaoaraujo
    @desaoaraujo Před 2 lety

    Excellent video!

  • @steventaylor6294
    @steventaylor6294 Před 6 měsíci +1

    Awesome tute, thank you. I learned a lot and it was very helpful.

  • @halradhi
    @halradhi Před 2 lety

    Awesome work! Liked and subbed 👍

  • @immanuelthomas3959
    @immanuelthomas3959 Před 2 lety

    Thanks for the video . Really Helpful. Liked and Subbed

  • @jstro-hobbytech
    @jstro-hobbytech Před 2 lety +3

    This is incredible. Of all the mini screens I have I do not have a 2004. I just ordered one. I have everything else.

  • @noca7529
    @noca7529 Před 10 měsíci

    Excelente, 1000 gracias!

  • @vanhetgoor
    @vanhetgoor Před 2 lety +1

    I myself are the happy owner of an LCD with only a humble two lines of sixteen characters. For more then a year now I an looking at it, and nothing happens while and because I don't do anything, but this is a great inspiration. You ought to become a motivational speaker, not the one that is hanging on the wall but the well paid one, the one that goes without the wires.

    • @IanWard1
      @IanWard1  Před 2 lety +1

      sounds like a good next career idea

    • @H4sh1r
      @H4sh1r Před 2 lety

      @@IanWard1 epic

  • @ruhnet
    @ruhnet Před rokem

    Fantastic

  • @user-ud6dw3pu1h
    @user-ud6dw3pu1h Před 11 měsíci

    Fabuleuse and interesting cours

  • @crackednotme6361
    @crackednotme6361 Před 2 lety

    Omg crack at this gameee

  • @RizzMonster69
    @RizzMonster69 Před 2 lety

    Liked and subbed :D

  • @kiiikoooPT
    @kiiikoooPT Před rokem

    finally... I bought 5 az delivery hd44780 lcd 16x2 and they dont come with microcontroller, but since they have the pin connections I was looking for a tutorial to see how they work and how to make then function without the controller
    I have an arduino uno and an elego that is a copy of the arduino uno, so I wanted to know if it was possible to make it work without the controller, and seing this tutorial makes me believe I can...
    yes I know this is a different screen, but I have to try it even if I burn one of the screens I dont care cause they were cheap and I can always buy more, but I got to learn somehow so I will try to make it display stuff and look for the datasheet to see all the functions they have and try to make it work without the controllers :)
    Every other video talking about this cheap lcds all talk about the I2C controller, but I dont have any, and meanwhile, while Im waiting for it to arrive I have to try and make it work and learn how they work mechanically before going into easy made code cause if I learn it the manual way, it will be easier when I get to the programable way ;)
    Thank you a lot for this video I wish more people would explain stuff like this instead of just showing other products and copy paste code from others to make it work the easy way...
    I also know that if you are just looking for a fast way to make things work for diy projects, the other videos are great, but I like to know how things work before making any kind of project so when I get stuck, if I go the easy way, I can debug it better knowing how it works.
    Once again, thank you very much for sharing this...

  • @KankanamgeMallika
    @KankanamgeMallika Před 9 měsíci

    Nice way to use my 16×2 lec module i bought because it looked interesting but sits on my desk collecting dust ever since

  • @Bianchi77
    @Bianchi77 Před 6 měsíci

    Nice info, I have for lines activated but can not go to line 4 ? any ideas ?
    Init Code lcd_send_cmd (0x28); // Function set --> DL=0 (4 bit mode), N = 1 (2 line display) F = 0 (5x8 characters)

  • @jstro-hobbytech
    @jstro-hobbytech Před 2 lety +1

    How did you mount the dip switch like that? My screen arrived already. I'm going to go at it alone and use this great video as a reference

    • @IanWard1
      @IanWard1  Před 2 lety +1

      That's awesome. Let me know how it goes! I'm using an IC socket for the DIP switches because the pins aren't long enough to go into the breadboard otherwise

    • @jstro-hobbytech
      @jstro-hobbytech Před 2 lety

      @@IanWard1 my ic sockets are like the many red switches I have and they don't stick in either. I may finagle a better way to use it by hotglueing it to female headers that resemble your dip sockets. I'm going to do it tomorrow

    • @jstro-hobbytech
      @jstro-hobbytech Před 2 lety

      @@IanWard1 hey man. I figured since we spoke before I'd bounce this idea off you. I think we spoke about an in box vic20 (unfaded) with the original manual and a floppy drive. I run a personal charity where I anonymously donate electronic engineering related arduino kits to people who can't afford it or who want to learn and I include a nice dmm and an arduino kit based on the 100cad elegoo most complete arduino kit. I used to advertise the kits but I've decided to just go all out for a school or a makerspace where elderly and disabled people attend and they can take the stuff home or have it to use at the space or school. I plan on having 15 kits which I already pretty much have, a new 2 channel dso with a function gen and a new 3d printer(with 20 rolls of pla I already have) along with a bunch of supplies like wire and stepper motors, big servos and bldc ones for building robotics or anything really even a large number of ics for logic, voltage, opamps. No soldering irons though. I don't want someone to burn themselves because of me haha. I'm doing this as a one time thing as part of my therapy for ptsd from being a first responder for my whole working career despite having a software engineering degree I never used haha. Sorry for rambling, there's a reason because I want to come off as sincere and I can prove who I am and all this.
      Anyway, I'm looking to sell the 8 bit computer to help fund this endeavor. I'm not looking to get a fortune for it and the problem is I don't know where to sell it. I checked ebay and all that and I only want barely half the going rate for what it's worth. Like 150cad plus shipping. That will get me 8 more digital multimeters. Sorry if I seem weird but you seem like someone who would be able to know someone or something. If not that's cool. I haven't even tested it yet but I'm sure it works. It is as if it were bought and used for a few weeks and put back in the box haha. There's a joystick and some generic game carts. I'm going to test it on an analog TV I have in our basement lol. Anyway. I appreciate you reading this diatribe. I'm sending out feelers to everyone I know of. Haha anyone in Canada or north America preferably. I can prove who I am and all that to anyone who is interested by letting police dispatch know someone might call asking if I'm a real person and where I live haha. Peace man

  • @markgreco1962
    @markgreco1962 Před 2 lety +1

    Is there any way you could upload hi-res photos of all your breadboards
    I’m going to build them all. I have binge watched everything you have uploaded to CZcams.

    • @IanWard1
      @IanWard1  Před 2 lety

      There are some images on excess.org/cpu/ do they work for you?

    • @markgreco1962
      @markgreco1962 Před 2 lety

      @@IanWard1 thanks

  • @mr_ways
    @mr_ways Před 5 měsíci

    Great demonstration, what are the value of resistors?

    • @IanWard1
      @IanWard1  Před 5 měsíci +1

      Trying to read them from this screenshot excess.org/lcd2004-tutorial/ it looks like I used 10k for the debounce, pull-up and pull-downs; 390 for the blue LED and 220 for the other LEDs

    • @IanWard1
      @IanWard1  Před 5 měsíci

      Trying to read them from a screenshot it looks like I used 10k for the debounce, pull-up and pull-downs; 390 for the blue LED and 220 for the other LEDs

  • @trysxit2236
    @trysxit2236 Před rokem

    hello friend, nice project and good explanation. I'm started in embedded system, I already have some sub-routine work for controller lcd 40x02, with atmega 328p with ST7066 driver. but I have a problem with the "function set" I can't choice the fonte size 5*11, only can work with 5x8 dots font size. can you help me please try understund with can´t put the function set work correctly?
    thanks for your time

    • @IanWard1
      @IanWard1  Před rokem +1

      IIUC the HD44780 controller is capable of using 5x11 fonts but your LCD 40x02 only supports 5x8 fonts, so setting this option won't work.

  • @wasijadoon9791
    @wasijadoon9791 Před 2 lety

    How many volts power supply are you using;

    • @IanWard1
      @IanWard1  Před 2 lety

      I'm using a bench power supply set to 5v in this video but it also works with the 5v power lines from a regular cheap USB charger.

  • @ceosealemon
    @ceosealemon Před rokem

    Is it possible to display hundreds of English words sequentially?