Difference between revisions of "Display on LED sign"

From FreekiWiki
Jump to navigation Jump to search
 
(7 intermediate revisions by 2 users not shown)
Line 1: Line 1:
 +
 +
== The sign no longer exists, page should be deleted ==
 +
 +
 
== The sign ==
 
== The sign ==
  
Line 4: Line 8:
  
 
This describes a general way to obtain and display images on the sign.
 
This describes a general way to obtain and display images on the sign.
 +
 +
For information on Paul Stoffregen's ressurection of the sign, see http://llama.freegeek.org/~pjs/ledsign.html
  
 
== Connections ==
 
== Connections ==
  
It's driven by a serial port, the cable is plugged into the box on the back of the sign.  Currently the other end of the cable is currently located in the server room and is intended to be plugged into ryukin.  But any computer with a serial port can drive the display.
+
It's driven by a serial port, the cable is plugged into the box on the back of the sign.  Currently the other end of the cable is currently located in the server room and is intended to be plugged into [[Free Geek's internal application server]].  But any computer with a serial port can drive the display.
 
 
  
 
== Programs ==
 
== Programs ==
Line 24: Line 29:
 
== Kurt's ledpanel ==
 
== Kurt's ledpanel ==
  
Kurt Krueger's program takes a bitmap image in the PPM format.  The PPM image can be generated by many image editing tools, the tool used this discussion is Xv.
+
Kurt Krueger's program takes a bitmap image in the PPM format.  The PPM image can be generated by many image editing tools, the tools used this discussion are Xv and The Gimp. The bitmap image can't be any taller than the display (48 bits) but can be of any length.  Images wider than the display are horizontally scrolled.
The bitmap image can't be any taller than the display (48 bits) but can be of any length that's a multiple of 8.  Images wider than the display are horizontally scrolled.
 
  
 
usage:
 
usage:
Line 31: Line 35:
 
ledpanel <file.ppm> [threshold] [port]
 
ledpanel <file.ppm> [threshold] [port]
  
 
+
== Image preparation with Xv==
== Image preparation ==
 
  
 
Xv's ''Grab'' feature allows one to prepare any image that can displayed on a computer for display on the LED sign.  Images that are monochrome work best, but full color images will be converted to a b/w bitmap for display on the LED sign.
 
Xv's ''Grab'' feature allows one to prepare any image that can displayed on a computer for display on the LED sign.  Images that are monochrome work best, but full color images will be converted to a b/w bitmap for display on the LED sign.
Line 40: Line 43:
 
Note: GIMP can resize and write PPM files directly.  The Xv steps can be skipped for GIMP processed images.
 
Note: GIMP can resize and write PPM files directly.  The Xv steps can be skipped for GIMP processed images.
  
Start xv <<<< Need to establish an installed Xv location >>>>>.  When the splash screen appears, press the right mouse button.  That will bring up the control panel for xv.  Press the ''Grab'' button.  That will bring up a ''grab'' panel that explains usage. Press ''Grab'' (on ''grab'' panel), then use the middle button to drag a rectangular window over the part of the image desired.  The area selected will replace the splash screen graphics.  Strive for something less than 48 high.
+
Start xv <<<< Need to establish an installed Xv location >>>>>.
  
The image needs to be sized to fit the criterion (48 or less high, multiple of 8 wide).  Pressing the '''S''' key brings up a resizing prompt.  Type the new size in the same format as displayed in the prompt box  (width x height).  Press ''OK''.  See below for a list of multiples of 8.
+
When the splash screen appears, press the right mouse button.  That will bring up the control panel for xv.
 +
 
 +
Press the ''Grab'' button.  That will bring up a ''grab'' panel that explains usage.
 +
 
 +
Press ''Grab'' (on ''grab'' panel), then use the middle button to drag a rectangular window over the part of the image desired.  The area selected will replace the splash screen graphics.  Strive for something less than 48 high.
 +
 
 +
The image may need to be sized to fit the criterion of 48 or less high.  Pressing the '''S''' key brings up a resizing prompt.  Type the new size in the same format as displayed in the prompt box  (width x height).  Press ''OK''.
  
 
Save the image ''Save'' button.  Choose format '''BPM/PGM/PPM (ascii)'''.  Any file name will do, .ppm extension not required.
 
Save the image ''Save'' button.  Choose format '''BPM/PGM/PPM (ascii)'''.  Any file name will do, .ppm extension not required.
 +
 +
 +
== Image preparation with The Gimp ==
 +
The first step is to get the image you want displayed on the computer monitor.  This image can come from anywhere.  Simple text messages can be created with OpenOffice Word Processor.  The image should be about 48 bits high, this means using a font of around 24 points
 +
 +
