How to use a Nokia 5110 LCD display with an Arduino - Tutorial

Поделиться
HTML-код
  • Опубликовано: 20 дек 2024

Комментарии • 46

  • @JerryEricsson
    @JerryEricsson 9 лет назад +7

    Hi, thanks I built a small device based on this, used an Arduino NANO, this display, and a single 18650 battery in a carrier, but it all in a project box and put a small switch on the side. Works pretty good, I use it for arguments with the wife when I say it's too cold and she that it's too hot. Built one for her as well so we can have arduino fights, hers is based on an Uno and a 12 volt battery pack of 18650's with a small 2 line monochrome screen. Hers has the more accurate temp/humidity sensor, so she can see that I am always right (YEP Sure after 46 years, I still have not learned!)

    • @BrainybitsCanada
      @BrainybitsCanada  9 лет назад +1

      +Jerry Ericsson Hahaha! That's a great story and cool use of electronics to solve an age old battle! Always fun to see what others are building and glad to see that our tutorial video helped you achieve your goal of winning an argument! Great stuff! Thanks again for sharing and watching!

    • @saxfraga
      @saxfraga 8 лет назад

      Nice!

  • @scottthomas7236
    @scottthomas7236 9 лет назад +4

    I played with the LCD Assistant quite a bit before I could get it to work. You have to make the Pixel size of your bitmap Width = 50 & Height = 49 before you load into LCD Assistant. I did the following:
    1) Use a program to adjust the image size to a size of; Width = 50 x Height = 49. (I Use VuePrint)
    2) Save that file and open it up in Microsoft Paint. Save As a Monochrome Bitmap
    3) Load the Bitmap into LCD Assistant and check the radial button to "Horizontal". Verify pixel size as 50 x 49
    4) Then "Save Output" and open the output file in notepad then copy paste to the sketch
    You could save a step by just starting in Paint adjusting the pixel size down to 50 x 49 by dragging the window at the corner. Then hand draw a picture then saving as Monochrome Bitmap. Then load into LCD Assistant... :)

    • @BrainybitsCanada
      @BrainybitsCanada  9 лет назад

      +Scott Thomas Thanks for the comment and suggestion! Also of course, thanks for watching!

    • @rajasgaikwad3825
      @rajasgaikwad3825 2 года назад

      Thanks a lot buddy! It works like a charm now.

  • @josephking1248
    @josephking1248 8 лет назад +1

    is it compatible with orange pi?

  • @rafaelbaiolim2560
    @rafaelbaiolim2560 8 лет назад +1

    Hey, thank you so much, you really helped me , but i want know, could i load around 707 bmp to use into an animation in a ATmega328 ? Or, will not work cause ll need a lot of memory ?

  • @jesuishalil
    @jesuishalil 9 лет назад +1

    Quite a few video artifacts and stuttering around 9:44, tutorial is clear though. Nice work!

    • @BrainybitsCanada
      @BrainybitsCanada  9 лет назад

      ***** I've noticed that also, will need to use another screencap program next time :) Thanks for watching!

  • @Eddssson
    @Eddssson 7 лет назад

    what DHT library are you using?

  • @Organ18
    @Organ18 7 лет назад

    Good day I have such a question, I build weather stations want to do it on the display of nokia 5110. The film shows the temperature, humidity and graphics how to do to instead of graphics was the animation of rain, sun, snow ?? How to make a splash screen as an animation?

  • @powerpack3181
    @powerpack3181 9 лет назад

    I didnt know it was so easy to get to work.
    Can you load any image into the lcd assistant and use it to resize the no. of pixels in the image, or does the image need to be saved the right no. of pixels before you load it into the assistant.

    • @BrainybitsCanada
      @BrainybitsCanada  9 лет назад

      +power pack I believe it needs to be the right size before you load it in the assistant! Thanks for watching!

  • @Elfnetdesigns
    @Elfnetdesigns 9 лет назад

    You should use a level shifter when driving these LCDs with the UNO or you risk burning out the IC on the LCD board.

    • @BrainybitsCanada
      @BrainybitsCanada  9 лет назад +1

      ElfNet Gaming You are correct that it's recommended since these use 3v logic. But like I say in the video I've used these for a while with 5v and never had an issue. But if you don't want to take the chance, then yes by all means use a level shifter to make sure. Thanks for the comment!

    • @Elfnetdesigns
      @Elfnetdesigns 9 лет назад

      Brainy-Bits Well considering there is plenty of NOS of these displays for literally dirt cheap, I personally think using a level shifter is overkill in the essence of cost and that this whole platform is a development / experimental thing. Now if you were going into a production scenario with this then YES by all means use a level shifter, But a good engineer would have the logic level at 3 volts and not 5 volts anyways..
      But hey we are all still learning new stuff daily

  • @zeyadghulam
    @zeyadghulam 7 лет назад

    Hello there,
    I am getting this error when I use the dht library from your website
    WARNING: library DHTlib claims to run on [atmelavr] architecture(s) and may be incompatible with your current board which runs on [avr] architecture(s).
    On the screen, I get the values for temperature and humidity to be 0. They never change. I want your help please
    thanks in advance.

  • @georgesherpa
    @georgesherpa 8 лет назад

    hey,what if i dont like the blink of the whole lcd when it does the refresh(in this code every 5s)

  • @penchua
    @penchua 9 лет назад

    in the drawBitmapP function, i understand the first and second parameter is X and Y axis, what are the next two parameters ?
    i mean drawBitmapP(X axis, Y axis, ? , height ? )

    • @BrainybitsCanada
      @BrainybitsCanada  9 лет назад

      +Salseng Mrong Yeah that one is kinda weird, the arguments are: (X axis, Y axis, cnt, height). The definition of 'cnt' from the u8glib library wiki is: "the number of bytes of the bitmap in the horizontal direction". Basically it's the width divided by 8. So the width is equal to 'cnt'*8. For example if you want to put a 64x64 bitmap at 10,10 you would write: drawBitmapP(10, 10, 8, 64). Hope that helps and thanks for watching!

    • @dimitriskarampistis7605
      @dimitriskarampistis7605 8 лет назад

      Although I am using a 16x16 bitmap and use this piece of code u8g.drawBitmapP( 0, 20, 2, 16, txt_ico);
      Since 16*8/64 = 2 it should work but it displays something really weird! Any idea?

  • @N2AIE
    @N2AIE 9 лет назад +1

    Worked perfectly..Not to figure out LCD Assistant..Thanks
    N2AIE

    • @BrainybitsCanada
      @BrainybitsCanada  9 лет назад

      +Vince Loschiavo Glad it helped and thanks for watching!

  • @edwardmallon4646
    @edwardmallon4646 6 лет назад +1

    Just to let people know it is possible to use the Nokia 5110 screens without a library using shift-out​.
    thecavepearlproject.org/2018/05/18/adding-the-nokia-5110-lcd-to-your-arduino-data-logger/
    That saved me from messing with the hardware SPI bus which we were already using for the SD cards. A secondary benefit is that the code is really lean, on the order of about 250 bytes for the default font after the compile if you already have EEprom.h in the build anyway. The font, however takes up about 500 bytes, and I wanted the smallest possible footprint so that we could add live data output to loggers that are already compile near the memory limits. As it turns out, stuffing those fonts (and some calibration data) into the internal EEprom was pretty easy to do:
    thecavepearlproject.org/2018/08/24/tutorial-using-the-arduinos-internal-eeprom-for-fonts-header-data/

  • @RussellCruz1
    @RussellCruz1 8 лет назад +1

    Just got this project running on my Arduino Uno. Runs great!!!!

    • @BrainybitsCanada
      @BrainybitsCanada  8 лет назад

      Always great to hear that the videos are helping others! Thanks for your comment and for watching of course :)

  • @garmands
    @garmands 7 лет назад

    What is dhtApin????

  • @debaduttadash2349
    @debaduttadash2349 6 лет назад

    U8g was not declared in a scope

  • @Elfnetdesigns
    @Elfnetdesigns 9 лет назад

    Ok I have your code up and running but I need it in Fahrenheit... I am not that great in programming, I am a hardware person.
    What I am doing is building a 900 MHz wireless weather station on a pair of Freakduinos..
    I got them to talk to each other and fetch temp, humidity, wind speed and pressure but my temps are in Celsius..

    • @BrainybitsCanada
      @BrainybitsCanada  9 лет назад

      ElfNet Gaming You can add a variable to hold the conversion to Fahrenheit like this :
      float tempF = (1.8 * DHT.temperature) + 32;
      then use that variable in the u8g display portion :
      u8g.print(tempF, 0); // display the temp in Fahrenheit
      Let me know if that works for you. Thanks!

    • @Elfnetdesigns
      @Elfnetdesigns 9 лет назад

      Brainy-Bits I fixed the code line:
      u8g.print(DHT.temperature * 1.8 + 32, 0);
      That eliminates the whole float and such and does a direct conversion and it works.
      Thanks for the help, though. I would have probably never figured it out.

    • @BrainybitsCanada
      @BrainybitsCanada  9 лет назад

      ElfNet Gaming Thanks for posting your solution! Might help others wanting to do the conversion. Thanks for the comments!

    • @Elfnetdesigns
      @Elfnetdesigns 9 лет назад

      no problem

  • @colepeterson5392
    @colepeterson5392 8 лет назад

    Just received this lcd from Adafruit and it came with tons of scratches on the screen! :( :(

    • @BrainybitsCanada
      @BrainybitsCanada  8 лет назад

      Sorry to hear about that, we sell those Nokia lcd in our store, and they have a protective film on the screen to prevent scratches: brainy-bits.com/shop/lcd_display/nokia-lcd-module/

  • @sparkden
    @sparkden 9 лет назад

    it does not read temperature! does display graphic...

    • @BrainybitsCanada
      @BrainybitsCanada  9 лет назад

      +Bara Pellumb Does it display zeros or nothing at all for the temp and humidity values? Check connections to the DTH11, maybe change jumper wire if using any, also try using different pin on your UNO that connects to the DHT11, if you do, just update the code to reflect the new pin used. Hope this helps! Thanks for watching!

  • @jsmythib
    @jsmythib 2 года назад

    Compounding degradation of the components sinking the extra current occurs during over voltages of engineered systems. Just sharing. Still right with ya trying tho! :)

    • @jsmythib
      @jsmythib 2 года назад

      I would just like to add that you couldnt have done anything better with this video. It is exactly what I wanted you covered the hardware, and software perfectly. You saved me ALOT of time, thankyou! :)

    • @jsmythib
      @jsmythib 2 года назад

      Hi me. I was thinking a 220ohm resistor in series from the 5v to 3.3v inputs would at least limit total current to about 20 milliamps loaded. Where is my resistor box...hmmmm

  • @batticha462
    @batticha462 6 лет назад

    "Download the DHT library here: github.com/RobTillaart/Arduino/tree/master/libraries/DHTlib"
    There is no such library for downloading ?!

  • @ce6ugt
    @ce6ugt 9 лет назад

    good

  • @MrBobWareham
    @MrBobWareham 4 года назад

    No Level Shifter then not good