MAN74A LED 7 segment display

Hello everybody, i'm new to the arduino scene and even newer on this forum, actually.

As of right now I am working hard on a Common Cathode MAN74A 7 segment display to use with arduino UNO and a 400 tie point breadboard.
My ultimate goal in that particular project is to make an HEX counter with a double-7 segment display (0.0.).

Right now im trying to do a simple counter from 0 to 9. for me the difficulties reside in the circuit design that i am to use. How and where to connect the led pins on the arduino , should I use analogue or digital input ?
Newbie here, resistors-wise, generally should the resistors be put between the negative source and the led display or the positive source and the led display ? I cant provide a shematic at the moment. I am a programmer by training and ive decided to get on microcontrollers to expand my electronics skills and learn, the problem is strictly with the electronic design. I lack the base but willing to learn, any answer is a good answer, but please do not flame :wink:

Thanks a lot for the time and/or the effort one should put in answering this post.
I'll keep on searching for potential answers over the internet, of course.


Maxime G.

i started with this:

But as yours is a Common Cathode, ull have to change a few things, the common node will go to "gnd", the rest will be the same with the exception of the code, you'll have to swap the 0's and 1's in the code.
that is replace the 1's with 0's and 0's with 1's.

byte seven_seg_digits[10][7] = { { 1,1,1,1,1,1,0 },  // = 0
                                                           { 0,1,1,0,0,0,0 },  // = 1
                                                           { 1,1,0,1,1,0,1 },  // = 2
                                                           { 1,1,1,1,0,0,1 },  // = 3
                                                           { 0,1,1,0,0,1,1 },  // = 4
                                                           { 1,0,1,1,0,1,1 },  // = 5
                                                           { 1,0,1,1,1,1,1 },  // = 6
                                                           { 1,1,1,0,0,0,0 },  // = 7
                                                           { 1,1,1,1,1,1,1 },  // = 8
                                                           { 1,1,1,0,0,1,1 }   // = 9

Connect them up as simple leds using your datasheet. Also when you understand all this see this method of control:

Analog & digital pins can all be used as digital pins.
D0-D13 are digital (leave D0, D1 free for serial interfacing),
A0-A5 are addressed digitally as D14-D19.
Get yourself 14 resistors, 220 ohm should be okay, connect them from D2 -D15 to the anode pins of the displays.
Cathode will go to ground as stated earlier.

Thanks for the quick replies, guys! I'll definitely try to make it work correctly tonight when I get home.
Found the datasheet for the MAN74A, looking it up now , will give you proper feedback!

It worked ! By mistake I have burned one of the segment during my experimentation, however, I had time to put it on my youtube account before it burnt so... I'm happy with the result. thanks again all. Next steps will be : making it work with one or two switch (reset counter, start, stop counter, etc.) and port it on double LED display.


use the shift registers they make life easier, i made a single digit counter using them.

Are you talking about arithmetic shift register (left and right ) as in assembly language subroutine , applied to (e.g. the accumulator of the chip ) ?

No, a shift register chip such as 74HC595.
Then you commit far fewer I/O lines, just 3, from the arduino to run the 14 anodes.
clock pin

using some software like this:

digitalWrite (latchpin, LOW);
shiftout (datapin, clockpin, MSBFIRST, left_data_to_display);
shiftout (datapin, clockpin, MSBFIRST, right_data_to_display);
digitalWrite (latchpin, HIGH);

assuming you had 2 digits, you replace left_data_to_display with your array reference or something, and you put the serail data into the shift register for the right display and let it shift thru into the shift register for the left dislpay.