HARDWARE
DESIGN
Servo Motors
The servo that we chose to use was the CS-61 Servo because we managed to salvage them from a friend’s mechanical engineering project. These servos respond to a range of 30 to 70 ms pulses and have a freedom of motion of about 180 degrees. The servos are powered using a 5V power source.
Specifications
Speed |
.19 sec/60 degrees |
Torque |
42 oz-in (3.1 kg/cm) |
Size |
Length:
1.6" (41mm) Width: 0.8" (20mm) Height:
1.4" (36mm) |
Weight |
1.75
oz (44.5 g) |
They have 3 input lines, ground, Vcc and a data input line. We used a pulse-width modulator attached to the data input line to move the servo.
Sound Module
A very simple speaker was used to output sounds reflective of EVA’s moods. The speaker comprises of only 2 pins, ground and the data pin. We computed the periods of the pulse required to play different notes. Thus by sending in different pulse periods into the data pin of the speaker, we are able to produce different tones of sound.
Note |
Period |
|
Note |
Period |
B3 |
253 |
|
D#5 |
101 |
C4 |
238 |
|
E5 |
95 |
C#4 |
225 |
|
F5 |
89 |
D4 |
213 |
|
F#5 |
84 |
D#4 |
201 |
|
G5 |
80 |
E4 |
190 |
|
G#5 |
75 |
F4 |
179 |
|
A5 |
71 |
F#4 |
169 |
|
A#5 |
67 |
G4 |
159 |
|
B5 |
63 |
G#4 |
150 |
|
C6 |
60 |
A4 |
142 |
|
C#6 |
56 |
A#4 |
134 |
|
D6 |
53 |
B4 |
127 |
|
D#6 |
50 |
C5 |
119 |
|
E6 |
47 |
C#5 |
113 |
|
F6 |
44 |
D5 |
106 |
|
G6 |
40 |
LCD Module - Hyundai HG25504NG-01 LCD
The
256x 128 graphics LCD
manufactured by Hyundai is not only reliable but also responsive to graphical
inputs. We had no trouble with screen
flicker from the typically slow LCD refresh rate. Also, the LCD still worked even though we
accidentally reversed the polarity of the power inputs and shorted the LCD. The LCD requires 17 pins for the display of
graphics. Out of the 17 pins, 8 pins are
used for the 8-bit data bus and 4 pins are used for the control line. The remaining pins are used for powering the
LCD (-10.5V) and to provide a reference voltage for logic levels (+5V). A detailed description of the port pin
assignment to the LCD can be found in the schematics section.
Programming
of the LCD is a chore but it would be much worse if not for the Seiko–Epson
SED1330F onboard graphics controller.
The SED1330F technical
manual clearly documents the initialization sequence, the command words and
data words to write to the LCD for the proper display of graphics. Individual icons displayed beside EVA’s face were hard-coded in bitmap while EVA’s face was drawn using horizontal and vertical line
functions as defined in EVAlcd.c. Another convenient feature of the SED1330F is
that it stores a bitmap of alphabets which allows one to write characters to
the LCD without having to first define the entire character bitmap.
Cost Breakdown
Item |
Qty |
Cost ($) |
CS-61
Servo Motors |
2 |
6.50 |
CS-61
Servo Motors |
1 |
4.99 |
Hyundai
LCD |
1 |
18.00 |
34-Connector
IDC |
1 |
0.65 |
IDC
Connector Head |
2 |
0.20 |
Total |
|
30.35 |