For our final project, we set out to write a Controller for the classic toy, the Etch-A-Sketch. What this basically means, is that we use an Atmel micro controller to control two stepper motors connected to the knobs of the Etch-A-Sketch. Thus, an order by the chip to the motors would cause different angled lines to show up in the Etch-A-Sketch making it possible to draw complete pictures automatically.
Since we did not want to force the chip to contain just one picture, it would have to connect to a computer using the UART, and download pictures from there. Thus we will write a small drawing program in Windows that lets a user draw its schematic, and send it directly at the serial port.
The reason we chose to do this project was twofold. First, we thought it would be very interesting to actually see an Etch-A-Sketch move by itself. Secondly, we thought that the amount and diversity of the work would be ideal. First we would need to write two large programs, one in Atmel Assembly, and we’d have to build a circuit. Also we were curious on how Stepper Motors worked. Finally, since our budget was limited, it was ideal because the only two items that we needed to buy was a power supply and the Etch-A-Sketch toy.
High Level Design
Our setup has four main sections: the Computer, the Micro controller, the stepper control, and the Etch-A-Sketch, in serial order. All four sections are relatively decoupled from each other, with the exception of a small communication script in between each section. This design is based on the standard computer network design where there are seven layers separate from each other, and it has a number of advantages. First, the decoupling enabled us to work efficiently in parallel, taking separate tasks until the final testing day when we join all the pieces. Thus, Felix would take over the first two sections, the Computer, and the Micro controller program, while Alex would take the last two. Second, it has good modularity, in that we could easily switch any one of the four sections with something else that has the same communication interface, and the remaining items would not have to be changed at all.
For more detail: Automatic Etch-A-Sketch Controller