Start Gimp:  ''Applications->Graphics->GIMP image Editor''
 +
 +
Within Gimp, acquire the window with the Image:  ''File->Acquire->ScreenShot...''
 +
 +
Press the Grab button on the dialog that appears, and then click in the window that has the image.
 +
At this point, a GIMP editing window will appear.
 +
 +
Select ''Tools->Selection Tools->Rect Select''
 +
Use the mouse to drag a rectangle over the area you want to display on the sign.  The area and size being selected will be displayed on the bottom of the window.  Make sure the height does not exceed 48.  If you make a mistake, ^Z will undo the selection and you can drag another rectangle.
 +
 +
Select ''Image->Crop Selection''
 +
Only what was selected will remain.
 +
 +
Select ''File->Save as...''
 +
In the file name, type whatever name is desired, with '''(important)''' a .ppm extension.
 +
A dialog will appear, select "Ascii" and "OK".
 +
 +
== Displaying an image file ==
  
 
Run ledpanel:  <<<<< need installed location for ledpanel >>>>>>
 
Run ledpanel:  <<<<< need installed location for ledpanel >>>>>>
Line 54: Line 86:
 
The two optional parameters for ledpanel are a threshold valued used to convert grey scale images to b/w bitmap.  The default is '''150''' which works for text images and works for color/greyscale images.  Valid values are 1 thru 255.  The second parameter is the serial port name.  Default is '''/dev/ttyS0'''.
 
The two optional parameters for ledpanel are a threshold valued used to convert grey scale images to b/w bitmap.  The default is '''150''' which works for text images and works for color/greyscale images.  Valid values are 1 thru 255.  The second parameter is the serial port name.  Default is '''/dev/ttyS0'''.
  
== Some multiples of 8 ==
 
 
128, 136, 144, 152, 160, 168, 176, 184, 192, 200, 208, 216, 224, 232, 240, 248, 256, 264, 272, 280, 288, 296, 304, 312, 320, 328, 336, 344, 352, 360, 368, 376
 
  
  
Line 64: Line 93:
  
 
''ledpanel'' and ''xv'' are currently located on ryukin under /home/kurtk.  There are version built for both Dapper and Feisty.
 
''ledpanel'' and ''xv'' are currently located on ryukin under /home/kurtk.  There are version built for both Dapper and Feisty.
 +
 +
The Gimp is part of the standard Ubuntu installation.
  
 
Xv is a bit persnickity running on a Dapper or Feisty desktop with a wheel mouse.  I've had very good behavior on Thinkpad laptops.  If one wants
 
Xv is a bit persnickity running on a Dapper or Feisty desktop with a wheel mouse.  I've had very good behavior on Thinkpad laptops.  If one wants
Line 71: Line 102:
 
== Enhancements, TO DO, etc. ==
 
== Enhancements, TO DO, etc. ==
  
The multistep xv manipulation can be done with X11 programming and would only involve a single step to select the are to be displayed.  The size restrictions (including the multiple of 8) can be removed, and vertical scrolling can be implemented.
+
The multistep xv/Gimp manipulation can be done with X11 programming and would only involve a single step to select the are to be displayed.  The size restrictions can be removed, and vertical scrolling can be implemented.
  
Future development depends an buy in to this concept.  This means someone has to use the Xv method to drive the sign for a while.
+
Future development depends on buy in to this concept.  This means someone has to use the Xv/Gimp method to drive the sign for a while.
 
Then a streamlined program can be written using what's been learned.
 
Then a streamlined program can be written using what's been learned.
 +
 +
== Fancy stuff ==
 +
 +
There is no timeout in ledpanel.  If the image is wider than the display, it will scroll until stopped with a ^C.
 +
 +
Multiple images can be displayed in sequence using a script.  An example follows, including killing a scrolling display so the next image can be displayed.
 +
 +
  #!/bin/bash
 +
  ledpanel foo.ppm &
 +
  sleep 5        # wait 5 seconds, then
 +
  kill %1        # kill the running ledpanel program.
 +
  ledpanel jack  # this will run until killed
 +
 +
 +
[[Category:howto]]

Latest revision as of 07:27, 23 May 2012

The sign no longer exists, page should be deleted

The sign

The thrift store has a 128x48 red LED display sign.

This describes a general way to obtain and display images on the sign.

For information on Paul Stoffregen's ressurection of the sign, see http://llama.freegeek.org/~pjs/ledsign.html

Connections

