Page 1 of 1

Reading a 7-segment display from controller

Posted: Fri Nov 15, 2013 11:04 pm
by Ajax
I have a controller with a 3-digit 7 segment display that displays temperature. I would like to have my RPi read the display, which I can access over the internet. This would allow me to make keep an eye on temperature while I am not home. What would the best way be of achieving this? Thanks.

Re: Reading a 7-segment display from controller

Posted: Sat Nov 16, 2013 12:34 am
by Douglas6
The 'easy' way would be a streaming webcam or the Pi camera trained on the read-out. Is it ambient temperature? A cheaper, and more Pi-like way would be to interface a temperature sensor to the pi, like this:
http://learn.adafruit.com/adafruits-ras ... re-sensing
More specialized temp sensors can be found as well. Lot's of experts in this area here who will chime in if you can provide more details.

Re: Reading a 7-segment display from controller

Posted: Sat Nov 16, 2013 1:29 am
by Ajax
Yes I have thought about a camera but that would just be to easy :D I have no idea what I am getting myself into but I want to learn. This is related to another post I had but did not receive any answers so I figured I would see if there is another way of doing this.

http://www.raspberrypi.org/phpBB3/viewt ... 76#p446876

I already have the heater meter and I can see the temps of the meat probes online but I also want a way of controlling my grill. But I have to see the set points and actual temps from the grill controller so I make sure I adjust it correctly. The best would be if I can mimic the original remote of the grill which uses a nrf905 radio chip, but that is above my head so this is my second theory of controlling my grill. Again appreciate the help! If all else fails the camera will have to do...might have to figure out how to waterproof it first!

Re: Reading a 7-segment display from controller

Posted: Sun Nov 17, 2013 8:04 pm
by grahamed
Hi

Do you actually want to read a 7-segment display or are you saying you want to read the output of a device which has a 7-segment display as its primary output?

The former is possible but needs a lot more information about the display.

The latter requires information about the device - like does it have any output signals, and if so what?

Re: Reading a 7-segment display from controller

Posted: Mon Nov 18, 2013 3:49 am
by Ajax
That is a good question... I also realized I can just tap into the thermometer and get the temp reading that way I would have to figure out the curve to map the probe since I do not know that name of the probe. But doing it this way I would lose some info I would like to see. The display shows 1,2,3(starting sequence) and then the current temp. It does show you the set temp if you adjust the set points using the green buttons. It also shows you the shutdown sequence and error codes.

So as I see it this is my options from the most desired to least:
1. Have the RPi function as the original rf remote the grill comes with.
-I have no idea how to do that.
2. Somehow be able to read the output to the 3 digit 7segment display. Uses HC164 shift registers
-Will give me the feedback I need.
-Can also control the grill by tying into stock buttons on controller
3. Hack the original remote buttons.
-Should be pretty easy.
-My original controller stays intact.
-But I lose all feedback like set temps, actual temps etc.
4. Use a camera.
-Should be the easiest for feedback
-Would be open to the elements.
-Would still have to tie into the remote or controller buttons for control.
5. Tie into the original temp probe.
-Will give me limited feedback-Could use one of the heatermeter probes to achieve the same result.
-Still no control

So what do you guys think? I am willing to try anything and is up for the challenge but I would need my hand held most of the way since the RPI and code is very new to me... I do have a spare controller laying around that I could test on.

Re: Reading a 7-segment display from controller

Posted: Mon Nov 18, 2013 4:49 pm
by grahamed
Hi

LB10501BA xx is a common cathode display as per http://www.lightbo.cn/pdf/19LB10501EB.pdf. Presumably a pack of 3.

If you wished to read his through a Pi you would need to solder 1 + 7 + 1 + 3 (GND + 7 segments + dp + 3 cathodes ) = 12 wires to the board. It is likely that the voltages exceed the 3V3 of the Pi pins so most would need some form of level shifter. These wires would be read by the Pi pins.

So can you get to all the pins? Can you determine the voltages - warning a multimeter will not work here, you need to either measure using a scope or determine the voltage from examination of the circuit - starting with the value of the power supply rails.

To actually decode the display you need to understand the way these displays are driven - almost certainly it will be multiplexed.

All this sounds a bit much unless its more of a learning exercise than a practical one. There is every chance of killing either the Pi or the display along the way.....

Re: Reading a 7-segment display from controller

Posted: Mon Nov 18, 2013 5:11 pm
by karlkiste
A little appendix to the previous post which I agree with in general:

