Arduino Led Matrix
Arduino Led Matrix
http://www.instructables.com/id/Make-a-24X6-LED-matrix/
Author:Syst3mX
http://www.instructables.com/id/Make-a-24X6-LED-matrix/
Image Notes 1. 4017 With 6 transistors for scaning the rows 2. The 3 shift registers to control the rows
http://www.instructables.com/id/Make-a-24X6-LED-matrix/
Step 3: Schematics
The only thing I didn't specified in the schematics is the value of the current limiting resistors because they change from each type of LEDs, so you will need to calculate them by your self. Now to calculate the value of the 24 resistors you can use this site : http://led.linear1.org/1led.wiz You should first get some specs on your LEDs, you should know their forward voltage and forward current, you can get this info from the seller. The circuit operates on 5V so your Source voltage is 5V. Download the original file to see the schematics better.(press the "i" icon in the top left corner of the picture) I have added a PCB layout of the control board, and i want to thanks Willard2.0 who made this layout and let me use it so thanks a lot mate!
Image Notes 1. Arduino Pins 2. Arduino pins 3. Download the original file to see better.(press the "i" icon in the top left corner of the picture)
Image Notes 1. I didn't have room for the full matrix, So I hope you get the big idea
Image Notes 1. Green line are jumpers and red lines are copper traces. 2. PCB layout made by Willard2.0
http://www.instructables.com/id/Make-a-24X6-LED-matrix/
http://www.instructables.com/id/Make-a-24X6-LED-matrix/
File Downloads
Now it works.txt (15 KB) [NOTE: When saving, if you see .tmp as the file ext, rename it to 'Now it works.txt']
Looping text.txt (9 KB) [NOTE: When saving, if you see .tmp as the file ext, rename it to 'Looping text.txt']
Code maker(6x24).xls (25 KB) [NOTE: When saving, if you see .tmp as the file ext, rename it to 'Code maker(6x24).xls']
Related Instructables
http://www.instructables.com/id/Make-a-24X6-LED-matrix/
Comments
50 comments Add Comment view all 228 comments
opsada says:
Apr 4, 2011. 8:17 AM REPLY Hi, I'm George and I am a teacher from Bulgaria. With my students put together the scheme, but the result is - only the first 6 LED on the first row blink once after uploading the program. Can you help please?
gcampton says:
Jun 2, 2011. 4:43 PM REPLY Sounds like A: you wired it backwards, and B: Your microcontroller isn't uploading the correct code... or doesn't have enough memory or some such. Try the example code that comes with the Arduino IDE, the basic -> Blink. I'm guessing the first col or row should blink if everything is wired up right. May 31, 2011. 3:38 AM REPLY
sivasagar0003 says:
good work.... is jst the program writttern stays on the audrino...when i run on battery power??
Syst3mX says:
if you mean the program itself then yes. But if you are talking about the scrolling words then this things get lost
axeman911 says:
May 23, 2011. 7:30 AM REPLY where did u buy the arduino? could i please get the website, and price? what language did u use to write the program or does the arduino come with a progra which u ca download to your computer? sorry, but the schematic was too hard to get, do u think maybe make a a bit more simpler? tthanks
Syst3mX says:
I got the arduino from ebay, just search for arduino and you will find it. It will cost you about 25-30 dollars. It uses C and you can get the program from the arduino.cc website. I can't really find a way to simplify the schematic, but if you have something you don't understand you are free to ask.
axeman911 says:
it is this one Arduino UNO - ATMEGA328P ATMEGA8U2 on ebay here is the link.
http://cgi.ebay.com/Arduino-UNO-ATMEGA328P-ATMEGA8U2-FREE-USB-Cable-/320700639473?pt=LH_DefaultDomain_0&hash=item4aab3f68f1
Syst3mX says:
yep
apocello says:
May 19, 2011. 12:38 PM REPLY How do you keep the resistors in the LED array cool when you run it for extended time periods? I made a slightly different array but when I run it for more than a couple of minutes it gets so hot i can smell the solder.
Syst3mX says:
May 19, 2011. 12:44 PM REPLY My resistors stay cool all of the time. Maybe you used a low wattage resistors? if the resistors really small they are most likely have a low wattage. you could try and 1/4 watt of 1/2 resistor
shaadmahmud says:
May 16, 2011. 2:55 AM REPLY this project is working now.....but i have a lil problem my text r mirrored.....and only looping text.txt file is working but now it works.txt is not working at all...please help me...i have an arduino with atmega168....
http://www.instructables.com/id/Make-a-24X6-LED-matrix/
Syst3mX says:
May 16, 2011. 5:56 AM REPLY some people had the same problem with the mirrored text and thats because you wired up the shift registers and LED backwards. So you fix it you need to change the order of the LED rows i.e. the first row need to be the last one. No for the works.txt code all you need to do to make it work is to change the 100 in this array : byte patterns[100][6]; to something smaller like 50 or 25
shaadmahmud says:
thanx for ur reply...the text r now working...but in works.txt i've change the patterns[25][6]...but its stil not working....:(
Syst3mX says:
May 17, 2011. 4:11 AM REPLY Does the basic serial functions work? try the example one in the IDE. I think the ATmega168 should have the space for this program but if not I will write something in 3-4 days from now.
shaadmahmud says:
thanks a lot...its working now....u r a genius........:)
Syst3mX says:
hh good to hear it works, have fun with it!
shaadmahmud says:
please check ur pm.......:)
jnicholas1 says:
May 10, 2011. 3:20 PM REPLY Hey thanks for a great tutorial, I finally finished it and it looks great except for a few problems. When I type into the serial monitor the letters scroll backwards(As in flipped horizontally). Then I have the 4th and 5th row not lighting up at all. Thanks Joe
Syst3mX says:
May 11, 2011. 6:22 AM REPLY Hey, Some one had that problem before here and it turned out he flipped the connections of the shift registers, so to fix that you need to rearrange your connections. About the 2 nonworking rows it's probably a bad connection(maybe you connected the wrong output) or a damaged part it can't be a software problem. Check with a multimeter the voltages on these outputs there should be above 0 volts all time. May 8, 2011. 6:49 AM REPLY
zulcao says:
hi, im bilding one and i want know if need many modifications to make it with 10 rows ? and excelent project.
Syst3mX says:
it's not that hard but you need to change all of the symbol set and change some numbers in the program.
shaadmahmud says:
can u please tell me does it work atmega8 in arduino....?
Syst3mX says:
yeah it would work but you will need to change the code a bit to save space. If you need some help with that just send me your email
shaadmahmud says:
please ....can u send me the code for atmega8......please it will help me a lot.....:) my mail address is : [email protected]
Syst3mX says:
OK i will sent it to you tomorrow.
http://www.instructables.com/id/Make-a-24X6-LED-matrix/
shaadmahmud says:
thanks a lot......:)
shaadmahmud says:
sir can u tell me does this code work with atmega168 on arduino...?????
jnicholas1 says:
Apr 20, 2011. 9:28 AM REPLY I'm about to begin soldering, and I understand bending the positive leads down, and the negatives turned 90 degrees. But am i soldering one lead to the other? I can't tell by the photo, but are all the positive leads soldered together vertically in each column? and the negatives together in each row? Thanks Joe
Syst3mX says:
Apr 21, 2011. 3:58 AM REPLY Yeah all of the positive pins in a given column are soldered together and the negative leads are soldered together in each row. there shouldn't be any connections between the positive leads and negative ones.
berniech says:
Apr 11, 2011. 7:21 AM REPLY Many thanks for this great project; your sketch finally run nicely on my (based on your previous instructable) 15x10 matrix, but would you be so kind to give me the code to pilot rows 6 to 10? I also will try to do a "word clock" with this matrix; will it be necessary to use a real time IC for setting hours & minutes? If yes, do you have a schema for this adjunction? thanks again!
Syst3mX says:
Apr 11, 2011. 7:34 AM REPLY Good to know it works. to modify the code to work with 10 rows is very easy and all you need to do is to delete some lines. So send me your email and I will tell you exactly what to do. For the clock it would be a lot simpler to use a real time clock IC, but you can also do it in software. I have a schematic from another project that uses an real time clock if you want to can look it up, it's a digital clock.
berniech says:
I will be happy to receive your instructions and also your digital clock schematic My e-mail: [email protected]
Anigram says:
Could you maybe post the code for a static text (as in one that doesn't scroll)? -Obviously it would be limited to about 5 characters. Thanks again!
Syst3mX says:
Apr 4, 2011. 7:18 AM REPLY I don't think I would have much time this week but I can give you a tip on how to do so and if not I will try to write something next week. In the scrolling function, I scroll all the display every frame so what you need to do is to scroll it 23 times and show the text when the word is ready.
Anigram says:
Apr 10, 2011. 12:04 AM REPLY I haven't yet gotten this to work yet. I'm gonna continue because I really want to make it display static phrase, but if there is anyway you get some time this week, do you think you could take a shot at it?
Syst3mX says:
OK I will try to get it done by the end of the week. Send me a privet message with your email and I will send you the code as soon as I get t done.
Anigram says:
I'm having a bit of trouble figuring out some of your variables in the code. for scrolling_word[first][second] what does first and second represent?
http://www.instructables.com/id/Make-a-24X6-LED-matrix/
Syst3mX says:
second stands for the shift register number(we have 3 here) and the first is for the rows(just 6 here)
Anigram says:
Thank you. If I get it written up, I'll post it.
jayeshshinai says:
wow...amazing breadboard soldering!
jayeshshinai says:
*perfboard!
pauljuy says:
hi wanted saver if you can put some linck with soft to handle the little sign thank you very much
Anigram says:
Apr 4, 2011. 3:50 AM REPLY I hate to ask so many questions, but I was also wondering if there was a way to adjust how fast the words scroll across the LEDs
Syst3mX says:
Yeah in"display_word(1,patterns,43,15);" The number 15 is the speed , the lower the number the faster it scrolls.
Anigram says:
Thank you so much!
Anigram says:
Thanks for the write up! I got everything working, however for some reason the text is displaying backwards. Both the individual letters and the overall string are mirrored. Any ideas?
Syst3mX says:
Apr 3, 2011. 2:58 AM REPLY looks like you made a mistake with the shift registers order, I think you could just change the order in software of the spi_transfer from this order: spi_transfer(scrolling_word[y][2]; spi_transfer(scrolling_word[y][1]); spi_transfer(scrolling_word[y][0]); to this order in every place you see it in the code : spi_transfer(scrolling_word[y][0]); spi_transfer(scrolling_word[y][1]); spi_transfer(scrolling_word[y][2]); If this wouldn't work , tell me and I will tell you what to do next.
Anigram says:
Apr 3, 2011. 1:44 PM REPLY I THINK that maybe my orientation is just off. I reversed all my row connections and then flipped the entire LED system and it reads correctly now. It's supposed to scroll in from the right side, correct?
Syst3mX says:
Good to hear you got it working. And yeah it suppose to scroll from right to left.
http://www.instructables.com/id/Make-a-24X6-LED-matrix/