Best breadboard 7-segment LED driver: TLC5916 tutorial

แชร์
ฝัง
  • เผยแพร่เมื่อ 18 มิ.ย. 2024
  • Learn how to drive 7-segment displays on a breadboard with the TLC5916 driver IC. In this tutorial I will show you, step by step, why the TLC5916 is the best LED driver for breadboards with 7-segment displays and how you can use it with a microcontroller.
    More details and an up-to-date list of all components: www.friendlywire.com/tutorials...
    Thanks for tuning in, and let me know in the comments if you have any questions!
    Website: www.friendlywire.com
    Twitter: / friendlywire
    Reddit: / friendlywire
    Facebook: / friendlywire
    Instagram: / friendlywire
    Timestamps:
    00:00 Introduction
    00:30 Overview & demonstration
    01:25 What you need
    02:19 7-segment displays and how to drive LEDs
    05:16 Schematic & TLC5916 basics
    10:29 TLC5916 special mode & adjusting the LED current
    13:28 Preparing the 7-segment LED displays
    14:58 Building the circuit
    18:52 Flashing the PIC16F1455
    20:39 How NOT to do it... My life before the TLC5916.
    Tags:

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

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

    So will you start using the TLC5916 in your future projects? And what is your favorite 7-segment driver for breadboards? Let me know :)

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

    I'm only halfway in but I can already say that this is an EXCELLENT tutorial, exactly what I needed! Great job! Insta-subscribe!

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

      Wow, thanks so much, I am glad you like it! :)

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

    Excellent tutorial, I needed a bit of a refresher on LED drivers for a project and was really pleased to stumble on this video.
    🍻

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

      Thanks so much, Q, I am glad you found it useful!

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

    Another great vid. Congrats on getting this one over the line, I know you put a lot of effort into it. Thanks

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

      Thank you for your kind words, Glen! Yeah, this one took a bit longer, but I hope it is reasonably self-contained when it comes to driving LEDs and how to use the TLC5916. I look forward to using this chip in many future projects, I bought 250 of those on Ebay, they should arrive any day.

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

    Thanks for covering the shift-register/driver. Seems like a very useful device yet I haven't seen others mention it before.

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

      Thanks, I am glad you like it! The TLC5916 is really my new favorite driver :) (I used the CD4094 shift register before, which can work sometimes, but is still a bad idea since the output current is very low and not meant to drive anything.)

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

    Thanks, great demo. I like the schematics, the C solution worked well. I'm adding the chips and other stuff to my shopping list, they look like a great option for driving these displays. It looks like you could make side-by-side stackable modules using this setup.

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

      Thanks! Yeah, it's always difficult to find the optimal schematic for a project, glad you like it! And it's great to hear you will be using them! I think that they are great for stackable units. Make sure to share your progress over on Twitter :)

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

    I can't believe I've only found your channel now. These tutorials are seriously incredible!

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

      Thank you so much, Guilherme, this means a lot! :)

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

      @@FriendlyWire and you respond to 2 year old videos!! You're serious amazing.

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

      @@risingmermo I try to answer every comment :) Have a great weekend!

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

    Great job !

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

      Thank you, glad you like it!

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

    محتواك رائع يا صديق

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

      Thanks a lot, have a great day and stay tuned for future projects :)

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

      @@FriendlyWire
      sure

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

    you draw Schematic very nice
    Can you show me what the software you use?

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

      Thank you! I am using Eagle made by Autodesk: www.autodesk.com/products/eagle/free-download

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

    Hey. How about some female header pins to raise the height of the 7 segment display?
    Round Pin Female Headers are even better. But they are short, but may they will work? Or else two layers of them will!

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

      That's a great idea, thanks for sharing! I find that a lot of pin headers don't fit all that well with breadboards (because the pins are not long enough to fully engage with the breadboard contacts) but I will definitely give this a try in the future. Nice!

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

    Neat. I wonder if with this method you could do a more sophisticated scrolling? With CD4094 shift registers you have switched the whole letter/cypher, here (I suspect) you could even scroll by half of the letter like
    [ ][ H ][ E ] -> [ |][| |][ ] -> [ H ][ E ][ ]
    This would give you more smoothly scrolling effect.

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

      Thanks! :) Hmm, yeah, maybe it's possible to do that. But I am not sure what the difference is to the CD4094 case?

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

      ​@@FriendlyWire Correct me if I'm wrong. The difference is that using CD4094 (connected in cascade mode) you were not able to change "on fly" any letter on a specific position - scrolling was done by hardware. With TLC591 you can control each segment separately, and make scrolling in software - which is needed if you want to make a "smooth scrolling effect".

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

      @@SieIaQ Oh I see what you mean. But I think you got it wrong, the TLC5916 in this tutorial are wired up exactly like the CD4094 before, the data goes in on one side and comes out on the other. The important difference is that the TLC5916 has drivers included that allow you to, well, drive LEDs at a constant current. The CD4094's outputs are just standard CMOS logic level outputs capable ofaround 0.5-1mA.
      Let me know if that makes sense :)

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

    How about using these TLC5916 to drive the LEDs but other shift registers like the 74HC595 or the CD4094 showed in the video to multiplex them?

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

      Thanks for the question! :) The TLC5916 are current sinks, so you can use them to drive anything towards VDD (like the segments of a common anode display). If you want to drive something to ground (which you need to do when multiplexing) then you would need a source driver, like a PNP transistor. So you could use a shift register that in turn drives those PNP transistors (the UDN2981 has eight of those PNP transistors in a single package), and those PNP's would then drive, say, the 7-segment LED displays' anodes.
      Does that help? If not let me know :)

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

      @@FriendlyWire Yes! That's what I had in mind. Instead of having one TLC5916 for each display, I could use 1 TLC5916 to drive the current for each segment and then 1 shift-register triggering up to 8 transistors connected to the common cathode, right?
      You suggested a PNP transistor, is there any specific reason for that? Or with NPN works just fine?

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

      @@cesaryoshikawa7656 Almost right. The TLC5916 drives towards VDD. So you need common anode displays (I had a typo in my response above and now it is correct).
      Connect the TLC5916 outputs to the LED cathodes. Connect the shift-register outputs to the PNP transistors, which then drive the LEDs' anodes. You need to use PNP transistors because you are driving towards ground. NPN transistors can only drive towards VDD, if that makes sense. In other words: the TLD5916 driver contains NPN transistors (or the MOSFET equivalent thereof). For driving the LED anodes you need PNPs.
      Maybe I could do a video on multiplexing :)

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

      @@FriendlyWire Oh I see what you mean! Thanks for the reply! I am working on a project of a baseball scoreboard that receives the data from a python code through serial communication. As you can imagine it is a lot of 7 segment displays.
      I am sure that if you make a video on multiplexing it will be the best on TH-cam. The quality of your video is astonishing!

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

      @@cesaryoshikawa7656 Wow, thanks so much Cesar, glad you like it. Your project sounds very cool! If you have Twitter make sure to @ me at @FriendlyWire when it's done, I'd love to see it!
      Regarding the multiplexing, some things to keep in mind: it does not work very well for a lot of displays with a slow controller. Also, and more importantly, when you plan to take videos of the display (for example when the scoreboard is in the background of a sports game that is filmed) it might flicker on camera. And last, when you use serial communication (depending on how you implement it) the controller might be busy and cannot do the multiplexing as good as initially hoped. So it's a good idea to test some things before committing to a specific design :)

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

    Try to make video short and sweet 😁 it was good 😊

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

      Thanks, glad you liked it :)

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

    Why am i only now seeing this? TH-cam did not notify me about this video even though notifications are on. Please try and fix this.

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

      Glad to have you here, welcome back :) I don't know why this is happening... I am thinking of setting up an email notification for anybody who is interested so I can shoot out a monthly email whenever a video comes out. Would you be interested in that?

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

      @@FriendlyWire Yes, i would be interested. TH-cam really does not like notifying me when videos come out. Not just you but almost everyone i am subscribed to. I either get them a couple hours of multiple days after they are uploaded.

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

      @@filipcvetanovski2545 In the last days programmed an email signup that you can find here: www.friendlywire.com/email/

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

      @@FriendlyWire Thanks!

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

    How to make this on as a counter

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

      When you look at the source code ( www.friendlywire.com/tutorials/tlc5916/ ) you can modify it to make it display anything you want :) Do you know how to program PIC microcontrollers? I have an introductory video for that, in case you are interested. Let me know :)

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

      @@FriendlyWire yes. I want

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

      @@FriendlyWire i don' know how it's work. so can you tell me how it's work

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

      @@mohomadashad4641 Do you know how to program in C?

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

      @@FriendlyWire no