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.)
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.
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.
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 :)
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!
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!
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 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".
@@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 :)
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 :)
@@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?
@@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 :)
@@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!
@@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 :)
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?
@@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.
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 :)
So will you start using the TLC5916 in your future projects? And what is your favorite 7-segment driver for breadboards? Let me know :)
I can't believe I've only found your channel now. These tutorials are seriously incredible!
Thank you so much, Guilherme, this means a lot! :)
@@FriendlyWire and you respond to 2 year old videos!! You're serious amazing.
@@risingmermo I try to answer every comment :) Have a great weekend!
Excellent tutorial, I needed a bit of a refresher on LED drivers for a project and was really pleased to stumble on this video.
🍻
Thanks so much, Q, I am glad you found it useful!
I'm only halfway in but I can already say that this is an EXCELLENT tutorial, exactly what I needed! Great job! Insta-subscribe!
Wow, thanks so much, I am glad you like it! :)
Thanks for covering the shift-register/driver. Seems like a very useful device yet I haven't seen others mention it before.
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.)
Another great vid. Congrats on getting this one over the line, I know you put a lot of effort into it. Thanks
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.
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.
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 :)
you draw Schematic very nice
Can you show me what the software you use?
Thank you! I am using Eagle made by Autodesk: www.autodesk.com/products/eagle/free-download
Great job !
Thank you, glad you like it!
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!
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!
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.
Thanks! :) Hmm, yeah, maybe it's possible to do that. But I am not sure what the difference is to the CD4094 case?
@@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".
@@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 :)
محتواك رائع يا صديق
Thanks a lot, have a great day and stay tuned for future projects :)
@@FriendlyWire
sure
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?
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 :)
@@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?
@@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 :)
@@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!
@@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 :)
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.
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?
@@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.
@@filipcvetanovski2545 In the last days programmed an email signup that you can find here: www.friendlywire.com/email/
@@FriendlyWire Thanks!
Try to make video short and sweet 😁 it was good 😊
Thanks, glad you liked it :)
How to make this on as a counter
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 :)
@@FriendlyWire yes. I want
@@FriendlyWire i don' know how it's work. so can you tell me how it's work
@@mohomadashad4641 Do you know how to program in C?
@@FriendlyWire no