Arduino Tutorial: Menu on a Nokia 5110 LCD Display Tutorial

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

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

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

    "if you want to fully understand it you have to make your own menu and see how it works"
    could not agree more awesome job! Also love the quotes at the beginning of the vid's

  • @MPElectronique
    @MPElectronique 8 лет назад +6

    Don't forget to include #include at the beginning of your project :) thanks !

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

    Very helpful. I have been trying to do this exact thing for some time. I have been playing with Arduinos for a couple of years. I have read books and watched 100's of videos. I still don't do coding well. Having a starting point like this sketch is a big help. Thanks Nick for making and sharing your videos. Looking forward to the interrupt video.

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

      Thanks Danny for the comment! I am glad that this video was helpful!

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

    Just getting my parts out now and looking forward to playing.
    Keep up the great tutorials, and a happy new year

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

    Nice work. Nice to see the display driven by a simple Menu. Thanks

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

    Super! I was waiting for such a video a long time! Bravo Nick!

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

    Thank you for all the videos about Arduino applications. By combining all info supplied in your videos I can create my own projects and I do it.

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

    Hey Nick - I bought some of these 5110 displays when I saw your "favourite displays for Arduino" video. I don't know if it's a phase or not, but every single one I bought from dfferent suppliers had the same problem. The display is not soldered to the PCB - there is a flexible connector pad, and the display is pressed against it and the PCB by the metal frame we see in your video. The problem is that this frame is very often not pressing correctly to get a good connection, and even when it is - it is not reliable.
    This makes debugging a nightmare, It took me 2 days to work out there was nothing wrong iwht my electornics or my coding -the problem was this intermittent fault.
    There is a similar display - the HK1230 - with the same size LCD technology, SPI interface and pinout which does not rely on this metal frame pinch - in fact, there IS not metal frame It is a little more expensive, but Im hoping it's a lot less hassle.
    Also - regarding the 5110 and I'm hoping the HK1230 too - you can get 2 pins back by connecting RST to the rpocessor reset and CE to Vcc if you're on a 3.3v processor like the ESP8266.

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

    what a great quote at the beginning.

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

    I'm SO going to steal this for my SSD1303 oled project. Thanks man !

  • @0pensourcegamer
    @0pensourcegamer 4 года назад

    Once again we are reminded how much it's possible to do with such a tiny and abundant microcontroller.

  • @emmamendes7211
    @emmamendes7211 8 лет назад +15

    Give us a project combining your old rotary encoder tutorial with this one __thank you

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

    Oh nice, j'avais deja fait un menu pour ma smart watch, mais cette librairie va vraiment optimiser mon code ! merci :)

  • @sabelomazwi8771
    @sabelomazwi8771 3 года назад

    this is outrageous n helpful thank u my guy

  • @DogRox
    @DogRox 8 лет назад +8

    Nice work!!! And a happy New Year! :-)

    • @Educ8s
      @Educ8s  8 лет назад +5

      Thanks! Happy New Year to you as well! Cheers!

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

    Nice. simple and illustrative video, Seth PiP. nice detail

  • @timuseau
    @timuseau Год назад

    Thank you very much this tutorial will help me a lot for my project.

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

    Excelent work, thanks a lot for sharing , greetings from El Salvador, Central America

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

      +Carlos Zapata Hola Carlos! Muchas gracias. Saludos desde Grecia..

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

    This project is very useful. I always appreciate your videos/tutorials! Thank you so much for sharing with us!

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

    Thanks for this great tutorial! It shows how useful and easy to program the 5110 is. I ordered one right away, projects in mind :)

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

    Very nice tutorials you have on your channel. I subscribed imediately.

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

      Welcome to our community! Cheers!

  • @dqj999
    @dqj999 3 года назад

    Very good video. Well done!

  • @sulaimanfaisal1964
    @sulaimanfaisal1964 5 лет назад

    I really like that project. And i choose different buttons. And it Really Worked. Thank You 🤣

  • @nilsskansar416
    @nilsskansar416 7 лет назад +1

    Thanks for a very nice and clear presentation.
    Very educational.

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

    Got everything to work just like you said in the video....Thanks

    • @PrajwithUllal
      @PrajwithUllal 5 лет назад

      I'm getting an error setsize class member is missing

  • @sohagdas8351
    @sohagdas8351 4 года назад +1

    Hey.. just tried this. It says X addresses outside of 0 to 83 are not allowed when trying to run on a Proteus. How do I fix this?

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

    Beautiful, simple clean and i like that part about interrupt state to conserve energie i will try to modify this for Oled 0,96" screen with buttons, but for now just learning slowly KUDOS

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

    Good instructional video. This can be used in many projects. I always enjoy your videos! Thanks for sharing it!

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

    button does not work on the port (2)
    (0) and (1) are working fine
    Please Help me!
    Connecting an LCD display
    // pin 13 - Serial clock out (SCLK)
    // pin 11 - Serial data out (DIN)
    // pin 5 - Data/Command select (D/C)
    // pin 7 - LCD chip select (CS)
    // pin 6 - LCD reset (RST)
    // pin 12 - LCD Light
    Adafruit_PCD8544 display = Adafruit_PCD8544(13, 11, 5, 7, 6);
    int lcd_light = 12;

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

    hello και καλη χρονία.
    How about making some videos for Nextion touch screens.If you dont know what it is, its a screen that you can really easily make menus on tft touch screens.It has its own pc program to make menus as easy as drag and drop.I would like to see it interact with Arduino using this screen ,buttons,sensors and more .You can make some kind of tempreture controller with it?

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

    Thanks a lot, for explaining the code... I needed this for my project and u happen to help me just on time. great content

  • @jameswild266
    @jameswild266 3 года назад

    Might have missed it but I don't see a 5V -> 3.3V level shifter in this video. If yours isn't working it's possible that this missing component has killed your LCD.

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

    Hi Nick - another great project. There is a correction needed to your commentary as follows: CLK pin (pin 5 on 5110) is connected to Arduino pin 13 as you have done physically but your commentary first says it is connected to Arduino pin 13 but then you change to saying pin 12. This is important to point out for any newbys following your work because the program won't run if CLK pin is connected to Arduino pin 12. Cheers Ian

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

      Hello Ian, at which point do I make this mistake? I can't find it

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

      Yep - you clearly say pin 13 at 2:18 clearly my mistake and my humble apologies. So I then checked your previous 5110 video (Oct 14 2014) and this is where the pin number mixup occurs at 4:28.; I was watching both simultaneously because I can't get the contrast to change up and down as yours? I see that you do not include " #include " in your code and am wondering if this should be and might be the reason for the non-changing contrast or might be some other problem with my set up [[I have my buttons on a separate little board which is grounded to the BB]] and I note one other commenter raised this same "SPI" query - I didn't include this information in my previous comment because I simply don't know as yet?? Once again my humble apologies for my mistake here and I look forward to your reply in due course to (hopefully) clear up these two issues. Cheers

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

      Nick - a point of clarification on my last comment is required - the contrast numbers can be changed up & down according to your program but the actual contrast level does not change accordingly - nothing seems to be wrong with my 5110 as it works perfectly with the graphics programs etc??? Got me totally tossed? cheers.

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

      +Ian Brown After publishing the video, I noticed that you can't set the contrast to the Nokia 5110 displays with the blue pcb. Maybe your version of the display is also affected?

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

      Thanks Nick but I used the red Nokia 5110 because I have both and have had problems previously with the blue version. Any answer for the #include issue please? Cheers

  • @claudioc.964
    @claudioc.964 3 года назад

    Excelent, great work..

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

    Thanks. It's always good to share knowledge

  • @himmetsumer6976
    @himmetsumer6976 5 лет назад +1

    Can i use adafruit library with arduino mega

  • @squalazzo
    @squalazzo 8 лет назад +3

    very useful, thanks!

  • @신태진-w2g
    @신태진-w2g 3 года назад

    Hi
    I connected Nokia 5110 to Arduino UNO exactly as in this video and used the code and library provided by the link but nothing shows on the LCD. Then I tried the software SPI method instead of the hardware SPI and it worked. I didn't change anything except for reassigning the pins in the code. How should I explain this. Have you had similar experience with this issue?

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

    Hello, great video! Please help me, I am trying do a code for a Hidden Menu that can be accessed by holding a button and power on the Arduino. Do you know how can I do it? Thank you!

  • @isharaudayangawimalaweera3642
    @isharaudayangawimalaweera3642 Год назад

    Good Job. Thank you

  • @pranaydhande5294
    @pranaydhande5294 5 лет назад +1

    Why the code is not compiling after installing libralies also

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

    Excellent project Nick, please keep up the good work my friend. Did you de-bounce the switch buttons with a separate de-bounce routine or is this embedded in the display code?

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

    good project, please tutorial hourmeter with arduino

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

    Thank you again for your video yes buttons are better than a rotary encoder and want to use the small color 1.8" TFT screen and buttons to make a temperature controller for my boiler with a clock and menu to set temperature high and low with two relay output and possibly Bluetooth for remote control

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

    Great explain of the menu function. Thank you very much. Keep up the good work

  • @tomeckert3437
    @tomeckert3437 3 года назад

    there is an error: draw.menu is no declared in this scope. how do i get the drawmenu function with a 2x16 LCD

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

    Wonderful Video. Hey can you make a tutorial about Arduino sleep mode? I find it very difficult to understand that code

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

    Great video! Really easy to understand. Thanks!

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

    Can you make a tutorial, how to build line-follower robot which use only two line sensors,please?

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

    Thank you. I'm a beginner and I'm trying a project like yours too. but menu has different options and lights up leds when selected. Could you tell me where you get the documentation (link please) for the function commands for the display? I would like to use that as reference but can't find it anywhere. Thank you

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

    Hi. Can you do it with 0.96 OLED display I2C?( and rotary encoder)
    I really need a complex menu but I'm quite a noob ...

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

    thanks for the project

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

      +orlando molina you are welcome!

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

    Hi Nick, thanks very much for sharing your work, it's quite tedious coding a menu etc. so thanks for providing such a useful example :)

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

    Hi Nick,
    Another great project, Thanks
    Stan

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

    great project. you could use Finite State Machine (FSM) for better management of the Menus.
    it is an Arduino Library .

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

    My requirement is to select options in a led display using aurdino or raspberry pi... Using switch push statement

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

    Oh, there seem to be more Stepahns in Germany...
    I did not do anything with a menu by now, but i allready considered about that. Thanks :-)

  • @beholder2012
    @beholder2012 5 лет назад

    On supplier's page there is a remark: "You will Need: ( NOT Included in this Listing ! ) Set of Two 1K Resistors ( For Safe Operation ) Set of Four 10K Resistors ( For Safe Operation )".
    Where exactly these resistors should be connected?

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

    You seems to have a lot of LCD, color and B&W ones, I have two questions
    There's some LCD bigger(more pixels) than this one like 128x128?
    Second; all the color LCD have a very bad viewing angle, their colors change depending the angle of your eyes.
    There's some color LCD with better quality, maybe IPS instead of bad TFT quality? Something like 128x128 or 128x160 is enough.

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

    What font did you use for the text?

  • @amanmurzabaev1990
    @amanmurzabaev1990 5 лет назад

    Hi Nick!
    It says that 'display' was not declared in this scope line 36

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

    Estaría bueno un tutorial dónde un display manejado con un encoder rotativo, poder definir un encendido de un led de una salida con un pulsador, um ejemplo sería poder tener 3 pulsadores y tres led y con el menu definir que pulsador quiero usar para encender uno de los led, eso se puede cambiar por relay y usarlo para domótica, maquinaria de una fábrica etc, es muy práctico pero para los que no entendemos mucho es un dolor de cabeza

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

    Ohhh... u r so so helpfull bro..... will u help me if I mail u a problem???

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

    3.3 on Vcc and 5.0 on data pins? Is that legal?

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

    Could you run the same program for an Arduino Nano 33 BLE?

  • @mitropoulosilias
    @mitropoulosilias 7 лет назад +1

    for some reason i cant make it work..
    i ve the liraries and i upload the code. the screen show nothing..
    the screen is tested and working with other scetches but not with this one... any ideas?

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

      i included: #include
      on the beggining but nothing again..

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

    i got a question.. i want to make server node with arduino with plugged with realtime clock, esp8266, nrf24, 433MHz module and microsd. which is suitable for my application? arduino uno or mega?

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

    sir can you make a project controll relay ,leds with display contrll

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

    Cool project !!!

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

    excelente vídeo

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

    Thank you verry verry much Nick for this great Project with my favorit Display .. Nice Work as allways !

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

    Very useful tutorial! I have been watching a lot of your videos focusing on the Nokia 5110, but can you make one about using bitmaps? My project requires this and I have been having trouble with it. Anyway, thanks!

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

      Thank you Arthur, have you seen this video? ruclips.net/video/aUZP0nzxc0k/видео.html

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

      No, but thanks a lot! It helped me through my troubles!

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

      after I watched it!

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

    Thanks for the very clear instructions and explanations. Great website as well and one of the best formats that I have seen. Very clean and good navigation.

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

    crazy tutorial crazy menu

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

    Thanks for the video.
    Maybe you build a System sensors will be used with nRF24L01
    Thanks

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

    Can you create main menu with lcd 20x4 ?

  • @nhloniphogodson6847
    @nhloniphogodson6847 3 года назад

    i have done everything as you intructed but my nokia 5110 lcd does not display anything can i get some help.

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

    This looks really great! Have you done it with a NodeMCU ESP8266?

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

      No, not yet, but the code would almost the same if you are using the Arduino IDE to program the board.

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

      I realised I have the SperkFun Nokia 5110 screen which has a different pinout :| I couldn't get it to work - thanks for the reply though! Please keep up the great work!

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

    I had a big issue while connecting the system to my pc... Nothing or just bugged out stuff happened until I connectid it to 3 batteries...

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

    how to change the code in your menu in 16x2 i2c ??

  • @GuillermoRamirez-wh8dy
    @GuillermoRamirez-wh8dy 5 лет назад

    great vid. I am having trouble writing a sketch that uses a 5110 display and two switches. the purpose is to have the display show some text while on switch1 is on. and another when switch2 is on.I can do either. but I need help to write a sketch that will do both. I am not savy with code because I never studied it in school.any help would be appreciated. if I should contact you some other way please let me know.Thank you.

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

    I want to make a gameboy with this screen can you help

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

    Yes please , give us an FM radio receiver with TEA5767 and a choice of screens if possible.

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

      +Giorgos Stolis yes that's coming but first we have to learn how to use interrupts wit Arduino .

  • @tundra4wd
    @tundra4wd 7 лет назад +1

    Thank you so much

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

    Hi Nick can i use the nokia 3310 and how

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

    Thank you!

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

    will be that I can change the screen by a 16x2

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

    very very beatiful... tnx.

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

    Good sir i need your same please post 16x2 LCD display more helpful

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

      We will try

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

      @@Educ8s thank you sir

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

    Cool video! Like for you!

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

    why dont use lib lcd5110_graph.h?

  • @matheusfelipe-tp4ey
    @matheusfelipe-tp4ey 7 лет назад

    Hi, I tried to use another similar screen and my code does not run, it gives an error "'display' was not declared in this scope", anyone can help me ? others programs are running normally =/

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

    Could I set the ''page = 3'' on the screen ?
    I tried it before but it didnt work :(
    need some suggest please , thanks.
    This is my part of project downbelow .
    Same as this Tutorial's project but a little bit different.
    ---------------------------------------------------------------------------------------------------------
    int timeitem = 1;
    int menuitem = 1;
    int page = 1;
    int setcursorMainMenu = 0;
    int setcursorBlackLine = 10;
    int setcursorA = 15;
    int setcursorB = 25;
    int setcursorC = 35;
    int setcursorD = 45;
    void loop() {
    drawMenu();
    if (middle) { // if I press middle button
    else if (page == 1 && menuitem == 4)
    {
    page=3;
    timeitem = 1;
    }
    else if (page == 3)
    {
    page=1;
    menuitem = 4;
    }
    }
    }
    void drawMenu()
    {
    if (page==1)
    {
    display.setTextSize(1);
    display.clearDisplay();
    display.setTextColor(BLACK, WHITE);
    display.setCursor(15, setcursorMainMenu);
    display.print("MAIN MENU");
    display.drawFastHLine(0,setcursorBlackLine,83,BLACK);
    display.setCursor(0, 15);
    if (menuitem==1)
    {
    display.setTextColor(WHITE, BLACK);
    }
    else
    {
    display.setTextColor(BLACK, WHITE);
    }
    {
    display.setCursor(0, setcursorA);
    display.print(">Contrast");
    }
    if (menuitem==2)
    {
    display.setTextColor(WHITE, BLACK);
    }
    else
    {
    display.setTextColor(BLACK, WHITE);
    }
    {
    display.setCursor(0, setcursorB);
    display.print(">Light: ");
    }
    if (backlight)
    {
    display.print("ON");
    }
    else
    {
    display.print("OFF");
    }
    if (menuitem==3)
    {
    display.setTextColor(WHITE, BLACK);
    }
    else
    {
    display.setTextColor(BLACK, WHITE);
    }
    {
    display.setCursor(0, setcursorC);
    display.print(">Reset");
    }
    if (menuitem==4)
    {
    display.setTextColor(WHITE, BLACK);
    }
    else
    {
    display.setTextColor(BLACK, WHITE);
    }
    {
    display.setCursor(0, setcursorD);
    display.print(">Time");
    }
    else if (page==3)
    {
    display.setTextSize(1);
    display.clearDisplay();
    display.setTextColor(BLACK, WHITE);
    display.setCursor(15, setcursorMainMenu);
    display.print("TIME");
    display.drawFastHLine(0,setcursorBlackLine,83,BLACK);
    display.setCursor(0, 15);
    if (timeitem==1)
    {
    display.setTextColor(WHITE, BLACK);
    }
    else
    {
    display.setTextColor(BLACK, WHITE);
    }
    {
    display.setCursor(0, setcursorA);
    display.print(">Time show");
    }
    if (timeitem==2)
    {
    display.setTextColor(WHITE, BLACK);
    }
    else
    {
    display.setTextColor(BLACK, WHITE);
    }
    {
    display.setCursor(0, setcursorB);
    display.print(">Time set ");
    }
    }

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

      i want 6 items like in the rotary coder code but i cant do it

  • @sidneij.becker2098
    @sidneij.becker2098 8 лет назад

    ótimo vídeo show ...

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

    my problem is: when reset item is selected it goes to contrast adjust page, when contrast item is selected goes to backlight adjust on/off and when backlight is selected, it resets..
    can anyone help?

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

    I've got a problem. It doesn't appear anything on screen but display lights.

  • @fa9649
    @fa9649 5 лет назад

    anybody can help i do all the tutorial and the contrast is not work

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

    thank you!

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

    Nice project! Easy on the coffee next time. lol

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

    I have a problem.
    THE RESET part flashes and scrolls all the time
    please help me.

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

      Look for "display.display();" below "display.print("OFF");
      }" Line
      Using this display() function two times is causing that flickering.