Introduction: USE a BASIC STAMP TO RUN AN RGB BRICK

This project displays four moving images  :
  • A US FLAG
  • A Purple/Red Throbbing Heart
  • A Yellow Eye Opens a Blue Iris Looks Left & Right then Closes
  • A slowing Flasher of three colored Letters 'M' , 'J' , 'T'

Men's Jewelry and Toy.

Because we (Men) will wear Jewelry and because we (Men) Toy with almost anything. Here presented is a programable LED RGB UFO graphic COMmunicator.  The MJT composed of a Stamp micro-controller, a 5x7 matrix RGB LED 'brick' and some switches to operate this Ible contraption.

Step 1: Simple SCHEMATIC


Circuit Description
This is a micro-controller Stamp operating a 5_column by 7_row by 3_LED_per_cell matrix RGB display.  The Stamp uses a simple basic program running fast enough to multiplex red green and blue individual LEDs to create color images on the 5 x 7 display area.  A 74HC4017 IC_U1 is clocked by line P0 (pin5) of the Stamp to sequentially multiplex the seven rows. U1 is wired to self reset on every 8th rising clock pulse.  U1 can also be forced to reset sync by holding the clock line high for a time.   

Parts List
BS2 Stamp from Parallax.
U1 a 16pin 74HC4017 IC
U2 actually an MC7805 a TO-220 5V regulator
D1 & D2  signal diodes
R1 actually a 33K resistor
R2 100K resistor
DIP1 & 2 actually 100 ohm resistors
RGB LED matrix
SW1 & 2 momentary push buttons
Wire-wrap IC sockets Jameco



See the thin plastic shirt pocket support for wearing the finished MJT display.

Step 2: Short VIDEO


This short video demonstrates ( in poor camera color ) a Red, White and Blue USA Flag to indicate country of origin to an alien. Followed by a brilliant red and purple ( very poor camera color ) throbbing heart to indicate friendly intentions. Followed by a single yellow eye with blue iris looking left,  right and blinking to indicate a desire to look around the alien craft.  Finally a red letter 'M",  a white letter 'J'  and the Yellow letter 'T' signing as the MJToy.

 

Step 3: DETAILS COMPONENT SIDE

Good views of component layout.

Step 4: WIREWRAP SIDE DETAILS

Note the wire-wrap pins are cut short for reducing thickness of the circuit board and some are soldered and bent over to hold the wiring together.

Step 5: SOFTWARE


Parallax the maker of the Stamp micro-controllers provides a very good and FREE windows editor.  Just down load the editor and with the following text cut and pasted into it. You will with a simple RS232 or USB to 4 pin cable ( Construct it yourself or buy from Parallax site ) be communicating with aliens soon.

A text file of this basic program ( S.BS2 ) is also included.

-----------------------------------------------------------------------------------------------------------------------------------

'
'FLAG-FLICKER & HEART-THROB & EYE-OPEN-LEFT-RIGHT-CLOSE & M-J-T
'
'Scans from Left to Right
'
' 1 2 3 4 5 6 7
' .---------------.
'1 | o o o o o o o |
'2 | o o o o o o o |
'3 | o o o o o o o |
'4 | o o o o o o o |
'5 | o o o o o o o |
' `---------------@

I VAR NIB
RED VAR NIB
BLU VAR NIB
PTR VAR NIB
LOP VAR NIB
DAT VAR NIB(15)
TABLE1 DATA (1)
FAT VAR BYTE
TIME VAR WORD

DIRS=-1 'All Outputs
LOP=3 'DO ANY FOUR

READ 0,I:BRANCH I,[FLAG,HEART,EYE,MJT,FINI]

'========================= FLAG ==============================
FLAG
WRITE 0,1 'EEPROM=0 NEXT=1
TIME=9000
' 12345 12345 show LED
' BBBBBgggggRRRRR during

FOR FAT=0 TO 80 'RED/WHT/BLU
OUTS=%1111111111011111:PAUSE 4
OUTS=%1011110111111111:PAUSE 4
OUTS=%1011111111111111:PAUSE 4
OUTS=%1101111111111111:PAUSE 4
NEXT
GOTO LOOP_F


