News:

The Savage///Circuits website has been upgraded to a more efficient theme.

Main Menu

8-Digit, 7-Segment Display for Arduino

Started by Chris Savage, Aug 07, 2025, 03:48 PM

Previous topic - Next topic

granz

Quote from: Chris Savage on Aug 09, 2025, 09:52 PM
Quote from: granz on Aug 09, 2025, 05:35 AMCongratulations! It is sad that you needed to write the code yourself; those people selling these displays should have been able to document it decently, and include some sample code.

Perhaps, but you inspired me to just code for myself, like I should have done from the start. I still need to create a function that displays the correct values when the values are passed along. Currently it's hard coded in this display demo. So, thanks for pushing me in the right direction. I guess I have gotten complacent with all these libraries and examples being available.

I was thinking about making examples for this display on several platforms, eventually.
If you need a Pi Pico, for C, Python or PicoMite BASIC, let me know.

Chris Savage

Quote from: granz on Aug 10, 2025, 05:54 AMIf you need a Pi Pico, for C, Python or PicoMite BASIC, let me know.

I just assumed you'd port my code to those platforms / languages.

        I'm only responsible for what I say, not what you understand.

granz

Quote from: Chris Savage on Aug 10, 2025, 12:38 PMI just assumed you'd port my code to those platforms / languages.

I could work on that, but it would have to be after our meetup, next month. I am overwhelmed with all the stuff going on - our picnic yesterday wiped me out so bad that we missed church service today (rare.)

Actually yesterday's picnic was for our oldest son to announce that his wife was pregnant; but they found out the day before that the baby had died. Still working on consoling the two of them.

Now, tomorrow morning we head out to Chicago to visit my dad. Our plans were to continue on west from there to Erie, IL - about 200 miles west of Chi-town. Marilyn's step-mother lived there in the summers, and western TX in winters. Unfortunately, last Monday, Marilyn's half-sister called to let us know that my step-mother-in-law had died that morning. There is to be no memorial, or funeral, service, so no reason to go to Erie. The hotel is already paid, and our son (a travel agent) is still trying to get the money refunded.

So, now we are trying to decide what to do after our visit to my dad. We would love to go see the Ark Encounter a full-sized model of Noah's Ark. We also want to see the Creation Museum, a museum about the creation of the world - both of those are near Cincinatti. Also, with both of us being Air Force veterans, we have long wanted to go see the National Museum of the United States Air Force, at Wright-Patterson Air Force Base, near Dayton.

Then, of course, I am working on our meetup, next month. There is still a lot to get done before the end of September.

Both of us have our birthdays coming up (end of Sept, and mid Oct.) With our anniversary on the 9th of December.

Our youngest son (the one who will be attending our meetup,) will be getting married on the Saturday after our anniversary. Then we have Christmas and New Year's Day, with Thanksgiving thrown in for good measure (we try to have family get-togethers for most major holidays.) Already, we are thoroughly worn out.

So, to make a short story long ::) , I will be willing to help, but it may take a while. ;)

granz

Correction: we leave for Chicago on Tuesday - see I'm already messing things up.  :P

Chris Savage

Quote from: granz on Aug 10, 2025, 02:37 PMSo, to make a short story long ::) , I will be willing to help, but it may take a while. ;)

I was being somewhat facetious. I figured I would write code for the BASIC Stamp 2, Propeller 1 and Arduino. Possible some ASM for Atmel. I hoped there would be sufficient information to port to anything else easily.

Essentially, when you're printing decimal digits the code is very easy. But if you're printing anything else, you need a lookup table for the segment data to create the various characters.

        I'm only responsible for what I say, not what you understand.

granz

Quote from: Chris Savage on Aug 12, 2025, 01:18 PM
Quote from: granz on Aug 10, 2025, 02:37 PMSo, to make a short story long ::) , I will be willing to help, but it may take a while. ;)

I was being somewhat facetious. I figured I would write code for the BASIC Stamp 2, Propeller 1 and Arduino. Possible some ASM for Atmel. I hoped there would be sufficient information to port to anything else easily.
Yeah, I still would like to write a library routine for that thing, but as mentioned above...
Quote from: Chris Savage on Aug 12, 2025, 01:18 PMEssentially, when you're printing decimal digits the code is very easy. But if you're printing anything else, you need a lookup table for the segment data to create the various characters.
That's about what I figured. Byte magazine had an article about showing alpha characters on 7-segment display (Apr 1979 - https://archive.org/download/byte-magazine-1979-04/1979_04_BYTE_04-04_Low_Level_Programming.pdf page 218,) and I figured that this could be used on your display to extend the output.


Chris Savage

#21
Quote from: granz on Aug 12, 2025, 10:22 PMByte magazine had an article about showing alpha characters on 7-segment display (Apr 1979).

I had all but forgotten about that article. I remember there were obvious problematic characters, like "X", "M" and "K". But then, we were the generation that came up with "n00b" and "1337", after all.  ;)

        I'm only responsible for what I say, not what you understand.

Chris Savage

On a side-note, while looking for other displays using the MAX7219, I picked up some MAX7219 ICs from Amazon, which could mean they're knock-offs.  :-X



These are 5 for $9.99 on Amazon.





I also came across this MAX7219 Dot Matrix 8 in 1 Display Module for $12.99 on Amazon.

        I'm only responsible for what I say, not what you understand.

granz

Nice, but I need to limit my new purchases to only the stuff that I actually need to complete projects that I have already started. (SQUIR, err... NO, MUST NOT GIVE IN!)

We just arrived home from vacation, last night. Today is a day of recovery, then I need to clean up my workroom, and get things organized. I still have not assembled my PicoCalcs (https://savagechats.com/index.php?topic=364.0,) and have many other projects that need to be done. So, clean up a bit, then begin orderly project work. (As if...  :-\ )

Chris Savage

#24
Quote from: granz on Aug 18, 2025, 08:10 AMNice, but I need to limit my new purchases to only the stuff that I actually need to complete projects that I have already started. :-\ )

Technically, this display is with respect to that goal. There is a game show simulator that I was working on (article is currently in draft mode) where the name placards were paper before. I may actually update them to use text using these displays, which would require a total of four. For names too long to fit the display, I would make them scroll.

But the digit displays are used for the player-side score, so it's the same IC being used (MAX7219).

        I'm only responsible for what I say, not what you understand.