Instructables

MultiFunction LED Game Using An ATmega32 Microcontroller

Picture of MultiFunction LED Game Using An ATmega32 Microcontroller
IMG_3650[1].JPG
IMG_3655.JPG
IMG_3654.JPG


First are my answers to the Make-To-Learn Contest:

What did you make?

   I made a multi-function LED Array Program, like my previous one with Arduino UNO, but this time I made it with an ATmega32 microcontroller. I used regular C code to program it and no Arduino was involved at all. I also added a second row of LED's to the device for a total of 14 LED's. Two buttons are used for a game, and one big button is used to switch programs on the microcontroller.

How did you make it?
 I was inspired to make this program by my previous device that I made with an Arduino UNO, but I made this one for an extra challenge by using and ATmega32 instead of an Arduino. This greatly compacted the device and soon I hope to get it to fit into a single Altoids tin. I made it out of two perforated boards, and soldered everything together with hookup wire. Doing this was not an easy task because I made many mistakes, but it was my first time making anything like it so I expected to make lots of mistakes.

Where did you make it?
  I made this device entirely at home in my bedroom. It took me many hours of soldering, de-soldering, and re-soldering to finish it... and then I still had to program it. My bedroom has all of my electronic equipment that I used to make this. The project gave me many ideas for more projects that I hope to do in the future it also helped me get better at problem-solving, and having patience. It didn't really affect too much of my outside life, but my outside life really impacted it. I probably would've had it done many weeks ago but am in highschool and have been loaded with tons of homework for the past few weeks.

What did you learn?
  I learned many things through the making of this device. Building it has made me learn a lot about programming microcontrollers and about the basics of electronic components. The biggest challenges that I had were trying to get the button to change the programs of the microcontroller, and having to solder and re-solder so much. These challenges have taught me more about problem-solving, and to always double-check my connections before making them almost permanent. I learned a great deal from making this and hope to learn lots more from my upcoming projects.

This is the, semi-completed, Multi-Function LED Array Program that I have been working on. Unfortunately I did not take the time to take pictures of all the steps in making it. I have the video above, a few pics and an explanation. Basically what I did was take my Arduino LED Array Program and make it without using Arduino. It was much more challenging code to do it without Arduino, and the one-button mode change made it even more challenging. I have everything on two perf boards that can squeeze together so that I will, hopefully soon, be able to fit it all into 1 altoids tin so that it will be pocket sized. 

I have two rows of 7 LEDs, two buttons at the end of each row, and a Potentiometer in between the two buttons.The buttons I use, as of now, solely for the purpose of playing the button race game. The potentiometer is only used in controlling the speed that the LED's chase one another. Then I have one larger button that isn't attached to the two main perf boards. It serves as the button to switch between programs. It really isn't that complicated if you have a fair understanding of programming AVR micorcontrollers. For both the LED Counter, and the button race I got the idea, and some of the code, from the tutorials at NewbieHack.com. It has taken me a long time to do this because I made many careless mistakes soldering, and then decide to hot glue it all together before checking my connections. So I had to fix it all, multiple times, and on top of that have had loads of homework to do over the past few weeks. But I finally got it done! I hope everyone that sees the instructable likes it. If anyone needs my help on the hardware, or software, sides of making it I would be glad to help so just comment and I will do my best.

I am also entering this instructable into a few contests, that unfortunately are ending soon, so any votes would be very appreciated. Thanks!
 
main.c6 KB