home |  electronics |  toolbox |  science club |  tuxtalk |  photos |  e-cards |  online-shop

http://tuxgraphics.org/electronics




Content:
By Guido Socher

 

Large 4-digit LED display, network connected

[Tuxgraphics large 4-digit LED display]

Abstract:

This is a large network connected LED display with 4 digits. The digits are one inch (2.54cm) high, big enough to be used in public places such as waiting rooms or small sports events. This LED display is completely flicker free and the display can be shown on a running cammera with no flicker at all.

The setup is extremely easy. You just connect this to the computer network and it's a web server. You point your browser to it and you change the display as needed. It has as well a UDP based machine to machine interface.

_________________ _________________ _________________

 

How does it work?

Seven segment displays need 8 IO-pins (7 digit segments + decimal point). That's 32 IO-pins. It would be coumbersome to connect this to a microcontroller.

We use a shift register chip with output buffers. The data is loaded in serial and can then be loaded into the output buffer with one single clock puls. In other words the display update is instant and there is no flicker at all.  

Using the display

This large for digit LED display is network connected.

[network connected large 4-digit LED display]


[large 4-digit LED display, back]


You just need an ethernet cable and you can control it from any other computer in the network. It's simple but very generic.

The display can be controlled in a number of ways:
  1. From a desktop web browser such as firefox, MSIE, safari.... Just point the browser to the IP address of the display and write the number into the web-form:
    large LED display with web interface

  2. You can use a command-line web browser such as lynx:
    > lynx -dump "http://10.0.0.29/set?n=12:34"
    This would cause the display to show "12:34"

  3. You can use the udpcom (provided together with the software for this display) command:
    > udpcom n=12:34 10.0.0.29
    II: data: n=12:34, ip: 10.0.0.29 port: 1200
    OK: 10.0.0.29: n=12:34
    
    This would cause the display to show "12:34". The udpcom command is available for Linux, windows and Mac.

    [large 4-digit LED display, in use]

The display support besides the digits 0-9 the following special characters:
" " space=display nothing (as of software version 1.0)
: = the colon in the middle (as of software version 1.0)
. = a dot (as of software version 1.0)
- = a dash (as of software version 1.0)

Support for more special characters could be added in future versions.
Examples:

"2  :3.3" would display as:
2  :3.3
"8--1" would display as:
8 - - 1


Note that a space must be entered in the web form as a literal space character and the browser will to the proper encoding. However if you use a commandline web browser such as lynx, curl or w3m then you must encode it since space is not a valid URL character. It can be encoded as either "+" or "%20". The following example sends the string "1 2" (a space between the one and the two) to the display:
# curl "http://10.0.0.29/set?n=1+2"
or
# curl "http://10.0.0.29/set?n=1%202"

 

What can I do with it?

The display has 4 digits with an optional decimal point behind each digit and there are two dots in the middle.

You can display things like: This large LED display has both an easy to use machine to machine interface and a web interface for human interaction. The machine to machine interface allows you to write a litte script or a program to update the display.

The board has 2 push buttons on the side next to the display. They are for "future use" because we have some even more ideas for this display.  

Give me an example: a wall clock

This is a unix shell script (runs on a MAC or a linux PC) and it reads the current time periodically from your PC and displays it on the large for digit LED display.
#!/bin/sh
# Change this to the IP addess of your display:
ip_of_display="10.0.0.29"
curr_time=`date "+%H:%M"`
prev_time=""
while true; do
        if [ "$curr_time" != "$prev_time" ]; then
                udpcom "n=$curr_time" $ip_of_display
                prev_time="$curr_time";
        fi
        sleep 1  # block loop for one sec then check again
        curr_time=`date "+%H:%M"`
done
The script makes use of the udpcom command to "send" the time every minute to the display. You need to install udpcom in /usr/bin before you use the script.

Have fun!  

References

Technical specifications:
Power: 5V DC, about 0.3A
Display hight: 1 inch (2.54cm), this is the size of the actual numbers.
Size of the board: 13.6cm X 7.3cm
Push buttons: 2
The display uses the tuxgraphics ethernet board (SMD version)





© Guido Socher, tuxgraphics.org

2015-01-13, generated by tuxgrparser version 2.57