LOOP_F
FOR I=1 TO 4
' 12345 12345 DRIVE 15 LEDS
' BBBBBgggggRRRRR COLLUMN by COLLUMN
OUTS=%0001111111111111
OUTS=%0011111111111110:GOSUB P
OUTS=%1001111111111110:GOSUB P
OUTS=%0101111111111110:GOSUB P
OUTS=%1110111101111110:GOSUB P
OUTS=%1110111111111100:GOSUB P
NEXT

FOR I=1 TO 3
' 12345 12345 DRIVE 15 LEDS
' BBBBBgggggRRRRR COLLUMN by COLLUMN
OUTS=%1010111111111101
OUTS=%1010111111111110:GOSUB P
OUTS=%1111110101111110:GOSUB P
OUTS=%1111111111010100:GOSUB P
NEXT

TIME=TIME-1:IF TIME>1 THEN LOOP_F
LOP=LOP-1:IF LOP = 0 THEN FINI


'========================= HEART ==============================
HEART
WRITE 0,2 'EEPROM=1 NEXT=2
TIME=9000
'~~~~~~~~~~~~~~~~~~~~Clock
' :
' 12345 12345: show LED
' BBBBBgggggRRRRR: during
OUTS=%1001111111100111 ' wait
PAUSE 900 'Reset Scanner to Collumn 1
OUTS=%1111111111111110

DAT(0) =0 'BLUE THROB SEQUENCE
DAT(1) =0
DAT(2) =1
DAT(3) =1
DAT(4) =2
DAT(5) =3
DAT(6) =4
DAT(7) =5
DAT(8) =5
DAT(9) =5
DAT(10)=4
DAT(11)=3
DAT(11)=2
DAT(12)=1
DAT(13)=1
DAT(14)=0
DAT(15)=0

LOOP_H

PTR=PTR+1:BLU=DAT(PTR):RED=5-BLU

FOR I=0 TO RED '12345 12345
' BBBBBgggggRRRRR BBBBBgggggRRRRR
OUTS=%1111111111100110:OUTS=OUTS:OUTS=%1111111111100111
OUTS=%1111111111000010:OUTS=OUTS:OUTS=%1111111111000011
OUTS=%1111111111000000:OUTS=OUTS:OUTS=%1111111111100001
OUTS=%1111111111100000:OUTS=OUTS:OUTS=%1111111111100001
OUTS=%1111111111000000:OUTS=OUTS:OUTS=%1111111111000011
OUTS=%1111111111000010:OUTS=OUTS:OUTS=%1111111111100111
OUTS=%1111111111100110:OUTS=OUTS:OUTS=%1111111111111111
NEXT

TIME=TIME-1

FOR I=0 TO BLU '12345 12345
' BBBBBgggggRRRRR BBBBBgggggRRRRR
OUTS=%1001111111111110:OUTS=OUTS:OUTS=%1001111111111111
OUTS=%0000111111111110:OUTS=OUTS:OUTS=%0000111111111111
OUTS=%0000011111111110:OUTS=OUTS:OUTS=%1000011111111111
OUTS=%1000011111111110:OUTS=OUTS:OUTS=%1000011111111111
OUTS=%0000011111111110:OUTS=OUTS:OUTS=%0000111111111111
OUTS=%0000111111111110:OUTS=OUTS:OUTS=%1001111111111111
OUTS=%1001111111111110:OUTS=OUTS:OUTS=%1111111111111111
NEXT

IF TIME>1 THEN LOOP_H
LOP=LOP-1:IF LOP = 0 THEN FINI

'========================= EYE ==============================
EYE
WRITE 0,3 'EEPROM=2 NEXT=3
TIME=9000

'EYE LOOKS LEFT & RIGHT
'
'~~~~~~~~~~~~~~~~~~~~Clock
' :
' 12345 12345: show LED
' BBBBBgggggRRRRR: during
OUTS=%1111111011110111 ' wait

PAUSE 900 'Reset Scanner to Collumn 1

PTR=0 'SPCLCRCPS 0123456789
FAT=200

LOOP_E

FAT=FAT-1:IF FAT>0 THEN E_BALL
FAT=35:PTR=PTR+1:IF PTR<9 THEN E_BALL
PTR=0

