Julian's Ardutorials: Arduino, Nokia 5110 LCD & u8glib

Поделиться
HTML-код
  • Опубликовано: 14 июл 2024
  • Arduino Tutorial (Ardutorial :) about connecting a Nokia 5110 Monochrome LCD module to an Arduino and using the u8glib to draw characters and graphical elements.
    Arduino Code: hastebin.com/asitunamis.avrasm
    github.com/olikraus/u8glib
    github.com/olikraus/u8glib/wi...
    github.com/olikraus/u8glib/wi...
    www.arduino.cc/en/Hacking/Pin...
  • НаукаНаука

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

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

    This is a great tutorial to make as I wish that more people used the u8glib in their projects. It is so much simplier to modify projects that use this library to use other displays. Thanks for making this video Julian. Keep up the great work.

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

    Brilliant tutorial. Very clear and appreciated the SPI explanation. Your getting even better Julian!
    Keep up the great work

  • @justinrowan594
    @justinrowan594 8 лет назад +18

    I can't begin to tell you how many things I've ordered from China based on your videos. Add a few of these to that list.

    • @JulianIlett
      @JulianIlett  8 лет назад +4

      +Justin Rowan I love OLED displays, but you can't beat the 5110 LCD for readability outdoors

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

      +bmw2go11 I can only find one e-ink display on eBay. it's expensive and there's no mention of the driver chip type. But I do look forward to having a play with them when they're more available.

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

    Julian, you have the ability to make things so easy to understma

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

    Hi Julian
    After waiting for the better part of 6 months, my package from China (Nokia 5510) finally arrived! I vaguely remembered that it was after watching one of your older videos on this display, that I decided to order this part.
    I find it best to pause and play while watching your tutorial as I mimic your actions on my Arduino, but I got frustrated, because while following your 'Arduino Nokia 5110 LCD Tutorial #3', I couldn't find all the libraries I needed (I think my brain got fried or something).
    I then started to tinker around on the web to find another way to display actual letters on my Arduino. Miraculously I stumbled upon this video of yours (already 2 years old) and even got a bonus: I already have the library installed that you are using!!
    With all this searching and researching I realise that you have already been through everything that I got so frustrated with (Thankfully you are many steps ahead of me ;-) ).
    Your videos have definitely evolved to be more professional and more helpful. Putting a link below your video might sound like a simple task, but add all these little things, and you have spent hours doing something simple!
    I cannot stop thanking you for all the time and effort you have put in your projects and sharing them with us on RUclips!

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

    This was very interesting and informative. I have wondered how this type of thing was done on the screens. It would be interesting to see more of these.
    Thanks for the informative video.
    Have a nice weekend.

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

    Wow, Julian, thank you so much for doing this and sharing the new libs.

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

    Thank you very much Julian. You're excellent at explaining things simply and thoroughly. I'm gonna have to buy one of these now.

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

    Julian, you saved another newbie hours of frustration! Thank you so much. Peter

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

    Good afternoon Julian. Great video! Very helpful as I play with Arduinos myself.

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

    Julian you are an absolute g, I watched two other nokia 5110 tutorials and realised, 'what am i doing?', 'these guys are chatting bollocks!'. If I actually want a detailed insight and the specific info I need, Mr Ilett is the man. cheers bud!

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

    best tutorial on NOKIA5110 LCD display, good job sir we follow you.

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

    Excellent video as usual. Like your sense of humour etc. Incidentally its a 'front light' not a 'back light' on these displays, which is why they are good outdoors.

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

    dude you always make great tutorials great job your a lot of help

  • @boberman2me
    @boberman2me 2 года назад +1

    Incredible presentation!

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

    a very awesome tutorial julian !!!! u cleared my confusions. Thumbs Up

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

    Great work. Thank you Julian.

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

    Great video. Very helpful. Thanks Julian.

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

    Great and excellent video tutorial. Thank you very much.

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

    ..to understand. I fully enjoy your videos, yes! +JulianIlett. Cheers from Chile.

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

    great tutorial +JulianIlett ! (as always :-) )

  • @electrodacus
    @electrodacus 8 лет назад +4

    You can edit the large font library to contain just the numbers if that is all you need with large fonts and then there will be almost no impact on program size.
    Hope you do not have in mind a volume product based on this LCD since you can only find refurbished ones and not new and they have all sorts of problem especially with the zebra connector not making good contact.

  • @zuippo1
    @zuippo1 8 лет назад +2

    Hey Julian,
    you are actually using Software SPI. To use HW SPI you have to remove the MOSI and CLOCK pin from the constructor. In your case:
    U8GLIB_PCD8544 u8g(10, 9, 8);
    Otherwise the library assumes your specified ports differ from the ports that are hardware SPI capable. For me it was a speed increase of about factor 2.

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

      +zuippo1 OK, yes, I missed that. As long as 5 Arduino pins are specified (or 4 if reset is not used), a software SPI implementation is used and any five pins can be used. If only 3 (or 2 without reset) pins are specified, hardware SPI is used. The saving in loop time on my setup is only 5ms though. Using hardware SPI - the 290ms number drops to 285ms (40ms execution drops to 35ms execution). Thanks for the correction - my mistake. github.com/olikraus/u8glib/wiki/device#pcd8544-84x48

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

    Fascinating, thanks!

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

    Thanks for the lesson great tutorial,please do the same for graphics...WCH

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

    Nice, thank you to show your know how to us.

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

    Dear Mr. Ilett. Do you have a menu tree programmed for the Nokia 5110 ? Best Regards!

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

    I like the 5110, but the displays seem to be pretty varied in quality (at least from various eBay sellers).
    Many don't list the correct backlight color (white or blue) and about 1 in 5 have been dead. Almost every single one I have received has had issues relating to the display separating from the PCB during shipment and it can be quite fiddly getting it to make a solid zebra strip connection.
    That being said, they really are nice displays. I especially like the two rows of pins as I use the other side for mounting to my project PCB nice and sturdy.

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

      +Peter Brockie i guess its one of those displays thats become a commodity and lives its life far longer than the nokia 5110 spare parts need, and they are made from lots of supplierrs with the downside of messing with the original design, same goes for casio f91w watch knock offs, some are very similar indeed, others are obviously cheaper materials, innnacurate mechanism and light colour changes

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

    Hi Julian, Some time ago I took you advice and had a play with the U8Glib for my OLED display, and I noticed that some of the fonts are indeed available as "Number only versions" in order to overcome the very problem you identified. I'm not sure that all fonts have the number only version, but more than one font did -

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

    excellent stuff. is there an emulator for the arduino/lcd to speed up game development? It would be much more convenient to test everything on the PC instead of deploying to the board after every game change.
    i enjoy the pace of your tutorials. keep 'em coming.

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

    How about stripping the library to only include numbers?
    That might save a chunk if you don't need the graphics etc.

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

    Hi! I like Nokia 5110 displays, they are simple. Good tutorial.
    Quick question - i saw some lines like "void loop (void)" & "void setup (void)" - what difference does it make?

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

    A very wise man once told me to use all the memory that the machine will allow if needed. His reasoning, that is what the memory is there for, and if you don't use it, then why buy it in the first place. Arduino's do not run faster if there is empty memory, it is simply memory wasted if not used. Not sure if he is right, but he sounded like he knew what he was talking about, so I have always programed as if the maximum memory was not to be avoided, but to be used.

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

    I should write u8glib preview java applet so can see more quickly where items you add appear!

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

    I was hoping you would address the issue on using resistors between the Arduino and the board. Some tutorials say only to use 3.3v or a number of resistors between the two.

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

      +Cliff Hartle It didn't even occur to me - I'm so used to running this display directly from 5V. The data sheet for the PCD8544 does specify a logic supply voltage range of 2.7V to 3.3V, but the absolute maximum ratings have Vdd at 7V max - a bit confusing. I've seen eBay listings stating that the display has proved itself to be reliable at 5V - and my experience supports that.

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

      +Cliff Hartle I make a mini board with 3.3 V regulator and 4 resistors of 10 k for adaptation 5V ==> 3.3 V .( rst,d/c, data In, Clock ) chip enable is strap to + 3.3V.
      It's work fine.

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

    Does the library use the hardware SPI peripheral of the 328p and can i connect other SPI devices to the same pins?

  • @DogsBAwesome
    @DogsBAwesome 8 лет назад +2

    can the larger font not be edited to just contain numbers to save space?

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

      thats exatcly what my first thought was. You could try (if its a fixed text) to include only those characters that are used. I think this can be done at pre-compile time. A bit more work I guess.

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

    Hi Julian
    if we use 5x7 font , we get 14x6 characters on the display, is there a way to put a character at a precise location using a library command e.g (putchar(x.y) ???

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

    Your last comment about not being able to change the pin assignments of sck and mosi do not appear to be correct... I was following along with the video and everything was working just fine... then you made the statement about the library using hardware spi... I used different pins from the beginning... my pin assignments go like this:
    #define RST 12
    #define CE 11
    #define DC 10
    #define DIN 9
    #define CLK 8
    U8GLIB_PCD8544 u8g(CLK, DIN, CE, DC, RST);
    and everything appears to be working great, so is it not using hardware spi, or is it smart and auto detecting that I am using different pins and switching to software based on its own?
    Love your videos. Thanks

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

    have you made a review of powerbank you are using at 1:26 ?
    link to it pls
    thanks a lot

  • @BernhardHofmann
    @BernhardHofmann 8 лет назад +2

    May I suggest dropping the small font in favour of putting "Data 1" and "Data 2" on a cardboard/paper frame for the display. Saves pixels, memory, and it's simple. :)

    • @chartle1
      @chartle1 8 лет назад +2

      +Bernhard Hofmann Or do what early arcade video game designers did, use a clear sticker. Early NASA computer displays did something similar.

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

      +Cliff Hartle If the rest of the project pushes me over the 32k limit, I'll consider it. But I'm thinking that the larger font will use more memory than the smaller font, so there may not be much of a saving.

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

      +Cliff Hartle Nice idea, I like that.

  • @dave-in-nj9393
    @dave-in-nj9393 6 лет назад

    can you add how to connect the esp chips? i believe you only have to define pins

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

    BEST! BEST! BEST!

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

    what a coincidence. i just bought a 5110 too.

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

    Wouldn't putting the static items like the boxes and the labels in the setup, increase the loop speed, as they are not being redrawn every cycle?

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

      +Harry Desai Unfortunately that's not possible because the display is completely overwritten each time round the loop.

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

    Does the Arduino IDE / compiler strip out unused portions of the library or does it compile the whole thing? If it compiles the whole lib, would it be worth stripping out the unused sections to free up space if you need it?

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

      +Maxx B I just read something on the Arduino forums that says the compilation process is not bad at stripping out functions that are not referenced. Although more space can be freed up doing it by hand if you are desperate to shave off a few more bytes.

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

    Hi, great demo. I try your code with an oled display 0,96" from Alice.
    I just change one line for take the good lib
    U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_DEV_0|U8G_I2C_OPT_NO_ACK|U8G_I2C_OPT_FAST); // Fast I2C / TWI
    and it's work fine !!
    the display is a little bit more great, and I will try a different font character just for fun.
    Thank for ALL your videos.
    I'm now a gread buyer for Alice and Goto from Ebay :-))

  • @acqurius-gx8lr
    @acqurius-gx8lr 5 лет назад

    what is the screen clear command for Nokia5110

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

    Didn't you figure out that these displays are 3.3V parts instead of 5V in a video quite a while ago?
    Or was that a different display?

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

    I bought Tau from Kickstarter, I have play with it and using your program, it does work great. But 295mS reading had me puzzled, thought Tau is 32 bits and 48MHz should have been faster.

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

    Another video where I say "I want one of those." at least it was only £1.45 on eBay. Should be fun playing with it.

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

    If you were struggling for room, would it be possible to cut excess out of the library to make some room? i can see the arduino is flexible but required these relatively large libraries to do these things, and as it has such limited memory....shame it cant be expanded cheaply or easily, remins me of the 80's when you had a tiny memory and every bit count, so much we didnt comment our code

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

      +jusb1066 It's a bit different now because the source code stays on your PC (where there's loads of memory) and only the compiled code (without comments of course) gets sent to the Arduino chip. But I think there are some fonts in u8glib with numbers only and some with just uppercase letters and numbers that are much smaller. I could have used one of those.

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

      Julian Ilett
      great reply Julian, the more i learn :}

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

    The 5110 lcd is a 3.3vdc device ,you are not using any resistors to drop the voltage is there something we are missing.

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

    seems the ino code is no longer available

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

    Help for display Nokia 1100 and arduino

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

    no puedo bajar el codigo me pone" NO TENGO AUTORIZACION (ERROR 404)"

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

    I know it was for the ease of understanding (at least at first), but it would be better to put the draw commands for the static part of the screen into setup.

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

      +superdau The static display elements also need to be in the loop - the display is completely re-written each time round the loop.

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

    My 101 Cmt
    Extremely Well Explanation

  • @dave-in-nj9393
    @dave-in-nj9393 6 лет назад

    time to re-do with u8g2, many commands changed.

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

    Isn't there any bootloader which decompresses code which was compressed on the PC using UCL?
    www.oberhumer.com/opensource/ucl/

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

      +BloodySword The AVR microcontrollers only run program code from flash memory, not from RAM. And they have much less RAM than flash memory anyway.

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

      That's a pity.

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

    I don't want to come off like a smartass, but have you ever considered using OBS or a similar program to record the screen?

    • @JulianIlett
      @JulianIlett  8 лет назад +9

      +Krisztián Szirtes The problem with screen capture software, is that I can't wave my pencil around and hold up bits of electronic circuits in front of what's on the screen.

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

      +Julian Ilett Even without the delightful pencil waving I think this actually looks better than a screen capture. I feel queasy when I have a screen in front of me and no control of it. This way I have a visual queue that it's *your* screen and I can just sit back, relax and enjoy.

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

      Welp, true that. As I think of it I would probably miss it

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

      +John Romberg But the high compression ratio of the videos (presumably because his Upload rates are so bad, I HATE Europe for this!) it looks very bad and the pixel raster disturbs the view massively. :/ You always can swtich between screen capture to show something or even put it in front of the recorded screen using a green or blue mask.

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

      +BloodySword Or just use the mouse pointer to point to stuff.

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

    So what is that displaying? What do the numbers mean?

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

      +ink fink i think its just a test that he can write random numbers and display some fonts to make a nice readable display, perhaps in future he has an idea to display with it, but its learning how to display it.

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

      +ink fink Just dummy numbers at the moment - all ready for a brand new project ;)

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

      +Julian Ilett That looks way too much like a bomb er no a clock.Wait same thing right? ;)

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

      Cliff Hartle
      only if you take apart your bedside radio alarm clock :P

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

    This is pretty good u8glib tutorial and "ardutorial".. really? ardutorial?

    • @techy4198
      @techy4198 8 лет назад +2

      +ValugaTheLord That isn't a new thing... He's been using that name for this type of video for quite a long time. Don't act so surprised. Either put up with a long-running thing he does, or find tutorials from another source.

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

      +Techy 4198 Did you try not being such an uptight person and have a laugh once in a while? Might help you.

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

      ValugaTheLord Sorry if I misjudged your comment. It appeared to me that you were just being uptight about what Julian chooses to label his videos. My apologies.

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

      Techy 4198
      All is fine that ends fine. unless it ends up with a clown.

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

      ValugaTheLord or a never-ending rage-storm.

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

    It doesn't look good with the text tight against the left margin.

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

    "LCD" or "Liquid Crystal Display" .. but not "LCD Display" .. that would include the use of two displays...

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

    FIRSSTTTTT