Pitfalls to Avoid with Multiplexed Arduino 7 Segment Display
If you’re starting the learning curve for Arduino just as I am, you might be interested in projects related to 7 segment displays. And I’m sure you can find numerous resources on the internet to help you get started. However, I was using those resources too, and had a lot of frustrating moments when working with a multiplexed 7 segment display. Hence, I thought it would be a good idea to list out the points that I wish I had been told before I spent hours trying to find what I was doing wrong. So here we go:
- Make sure to keep track of the active high/active low status of all your pins. In my case, my digit pins, which control whether a digit on the display is on or off, were active low, meaning that a LOW signal on a digit pin meant that the digit was actually ON.
- Make sure you prepare the digit to be displayed before you turn on a digit, that helps a lot. For example, if you want to display a 5 on digit-2, display a 5 first, and only then turn on digit-2.
- Make sure you don’t have any large delays anywhere in your program. In case you’re trying to make something like a minutes counter or a clock (like I did), make sure you use some function like millis() which does not stop/block the rest of the program.
I think these 3 points sum up most of it, but you could still run into your own issue when working with a multiplexed 7 segment display. If you do, feel free to discuss these issues in the comments here! Also, if these points helped you and/or saved your time, don’t forget to give a clap!