[Project] 80x8 Dot-Matrix Display AVR Controlled. - Page 1
Forum section: electronics / projects

author: expertmax
author_rank: Regular Contributor
timestamp: June 02, 2013, 11:09:52 pm
content: Hi fellow bloggers !Here is a topic around my little project that I am currently working on ! Feel free to debate.Whenever I update something new I will EDIT this post and REPLY to this topic.After a lot of messing around wondering how to build this simple but fun circuit, I decided to go with Atmel's AVR. Why not PIC? Because I don't have a clue how this platform works and all that jazz. I've been mocking around with arduinos for the past 3 years. I've switched to pure AVR-based C through Atmel Studio 6 just recently and Wow, what an improvement !My project consists of two boards: Board #1 contains the voltage regulator, filter caps, atmega328p zif socket, crystal, power headers and data headers. Board #2 contains 10x the following : voltage regulators, max7219, 8x8 dot-matrix led display, filter caps, resistors and one data headers.The project will be done in 4 steps :Soldering the controller board[Done June-02-2013]Soldering the LED boardWriting the softwareThorough testing and usabilitySo there you go ! Hopefully I will be able to scroll a message on the displayand use like a 3-axis accelerometer to speed up or down the text scrolling.

author: c4757p
author_rank: Super Contributor
timestamp: June 02, 2013, 11:12:27 pm
content: Why a ZIF socket? Standard IC sockets cost much less! ZIFs are for programmers. Throw an ICSP header on there and program it with that.

author: expertmax
author_rank: Regular Contributor
timestamp: June 02, 2013, 11:17:17 pm
content: Quote from: c4757p on June 02, 2013, 11:12:27 pmI just find the ZIF socket to be so useful for fast swapping action ! I only have 3 ATMega328p and about 10 projects so I try to solder ZIF sockets on projects that will require more work ! I am still waiting for my USBTinyISP that I've ordered yesterday so that's another reason.

author: c4757p
author_rank: Super Contributor
timestamp: June 02, 2013, 11:20:35 pm
content: Of course, you can get them quite cheap from China, but I've no idea if they're decent.

author: expertmax
author_rank: Regular Contributor
timestamp: June 02, 2013, 11:24:15 pm
content: Quote from: c4757p on June 02, 2013, 11:20:35 pmHaven't thoroughly tested them but they seem just fine. I have been constantly using this one for 6 months and it still operates nicely. Let's hope my statement will still be true in a year lol.

author: mariush
author_rank: Super Contributor
timestamp: June 02, 2013, 11:39:32 pm
content: I don't remember what type your 8x8 blocks were, if they're common anode or common cathode.You say there something about a Max7912 but I guess you actually mean MAX7219, in which case I assume it's a common cathode 8x8 so the below should work if I don't have a brainfart.For a 80x8 dot matrix, you could go very easily do a great job with shift registers or some darlington arrays like ULN2803a .. 10 shift registers to shift the bits for a whole line, then enable the particular darlington element in the uln2803a to sink power on the whole line (the ic can do 0.5a so 80 x 5-15mA is not a problem).So you'd only need 2-3 pins in the attiny to shift data to all 80 columns and 8 for the rows (or 2-3 pins to another shift register connected to the darlington array)later edit... just checked your other thread and I see now they're common anode. Not much of a difference, you'd just have to turn on one column out of each 8x8 block at a time instead of rows.Would be much interesting to do instead of using expensive max chips

author: expertmax
author_rank: Regular Contributor
timestamp: June 02, 2013, 11:52:56 pm
content: Quote from: mariush on June 02, 2013, 11:39:32 pmThanks for the response.Yeah I made a nice mistake right there, I meant MAX7219 of course.I was planning to use an ATTiny84 but I decided to use a ATMega328p because I was thinking big, lots of sensors, lots of outputs, lots of expansionability (is that a word?) and such. But yeah, I could have used a 3$ ATTiny instead of a 5$ ATMega !The MAX7219 takes care of the multiplexing, I just have to wire the DOUT from the first MAX7219 to the DIN of the second MAX7219 and share in parallel the clock and load lines.