E_BALL

TIME=TIME-1:IF TIME<2 THEN EYE_TEST

BRANCH PTR,[SHUT,PEEK,CENTER,LEFT,CENTER,RIGHT,CENTER,PEEK,SHUT]

CENTER ' 12345 12345 12345
' BBBBBgggggRRRRR BBBBBgggggRRRRR
GOSUB DSPL 'Leader
GOSUB DSPM 'Middle
GOSUB DSPE 'Ender
' BBBBBgggggRRRRR BBBBBgggggRRRRR
OUTS=%1111111111111111:OUTS=%1111111111111110
HIGH 0:LOW 0
GOSUB PUPIL
OUTS=%1111111111111111:OUTS=%1111111111111110
HIGH 0:LOW 0:GOTO LOOP_E

RIGHT 'BBBBgggggRRRRR BBBBBgggggRRRRR
GOSUB DSPL 'Leader
GOSUB DSPM 'Middle
OUTS=%1111101110011101:PAUSE 1:LOW 0
OUTS=%1111110001100011:PAUSE 1:LOW 0
' BBBBBgggggRRRRR BBBBBgggggRRRRR
GOSUB DARK3
GOSUB PUPIL
OUTS=%1111111111111111:OUTS=%1111111111111110
GOTO LOOP_E

LEFT 'BBBBBgggggRRRRR BBBBBgggggRRRRR
OUTS=%1111110001100011:PAUSE 1:LOW 0
OUTS=%1111101110011101:PAUSE 1:LOW 0
GOSUB DSPM 'Middle
GOSUB DSPE 'Ender

'OUTS=%1111111111111110
' BBBBBgggggRRRRR BBBBBgggggRRRRR
OUTS=%1111111111111111:OUTS=%1111111111111110
GOSUB PUPIL
GOSUB DARK3
GOTO LOOP_E

DSPL
OUTS=%1111111011110111:PAUSE 1:LOW 0
OUTS=%1111110101101011:PAUSE 1:LOW 0
RETURN

DSPM
OUTS=%1111101110011101:PAUSE 1:LOW 0
OUTS=%1111101110011101:PAUSE 1:LOW 0
OUTS=%1111101110011101:PAUSE 1:LOW 0
RETURN

DSPE
OUTS=%1111110101101011:PAUSE 1:LOW 0
OUTS=%1111111011110111:PAUSE 1:LOW 0
RETURN

PUPIL
OUTS=%1000111111111111:PAUSE 0:OUTS=%1101111111111110:PAUSE 1
OUTS=%1000111011111111:PAUSE 0:OUTS=%1000111111111110:PAUSE 1
OUTS=%1000111111111111:PAUSE 0:OUTS=%1101111111111110:PAUSE 1
RETURN

DARK3
OUTS=%1111111111111111:LOW 0
HIGH 0:LOW 0
HIGH 0:LOW 0
RETURN

PEEK
OUTS=%1111111011110111:PAUSE 1:LOW 0
OUTS=%1111111011110111:PAUSE 1:LOW 0
OUTS=%1111110101101011:PAUSE 1:LOW 0
OUTS=%1111110101101011:PAUSE 1:LOW 0
OUTS=%1111110101101011:PAUSE 1:LOW 0
OUTS=%1111111011110111:PAUSE 1:LOW 0
OUTS=%1111111011110111:PAUSE 1:LOW 0

OUTS=%1111111111111111:PAUSE 1:LOW 0
OUTS=%1111111111111111:PAUSE 1:LOW 0
OUTS=%1101111111111111:PAUSE 0:OUTS=%1101111111111110:PAUSE 1
OUTS=%1101111111111111:PAUSE 0:OUTS=%1101111011111110:PAUSE 1
OUTS=%1101111111111111:PAUSE 0:OUTS=%1101111111111110:PAUSE 1
OUTS=%1111111111111111:PAUSE 1:LOW 0
OUTS=%1111111111111111:PAUSE 1:LOW 0
GOTO LOOP_E

