How to unmultiplex a 7 segment LED display

Thread Starter

Aries2013

Joined Jan 3, 2013
3
It's possible I shouldn't be starting from here ... (if so, please point me in a better direction).

I have built a fairly basic a 6-digit 7-segment digital clock with a multiplexed display (common anode). I would like to use it initially as a basic 24-hour timer with a on and off time (say 08:00 and 20:00). I have thoughts about extending it to a 7-day or longer timer, switching several relays, in due course. My problem in all cases is how to get at the time, as all I have is the multiplexed display. Ideally, I would like to "un-multiplex" some or all of the digits or segments, and use them (via TTL logic) to switch a relay on and off. The logic is straightforward in my initial case - we need to identify a "1" on the first digit (so segment e is off) OR "8" or "9" on digit 2 (so segments a,b,f,g are all on).

As I haven't touched circuit-building for over 30 years, I am very rusty and full details would be much appreciated.

Thanks in anticipation
 

davebee

Joined Oct 22, 2008
540
So you want to detect the 6 anode enable signals and the 7 segment logic states.

For each enabled anode, detect which segments are lighted, decode that pattern into a number and save it.

After 6 anodes have been enabled you will have 6 numbers saved, in the format 23:59:59.

Then you want to detect patterns in these numbers.

You'll want to detect when 23:59:59 rolls over to 00:00:00, and use it to increment a "day" counter.

Then, you want to be able to specify one or more separate day/hour/minute/second patterns to be matched by the day and time of day, for the triggering of a relay.

That all could be done by TTL but it seems like a pretty big task.

Have you ever done anything with microcontrollers? Using a microcontroller to do all this would be my suggestion.
 

MrChips

Joined Oct 2, 2009
30,708
Once I had a digital frequency counter with no computer interface. That is exactly what we had to do as davebee explains it in order to send the reading digitally via a RS-232 serial interface. Use a microcontroller to synchronize to the digit scan and read off the 7-segment display.
 

Thread Starter

Aries2013

Joined Jan 3, 2013
3
Thanks for your comments. I take your points about the complexity of decoding all the segments etc. However, it isn't necessary to decode everything - for example, to detect a change of day you do not need to detect when 23:59:59 rolls over to 00:00:00, but only when 23 rolls over to 00, and that is only when the 2 rolls over to 0 and that is only when the top left segment lights up. So, only one segment rather than 42.

My fundamental question therefore remains the same - a need for a (hopefully simple) circuit to capture a segment on a particular digit, make it continuous rather than multiplexed, and then drive something else (e.g. a relay).

I really do appreciate your taking the time to help
 

davebee

Joined Oct 22, 2008
540
I guess TTL really shouldn't be too difficult for this project. The segment patterns don't need to be decoded, only matched.

You'll need to add the day segment, with the triggered counter and some kind of preset.

You could get 7 of those thumbwheel switches that set their pins for the binary digit of the switch setting 0-F. Connect them to 7 7-segment encoder chips (6 time plus 1 day) to result in 7-segment (LED display) encoded TTL outputs.

On the clock side, connect each clock LED segment to an octal latch, and have each anode signal latch the segment value into the latch.

Then use logic comparator chips to compare each latched clock segment to each manually set thumbwheel segment.

AND the comparator outputs, and you will have a signal that is TRUE for one second, at the requested time of day. There's your relay signal.

If you want the relay on for a time other than a second you'll need to handle its on time somehow.

It's possible that clock switching glitches will cause momentary ON states, but a single hysteresis delay at the ANDed output may be able to take care of that.

I'd think that something like that should work.
 

crutschow

Joined Mar 14, 2008
34,281
I like davebee's idea. It avoids the problem of decoding the 7-segment signals, and allows you to do the time sensing with a minimum of added logic chips.
 

ScottWang

Joined Aug 23, 2012
7,397
If you want to detect the number from BCD counter IC, the easy way is to use BCD Switches and add some 1N4148 to make a AND gate, it will output the equal signal, if you like to keep the siganl, then you can use 74LS74 to do the job.

BCD Switch:
BCD Pushwheel selector switches, 0-9
function - push the up key to be +1.
push the down key to be -1.

BCD Pushwheel selector switches, 0-9
http://www.allspectrum.com/store/bcd-switch-pushwheel-selector-stations-cherry-p-426.html

BCD Switch Table
http://www.elexp.com/t_bcd.htm
 

ScottWang

Joined Aug 23, 2012
7,397
But he doesn't have BCD, only the 7-segment signals.
Yes, you are right.
I just think maybe he was used the traditional TTL, I recheck the first post, he was used multiplexed display, it's more trouble as that I want to get the datas from the calculator with LCD display.

I were care about that, so I also find some using scan method to do the compares.

http://www.microcontrollercentral.com/author.asp?section_id=1887&doc_id=255868

If he can find the parts 74C915 or 74HC945, 7seg to BCD, the job can be done.
http://shop.griederbauteile.ch/en/popup_image_big.php?cPath=25_27_121&pID=5825
 

Thread Starter

Aries2013

Joined Jan 3, 2013
3
Davebee - thanks for the advice. I hadn't really thought of it as pattern matching before. Also thanks for the tip about thumbwheel switches. Old technology perhaps, but well suited to ease of use.
 
Top