LCD Basics for the Pi Pico

แชร์
ฝัง
  • เผยแพร่เมื่อ 26 ก.ย. 2024

ความคิดเห็น • 122

  • @saiskanda
    @saiskanda 3 ปีที่แล้ว +40

    Was about to type "You finally remembered your password" only to see I missed you video from a few weeks back 🤪

  • @CaptnScott
    @CaptnScott 3 ปีที่แล้ว +16

    That was probably the best how to I've seen on TH-cam since TH-cam came out. Straight to the point with all the information needed without talking 5 minutes to talk about nonsense before we get to what we clicked on viewing. Subscribed with all videos going in the notifications. Thanks for the video.

  • @gunnorkarlrafnsson341
    @gunnorkarlrafnsson341 6 หลายเดือนก่อน +2

    If you're doing everything the tutorial says and run the code and you get no error but still nothing is showing. Then try turning the blue box on the back a little to the right to fix the contrast. That did it for me. :)

    • @PhilipSmolen
      @PhilipSmolen 6 วันที่ผ่านมา +1

      Thank you!! I got the backlight to go on and off, but I couldn't see anything else. I didn't know what else to do until I saw this post.

  • @Brandi.Nicole
    @Brandi.Nicole 3 ปีที่แล้ว +6

    That’s fun. I’m going to teach this in the summer.

  • @JoeFrixon
    @JoeFrixon 3 ปีที่แล้ว

    Thank you for teaching this guide. It worked for me and below is the code I modified to display the temperature
    import utime
    import machine
    import math
    from machine import ADC
    from machine import I2C
    from lcd_api import LcdApi
    from pico_i2c_lcd import I2cLcd
    I2C_ADDR = 0x27
    I2C_NUM_ROWS = 4
    I2C_NUM_COLS = 20
    i2c = I2C(0, sda=machine.Pin(0), scl=machine.Pin(1), freq=400000)
    lcd = I2cLcd(i2c, I2C_ADDR, I2C_NUM_ROWS, I2C_NUM_COLS)
    tempsensor = ADC(4)
    conversion_factor = 3.3 / (65535) # Conversion from Pin read to proper voltage
    while True:
    currentvoltage = tempsensor.read_u16() * conversion_factor
    temp_data = 27 - ((currentvoltage - 0.706)/0.001721)
    print(str(currentvoltage) + " : " + str(temp_data))
    lcd.clear()
    lcd.move_to(0,0)
    lcd.putstr("Volt" + ":" + str(currentvoltage))
    lcd.move_to(0,1)
    lcd.putstr("Temp" + ":" + str(temp_data))
    utime.sleep(2)

  • @ninosibraham8803
    @ninosibraham8803 3 ปีที่แล้ว +1

    after a day of wondering why My pico was not doing this right, I discovered I had two of the cables swapped from the lcd screen. Thank you for this great tutorial!

  • @stefanemminger8881
    @stefanemminger8881 3 ปีที่แล้ว +3

    Hey Tinkernut, glad that you are back. Just little side note, your way of finding the i2c address is pretty nifty but most i2c devices will have it's address listed in the datasheet and is also a good practice to always look in the datasheet first if you need more information on any electronic device. Cheers

  • @directorstu
    @directorstu 8 หลายเดือนก่อน

    Wow. Amazing pace. Clear learning ladder. No blather. Nice iconography. Pretty slick my friend. Hope your doing well.

  • @thegenxgamerguy6562
    @thegenxgamerguy6562 3 ปีที่แล้ว +1

    An extraordinarily interesting and entertaining video! Amazing job, sir.
    I especially enjoyed that whole "custom character" thing at the end.

  • @SteveH-TN
    @SteveH-TN ปีที่แล้ว +1

    I plan to use the LCD as a Model Railroad Announcement display at the Station to show arrival & departure times & platform # eventually add Train control to with fast clock in sync. Either using Raspberry Pi or Arduino.
    I have just subscribed to your Channel. Appreciate your to the point videos.

  • @metiks111
    @metiks111 2 ปีที่แล้ว +5

    When it does compile , but doesn't work, you can try regulating contrast on the back of your i2c adapter board.

    • @sparrowXXIII
      @sparrowXXIII 2 ปีที่แล้ว +1

      Exactly the piece of advice I was reading the comments for! Thank you :)

    • @uifo-928
      @uifo-928 ปีที่แล้ว +1

      I was wondering why it didn't work, and i was about to give up. This worked, thanks.

  • @PhG1961
    @PhG1961 3 ปีที่แล้ว +1

    Excellent video. Great to see you're creating more videos again !

  • @bonkbonk2319
    @bonkbonk2319 8 หลายเดือนก่อน

    thank you so much you helped me with my project a lot, kept coming back to this video!! keep up the good work

  • @stephenwong9723
    @stephenwong9723 3 ปีที่แล้ว +6

    Mind the signalling voltage, pico uses 3.3V, but most other Arduino parts uses 5V. Use of 5V signal on a pico will damage it.

    • @fotogordon
      @fotogordon 3 ปีที่แล้ว

      It is confusing some people say it will hurt others say it will not hurt the pico. I would like to know who is right.

    • @gedtoon6451
      @gedtoon6451 2 ปีที่แล้ว +4

      @@fotogordon The Pi Pico data sheet is quite clear. The inputs are designed for 3.3V signal levels and 5V can damage them!

  • @TheFonurb
    @TheFonurb ปีที่แล้ว

    Worked perfectly with my Pico, thanks!

  • @TBL_stevennelson
    @TBL_stevennelson 3 ปีที่แล้ว +1

    Thank you for such a great project.
    You should write for a computer magazine.

  • @gedtoon6451
    @gedtoon6451 3 ปีที่แล้ว +17

    You are powering your LCD and I2C backpack from 5V. The Pi Pico pins are not 5V tolerant, so should a 5v to 3.3v converter be used here?

    • @ewetoob1924
      @ewetoob1924 2 ปีที่แล้ว

      There are no output from the LCD to convert, just inputs.

    • @FakeMichau
      @FakeMichau ปีที่แล้ว +1

      @@ewetoob1924 I read your comment and thought about it for a second. I2C goes both ways so the LCD can totally send data, for example when you scan for devices on the bus, you get addresses that had to be sent from the device. So without a converter pico would get 5V on that line.

  • @pinapple123
    @pinapple123 2 ปีที่แล้ว +1

    Thank you for make
    Ing this it was really helpful!!

  • @sparrowXXIII
    @sparrowXXIII 2 ปีที่แล้ว

    Perfect tutorial for my learning style. With my friend, Space Bar, it was quite straightforward to follow. Looking forward to explore more projects on your channel.
    Crossing my fingers you have an e-ink display video!

  • @pup4301
    @pup4301 3 ปีที่แล้ว +3

    Glad to see you.

    • @Tinkernut
      @Tinkernut  3 ปีที่แล้ว +2

      Glad to see you too!

  • @utkarshkothimbire1484
    @utkarshkothimbire1484 7 หลายเดือนก่อน

    Thanks a lot for making this video.

  • @blessedm.w875
    @blessedm.w875 2 ปีที่แล้ว

    Such an amazing tutorial , i learnt a lot keep up the great work ❤️

  • @danieldare2640
    @danieldare2640 2 ปีที่แล้ว

    Thank you but like most of your videos they are very full of detail and could do with more explanation. I think it's good to put something out so people can get started and have a go and learn by themselves but you might want to think about explaining in detail some things. There were so many good things in this video Thank you

  • @username1101100
    @username1101100 ปีที่แล้ว

    so helpful dude. thank you

  • @sobhaks7231
    @sobhaks7231 3 ปีที่แล้ว +3

    Can you make a code on how to display live temperature from the thermometer on board of pico

  • @und3rgr0undfr34k
    @und3rgr0undfr34k 3 ปีที่แล้ว

    excellent video! Thnx a ton!

  • @creativesource4902
    @creativesource4902 2 ปีที่แล้ว +1

    Hi,
    I try to interface LCD with same as you define but i encounter by an error ( File "", line 4, in ImportError: no module named 'lcd_api') please help me why this is so.

    • @sosdos119
      @sosdos119 2 ปีที่แล้ว

      I am getting the same error

  • @crazycorg1
    @crazycorg1 3 ปีที่แล้ว +2

    Please make a raspberry pi dash cam, would love to see it.

  • @jamesdinsmore9022
    @jamesdinsmore9022 3 ปีที่แล้ว +1

    Your soldering iron tip makes me want to cry 😢

  • @TURIECFOTO
    @TURIECFOTO หลายเดือนก่อน

    MPY: soft reboot
    Traceback (most recent call last):
    File "", line 3
    SyntaxError: invalid syntax

  • @DSdvdDS
    @DSdvdDS 3 ปีที่แล้ว +1

    I created a thermometer with this same 16x2 LCD on my pi zero last week. Downsides: 45sec boot time.
    The entire time, I had a pico right next to me begging to be used but I refused because I didn't have an i2c adaptor x]

  • @OffGridAussiePrepper
    @OffGridAussiePrepper 3 ปีที่แล้ว +1

    the resolution of the lcd does not look too crash hot especially for older folks whom like to tinker with this stuff.

  • @99dynasty
    @99dynasty ปีที่แล้ว +2

    I get [ ] for address

    • @If0n702
      @If0n702 ปีที่แล้ว

      Same

  • @TOMTOM-nh3nl
    @TOMTOM-nh3nl ปีที่แล้ว

    Thank You

  • @bleurenard
    @bleurenard 3 หลายเดือนก่อน

    heyyy i have a problem, when I run the same program as you, it puts me " OSError: [Errno 5] EIO "

  • @sparkyindahouse
    @sparkyindahouse 3 ปีที่แล้ว

    great video

  • @张昌楷
    @张昌楷 3 ปีที่แล้ว

    nice soldering

  • @mirog4209
    @mirog4209 ปีที่แล้ว

    I have a problem, I've done everything exactly like in the video, test program is running, no errors but the LCD doesn't turn on (the power diode on the back is lit)

  • @KarstenJohansson
    @KarstenJohansson 3 ปีที่แล้ว

    I thought he was going to put them in a loop so the LCD shows an inverting blinky face. Like a nicer retro-style prompt.

  • @jackburton9507
    @jackburton9507 3 ปีที่แล้ว

    Wow, great video, if i could write code I would slow you down a bit! at 68 I don't hear as fast as you talk ,, but i will watch it over and over ,because I have that display sitting on the shelf ,Thanks for great videos and info TY

    • @TheScissorunner
      @TheScissorunner 3 ปีที่แล้ว

      I agree, some area you could slow down. I'm familiar with this so I kept up but for a newb... wow you would lose them in a hurry.

    • @ryankauffmanforcircuitcler663
      @ryankauffmanforcircuitcler663 3 ปีที่แล้ว

      why not pause the video?

  • @sirthomas1001
    @sirthomas1001 ปีที่แล้ว

    Great video! I own both a Raspberry Pi Pico and an Arduino Uno 3, and I've noticed that the Raspberry Pi Pico is very similar to the Arduino Uno 3 (a microcontroller and runs on C++). Would an LCD display much like the one from the video be compatible with an Arduino Uno 3?

  • @Zocker827
    @Zocker827 2 ปีที่แล้ว

    Thanks for the well done tutorial. :) I only get a small part of my text shown up on screen. Sometimes its more, sometimes less. Thonny also give me an error every time I run the script. Can someone pls help me? :)
    "Traceback (most recent call last):
    File "", line 20, in
    NameError: name 'lcd_putstr' isn't defined"

  • @rosskleinmann2626
    @rosskleinmann2626 ปีที่แล้ว

    Hi ,I was wondering about looping the text so it repeats. If anyone has any Ideas

  • @liveen
    @liveen ปีที่แล้ว

    For the soldering part of the job, you can also apply flux to the pins, put in the headers, get a generous amount of solder on the tip of your iron, and stroke it across. done. and you didn't have to melt your breadboard in the process like in this video. regardless, for soldering, use flux. always use flux. the fact that people make videos talking about soldering as an authority figure while not using flux is just completely beyond me. huge, huge handicap you apply to yourself, and makes it far more likely that you fuck things up

  • @und3rgr0undfr34k
    @und3rgr0undfr34k 3 ปีที่แล้ว

    2x Pi Pico + 2 x JSN-SR04T = wireless reverse sensor for car?

  • @markfiddament9383
    @markfiddament9383 3 ปีที่แล้ว +1

    Why convert address from decimal to hex?, just use I2C_Addr = 30, instead of 0x27...?

    • @montpierce424
      @montpierce424 ปีที่แล้ว

      You're right, but I think you mean "I2C_Addr = 39", as 0x27 = 16 + 16 + 7.
      Anyways, just wanted to mention in case anyone tries this.

  • @alpere-g7s
    @alpere-g7s 2 ปีที่แล้ว

    ImportError: no module named 'pico_i2c_lcd' eror please help me ????

  • @wordlywise2347
    @wordlywise2347 3 ปีที่แล้ว

    Can you make a video on how to make a small handheld vacuum with wire and convert ih into cordless and then attach it to a remote control top car and make a remote controlled sweeping car? - Worldly

  • @benmaynard3059
    @benmaynard3059 3 ปีที่แล้ว +1

    Noice 👍

  • @Onlyindianpj
    @Onlyindianpj 3 ปีที่แล้ว

    Can you test if it can work as i2c replacement for mcp23017

  • @WolfVortexYT
    @WolfVortexYT ปีที่แล้ว

    what abuot the screens that stack on the pico

  • @ImnotChuck.
    @ImnotChuck. 3 ปีที่แล้ว

    Wow! A new interface for peripherals at 0:46...i2s. well, maybe not.

    • @FakeMichau
      @FakeMichau ปีที่แล้ว

      I2S actually exists but it's for audio or something, not what is used in the video

    • @schwartzenheimer1
      @schwartzenheimer1 8 วันที่ผ่านมา

      He misspoke in the first mention. I2C is, of course, the correct term. Inter Integrated Circuit bus.

  • @stevemorse5052
    @stevemorse5052 3 ปีที่แล้ว +1

    Hi, and thanks for the video.
    Ha, you thought I had finished...
    Are you using Micro Python?
    I have tried to run your code in Circuit Python and I am up to 2 errors, which have me stomped
    1/ 'import utime', well that blew a raspberry! Solved that one by using 'import time'
    now I get "ImportError: no module named 'machine'", tried to look up the error on the never wrong internet thingy, but to no avail.
    Ideas?

    • @crg178
      @crg178 2 ปีที่แล้ว

      I'm having similar issues. Circuit python != Micro python. Seems half my peripherals are supported in MP, half in CP. Good Luck.

    • @stevemorse5052
      @stevemorse5052 2 ปีที่แล้ว

      @@crg178 Yes mate, exactly what I found.
      So the question is which one do we use?
      I have another problem with the LCD board I am using, it works fine on the Arduino.
      I did get is to display some random characters a few days ago, but nothing legible!
      I have about 200 of these LCD boards!
      Another board that has caused me grief was the SDCard reader, works fine in CircuitPython, but as of today, not been able to get it to work in MicroPython.
      Have fun mate, later.

  • @prlombaard
    @prlombaard 3 ปีที่แล้ว +1

    Cool video, its good to see how easy the RP2040 makes tinkering with an LCD. I do not want to be a troll but putchar is not put car the char is pronounced similar to charcoal its not carcoal its charcoal. Thx.

  • @nathanielharper5641
    @nathanielharper5641 3 ปีที่แล้ว

    👌👌

  • @OdysseyAviation
    @OdysseyAviation ปีที่แล้ว +1

    It dont print text in my screen just blink the screen once . Can someone help me ?

    • @kndskjnjdsksns
      @kndskjnjdsksns ปีที่แล้ว

      same

    • @nonejm5732
      @nonejm5732 ปีที่แล้ว

      same, seems like code itself is working, I can even toggle backlight on and off, but I am unable to display anything on the damn screen, all the tutorials look the same, same components, same code, but nooone seems to have case like that and a fix...

    • @nonejm5732
      @nonejm5732 ปีที่แล้ว

      holy shit, I found the issue, so on the back of the i2c converter is little blue cube, just use screwdriver and turn switch on the inside.... apparently it controls contrast

    • @OdysseyAviation
      @OdysseyAviation ปีที่แล้ว

      @@nonejm5732 try rotating the white thing in the blue box. It adjusts the brightness. By default this device is not bright . If you rotate it should fix it. On the back of the display*

  • @junpak9234
    @junpak9234 3 ปีที่แล้ว

    Will this work with a raspberry pi 4

  • @leveldjsankeyyoutube8139
    @leveldjsankeyyoutube8139 2 ปีที่แล้ว

    Wheres import machine came from

  • @MartinsTalbergs
    @MartinsTalbergs 3 ปีที่แล้ว

    will we do wifi anytime soon?

  • @flaminggasolineinthedarkne4
    @flaminggasolineinthedarkne4 ปีที่แล้ว

    But how do i change the font size for the pico display?

    • @If0n702
      @If0n702 ปีที่แล้ว

      You cant

  • @Mammut6035
    @Mammut6035 2 ปีที่แล้ว

    Cannot run under Circuitpython.

  • @thimayapanda8634
    @thimayapanda8634 3 ปีที่แล้ว

    good video but i felt so bad when i saw that you had to edit in the LCD Screen, should've used the interpreter would have saved you a ton of video editing

  • @aravjain
    @aravjain 10 หลายเดือนก่อน

    Sadly did not work for me

  • @joshuachettiar86
    @joshuachettiar86 3 ปีที่แล้ว

    How about an 8bit parallel tft

  • @cyrustakem7993
    @cyrustakem7993 3 ปีที่แล้ว +2

    sorry but it's
    i squared c
    iic
    i^2c
    not i two c

    • @Tinkernut
      @Tinkernut  3 ปีที่แล้ว +1

      Thank you for that correction!

  • @johnking6624
    @johnking6624 3 ปีที่แล้ว +1

    Does not work! You need a voltage level changer to get 5v to the LCD.

    • @callebblyh6664
      @callebblyh6664 3 ปีที่แล้ว

      I found it (works for me) without levelchanger when you chande freq to 200000. Just now I am waiting for delivery for levelchanger

    • @montpierce424
      @montpierce424 ปีที่แล้ว +1

      I agree. There are I2C LCD adapters that will run on 3V, but they draw too much current.
      Connecting the 5v I2C direct to Pico pins might work for a while, but Pico definitely is documented as not being 5v tolerant...

  • @0Tex0
    @0Tex0 3 ปีที่แล้ว

    Hi I have tried this wiring and wiring diagram on t-622's web page, however when i run the test code i do not get an address back all i get is:-
    %Run -c $EDITOR_CONTENT
    []
    Please help

    • @trevorofde
      @trevorofde 3 ปีที่แล้ว

      Perhaps your hardware is not on the correct physical pins, or wires may be reversed...

    • @callebblyh6664
      @callebblyh6664 3 ปีที่แล้ว

      Try change to freq=200000

  • @hansmeier1608
    @hansmeier1608 ปีที่แล้ว

    People like your video, ok. I would like it also but have to do something before watching. Save and replay some slower, then it's ok for me :-)

  • @missyburch1501
    @missyburch1501 2 ปีที่แล้ว

    Can we get the display in your truck say "here is your 10,000 ride- lol. And JUMP for joy when you think you fetched me a ball that I'm going to run for??!! I should've. But I'd rather have the best than settle for all the rest. Lol

    • @missyburch1501
      @missyburch1501 2 ปีที่แล้ว

      And how do you hook the radio up to it?

  • @narayanbandodker5482
    @narayanbandodker5482 3 ปีที่แล้ว +2

    *I AM SKYNET*

  • @richsadowsky8580
    @richsadowsky8580 3 ปีที่แล้ว

    Great tutorial. I happen to have a SunFounder LCD with the I2C adapter. One question about the way you git cloned the files to local machine and then opened and saved them in Thonny. Could you not just copy the source files to the file system in file manager? I ask because I cloned nearly all popular libraries for both MicroPython and CircuitPython. Granted I don't need them all every time, but I was hoping I could streamline setting up the libs by using the file system on the Pico. Really appreciate the video. New subscriber here!

    • @colingreysful
      @colingreysful 3 ปีที่แล้ว +1

      I just click the Download ZIP link on github and then unzip them. I can then copy the files I need and open then in Thonny. I can choose to upload them to the Pico by saving them from in Thonny on the Pico. Works for me.

  • @zk_6312
    @zk_6312 2 ปีที่แล้ว

    So this is probably a bit on the picky side, but you are using the wrong term. The LCD is I2C, not I2S. I2S is for audio.

  • @glassbell8677
    @glassbell8677 3 ปีที่แล้ว +1

    First

  • @survivalbert7017
    @survivalbert7017 2 ปีที่แล้ว

    addresses = i2c.scan()
    # take the first one
    address = addresses[0]
    print("first address on I2C is " + str(address) + " or " + hex(address))

  • @irgski
    @irgski 2 ปีที่แล้ว

    I2S or I2C? You initially say I2S…

  • @getonmylvl2706
    @getonmylvl2706 2 ปีที่แล้ว

    LOL my address was the same as yours.
    coinciende?

  • @navidmorovati1742
    @navidmorovati1742 2 ปีที่แล้ว

    Hi

  • @CorruptName1
    @CorruptName1 2 ปีที่แล้ว

    Check out pico w

  • @lovemadeinjapan
    @lovemadeinjapan หลายเดือนก่อน

    Never the I2C backpack 16x2 screens. They are horrendous. Superbad contrast, viewing angles, ghosting. You can have a VA white on black I2C/Parallel 16x2 display for the same money as these junk panels with backpack combined, and you get a cleaner form factor as well, as there is no backpack because the controller already does I2C.

  • @rastan1977
    @rastan1977 10 หลายเดือนก่อน

    Not great typical glossing over things not ideal for someone completely new to this.rush job

  • @2kBofFun
    @2kBofFun 3 ปีที่แล้ว

    My tip: NEVER EVER buy these white-on-blue I2C backpack LCD's. They are obnoxious! Ghosting, lag, impossible viewing angles, no-contrast and that irritating hunchback. The one you DO want is this: Raystar RC1602B5-LLH-JWV. Great white-on-black VA display with built in I2C sans backpack. It is even cheaper. Thank me later!

    • @Peter.Tarjan
      @Peter.Tarjan 3 ปีที่แล้ว +1

      Where is it cheaper? The Raystar you mentioned is over $20 on eBay vs ~$3 for the HD44780.
      The Raystar *does* look good in the pictures, and I'm interested.

  • @manofagoodwill9415
    @manofagoodwill9415 3 ปีที่แล้ว +1

    Can you please react to the lady of heaven trailer? ❤️😌

  • @tylerpeppy1450
    @tylerpeppy1450 3 ปีที่แล้ว +9

    Thanks for using the code man! This is a very nice tutorial on how to use it! Keep up the good work! (T-622)

  • @afg9104
    @afg9104 4 นาทีที่ผ่านมา

    in the i2c scan part it only outputs the message "[ ] " there is no number shown on my LCD, any wonder what could be the problem?

  • @RAGHAVENDRASINGH17
    @RAGHAVENDRASINGH17 3 ปีที่แล้ว +4

    you deserve more subs bro 👍

    • @Tinkernut
      @Tinkernut  3 ปีที่แล้ว

      Maybe one day

  • @robrobbins
    @robrobbins 3 ปีที่แล้ว

    Seeed Studios is selling the Pi Pico with header pins soldered on. Currently you can only pre-order one. They also sell a Grove connection expansion board for the Pi Pico.

  • @Pyry300
    @Pyry300 3 ปีที่แล้ว

    The lcd code i get is 62, 96, 112 what does this mean?

  • @bobrowles43
    @bobrowles43 2 ปีที่แล้ว

    Most helpful.. thank you

  • @_gipi
    @_gipi 3 ปีที่แล้ว

    I think you can enter directly the address in decimal

    • @tylerpeppy1450
      @tylerpeppy1450 3 ปีที่แล้ว

      You are right! you just need to put 0x(Addr) or \x(addr)