So this is my attempt at a DVD storage rack. As impractical as it is, I wanted to give it a try. So with a servo, stepper motor, and Graphical LCD I had laying around I made it happen.
I'm using a fairly old ATmega8515 at 8Mhz internal. It controls a servo via PWM, and a 12V unipolar 4phase stepper through a simple mosfet interface, along with the User Interface of a 64x128 GDM12864H LCD with 4 push buttons. I soldered up a clean proto board for the circuit, although I chose to leave the avr on the STK500 to ease debuging.
The actual rack is made of plexiglass held together by copper coated steel grounding rods used to ground a house's system. The stepper turns a threaded rod that pushes or pulls a balsa sliding aparatus by the nut glued to the balsa.
I wrote drivers for the LCD by emulating parts of various drivers that I found. The core of the software is the FSM (finite state machine). It controls the menu system and the servo/stepper. I basically modified the AVR Butterfly FSM to suit my needs. The FSM uses a single data structure that holds all of the movies and their info to build the list of movies displayed according to which menu you are currently in.
I purposesly put all of the info that is used by the FSM regarding the movies in a single data structure so that it might be possible later to be able to write code so that I could input new movies. This would be a formidable challenge considering the limits of only 4 buttons. If anyone has any insight or suggestions I would love to hear them.
Hopefully I can get some pictures up soon, but as of now I have this video.




