Hello!
For a project I need to make a four-digit timer that counts up. I think I can figure out the counting part myself, it is just the display part I need help with.
We are using four separate seven segment displays and an Arduino Mega 2560. The code currently looks like this: (I had it written over multiple lines, but the Lemmy preview just makes one big block of text from it so sorry for that)
void Display1() // Display a 1 { digitalWrite(1, LOW); digitalWrite(2, LOW); digitalWrite(4, HIGH); digitalWrite(6, HIGH); digitalWrite(7, LOW); digitalWrite(9, LOW); digitalWrite(10, LOW); }
This function is for writing a one, but I have written one for all ten numbers already. The problem is that this only works for the first display. Does anyone know how I can edit this code to make four seven segment displays work together, and make it display full numbers like 8732 for example?
Thank you!
Hi there. When I’ve needed to use these displays, I needed to save pins on my MCU, so I used the TM1637, which can drive up to 4 digits using only 2 pins, though it isn’t i2c.
Otherwise, you’ll need to build a fat function, with two inputs: updateDigit(digitPosition0-3,number0-9)
Edit: here’s a quick tutorial: https://www.makerguides.com/tm1637-arduino-tutorial/