Looking for LED Ticker Sign with Serial Input
                    Greetings,
Could anyone suggest a source for inexpensive LED "Ticker" signs with serial inputs?
I need a few do do some basic message display from a control system.
Thanks!
                Could anyone suggest a source for inexpensive LED "Ticker" signs with serial inputs?
I need a few do do some basic message display from a control system.
Thanks!
0          
            
Comments
Hi TurnipTruck,
I?ve got just the ticket for you. It?s called the BetaBrite and you can pick them up at most Sam?s Clubs for about $160. It comes with an IR remote control, some messaging software, and a 25 ft. serial cable but the real power comes from the ability to control it yourself via the Alpha Sign Communications Protocol.
The 123 page protocol document can be daunting at first glance and it took me several reads to get the hang of it but it?s not as bad as it looks. The feature set is incredible. There are quite a few special effects and animations built into the protocol and you can program your own custom animations also.
One thing to note is that the sign will keep accurate time once the time is set unless it loses power, however, the sign will not change the date automatically. If you want to use the date function you?ll have to set the date each day.
Here is a link to the BetaBrite and a link to the protocol.
http://www.betabrite.com/
http://www.ams-i.com/Pages/97088061.htm
I bought my BetaBrite a couple of years ago and it?s one of the best $160 toys I?ve ever invested in. If you do decide to pick one of these puppies up, let me know and I?d be happy to post a few lines of code that will get you up and running.
Hope this helps,
Joe
As promised, here is the code with a few examples on how to manipulate the BetaBrite. Just plug in the supplied cable directly into port 1 of an NI series serial port, no crossover or adapter is needed.
This only scratches the surface but hopefully this will help you hit the ground running. The BetaBrite can hold multiple text files (messages) and you can schedule when you want them to run and what sequence to run in along with an assortment of other options.
I use mine to display the current time and temp, daily trivia, today?s events (Jimmy is 16 today. Happy Birthday!), upcoming events (It?s a full moon next Monday. Beware!), stock quotes, and caller ID. I?m a geek, I know. What can I say?
What type of application are you looking at for the ticker?
(***********************************************************) DEFINE_DEVICE dvBetaBrite = 5001:1:0 //RS-232 1 BetaBrite 9600, N, 8, 1 dvTP = 10001:1:0 //touch panel (***********************************************************) DEFINE_CONSTANT //refer to pages 10,11,80,87-89 CHAR cSync[5] = {$00,$00,$00,$00,$00} //packet synchronization CHAR cSOH = {$01} //start of header CHAR cSignType = 'Z' //all sign types CHAR cAddress[2] = '00' //broadcast to all addresses CHAR cSTX = {$02} //start of text CHAR cETX = {$03} //end of text CHAR cEOT = {$04} //end of transmission CHAR cModeCenter[2] = {$1B,' '} //start of mode field, center text CHAR cSetTime[] = 'E ' //set time command code CHAR cShowTime = {$13} //show time control code CHAR cSlots[2] = 'n9' //slot machine animation CHAR cCherryBomb[2] = 'nZ' //cherry bomb animation CHAR cAutoMode = 'o' //let betabrite decide how to display CHAR cScroll = 't' //compressed rotate mode CHAR cCR = {$0D} //forces a line break between messages (***********************************************************) DEFINE_VARIABLE CHAR cHeader[10] //holds a standard header packet (***********************************************************) DEFINE_FUNCTION fnBetaBriteSetTime () { //set the current time on the BetaBrite //refer to page 21 CHAR cHours[2] CHAR cMinutes[2] cHours = FORMAT('%02d',TIME_TO_HOUR(TIME)) cMinutes = FORMAT('%02d',TIME_TO_MINUTE(TIME)) SEND_STRING dvBetaBrite, "cHeader,cSetTime,cHours,cMinutes,cEOT" } (***********************************************************) DEFINE_START cHeader = "cSync,cSOH,cSignType,cAddress,cSTX" (***********************************************************) DEFINE_EVENT DATA_EVENT[dvBetaBrite] { ONLINE: { SEND_COMMAND DATA.DEVICE,'HSOFF' SEND_COMMAND DATA.DEVICE,'SET BAUD 9600,N,8,1 485 DISABLED' SEND_COMMAND DATA.DEVICE,'CHARD-0' fnBetaBriteSetTime () } } BUTTON_EVENT[dvTP,1] { PUSH: { fnBetaBriteSetTime () } } BUTTON_EVENT[dvTP,2] { PUSH: { //clear memory //refer to page 21 for memory allocation of text file storage slots SEND_STRING dvBetaBrite, "cHeader,'E$',cEOT" } } BUTTON_EVENT[dvTP,3] { PUSH: { //just show the time SEND_STRING dvBetaBrite, "cHeader,'A0',cShowTime,cEOT" } } BUTTON_EVENT[dvTP,4] { PUSH: { //show the time and let's throw in a slot machine animation. //we will set this as a priority test file 'A0' //i use a priority text file to display caller id because //it stops all other running text files until the priority //text file is stopped. //refer to pages 18-21, 80, 88-89 SEND_STRING dvBetaBrite, "cHeader,'A0',cShowTime,cModeCenter,cSlots,cEOT" } } BUTTON_EVENT[dvTP,5] { PUSH: { //another priority text file but with a couple of more lines to display SEND_STRING dvBetaBrite, "cHeader,'A0',cShowTime, cModeCenter,cAutoMode,' AMX Rocks!',cCR, cModeCenter,cScroll,' Is this thing cool or what?', cModeCenter,cCherryBomb,cEOT" } } BUTTON_EVENT[dvTP,6] { PUSH: { //stop running the A0 priority text file, //since we have no other text files scheduled to run //the display will just go blank SEND_STRING dvBetaBrite, "cHeader,'A0',cEOT" } } (***********************************************************) DEFINE_PROGRAM (***********************************************************) (* END OF PROGRAM *) (* DO NOT PUT ANY CODE BELOW THIS COMMENT *) (* OR IT'S THE END OF THE WORLD AS WE KNOW IT *) (***********************************************************)Have fun! And let me know how it turns out.
Joe