Mutiplexed LED grid

Post your FreeBASIC source, examples, tips and tricks here. Please don’t post code without including an explanation.
Turd
Posts: 175
Joined: Aug 31, 2007 23:34
Location: Saskatchewan, Canada

Mutiplexed LED grid

Post by Turd »

I found an LED grid in a toy so I connected it to the parallel port on my computer.
I clock a 4017 chip with the control port which cycles through the columns. The data port runs the rows.

Heres a vid :-)

This runs the display:

Code: Select all

dim buffer(6) as integer
dim as double start, runtime 
dim as integer i, ii

screen 7

out 890, 0

out 890, 5: sleep 10: out 890, 7: sleep 10

open "fb.txt" for binary as #1

runtime = .3

do

	for i = 1 to 6
		get #1, (i + ii), buffer(i)
	next i

	start = timer

	do
		out 888, buffer(1): sleep 1: out 888, 0: out 890, 7: out 890, 6
		out 888, buffer(2): sleep 1: out 888, 0: out 890, 7: out 890, 6
		out 888, buffer(3): sleep 1: out 888, 0: out 890, 7: out 890, 6
		out 888, buffer(4): sleep 1: out 888, 0: out 890, 7: out 890, 6
		out 888, buffer(5): sleep 1: out 888, 0: out 890, 7: out 890, 6
		out 888, buffer(6): sleep 1: out 888, 0: out 890, 5: out 890, 7
		if inkey$ = chr(27) then end
	loop until (timer - start) > runtime

	ii = ii + 1
	
	if ii > 50 then
	ii = 0
	end if
	
loop

out 890, 0
out 888, 0

'all high 4
'reset low and clock low 7
'reset low and clock high 6
'reset high and clock low 5
'reset high and clock high 4
'clock 1
'reset 2
'power 3, 4
And this makes the file that has the text:

Code: Select all

open "fb.txt" for binary as #1

put #1, 1, chr(&b0000000)
put #1, 2, chr(&b0000000)
put #1, 3, chr(&b0000000)
put #1, 4, chr(&b0000000)
put #1, 5, chr(&b1111111)
put #1, 6, chr(&b0001001)
put #1, 7, chr(&b0001001)
put #1, 8, chr(&b0001001)
put #1, 9, chr(&b0000000)
put #1, 10, chr(&b1111111)
put #1, 11, chr(&b0001001)
put #1, 12, chr(&b0001001)
put #1, 13, chr(&b0001001)
put #1, 14, chr(&b1110110)
put #1, 15, chr(&b0000000)
put #1, 16, chr(&b1111111)
put #1, 17, chr(&b1001001)
put #1, 18, chr(&b1001001)
put #1, 19, chr(&b1001001)
put #1, 20, chr(&b0000000)
put #1, 21, chr(&b1111111)
put #1, 22, chr(&b1001001)
put #1, 23, chr(&b1001001)
put #1, 24, chr(&b1001001)
put #1, 25, chr(&b0000000)
put #1, 26, chr(&b0000000)
put #1, 27, chr(&b1111111)
put #1, 28, chr(&b1001001)
put #1, 29, chr(&b1001001)
put #1, 30, chr(&b0110110)
put #1, 31, chr(&b0000000)
put #1, 32, chr(&b1111100)
put #1, 33, chr(&b0001010)
put #1, 34, chr(&b0001001)
put #1, 35, chr(&b0001010)
put #1, 36, chr(&b1111100)
put #1, 37, chr(&b0000000)
put #1, 38, chr(&b0100110)
put #1, 39, chr(&b1001001)
put #1, 40, chr(&b1001001)
put #1, 41, chr(&b0110010)
put #1, 42, chr(&b0000000)
put #1, 43, chr(&b1000001)
put #1, 44, chr(&b1111111)
put #1, 45, chr(&b1000001)
put #1, 46, chr(&b0000000)
put #1, 47, chr(&b0111110)
put #1, 48, chr(&b1000001)
put #1, 49, chr(&b1000001)
put #1, 50, chr(&b0100010)
put #1, 51, chr(&b0000000)
put #1, 52, chr(&b0000000)
put #1, 53, chr(&b0000000)
put #1, 54, chr(&b0000000)
put #1, 55, chr(&b0000000)
put #1, 56, chr(&b0000000)
put #1, 57, chr(&b0000000)
put #1, 58, chr(&b0000000)
KristopherWindsor
Posts: 2428
Joined: Jul 19, 2006 19:17
Location: Sunnyvale, CA
Contact:

Post by KristopherWindsor »

Nice. :)
Mentat
Posts: 332
Joined: Oct 27, 2007 15:23
Location: NC, US
Contact:

Post by Mentat »

So I take it you have too much time on your hands and you waste it on pointless geeky-toy lights.