Depending on the multiplexing frequency of the display, it might even be impossible to read it from the pi using tapped signals. Often, displays are multiplexed at 100Hz or so, that would be ok. It could however be much higher.

Re: Reading a 7-segment display from controller

Posted: Mon Nov 18, 2013 7:39 pm
by Ajax
OK great I was trying to find them online..unsuccesfully thanks for the link! One question, Which pin is which? Example- if I am looking at the pins from the back is 1 top left 2 second top left etc? I have access to the to all the pins to check voltages. I cannot find any other diagrams giving me that information. How do I find how the displays are driven, and how would I decode that? Do I use a DEMUX or IMUX? I will get back to you guys once I have check the voltages with a scope might take a couple days. This is a learning excercise and if I fry the controller(a spare) or a pi I am sure I will survive :) Thanks again for everyone's time.

Re: Reading a 7-segment display from controller

Posted: Mon Nov 18, 2013 7:56 pm
by Ajax
Another thought, would it be possible to just tap into the input for each display's shift register and somehow make sense of that data?

Re: Reading a 7-segment display from controller

Posted: Wed Nov 20, 2013 9:34 pm
by grahamed
Hi

BEFORE YOU START BE VERY SURE THAT THE DEVICE IS NOT DIRECTLY CONNECTED TO LINE VOLTAGE - IF YOU ARE NOT SURE DO NOT PROCEED

All the displays I have look like this http://datasheet.octopart.com/HSMF-C167 ... 307667.pdf though I guess there are others.

You need to understand the multiplexing thing before you start, if only to be sure that the displays are in fact multiplexed! You mention shift-registers - can you see shift registers?

As a starter I would try to figure out the multiplexing frequency/time periods. Connect a wire to your (in order of preference) logic analyser/DSO/soundcard. I guess you may looking at using the sound card option. Solder a wire to display device 0V and one to the common pin on the display - more than likely the middle one of the 5 at top or bottom - a meter should show these pins to be connected together. Make a potential divider of 100k and 100R. This should reduce the signal from 5V to 5mV. Feed the signal into the sound card. Run Audacity software. Set sampling to 96kHz, With luck you will see something like ___|---|______|----|______|----|_____ Tell us what you see.

Re: Reading a 7-segment display from controller

Posted: Thu Nov 21, 2013 9:22 pm
by Ajax
Thanks for the warning, I will keep that in mind. I will have access to an occiloscope this weekend. You asked about the shift registers. I believe that is what they are called. Each display has a HC164 (8-bit Serial-input/parallel-output8-bit Serial-input/parallel-output Shift Register) and I can get to the pretty easy. Will keep you updated, thanks again!

Re: Reading a 7-segment display from controller

Posted: Fri Nov 22, 2013 7:10 am
by karlkiste
If each of the digits has its own 74HC164, chances are good that the display in fact is *not* multiplexed, and you can just read the status of all of the 21 (3x7) segment lines without any timing problems.

Then there's the question of how you want to read that many bits. Serializing or demultiplexing comes to my mind...

Re: Reading a 7-segment display from controller

Posted: Fri Nov 22, 2013 8:07 am
by aTao
Could you post the make and model number of the controller please.

Re: Reading a 7-segment display from controller

Posted: Fri Nov 22, 2013 2:09 pm
by Ajax
Now that is were you smart guys come in! I am already above my head but I can follow orders pretty well. The controller is not a standard off the shelf product . It is part of my Greenmountain "Daniel Boone" so not dure those numbers would work.

Re: Reading a 7-segment display from controller

Posted: Fri Nov 22, 2013 7:27 pm
by grahamed
Hi again

If the display is not multiplexed then reading the display directly becomes much easier in concept (no timing issues) but much less easy in practice - sounds like 25 wires, 24 of which probably need some kind of voltage conditioning - there are nothing like enough GPIO pins available.

The data is already available in a serial format at the input to the SR's. Problem may be that the data clocks quite quickly. Obviously the display does not change often but when it does it might do so very quickly. You can read GPIO pins at MHz rates but it is not as easy as slow stuff. Use the scope to find the clock frequency. WiringPi includes a SR library which is exactly what you need.

Re: Reading a 7-segment display from controller

Posted: Fri Nov 22, 2013 8:57 pm
by tenochtitlanuk
You might be interested in the optical-character-recognition method. I've had some success with this- but you need specialised 7-seg OCR or write your own.. See http://www.raspberrypi.org/phpBB3/viewt ... 7&p=434958
The Pi looking at the 7-seg display could easily ftp the result to a webpage for you, and the resulting file could be re-dispalyed as a temperature graph etc at your convenience