Project:Dispatcher

From London Hackspace Wiki

Phil has a load of old radio dispatchers consoles lying around, they look like an interesting basis for a number of projects.

whats in the box

  • A sloping font solidly constructed box in an attractive institution green colour.
  • 30 buttons, in a group of 8, one of 9, a big red button and the rest in a numeric keypad with * and #.
  • 32 leds between the buttons.
  • a speaker.
  • 3 x potentiomiters.
  • a 2x16 lcd screen with standard HD47780 controller (not 100% sure it's 2x16, i've not tried it yet).

possible uses

  • cnc machine interface.
  • electronic music sequencer/drum machine, or other musical device.
  • pretty much anything that needs a good solid control desk.

info

pics

half_IMG_3136.JPG half_IMG_3133.JPG

(we can fairly eaisly make new labels using the laser cutter).

example code

(for an mbed, but it's plain C).

http://mbed.org/users/Jasper/programs/dispatcher/lpm5jj/docs/main_8cpp_source.html

pinouts

The Key/led board is connected by an 8 pin connector, using the colors of the cable as a guide the pinout is:

orn     common led anode (i.e. +5V)
blk     Ground
prp     2a              buttons pl
blu     4a              common clock               
red     +5V      
grn     3a              serial data for the leds     
wht     1a              led strobe              
yel     5y              from buttons data (output from the board)

There are 32 leds, the bits are:

0-15 :  first 4 colums, botton to top, left to right
16:     single to right of the brb
17:     single, botton left.
18,19:  pair on right, 18 is top
20-31:  3 blocks of 4 in the middle, starting at the right, top down.

The buttons are:

#define      CH7 0x00000001
#define KEY_HASH 0x00000002
#define      CH6 0x00000004
#define      CH5 0x00000008
#define      CH4 0x00000010
#define      CH3 0x00000020
#define      CH2 0x00000040
#define      CH1 0x00000080
#define     TAPE 0x00000100
#define   B_CAST 0x00000200
#define     CONN 0x00000400
#define      T_T 0x00000800
#define      MON 0x00001000
#define      SEL 0x00002000
#define       LS 0x00004000
#define      TEL 0x00008000
#define    KEY_5 0x00010000
#define    KEY_4 0x00020000
#define    KEY_3 0x00040000
#define    KEY_2 0x00080000
#define    KEY_1 0x00100000
#define      BRB 0x00200000 /* actually PTT, but i prefer Big Red Button */
#define     FUNC 0x00400000
#define    CTCSS 0x00800000
#define    KEY_6 0x01000000
#define    KEY_0 0x02000000
#define KEY_STAR 0x04000000
#define    KEY_9 0x08000000
#define    KEY_8 0x10000000
#define    KEY_7 0x20000000

When you read in the button bits and the result with 0x3fffffff to ignore the unused bits.