...

Okay, now I'm jealous. :)
Turd
Posts: 175
Joined: Aug 31, 2007 23:34
Location: Saskatchewan, Canada

Post by Turd »

Thanks.

Yeah, there is no point to it, just something to play with lol
Sslaxx
Posts: 107
Joined: Aug 31, 2008 16:53
Location: Malvern, Worcs, UK
Contact:

Nice one!

Post by Sslaxx »

What toy was it? Might point this out to a circuit-bending friend of mine, he might be interested.
Turd
Posts: 175
Joined: Aug 31, 2007 23:34
Location: Saskatchewan, Canada

Post by Turd »

I can't really remember, I think it was some kinda blue robot looking toy, and maybe a foot high. It was for preschoolers.
I took it apart about three months ago. Sorry if thats no help.
Turd
Posts: 175
Joined: Aug 31, 2007 23:34
Location: Saskatchewan, Canada

Post by Turd »

I made a little program so I can just type a line of text, hit enter and it will start scrolling across the LED matrix.

Heres some pics :-)

Image
Image
Image

ps. ^thats Ubuntu, not Vista ;-)
Turd
Posts: 175
Joined: Aug 31, 2007 23:34
Location: Saskatchewan, Canada

Post by Turd »

I added a little pointer to point at the letter that is being displayed.

Image

I think I might buy a bunch of LEDs and make a bigger one. This one is 6x7, maybe I'll try to make one that is 8x16 using a 74HC154 chip to control the vertical columns.

Code: Select all

dim buffer(6) as ubyte
dim grid(300) as ubyte
dim as double start, runtime, arrow
dim as integer i, ii, iii, gridlength
dim as string txt

screenres 400, 40, 8

out 890, 0

out 890, 5: sleep 10: out 890, 7: sleep 10

open "fbfont.txt" for binary as #1

do
cls :color 15, 0
clear buffer(1), 0, 6
clear grid(1), 0, 300
i = 0: ii = 0: iii = 0: gridlength = 0: txt = ""

print "Type the text you wish to be displayed. x to exit:"
input "",txt

cls :color 12, 0
locate 2, 1
print txt
print
color 15, 0
print "Hit x to stop"

if txt = "x" or txt = "" then
	close #1: end
end if

gridlength = 6 * len(txt)

for i = 1 to len(txt)
		if asc(txt, i) > 64 and asc(txt, i) < 92 then
			for ii = 1 + (6 * ( asc(txt, i) - 65)) to 6 + (6 * ( asc(txt, i) - 65))
				iii = iii + 1
				get #1, ii, grid(iii)
			next ii
		end if
		
		if asc(txt, i) > 96 and asc(txt, i) < 123 then
			for ii = 1 + (6 * ( asc(txt, i) - 97)) to 6 + (6 * ( asc(txt, i) - 97))
				iii = iii + 1
				get #1, ii, grid(iii)
			next ii
		end if
		
next i

runtime = .3

ii = 0

do

	for i = 1 to 6
		buffer(i) = grid(i + ii)
	next i

	start = timer

	do
		out 888, buffer(1): sleep 1: out 888, 0: out 890, 7: out 890, 6
		out 888, buffer(2): sleep 1: out 888, 0: out 890, 7: out 890, 6
		out 888, buffer(3): sleep 1: out 888, 0: out 890, 7: out 890, 6
		out 888, buffer(4): sleep 1: out 888, 0: out 890, 7: out 890, 6
		out 888, buffer(5): sleep 1: out 888, 0: out 890, 7: out 890, 6
		out 888, buffer(6): sleep 1: out 888, 0: out 890, 5: out 890, 7
		if inkey$ = "x" then goto exitdo
	loop until (timer - start) > runtime

	ii = ii + 1
	
	arrow = 1 + (ii / 6)
	locate 3, 1: print "                                                  "
	locate 3, arrow: print "^"
	
	if ii > gridlength then
	ii = 0
	end if
	
loop
exitdo:
loop

out 890, 0
out 888, 0

'all high 4
'reset low and clock low 7
'reset low and clock high 6
'reset high and clock low 5
'reset high and clock high 4
'clock 1
'reset 2
'power 3, 4
Font file maker:

Code: Select all

