Introduction: Wex, the One Eyed Watcher
Step 1:
Parts needed include:
Arduino
Two ping ultrasonic sensors
Futaba s3103 servo
Radio Shack 276-0016 7 color led
Radio Shack 276-036 flashing red led
9 volt battery
480 ohm resistor
680 ohm resistor
Metal duct tape
Super glue
Case (print 3d parts--use a printing service to print them--make your own case)
http://www.thingiverse.com/thing:32121
The software "looks to the left--turn left if something there"
"look to the right--turn right if something there"
"look straight if nothing to the left or right"
#include <Servo.h>
Servo myservo;
const int pingPin = 7;
const int pingPin2 = 9;
long duration;
long duration1;
void setup ()
{myservo.attach(5);
}
void loop ()
{
pinMode (pingPin, OUTPUT);
digitalWrite (pingPin, LOW);
delayMicroseconds (2);
digitalWrite (pingPin, HIGH);
delayMicroseconds (5);
digitalWrite (pingPin, LOW);
pinMode (pingPin, INPUT);
duration = pulseIn (pingPin, HIGH);
if (duration <5000)
{
myservo.write(125);
delay(500);
}
// else
{
pinMode (pingPin2, OUTPUT);
digitalWrite (pingPin2, LOW);
delayMicroseconds (2);
digitalWrite (pingPin2, HIGH);
delayMicroseconds (5);
digitalWrite (pingPin2, LOW);
pinMode (pingPin2, INPUT);
duration1 = pulseIn (pingPin2, HIGH);
if (duration1 <5000)
{
myservo.write(5);
delay(500);
}
if (duration >5000 and duration1 >5000)
{myservo.write(65);
delay(500);
}}}
Arduino
Two ping ultrasonic sensors
Futaba s3103 servo
Radio Shack 276-0016 7 color led
Radio Shack 276-036 flashing red led
9 volt battery
480 ohm resistor
680 ohm resistor
Metal duct tape
Super glue
Case (print 3d parts--use a printing service to print them--make your own case)
http://www.thingiverse.com/thing:32121
The software "looks to the left--turn left if something there"
"look to the right--turn right if something there"
"look straight if nothing to the left or right"
#include <Servo.h>
Servo myservo;
const int pingPin = 7;
const int pingPin2 = 9;
long duration;
long duration1;
void setup ()
{myservo.attach(5);
}
void loop ()
{
pinMode (pingPin, OUTPUT);
digitalWrite (pingPin, LOW);
delayMicroseconds (2);
digitalWrite (pingPin, HIGH);
delayMicroseconds (5);
digitalWrite (pingPin, LOW);
pinMode (pingPin, INPUT);
duration = pulseIn (pingPin, HIGH);
if (duration <5000)
{
myservo.write(125);
delay(500);
}
// else
{
pinMode (pingPin2, OUTPUT);
digitalWrite (pingPin2, LOW);
delayMicroseconds (2);
digitalWrite (pingPin2, HIGH);
delayMicroseconds (5);
digitalWrite (pingPin2, LOW);
pinMode (pingPin2, INPUT);
duration1 = pulseIn (pingPin2, HIGH);
if (duration1 <5000)
{
myservo.write(5);
delay(500);
}
if (duration >5000 and duration1 >5000)
{myservo.write(65);
delay(500);
}}}
Step 2:
Print the case--expect shrinkage cracks.
Step 3:
Cut up plastic scraps into a can.
Step 4:
Add acetone (fingernail polish removal section of stores) and stir. Fill the cracks and let dry.
Step 5:
Fasten Ping sensors to the triangular ear pieces. Add wire wrap wire to the Ping pins. Super glue the ears to the case.
Step 6:
Drill 1/8 inch holes in the "one eye eye" case for the Ping wires.
Step 7:
Route the wires through the side of the case.
Step 8:
Press the eye stalk on the servo and make sure the assembly fits in the case (if you use a different servo motor--the mounting slot in the case will have to be set up differently).
Step 9:
Add a red wire wrap wire to the center lead of the 7 color led.
Step 10:
Add a blue wire wrap wire to the lead with a 90 degree bend on the led. Cut the other (angled) lead off.
Step 11:
Use heat shrinkable tubing (or electrical tape) to insulate the legs.
Step 12:
Push the led through the eye stalk.
Step 13:
Place double sided tape on the back of the Arduino.
Step 14:
Place the Arduino inside the case, along with the servo motor.
Step 15:
Connect everything together, insert the battery and see if things work.
Step 16:
Tape the "nose" (upper piece) onto the body with aluminum duct tape.
Step 17:
Get the "mouth" and tape it on.
Step 18:
Paint the nails to suit your taste.
Step 19:
Glue the feet to the bottom of the case--take a marker or paint and highlight the "nose."
Step 20:
He's all finished--enjoy!