Etch-A-Sketch/First Draft
From Ece
Contents |
Proposal (First Draft)
Objective
Our goal is to make an on-screen Etch-A-Sketch using two encoders as inputs.
Team Members & Team Name
Team Etch-A-Sketch is:
- Khanh Bui - Coordinator
- Jeff Brantley - Recorder
- Terrence Shannon - Checker
Introduction
An optical rotary quadrature encoder provides a way to track both the direction and degree of rotation of a shaft. The device consists of a shaft connected to a disc with radial slots cut out of it. In the encoder housing, at the perimeter of the disc, an LED shines light through the slots onto a pair of photodiodes or phototransistors. As the shaft turns, the slots passing over the LED cause electrical pulses to be generated and output at regular rotational intervals, thus allowing a connected device, such as an FPGA, to track the amount of rotation. The pair of phototransistors allow the connected device to determine the rotation direction as well, by tracking the order of the pulses generated.
Concept
A pair of knobs (attached to encoders) will be used with a VGA monitor to produce an enhanced version of the classic Etch-A-Sketch toy. One knob will move a drawing cursor horizontally, and the other will move it vertically. The screen will display the sketching canvas, as well as a panel across the top. One side of the panel will display different cursor options: draw red, draw green, draw blue, erase, and lift pen (no draw). The other side will display helpful messages to the user.
Required Parts
- Spartan-3 Development Board
- Datasheets: Reference Manual, Schematics
- Grayhill Optical Encoder - Series 62P
- Part Number: 62P22-L0
- Package: Series 62P - Low torque, no pushbutton
- Voltage Supply: 5 Vdc +/-.25 Vdc
- Datasheet: Series 62P
- Unit Price: $3.71
- Quantity Required: 2
- Expected Delivery: 4/2/07-4/4/07
- Kilo International Knob - DD Series
- Part Number: DD-90-4-6MM
- Package: .236" (6mm) shaft diameter, .925" (23.50mm) knob diameter, black matte color
- Datasheet: DD Series
- Unit Price: $5.13
- Quantity Required: 2
- Expected Delivery: 4/2/07-4/4/07
Proposed Work
- Terrence will develop a module that translates the encoder inputs to screen coordinates or cursor selection, depending on the current mode (drawing mode or cursor-choosing mode).
- Terrence will develop a module that stores the current mode by toggling a flip-flop on every press of a connected button, ignoring the switch bounce following each button press.
- Jeff will develop a module that draws the sketch area, producing the correct RGB outputs based on the pixel being drawn, the current cursor location and type, and the contents of an internally maintained RAM that stores the past cursor movements (i.e. the drawing itself).
- Khanh will develop a module that draws the top panel of icons and messages based on the current mode, the current cursor choice, and the current pixels being drawn. In addition to RGB outputs, this module will have an output to indicate when it is currently drawing, allowing it to control the select line of the next module.
- Terrence will develop a multiplexer module to choose between the RGB outputs of the previous two modules. Its select line will be driven by the previous module.
See Fig. 1 for a schematic showing how the modules will work together.

Figure 1 - Top-level block schematic of proposed design (first draft).
Expected Deliverables
The knobs/encoders, when turned, will produce horizontal and vertical lines on the VGA monitor's screen. A press of one button will switch into cursor-choosing mode, and one of the knobs will control the selection of a different cursor mode. Another press of that button will switch to drawing mode. A second button, when pressed, will clear the drawing screen. In the eraser and lift pen modes, the cursor will move in the same fashion as when drawing, but the cursor will instead erase or preserve any parts of the drawing it passes over.