pen "fbfont.txt" for binary as #1
'A
put #1, 1, chr(&b1111100)
put #1, 2, chr(&b0001010)
put #1, 3, chr(&b0001001)
put #1, 4, chr(&b0001010)
put #1, 5, chr(&b1111100)
put #1, 6, chr(&b0000000)
'B
put #1, 7, chr(&b1111111)
put #1, 8, chr(&b1001001)
put #1, 9, chr(&b1001001)
put #1, 10, chr(&b1001001)
put #1, 11, chr(&b0110110)
put #1, 12, chr(&b0000000)
'C
put #1, 13, chr(&b0111110)
put #1, 14, chr(&b1000001)
put #1, 15, chr(&b1000001)
put #1, 16, chr(&b1000001)
put #1, 17, chr(&b0100010)
put #1, 18, chr(&b0000000)
'D
put #1, 19, chr(&b1111111)
put #1, 20, chr(&b1000001)
put #1, 21, chr(&b1000001)
put #1, 22, chr(&b1000001)
put #1, 23, chr(&b0111110)
put #1, 24, chr(&b0000000)
'E
put #1, 25, chr(&b1111111)
put #1, 26, chr(&b1001001)
put #1, 27, chr(&b1001001)
put #1, 28, chr(&b1001001)
put #1, 29, chr(&b1001001)
put #1, 30, chr(&b0000000)
'F
put #1, 31, chr(&b1111111)
put #1, 32, chr(&b0001001)
put #1, 33, chr(&b0001001)
put #1, 34, chr(&b0001001)
put #1, 35, chr(&b0001001)
put #1, 36, chr(&b0000000)
'G
put #1, 37, chr(&b0111110)
put #1, 38, chr(&b1000001)
put #1, 39, chr(&b1000001)
put #1, 40, chr(&b1010001)
put #1, 41, chr(&b1110010)
put #1, 42, chr(&b0000000)
'H
put #1, 43, chr(&b1111111)
put #1, 44, chr(&b0001000)
put #1, 45, chr(&b0001000)
put #1, 46, chr(&b0001000)
put #1, 47, chr(&b1111111)
put #1, 48, chr(&b0000000)
'I
put #1, 49, chr(&b1000001)
put #1, 50, chr(&b1000001)
put #1, 51, chr(&b1111111)
put #1, 52, chr(&b1000001)
put #1, 53, chr(&b1000001)
put #1, 54, chr(&b0000000)
'J
put #1, 55, chr(&b0100001)
put #1, 56, chr(&b1000001)
put #1, 57, chr(&b0111111)
put #1, 58, chr(&b0000001)
put #1, 59, chr(&b0000001)
put #1, 60, chr(&b0000000)
'K
put #1, 61, chr(&b1111111)
put #1, 62, chr(&b0001000)
put #1, 63, chr(&b0010100)
put #1, 64, chr(&b0010010)
put #1, 65, chr(&b1100001)
put #1, 66, chr(&b0000000)
'L
put #1, 67, chr(&b1111111)
put #1, 68, chr(&b1000000)
put #1, 69, chr(&b1000000)
put #1, 70, chr(&b1000000)
put #1, 71, chr(&b1000000)
put #1, 72, chr(&b0000000)
'M
put #1, 73, chr(&b1111111)
put #1, 74, chr(&b0000010)
put #1, 75, chr(&b0001100)
put #1, 76, chr(&b0000010)
put #1, 77, chr(&b1111111)
put #1, 78, chr(&b0000000)
'N
put #1, 79, chr(&b1111111)
put #1, 80, chr(&b0000110)
put #1, 81, chr(&b0011100)
put #1, 82, chr(&b0110000)
put #1, 83, chr(&b1111111)
put #1, 84, chr(&b0000000)
'O
put #1, 85, chr(&b0111110)
put #1, 86, chr(&b1000001)
put #1, 87, chr(&b1000001)
put #1, 88, chr(&b1000001)
put #1, 89, chr(&b0111110)
put #1, 90, chr(&b0000000)
'P
put #1, 91, chr(&b1111111)
put #1, 92, chr(&b0001001)
put #1, 93, chr(&b0001001)
put #1, 94, chr(&b0001001)
put #1, 95, chr(&b0000110)
put #1, 96, chr(&b0000000)
'Q
put #1, 97, chr(&b0011110)
put #1, 98, chr(&b0100001)
put #1, 99, chr(&b0100001)
put #1, 100, chr(&b0110001)
put #1, 101, chr(&b1011110)
put #1, 102, chr(&b0000000)
'R
put #1, 103, chr(&b1111111)
put #1, 104, chr(&b0001001)
put #1, 105, chr(&b0001001)
put #1, 106, chr(&b0011001)
put #1, 107, chr(&b1100110)
put #1, 108, chr(&b0000000)
'S
put #1, 109, chr(&b0100110)
put #1, 110, chr(&b1001001)
put #1, 111, chr(&b1001001)
put #1, 112, chr(&b1001001)
put #1, 113, chr(&b0110010)
put #1, 114, chr(&b0000000)
'T
put #1, 115, chr(&b0000001)
put #1, 116, chr(&b0000001)
put #1, 117, chr(&b1111111)
put #1, 118, chr(&b0000001)
put #1, 119, chr(&b0000001)
put #1, 120, chr(&b0000000)
'U
put #1, 121, chr(&b0111111)
put #1, 122, chr(&b1000000)
put #1, 123, chr(&b1000000)
put #1, 124, chr(&b1000000)
put #1, 125, chr(&b0111111)
put #1, 126, chr(&b0000000)
'V
put #1, 127, chr(&b0011111)
put #1, 128, chr(&b0100000)
put #1, 129, chr(&b1000000)
put #1, 130, chr(&b0100000)
put #1, 131, chr(&b0011111)
put #1, 132, chr(&b0000000)
'W
put #1, 133, chr(&b1111111)
put #1, 134, chr(&b0100000)
put #1, 135, chr(&b0011000)
put #1, 136, chr(&b0100000)
put #1, 137, chr(&b1111111)
put #1, 138, chr(&b0000000)
'X
put #1, , chr(&b1100011)
put #1, , chr(&b0010100)
put #1, , chr(&b0001000)
put #1, , chr(&b0010100)
put #1, , chr(&b1100011)
put #1, , chr(&b0000000)
'Y
put #1, , chr(&b0000011)
put #1, , chr(&b0000100)
put #1, , chr(&b1111000)
put #1, , chr(&b0000100)
put #1, , chr(&b0000011)
put #1, , chr(&b0000000)
'Z
put #1, , chr(&b1000011)
put #1, , chr(&b1000101)
put #1, , chr(&b1001001)
put #1, , chr(&b1010001)
put #1, , chr(&b1100001)
put #1, , chr(&b0000000)
'1
put #1, , chr(&b1000000)
put #1, , chr(&b1000010)
put #1, , chr(&b1111111)
put #1, , chr(&b1000000)
put #1, , chr(&b1000000)
put #1, , chr(&b0000000)
'2
put #1, , chr(&b1000010)
put #1, , chr(&b1100001)
put #1, , chr(&b1010001)
put #1, , chr(&b1001001)
put #1, , chr(&b1000110)
put #1, , chr(&b0000000)
'3
put #1, , chr(&b0100010)
put #1, , chr(&b1001001)
put #1, , chr(&b1001001)
put #1, , chr(&b1001001)
put #1, , chr(&b0110110)
put #1, , chr(&b0000000)
'4
put #1, , chr(&b0001111)
put #1, , chr(&b0001000)
put #1, , chr(&b0001000)
put #1, , chr(&b1111111)
put #1, , chr(&b0001000)
put #1, , chr(&b0000000)
'5
put #1, , chr(&b0101111)
put #1, , chr(&b1001001)
put #1, , chr(&b1001001)
put #1, , chr(&b1001001)
put #1, , chr(&b0110001)
put #1, , chr(&b0000000)
'6
put #1, , chr(&b0111110)
put #1, , chr(&b1001001)
put #1, , chr(&b1001001)
put #1, , chr(&b1001001)
put #1, , chr(&b0110010)
put #1, , chr(&b0000000)
'7
put #1, , chr(&b1100001)
put #1, , chr(&b0010001)
put #1, , chr(&b0001001)
put #1, , chr(&b0000101)
put #1, , chr(&b0000011)
put #1, , chr(&b0000000)
'8
put #1, , chr(&b0110110)
put #1, , chr(&b1001001)
put #1, , chr(&b1001001)
put #1, , chr(&b1001001)
put #1, , chr(&b0110110)
put #1, , chr(&b0000000)
'9
put #1, , chr(&b0100110)
put #1, , chr(&b1001001)
put #1, , chr(&b1001001)
put #1, , chr(&b1001001)
put #1, , chr(&b0111110)
put #1, , chr(&b0000000)
'0
put #1, , chr(&b0111110)
put #1, , chr(&b1010001)
put #1, , chr(&b1001001)
put #1, , chr(&b1000101)
put #1, , chr(&b0111110)
put #1, , chr(&b0000000)
Hezad
Posts: 469
Joined: Dec 17, 2006 23:37
Contact:

