this post was submitted on 02 Dec 2023
4 points (100.0% liked)

Arduino

349 readers
1 users here now

Arduino is an open-source electronic prototyping platform enabling users to create interactive electronic objects.

founded 1 year ago
MODERATORS
 

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!

top 1 comments
sorted by: hot top controversial new old
[–] [email protected] 2 points 1 year ago* (last edited 1 year ago)

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/