This is our hardware design for the mouse. We uses a palm-sized coconut shell for the mouse casing. We have considered other casing possibility for usability testing. We first used an plastic egg shaped container that is about the size of an egg, however we consider it too small and the cutting of plastic is unpleasent to the user.
Our mouse also have push buttons that serve as the click buttons for the mouse. It is mounted on the front of the coconut shell. The user will be comfortably able to click the mouse buttons.
We uses the Analog Device ADXL202 accelerometer for sensing the mouse motion. The ADXL202JE chip layout is as follows:
The ADXL202 has both digital and analog outputs. We will mainly use the analog output since the Atmel Mega32 has 8 available slots to receive analog inputs for A/D conversion. The capacitor Cy determines the bandwidth of the analog output. The Xout is the analog output for the x-axis acceleration, and Yout is the analog ouptut for the y-axis acceleration. The ADXL202 chip is also capable of generating digital signal, by using a pulse modulated duty cycle. The Rset resistor value will set the proportion of the data versus the period of the duty cycle.
Since our mouse is based on tilt, the cursor will move when the mouse is tilted, within some histerysis factor. This means there is a grace degree, and within that degree from being flat the mouse will stop moving.
Our ADC circuit is similar to previous labs. We connect the ADC to port A on the STK500 board. We uses port C for the push buttons. We may eventually build an standalone design, however that will only be done if we have extra time.
We also amplify the analog output signal by using an op-amp. The Op-Amps used is the LM358 (lower power dual Op-Amps) from National Semiconductor. The Op-Amp is used for impedance matching in order for the signal to be strong enough for reading.