Help driving multiple 7 segment displays with 7447s

Hi everyone, I would my appreciate some help with a project I have. I am trying to build myself a speedometer/oddometer for my static bike. I have an Arduino, a Hall effect sensor 6 large 3 inch seven segment displays and a 6 7447s to drive them. I am struggling big time though. My friend helps me with the code but what I need help with here is a suggested schematic. I dont know which pins connect where to the arduino and the 7447s. I have pin out diagrams but I can't get my head round it. If anyone could knock up a small diagram or help in any way I would be most grateful, thanks.

Are the large seven segment displays the "common anode" variety?

Yes thats correct, they are

Each 7447 has four input pins and 7 output pins. You put a binary number on the input pins and the chip will ground some of the output pins to turn on segments. To independently drive 6 digits you need 24 output pins (more than the Arduino UNO). You will either have to add some output expansion (like three 8-bit shift registers) or you need an Arduino with more pins, like the Arduino MEGA.

Your displays must work on less than 40 mA and 15 V. You will have to calculate the right current limiting resistor to limit current through each segment.

Another choice would be to use a constant-current shift register designed to drive LEDs like the TLC5916 or TLC5917. You will need one per digit. They will need three output pins (latch, data, clock).

Thankyou for that. Could I not multiplex from the arduino?

the_dynamo: Could I not multiplex from the arduino?

Yes, using each BI pin as an output enable. With all the Ds conn'd to each other, the C's conn'd together and so on; place the digit data on DCBA bus, and take the BI pin Low High to enable the outputs of the desired display in turn.

Thanks for that solution. Is there any way I could trouble you to sketch/make a schematic that I could follow. Its all a little over my head as a novice. Thank you.

I'm not doing all 6. Here it is with two. Unreasonable as it may seem, I think that you should start with two and get the hang of things. If you want to draw a version with three or six, go ahead and I'll mark it up for you.

As noted in the drawing, the outputs for the displays are "enabled" with the BI pin (pin 4) going HIGH. I previously stated LOW, but I corrected that blunder. And, as you may or may not know, where the datasheet shows the output as L (LOW) the LED there is ON.

The LEDs/displays are placed between +5 and the 7447 outputs, as you see in the following pic (i.e. U3 and U4)--

Thanks pancake thats great. Iam going to make a schematic on proteus and then I shall show you so hopefully you can tell me where I have made mistakes/help me understand. Before I do I have a few Questions. Where do I put the transistors in and which pins do they connect to? Also could you tell me a good part number for the transistors? And finally, I am controlling 6 seven segment displays, but they are in 2 banks of three, the first set of 3 will display my speed in kmph, and the second my distance covered in km. Will both banks of three be connected to the same outputs of the arduino. I shall do a schematic now. Thanks for all the help it is much appreciated. I find I learn a lot more on these forums with trial and error and help from everyone than I do at college.

I have drawn a schematic in proteus, but I can post it on here, any advice? shall I send it to you?

the_dynamo:
Before I do I have a few Questions. Where do I put the transistors in and which pins do they connect to? Also could you tell me a good part number for the transistors? And finally, I am controlling 6 seven segment displays, but they are in 2 banks of three, the first set of 3 will display my speed in kmph, and the second my distance covered in km. Will both banks of three be connected to the same outputs of the arduino.

Transistors? What transistors?

No previous mention of transistors.
Any more surprises?

the_dynamo:
I find I learn a lot more on these forums with trial and error and help from everyone than I do at college.

That/This is why I suggested to go at this in steps.

What's Proteus? Can you export that as a PDF?

Ditch the 7447s, and use 6 TPIC6B595 or TPIC6C595 shift registers, which have high current/high voltage outputs.
Then you just shift out bytes of data, and do the font creation in software.

#include <SPI.h>
// use 10 for RCLK, 11 for Serial data in, 13 for SRCLK
// Serial data out goes to next device
// connect OE (G/) to Gnd, MRCLR to +5
byte fontArray[] = {  DP-g-f-e-d-c-b-a
0b00111111, // 0        a
0b00000110, // 1    f        b
:                                 g
:                             e       c
0b011011111, // 9       d     DP
}; 

byte digitArray[] = {0,0,0,0,0,0,};  // whatever the data is

// in setup:
SPI.begin();

// in loop code:
// time for an update?
digitalWrite (ssPin, LOW); // RCLK on TPIC6B595
(for x=0; x<6; x=x+1){
SPI.transfer[fontArray[digitArray[x]]);
}
digitalWrite (ssPin, HIGH); // outputs  updated on this rising edge

Proteus is a software for schematic design. I can export to PDF. I thought I had to use transistors if multiplexing. Thanks crossroads for the advice but I must use 7447s.

must use 7447s

Too bad, such old power hungry technology, needing extra chips to supply them with data, or way too many uC pins.

This board I offer does the same for up to 12 7-segment displays. Resistors go off board. Schematic is on my website. http://www.crossroadsfencing.com/BobuinoRev17/ |500x455

Thanks crossroads, but I have the 7447s and really really want to do it with these, im sure its possible with a bit of help. How do I upload an image onto the forum so I can show you my schematic? Thanks

Click the Reply button and under the text window, lower left, there's "Attachments and other options". Click that and carry on.

How does this look for a start. I know I need more, not sure what though.

schematic.JPG

the_dynamo:
I know I need more, not sure what though.

No?
You’re not replicating my example connections.
Let’s see…

  • Resistors between IC outputs and LED cathodes
  • +5 to LED anodes (CA)
  • Those other IC pins that I show connected to +5
  • Each IC pin 4 (“BI”) connected to an Arduino output

How could you miss all that?
All the more reason for you to build the two display circuit.

Thanks Pancake, how does this update look?