I bought a 7 segment display today from a little surplus store, and am now trying to get it to work with my Arduino. THe problem is, I can't find any datasheet and it seems like it's a different kind of setup. It has 11 digits, and has 23 holes for pins. I've included a photo. Does anyone know how I might connect and communicate with it?
does it have any other hardware on the board?
if not you could probally figure this out by probing with ground and +5 running tru a 330 + ohm resistor
Connected in a matrix? 88 leds, 23 pins. 5+18=23, 5*18=90, two more than 88.
it might help to post a picture of the back of the board if possible
It's only a two layer board. I just recommend that you look at where the tracks are going and just have a prod to try to light up 1 7 segment part. Then you will know the pinout of each one and you should be able to figure out how the others are connected. If you can't see all the tracks then maybe a light box will help.
Mowcius
Thanks for all the information. Below is a photo of the back of the board. I'm going to probe around with a resister as mentioned above, to see what I can find.
PROGRESS
It's a common cathode display, so I was able to light up segments by connecting the leftmost pin to ground and sending power through the other pins (every other pin selects a segment).
So now my question is how can I choose which ground is connected at any given time?
You will need to use PWM, by turning on and off the 'grounds' really quickly you can trick your eye into seeing it as one (your eye can't see the flashes).
Mowcius
How would I use PWM for the grounds? My plan is to have a shift register connected to all the segments then use the Arduino to select the ground, and subsequently the letters. Do I just bring each ground pin low?
yes low connects it through to ground (pwm is getting to be a more generic term around here)
Just a note: That's NOT PWM. That is row/column or matrix selection.
You could drive the common cathode to ground via an output pin, but be careful of maximum current. The common will get the sum of the currents through all lit segments. So worst case is 8 LEDs lit (the number "8" = 7 segments, plus there is a "." for a total of 8). The Arduino pin is a max of 40 mA. As long as you drive <5mA (~1k resistors) per LED you're ok. If you need more current for a brighter display, then you should use a transistor on each of the cathode lines, and trigger the transistor with Arduino outputs.
BTW: If you start running out of output pins, there are ways to reduce the number of pins required. For example: 4 output pins could drive a 7-segment display decoder chip, another 4 pins could drive a 4-to-16 demultiplexer. Or other methods can involve serial-in parallel-out shift registers.
That's NOT PWM.
Pulse width modulation: Changing the width of the pulse and modulating it...
When you are flashing through the 'grounds' or whatever, you are pulsing the LED, and when you adjust the delay for the pulses you are changing the pulse width...
I don't see why that cannot be PWM
It is not direct PWM from a PWM pin but it is still PWM.
Mowcius
Yes, PWM is changing the width of pulses. PWM is changing pulses on one line to control average voltage/power/current etc.
This is turning on one common cathode, then off and moving to the next common cathode, etc by using multiple outputs. That is multiplexing the display. It's really a very different concept, even though (regarding LEDs) they do both use persistence-of-vision to appear to be a constant glow. And in this multiplexing, you're not changing the width of the pulses on the common lines.
So, sorry, but not PWM. (Now, granted if you also wanted to control the brightness of the display in addition to multiplexing the digits, you could employ a PWM technique as well.)
Also, I wanted to point that out so as not to confuse someone trying to learn these concepts, because if he wants to go search around google or electronics books, etc, then he needs to know what to look for. In this case: multiplexing, display scanning, row/column selection are all good keywords. PWM would be leading astray.
It is not direct PWM from a PWM pin but it is still PWM
No as stated above this is not PWM this is multiplexing.
This is PWM:-
http://www.thebox.myzen.co.uk/Tutorial/PWM.html
Have a look at the circuit diagram here:-
http://www.andreadrian.de/schach/#Selbstbau_Schachcomputer_SHAH
It is a good example of the sort of thing you have to do to multiplex a 7 segment display.
Note the segments signals are common and the individual displays are enable one at a time.