Post by Hezad »

Very cool stuff ! I tried once to play with the parallel port but never went farther than switching on and off 4 leds :D

Well done !
Turd
Posts: 175
Joined: Aug 31, 2007 23:34
Location: Saskatchewan, Canada

Post by Turd »

Thanks.

I'm better with the hardware than I am with the software (I'm not a very good programmer lol).

FB is great for this kinda thing though.
Turd
Posts: 175
Joined: Aug 31, 2007 23:34
Location: Saskatchewan, Canada

Post by Turd »

For some reason if you mix letters and numbers it doesn't work right.

Code: Select all

dim buffer(6) as ubyte
dim grid(300) as ubyte
dim as double start, runtime, arrow
dim as integer i, ii, iii, gridlength
dim as string txt

screenres 400, 40, 8

out 890, 0

out 890, 5: sleep 10: out 890, 7: sleep 10

open "fbfont.txt" for binary as #1

do
cls :color 15, 0
clear buffer(1), 0, 6
clear grid(1), 0, 300
i = 0: ii = 0: iii = 0: gridlength = 0: txt = ""

print "Type the text you wish to be displayed. x to exit:"
input "",txt

cls :color 12, 0
locate 2, 1
print txt
print
color 15, 0
print "Hit x to stop"

if txt = "x" or txt = "" then
	close #1: end