SHUT
OUTS=%1111111011110111:PAUSE 1:LOW 0
OUTS=%1111111011110111:PAUSE 1:LOW 0
OUTS=%1111111011110111:PAUSE 1:LOW 0
OUTS=%1111111011110111:PAUSE 1:LOW 0
OUTS=%1111111011110111:PAUSE 1:LOW 0
OUTS=%1111111011110111:PAUSE 1:LOW 0
OUTS=%1111111011110111:PAUSE 1:OUTS=%1111111111111110
GOTO LOOP_E


EYE_TEST
LOP=LOP-1:IF LOP = 0 THEN FINI

'============ Men's Jewelry & TOY ==============================
MJT
WRITE 0,4 'EEPROM=3 NEXT=4

FOR FAT=0 TO 80
OUTS=%1110111101111111:PAUSE 4
OUTS=%1110111111111111:PAUSE 4
OUTS=%1111111110111101:PAUSE 4
OUTS=%1111111111110111:PAUSE 4
NEXT

TIME=2

LOOP_T

FOR FAT=1 TO TIME ' M
' BBBBBgggggRRRRR BBBBBgggggRRRRR
OUTS=%1111111111111111:OUTS=%1111111111111110
OUTS=%1111111111000111:pause 1:OUTS=%1111111111111000:pause 1
OUTS=%1111111111101111:pause 1:OUTS=%1111111111111110
OUTS=%1111111111110111:pause 1:OUTS=%1111111111111110
OUTS=%1111111111101111:pause 1:OUTS=%1111111111111110
OUTS=%1111111111000111:pause 1:OUTS=%1111111111111000:pause 1
OUTS=%1111111111111111:OUTS=%1111111111111110
pause 1:NEXT


FOR FAT=1 TO TIME ' J
' BBBBBgggggRRRRR BBBBBgggggRRRRR
OUTS=%1111111111111111:OUTS=%1111111111111110
OUTS=%1100111001111111:pause 1:OUTS=%1100111111111110:pause 1
OUTS=%0111001110111111:pause 1:OUTS=%0111011111111110:pause 1
OUTS=%0111001110111111:pause 1:OUTS=%0111011111111110:pause 1
OUTS=%0111101111111111:pause 1:OUTS=%1011110111111110:pause 1
OUTS=%1101111011111110:pause 1:OUTS=%1110111101111110:pause 1
OUTS=%0011111111111110:pause 1:OUTS=%1100111111111110:pause 1
OUTS=%0111101111111111:pause 1:OUTS=%0111111111111110:pause 1
OUTS=%1111111111111111:OUTS=%1111111111111110
pause 1:NEXT
'goto JJ

FOR FAT=1 TO TIME ' T
' BBBBBgggggRRRRR BBBBBgggggRRRRR
OUTS=%1111111111111111:OUTS=%1111111111111110
OUTS=%1111101111111111:pause 1:OUTS=%1111111111011110:pause 1
OUTS=%1111101111111111:pause 1:OUTS=%1111111111011110:pause 1
OUTS=%1111101111111111:pause 1:OUTS=%1111111111011110:pause 1
OUTS=%1111110011111110:pause 1:OUTS=%1111111111100110:pause 1
OUTS=%1111111100111110:pause 1:OUTS=%1111111111111000:pause 1
OUTS=%1111101111111111:pause 1:OUTS=%1111111111011110:pause 1
OUTS=%1111101111111111:pause 1:OUTS=%1111111111011110:pause 1
OUTS=%1111111111111111:OUTS=%1111111111111110
NEXT

FOR FAT=1 TO TIME
PAUSE 14:NEXT

TIME=TIME+2:IF TIME<80 THEN LOOP_T
LOP=LOP-1:IF LOP = 0 THEN FINI
GOTO FLAG

P:RETURN

'==================== FINISHED ==============
FINI
OUTS=%1111111111111111
WRITE 0,0 'EEPROM=3 NEXT=1
END


Step 6: Author Note


The Parallax BSX is faster then the older BS2  Basic Stamp.  It should make a brighter display, pin out is the same.

Comments

About This Instructable

2,678views

6favorites

License:

Bio: Last time in my life that I saw the moon that close to me... I was born in the capital city of a country that ... More »
More by iceng:GRAPE GAPREVISED COOLING SLABSTYRO ROBOT HEAD . LIFE SIZE & BATTLING . As a COSTUME
Add instructable to: