I'm looking for an Arduino/Circuit simulator that I can use to breadboard a project I'm working on before buying all the supplies. The project uses a few MAX7219 chips.
I took a look at Wokwi but their MAX7219 is the Matrix display, I just need the chip to drive some (a lot of) seven segment displays.
Yeah, too bad. And implementing this chip in C does look daunting, if you were to do a full job of it.
Sometimes when wokwi doesn't have a pert, and even times when it does, it is easier to use some vastly lower rent hardware as a proxy.
So, e.g., instead of missing some kind of analog sensor, use a slide fader instead. Or use switches instead of having a real simulated PIR or other digital output sensor.
If you code it so functions hide, sorta, the fact that you are really faking something, it can mean testing goes quite far along. And that dropping in a function that deals with the real hardware will make it easy to adjust the code for real life.
Tell us a bit more about just how the MAX7219 is being used in your project. It may be you could work on the logic using shift registers or smart LEDs or I think you get the idea.
I can add that even without involving the wokwi, the same ideas can aid the general philosophy of "divide and conquer". As an example, I offer doing a project using the serial monitor, and relatively lately (and easily) go from the input coming from the serial monitor to the exact same responses to those characters coming by way of a keypad and keypad library.
I was looking at shift registers before I found the MAX7219 chips. I not sure they'll do what I want since everything I've read says you can only chain 2 of them together giving only 8 output displays. I wonder if they make 16-bit shift registers? Maybe those would work?
My project is to make a baseball scoreboard where each of the innings is it's own seven segment display, along with Runs, Hits, Errors, Teams, etc. - meaning I'm looking at driving 30-40 individual seven segment displays.
This is my first hardware and low level coding project so I don't fully understand what I'm doing yet, but from what I can tell you can daisy chain the MAX7221 chips together, which would give me enough outputs to drive the displays.
I can't see that limitation in the data sheet.
See figure 3, page 13 in the datasheet from post#2 for a 16 digit example. The practical limit is your ability to manage the data required for your displays.
Are you saying I can chain together as many SN74HC595N shift registers as I need? Do you know of any tutorials that show 3 or more registers chained together? Noob here and an example that I could follow would be great.
The tutorials I watched all showed just two SN74HC595N Registers and I didn’t see a way to add more (I can’t remember the specifics, sorry)
Yeth. As you can see in the rxample @xfpd provides, it is.
Look at the schematic of at any of those places you saw two being chained, and look at what accomplishes the connection between the two. I think it's as minimal as data out -> data in. All the other signals are parallel connections to the microprocessor. Since those are all inputs to the shift register, you can probably drive many more than quite a few.
To add a third, just use the same pins that were involved in connecting the first to the second, and so on.
The data spills off the last shift register, routed to no where. Probably the so-called bit bucket.
And the data in to the first in the chain is what the Arduino board sez.
And because they are just logic chips, you would probably be hard pressed to clock the whole thing too fast.
Why not use an actual breadboard to actually breadboard the project?
If you are worried about buying the wrong components, post your proposed circuit here and the forum will probably spot any errors or misconceptions and help you get the circuit 95% correct before you purchase anything.
How many 7 segment digits will you need exactly?
You can buy 7 segment modules in sizes of 2, 3, 4, 5, 6 combined digits which will save a ton of output pins. So how many modules - in which sizes you will need?
There is no limit on the MAX7219 regarding daisy chaining. Some libraries are limited.
But even with a limit of 8 MAX7219, you end up with 8 x 8 = 64 digits.
And the next 64 digits (with another 8 MAX7219) will only require one additional CS (Chip Select - Load) line.
P.S.: ready to go MAX7219 7 segment modules are so cheap to source from China you don't need to simulate them.
A large percentage of tutorials on the internet are written by other beginners. In many cases they think they are experts or try to appear to be experts, but they are not. Video tutorials often seem to worse than average. True expert engineers would probably not use a video as a way to make a tutorial because of the limitations video imposes. Except for certain subjects where showing an animation, or live action of a circuit or machine in action, helps the beginner to understand more easily. Any tutorial, video or otherwise, that does not present a proper schematic diagram of any circuit (which is a different thing to a wiring diagram) was probably made by a beginner.
How large do these digits need to be? Max7219 can only drive smaller digits. It can drive larger digits with additional circuits, but this makes the circuit so complex that there are often easier ways to achieve it that don't involve max7219.
How bright do the displays need to be? If they need to be read outdoors, possibly in bright sunlight, the displays need to be as bright as possible. Using a chip which performs multiplexing, like max7219 does, reduces brightness.