end if

gridlength = 6 * len(txt)

for i = 1 to len(txt)
	if asc(txt, i) = 32 then
		for ii = 1 to 6
			iii = iii + 1
			grid(iii) = 0
		next ii
		
	elseif asc(txt, i) > 48 and asc(txt, 1) < 59 then
		for ii = 1 + (6 * ( asc(txt, i) - 23)) to 6 + (6 * ( asc(txt, i) -23))
			iii = iii + 1
			get #1, ii, grid(iii)
		next ii
			
	elseif asc(txt, i) > 64 and asc(txt, i) < 92 then
		for ii = 1 + (6 * ( asc(txt, i) - 65)) to 6 + (6 * ( asc(txt, i) - 65))
			iii = iii + 1
			get #1, ii, grid(iii)
		next ii
		
	elseif asc(txt, i) > 96 and asc(txt, i) < 123 then
		for ii = 1 + (6 * ( asc(txt, i) - 61)) to 6 + (6 * ( asc(txt, i) - 61))
			iii = iii + 1
			get #1, ii, grid(iii)
		next ii
	end if
		
next i

runtime = .3

ii = 0

do

	for i = 1 to 6
		buffer(i) = grid(i + ii)
	next i

	start = timer

	do
		out 888, buffer(1): sleep 1: out 888, 0: out 890, 7: out 890, 6
		out 888, buffer(2): sleep 1: out 888, 0: out 890, 7: out 890, 6
		out 888, buffer(3): sleep 1: out 888, 0: out 890, 7: out 890, 6
		out 888, buffer(4): sleep 1: out 888, 0: out 890, 7: out 890, 6
		out 888, buffer(5): sleep 1: out 888, 0: out 890, 7: out 890, 6
		out 888, buffer(6): sleep 1: out 888, 0: out 890, 5: out 890, 7
		if inkey$ = "x" then goto exitdo
	loop until (timer - start) > runtime

	ii = ii + 1
	
	arrow = 1 + (ii / 6)
	locate 3, 1: print "                                                  "
	locate 3, arrow: print "^"
	if ii > gridlength then
	ii = 0
	end if
	
loop
exitdo:
loop

out 890, 0
out 888, 0

'all high 4
'reset low and clock low 7
'reset low and clock high 6
'reset high and clock low 5
'reset high and clock high 4
'clock 1
'reset 2
'power 3, 4
Font maker with upper and lower case alphabet and number:

Code: Select all

