Hi
I built a OPEN sign thinking maybe some day I will have a small supply store.
The sign is made from a horrible PCB board but has awesome parts on it.
When I have time I add a small code....one thing that saved me from the chips going weird is a while back
Westaust55 told me to add caps close as a possible to the 74hc595 chips
Now it works awesome like someone else built it ...![]()
here is small clip ..(I tried to add sound explaining stuff but my phone mic is so jammed with dirt ..I sounded like I was talking in a insulation bale)
https://www.youtube.com/watch?v=HV3Sjh48nDg
I used 92 green leds ...I put paper in front of them because it makes a better video
what you see is 90 leds ....since I used 2 leds in series a few of them didn't line up right to match a letter...so instead trying to figure out the right brightness with
a resistor/ single led I just added a few dummy leds behind the scenes
Your friend
Mark
BTW ... if I am missing stuff on the board picture....I'm sure its underneath!
UPDATE: added a code
Code:#picaxe 20X2 'SIMPLE CODE FOR "OPEN" LED SIGN #NO_DATA 'This code is for a controlling 90 LEDS that SPELL the word "OPEN" '1st led is started at the "O" and connected to 74hc595 first chip pin 1 '46th (last) led is ended at the "N" and connected to 74hc595 sixth chip pin 6 ' using 6 74hc595 chips 'pin b.5 = 595 chip pin 11 'pin b.3 = 595 chip pin 12 'pin b.4 = 595 chip pin 14 'why pins b.3 - b.5? because the lenght of the wires that reached picaxe :) setfreq m64 let DIRSB = %00111000 let DIRSC = %00000000 '76543210 Symbol nbit = B0 'B0 Symbol l4nbit = B1 'B1 Symbol LP1 = B2 'B2 LooP variable 'Symbol ---- = B3 'B3 pause time 'Symbol PT = B4 'B4 Symbol PT = w2 'B5 Pause Time 1 'Symbol PT1 = B6 'B6 Symbol PT1 = W3 'B7 Pause Time 2 'Symbol ---- = b8 'B8 'Symbol ---- = b9 'B9 W4 'Symbol ---- = b10 'B10 'Symbol ---- = b11 'B11 W5 'Symbol ---- = b12 'B12 'Symbol ---- = b13 'B13 W6 'Symbol ---- = B14 'B14 'Symbol ---- = B15 'B15 W7 'Symbol ---- = B16 'B16 'Symbol ---- = B17 'B17 W8 'Symbol ---- = b18 'B18 'Symbol ---- = b19 'b19 W9 'Symbol ---- = b20 'b20 PT = 5 PT1 = 800 DO TURN_OFF_ALL: ' turns off all leds FOR lp1 = 0 to 5 :nbit = %00000000 :gosub shift0 NEXT : gosub display : pause 1000 SCROLL_ON_O_to_N: ' scrolls leds ON from 1st to 46th in time for lp1 = 0 to 5:nbit = %11111111: gosub shift1 :next :pause PT1 SCROLL_OFF_O_to_N: ' scrolls leds OFF from 1st to 46th in time for lp1 = 0 to 5:nbit = %00000000: gosub shift1 :next :pause PT1 TURN_ON_ALL: ' makes all leds on and paused for 1-2 seconds FOR lp1 = 0 to 5 :nbit = %11111111 :gosub shift0 NEXT :gosub display :Pause 20000 O_OP_OPE_OPEN: ' below code turns on each letter in time ...O...OP..OPE..OPEN nbit = %00000000: gosub SHIFT0 :pause PT nbit = %00000000: gosub SHIFT0 :pause PT nbit = %00000000: gosub SHIFT0 :pause PT nbit = %00000000: gosub SHIFT0 :pause PT nbit = %11000000: gosub SHIFT0 :pause PT nbit = %11111111: gosub SHIFT0 :pause PT :gosub display: pause pt1 '-----O only on '12345678 nbit = %00000000: gosub SHIFT0 :pause PT nbit = %00000000: gosub SHIFT0 :pause PT nbit = %00000000: gosub SHIFT0 :pause PT nbit = %11110000: gosub SHIFT0 :pause PT nbit = %11111111: gosub SHIFT0 :pause PT nbit = %11111111: gosub SHIFT0 :pause PT :gosub display: pause pt1 '-----OP only on '12345678 nbit = %00000000: gosub SHIFT0 :pause PT nbit = %00000000: gosub SHIFT0 :pause PT nbit = %11111111: gosub SHIFT0 :pause PT nbit = %11111111: gosub SHIFT0 :pause PT nbit = %11111111: gosub SHIFT0 :pause PT nbit = %11111111: gosub SHIFT0 :pause PT :gosub display: pause pt1 '-----OPE only on '12345678 nbit = %11111100: gosub SHIFT0 :pause PT ' <-- only has 46 pins used nbit = %11111111: gosub SHIFT0 :pause PT nbit = %11111111: gosub SHIFT0 :pause PT nbit = %11111111: gosub SHIFT0 :pause PT nbit = %11111111: gosub SHIFT0 :pause PT nbit = %11111111: gosub SHIFT0 :pause PT :gosub display: pause pt1 '-----OPEN on '12345678 LOOP SHIFT0: low b.5 'low leg 11 low b.3 'low leg 12 low b.4 'low leg 14 for l4nbit = 0 to 7 if bit0 = 0 then :low b.4:else:high b.4:endif high b.5:low b.5:nbit = nbit/2 :next RETURN DISPLAY: high b.3 low b.3 RETURN SHIFT1: low b.5 'low leg 11 low b.3 'low leg 12 low b.4 'low leg 14 for l4nbit = 0 to 7 if bit0 = 0 then :low b.4:else:high b.4:endif high b.5:low b.5:nbit = nbit/2 high b.3 low b.3:pause PT1:next RETURN
Bookmarks