It's driven by a serial port, the cable is plugged into the box on the back of the sign. Currently the other end of the cable is currently located in the server room and is intended to be plugged into Free Geek's internal application server. But any computer with a serial port can drive the display.

Programs

Pauls's ascii2leds

Paul Stoffregen's program (ascii2leds) takes an ascii image and displays on the LED. The ascii image consists of lines of text, 48 lines of 128 characters each. Blanks are black (non-lit LED) and non blank characters cause the associated LED to light.

usage:

ascii2led <file.text> [port]


Kurt's ledpanel

Kurt Krueger's program takes a bitmap image in the PPM format. The PPM image can be generated by many image editing tools, the tools used this discussion are Xv and The Gimp. The bitmap image can't be any taller than the display (48 bits) but can be of any length. Images wider than the display are horizontally scrolled.

usage:

ledpanel <file.ppm> [threshold] [port]

Image preparation with Xv

Xv's Grab feature allows one to prepare any image that can displayed on a computer for display on the LED sign. Images that are monochrome work best, but full color images will be converted to a b/w bitmap for display on the LED sign.

The first step is to get the image you want displayed on the computer monitor. This image can come from anywhere. Simple text messages can be created with OpenOffice Word Processor. The image should be about 48 bits high, this means using a font of around 24 points. More complicated images can be created with OpenOffice Presentation or The GIMP.

Note: GIMP can resize and write PPM files directly. The Xv steps can be skipped for GIMP processed images.

Start xv <<<< Need to establish an installed Xv location >>>>>.

When the splash screen appears, press the right mouse button. That will bring up the control panel for xv.

Press the Grab button. That will bring up a grab panel that explains usage.

Press Grab (on grab panel), then use the middle button to drag a rectangular window over the part of the image desired. The area selected will replace the splash screen graphics. Strive for something less than 48 high.

The image may need to be sized to fit the criterion of 48 or less high. Pressing the S key brings up a resizing prompt. Type the new size in the same format as displayed in the prompt box (width x height). Press OK.

Save the image Save button. Choose format BPM/PGM/PPM (ascii). Any file name will do, .ppm extension not required.


Image preparation with The Gimp

The first step is to get the image you want displayed on the computer monitor. This image can come from anywhere. Simple text messages can be created with OpenOffice Word Processor. The image should be about 48 bits high, this means using a font of around 24 points

Start Gimp: Applications->Graphics->GIMP image Editor

Within Gimp, acquire the window with the Image: File->Acquire->ScreenShot...

Press the Grab button on the dialog that appears, and then click in the window that has the image. At this point, a GIMP editing window will appear.

Select Tools->Selection Tools->Rect Select Use the mouse to drag a rectangle over the area you want to display on the sign. The area and size being selected will be displayed on the bottom of the window. Make sure the height does not exceed 48. If you make a mistake, ^Z will undo the selection and you can drag another rectangle.

Select Image->Crop Selection Only what was selected will remain.

Select File->Save as... In the file name, type whatever name is desired, with (important) a .ppm extension. A dialog will appear, select "Ascii" and "OK".

Displaying an image file

Run ledpanel: <<<<< need installed location for ledpanel >>>>>>

ledpanel <file>

The bitmap should appear on the LED panel.

The two optional parameters for ledpanel are a threshold valued used to convert grey scale images to b/w bitmap. The default is 150 which works for text images and works for color/greyscale images. Valid values are 1 thru 255. The second parameter is the serial port name. Default is /dev/ttyS0.


Program locations

Subject to change

ledpanel and xv are currently located on ryukin under /home/kurtk. There are version built for both Dapper and Feisty.

The Gimp is part of the standard Ubuntu installation.

Xv is a bit persnickity running on a Dapper or Feisty desktop with a wheel mouse. I've had very good behavior on Thinkpad laptops. If one wants to try the code, it would be best when I (Kurt) am around. This is usually Thursdays (AM in build, PM in laptops).


Enhancements, TO DO, etc.

The multistep xv/Gimp manipulation can be done with X11 programming and would only involve a single step to select the are to be displayed. The size restrictions can be removed, and vertical scrolling can be implemented.

Future development depends on buy in to this concept. This means someone has to use the Xv/Gimp method to drive the sign for a while. Then a streamlined program can be written using what's been learned.

Fancy stuff

There is no timeout in ledpanel. If the image is wider than the display, it will scroll until stopped with a ^C.

Multiple images can be displayed in sequence using a script. An example follows, including killing a scrolling display so the next image can be displayed.

 #!/bin/bash
 ledpanel foo.ppm &
 sleep 5        # wait 5 seconds, then
 kill %1        # kill the running ledpanel program.
 ledpanel jack  # this will run until killed