open "fbfont.txt" for binary as #1
'A
put #1, 1, chr(&b1111100)
put #1, 2, chr(&b0001010)
put #1, 3, chr(&b0001001)
put #1, 4, chr(&b0001010)
put #1, 5, chr(&b1111100)
put #1, 6, chr(&b0000000)
'B
put #1, 7, chr(&b1111111)
put #1, 8, chr(&b1001001)
put #1, 9, chr(&b1001001)
put #1, 10, chr(&b1001001)
put #1, 11, chr(&b0110110)
put #1, 12, chr(&b0000000)
'C
put #1, 13, chr(&b0111110)
put #1, 14, chr(&b1000001)
put #1, 15, chr(&b1000001)
put #1, 16, chr(&b1000001)
put #1, 17, chr(&b0100010)
put #1, 18, chr(&b0000000)
'D
put #1, 19, chr(&b1111111)
put #1, 20, chr(&b1000001)
put #1, 21, chr(&b1000001)
put #1, 22, chr(&b1000001)
put #1, 23, chr(&b0111110)
put #1, 24, chr(&b0000000)
'E
put #1, 25, chr(&b1111111)
put #1, 26, chr(&b1001001)
put #1, 27, chr(&b1001001)
put #1, 28, chr(&b1001001)
put #1, 29, chr(&b1001001)
put #1, 30, chr(&b0000000)
'F
put #1, 31, chr(&b1111111)
put #1, 32, chr(&b0001001)
put #1, 33, chr(&b0001001)
put #1, 34, chr(&b0001001)
put #1, 35, chr(&b0001001)
put #1, 36, chr(&b0000000)
'G
put #1, 37, chr(&b0111110)
put #1, 38, chr(&b1000001)
put #1, 39, chr(&b1000001)
put #1, 40, chr(&b1010001)
put #1, 41, chr(&b1110010)
put #1, 42, chr(&b0000000)
'H
put #1, 43, chr(&b1111111)
put #1, 44, chr(&b0001000)
put #1, 45, chr(&b0001000)
put #1, 46, chr(&b0001000)
put #1, 47, chr(&b1111111)
put #1, 48, chr(&b0000000)
'I
put #1, 49, chr(&b1000001)
put #1, 50, chr(&b1000001)
put #1, 51, chr(&b1111111)
put #1, 52, chr(&b1000001)
put #1, 53, chr(&b1000001)
put #1, 54, chr(&b0000000)
'J
put #1, 55, chr(&b0100001)
put #1, 56, chr(&b1000001)
put #1, 57, chr(&b0111111)
put #1, 58, chr(&b0000001)
put #1, 59, chr(&b0000001)
put #1, 60, chr(&b0000000)
'K
put #1, 61, chr(&b1111111)
put #1, 62, chr(&b0001000)
put #1, 63, chr(&b0010100)
put #1, 64, chr(&b0010010)
put #1, 65, chr(&b1100001)
put #1, 66, chr(&b0000000)
'L
put #1, 67, chr(&b1111111)
put #1, 68, chr(&b1000000)
put #1, 69, chr(&b1000000)
put #1, 70, chr(&b1000000)
put #1, 71, chr(&b1000000)
put #1, 72, chr(&b0000000)
'M
put #1, 73, chr(&b1111111)
put #1, 74, chr(&b0000010)
put #1, 75, chr(&b0001100)
put #1, 76, chr(&b0000010)
put #1, 77, chr(&b1111111)
put #1, 78, chr(&b0000000)
'N
put #1, 79, chr(&b1111111)
put #1, 80, chr(&b0000110)
put #1, 81, chr(&b0011100)
put #1, 82, chr(&b0110000)
put #1, 83, chr(&b1111111)
put #1, 84, chr(&b0000000)
'O
put #1, 85, chr(&b0111110)
put #1, 86, chr(&b1000001)
put #1, 87, chr(&b1000001)
put #1, 88, chr(&b1000001)
put #1, 89, chr(&b0111110)
put #1, 90, chr(&b0000000)
'P
put #1, 91, chr(&b1111111)
put #1, 92, chr(&b0001001)
put #1, 93, chr(&b0001001)
put #1, 94, chr(&b0001001)
put #1, 95, chr(&b0000110)
put #1, 96, chr(&b0000000)
'Q
put #1, 97, chr(&b0011110)
put #1, 98, chr(&b0100001)
put #1, 99, chr(&b0100001)
put #1, 100, chr(&b0110001)
put #1, 101, chr(&b1011110)
put #1, 102, chr(&b0000000)
'R
put #1, 103, chr(&b1111111)
put #1, 104, chr(&b0001001)
put #1, 105, chr(&b0001001)
put #1, 106, chr(&b0011001)
put #1, 107, chr(&b1100110)
put #1, 108, chr(&b0000000)
'S
put #1, 109, chr(&b0100110)
put #1, 110, chr(&b1001001)
put #1, 111, chr(&b1001001)
put #1, 112, chr(&b1001001)
put #1, 113, chr(&b0110010)
put #1, 114, chr(&b0000000)
'T
put #1, 115, chr(&b0000001)
put #1, 116, chr(&b0000001)
put #1, 117, chr(&b1111111)
put #1, 118, chr(&b0000001)
put #1, 119, chr(&b0000001)
put #1, 120, chr(&b0000000)
'U
put #1, 121, chr(&b0111111)
put #1, 122, chr(&b1000000)
put #1, 123, chr(&b1000000)
put #1, 124, chr(&b1000000)
put #1, 125, chr(&b0111111)
put #1, 126, chr(&b0000000)
'V
put #1, 127, chr(&b0011111)
put #1, 128, chr(&b0100000)
put #1, 129, chr(&b1000000)
put #1, 130, chr(&b0100000)
put #1, 131, chr(&b0011111)
put #1, 132, chr(&b0000000)
'W
put #1, 133, chr(&b1111111)
put #1, 134, chr(&b0100000)
put #1, 135, chr(&b0011000)
put #1, 136, chr(&b0100000)
put #1, 137, chr(&b1111111)
put #1, 138, chr(&b0000000)
'X
put #1, , chr(&b1100011)
put #1, , chr(&b0010100)
put #1, , chr(&b0001000)
put #1, , chr(&b0010100)
put #1, , chr(&b1100011)
put #1, , chr(&b0000000)
'Y
put #1, , chr(&b0000011)
put #1, , chr(&b0000100)
put #1, , chr(&b1111000)
put #1, , chr(&b0000100)
put #1, , chr(&b0000011)
put #1, , chr(&b0000000)
'Z
put #1, , chr(&b1000011)
put #1, , chr(&b1000101)
put #1, , chr(&b1001001)
put #1, , chr(&b1010001)
put #1, , chr(&b1100001)
put #1, , chr(&b0000000)
'1
put #1, , chr(&b1000000)
put #1, , chr(&b1000010)
put #1, , chr(&b1111111)
put #1, , chr(&b1000000)
put #1, , chr(&b1000000)
put #1, , chr(&b0000000)
'2
put #1, , chr(&b1000010)
put #1, , chr(&b1100001)
put #1, , chr(&b1010001)
put #1, , chr(&b1001001)
put #1, , chr(&b1000110)
put #1, , chr(&b0000000)
'3
put #1, , chr(&b0100010)
put #1, , chr(&b1001001)
put #1, , chr(&b1001001)
put #1, , chr(&b1001001)
put #1, , chr(&b0110110)
put #1, , chr(&b0000000)
'4
put #1, , chr(&b0001111)
put #1, , chr(&b0001000)
put #1, , chr(&b0001000)
put #1, , chr(&b1111111)
put #1, , chr(&b0001000)
put #1, , chr(&b0000000)
'5
put #1, , chr(&b0101111)
put #1, , chr(&b1001001)
put #1, , chr(&b1001001)
put #1, , chr(&b1001001)
put #1, , chr(&b0110001)
put #1, , chr(&b0000000)
'6
put #1, , chr(&b0111110)
put #1, , chr(&b1001001)
put #1, , chr(&b1001001)
put #1, , chr(&b1001001)
put #1, , chr(&b0110010)
put #1, , chr(&b0000000)
'7
put #1, , chr(&b1100001)
put #1, , chr(&b0010001)
put #1, , chr(&b0001001)
put #1, , chr(&b0000101)
put #1, , chr(&b0000011)
put #1, , chr(&b0000000)
'8
put #1, , chr(&b0110110)
put #1, , chr(&b1001001)
put #1, , chr(&b1001001)
put #1, , chr(&b1001001)
put #1, , chr(&b0110110)
put #1, , chr(&b0000000)
'9
put #1, , chr(&b0100110)
put #1, , chr(&b1001001)
put #1, , chr(&b1001001)
put #1, , chr(&b1001001)
put #1, , chr(&b0111110)
put #1, , chr(&b0000000)
'0
put #1, , chr(&b0111110)
put #1, , chr(&b1010001)
put #1, , chr(&b1001001)
put #1, , chr(&b1000101)
put #1, , chr(&b0111110)
put #1, , chr(&b0000000)
'a
put #1, , chr(&b0111000)
put #1, , chr(&b1000100)
put #1, , chr(&b1000100)
put #1, , chr(&b0111000)
put #1, , chr(&b1111100)
put #1, , chr(&b0000000)
'b
put #1, , chr(&b1111111)
put #1, , chr(&b1001000)
put #1, , chr(&b1001000)
put #1, , chr(&b1001000)
put #1, , chr(&b0110000)
put #1, , chr(&b0000000)
'c
put #1, , chr(&b0111000)
put #1, , chr(&b1000100)
put #1, , chr(&b1000100)
put #1, , chr(&b1000100)
put #1, , chr(&b1000100)
put #1, , chr(&b0000000)
'd
put #1, , chr(&b0110000)
put #1, , chr(&b1001000)
put #1, , chr(&b1001000)
put #1, , chr(&b1001000)
put #1, , chr(&b1111111)
put #1, , chr(&b0000000)
'e
put #1, , chr(&b0111100)
put #1, , chr(&b1010010)
put #1, , chr(&b1010010)
put #1, , chr(&b1010010)
put #1, , chr(&b1001100)
put #1, , chr(&b0000000)
'f
put #1, , chr(&b0001000)
put #1, , chr(&b1111110)
put #1, , chr(&b0001001)
put #1, , chr(&b0000001)
put #1, , chr(&b0000010)
put #1, , chr(&b0000000)
'g
put #1, , chr(&b0100110)
put #1, , chr(&b1001001)
put #1, , chr(&b1001001)
put #1, , chr(&b1001001)
put #1, , chr(&b0111110)
put #1, , chr(&b0000000)
'h
put #1, , chr(&b1111111)
put #1, , chr(&b0001000)
put #1, , chr(&b0001000)
put #1, , chr(&b0001000)
put #1, , chr(&b1110000)
put #1, , chr(&b0000000)
'i
put #1, , chr(&b0000000)
put #1, , chr(&b0000000)
put #1, , chr(&b1111101)
put #1, , chr(&b0000000)
put #1, , chr(&b0000000)
put #1, , chr(&b0000000)
'j
put #1, , chr(&b0100000)
put #1, , chr(&b1000000)
put #1, , chr(&b1000000)
put #1, , chr(&b0111101)
put #1, , chr(&b0000000)
put #1, , chr(&b0000000)
'k
put #1, , chr(&b1111111)
put #1, , chr(&b0010000)
put #1, , chr(&b0101000)
put #1, , chr(&b1000100)
put #1, , chr(&b0000000)
put #1, , chr(&b0000000)
'l
put #1, , chr(&b0000000)
put #1, , chr(&b0000000)
put #1, , chr(&b1111111)
put #1, , chr(&b0000000)
put #1, , chr(&b0000000)
put #1, , chr(&b0000000)
'm
put #1, , chr(&b1111000)
put #1, , chr(&b0001000)
put #1, , chr(&b1110000)
put #1, , chr(&b0001000)
put #1, , chr(&b1111000)
put #1, , chr(&b0000000)
'n
put #1, , chr(&b1111100)
put #1, , chr(&b0000100)
put #1, , chr(&b0000100)
put #1, , chr(&b0000100)
put #1, , chr(&b1111000)
put #1, , chr(&b0000000)
'o
put #1, , chr(&b0111000)
put #1, , chr(&b1000100)
put #1, , chr(&b1000100)
put #1, , chr(&b1000100)
put #1, , chr(&b0111000)
put #1, , chr(&b0000000)
'p
put #1, , chr(&b1111110)
put #1, , chr(&b0010010)
put #1, , chr(&b0010010)
put #1, , chr(&b0010010)
put #1, , chr(&b0001100)
put #1, , chr(&b0000000)
'q
put #1, , chr(&b0001100)
put #1, , chr(&b0010010)
put #1, , chr(&b0010010)
put #1, , chr(&b1111110)
put #1, , chr(&b0100000)
put #1, , chr(&b0000000)
'r
put #1, , chr(&b1111100)
put #1, , chr(&b0001000)
put #1, , chr(&b0001000)
put #1, , chr(&b0010000)
put #1, , chr(&b0000000)
put #1, , chr(&b0000000)
's
put #1, , chr(&b1001000)
put #1, , chr(&b1010100)
put #1, , chr(&b1010100)
put #1, , chr(&b1010100)
put #1, , chr(&b0100100)
put #1, , chr(&b0000000)
't
put #1, , chr(&b0000010)
put #1, , chr(&b0000010)
put #1, , chr(&b1111111)
put #1, , chr(&b0000010)
put #1, , chr(&b0000010)
put #1, , chr(&b0000000)
'u
put #1, , chr(&b0111100)
put #1, , chr(&b1000000)
put #1, , chr(&b1000000)
put #1, , chr(&b1000000)
put #1, , chr(&b1111100)
put #1, , chr(&b0000000)
'v
put #1, , chr(&b0011100)
put #1, , chr(&b0100000)
put #1, , chr(&b1000000)
put #1, , chr(&b0100000)
put #1, , chr(&b0011100)
put #1, , chr(&b0000000)
'w
put #1, , chr(&b1111100)
put #1, , chr(&b0100000)
put #1, , chr(&b0011000)
put #1, , chr(&b0100000)
put #1, , chr(&b1111100)
put #1, , chr(&b0000000)
'x
put #1, , chr(&b1000100)
put #1, , chr(&b0101000)
put #1, , chr(&b0010000)
put #1, , chr(&b0101000)
put #1, , chr(&b1000100)
put #1, , chr(&b0000000)
'y
put #1, , chr(&b0100001)
put #1, , chr(&b1000010)
put #1, , chr(&b1000100)
put #1, , chr(&b1001000)
put #1, , chr(&b0111111)
put #1, , chr(&b0000000)
'z
put #1, , chr(&b1000100)
put #1, , chr(&b1001100)
put #1, , chr(&b1010100)
put #1, , chr(&b1100100)
put #1, , chr(&b1000100)
put #1, , chr(&b0000000)

close #1
vdecampo
Posts: 2992
Joined: Aug 07, 2007 23:20
Location: Maryland, USA
Contact:

Post by vdecampo »

This is the absolute GEEKIEST project I've seen yet!

It is totally COOL! :-)

-Lesser Geek
Turd
Posts: 175
Joined: Aug 31, 2007 23:34
Location: Saskatchewan, Canada

Post by Turd »

zoomkat
Posts: 15
Joined: Apr 08, 2007 22:31

Post by zoomkat »

You might find the below site of interest as it has info on individually controlling 320 strings of christmas lights from the parallel port.

http://computerchristmas.com/christmas/ ... roller_Box
Turd
Posts: 175
Joined: Aug 31, 2007 23:34
Location: Saskatchewan, Canada

Post by Turd »

Wow, thats quite the circuit! Thanks :-)


eric
Post Reply