//https://forum.arduino.cc/t/blinking-animatronic-eye/1207596/9
#include <Servo.h>
//the p[ins..]
const byte MotorPin = 12;
const byte ButtonPin = 11;
const byte ServoHorizontalPin = 9;
const byte ServoVerticalPin = 10;
const byte HorizontalPotPin = A0;
const byte VerticalPotPin = A1;
//the vars..
int ServoH_Min = 0;
int ServoH_Max = 180;
int ServoV_Min = 0;
int ServoV_Max = 180;
int ButtonP_min = 0;
int ButtonP_max = 180;
//the servo objects
Servo HorizontalServo;
Servo VerticalServo;
Servo Blink;
int HorizontalPotValue;
int HorizontalServoPosition;
int VerticalPotValue;
int VerticalServoPosition;
int Blinker;
int BlinkerPV;
void setup()
{
HorizontalServo.attach(ServoHorizontalPin);
VerticalServo.attach(ServoVerticalPin);
Blink.attach(MotorPin);
pinMode(ButtonPin, INPUT_PULLUP);
}
void loop()
{
Blink.write(0);
HorizontalPotValue = analogRead(HorizontalPotPin);
VerticalPotValue = analogRead(VerticalPotPin);
HorizontalServoPosition = map(HorizontalPotValue, 0, 1023, ServoH_Min , ServoH_Max);
VerticalServoPosition = map(VerticalPotValue, 1023, 0, ServoH_Max , ServoH_Min);
HorizontalServo.write(HorizontalServoPosition);
VerticalServo.write(VerticalServoPosition);
delay(20);
if(digitalRead(ButtonPin) == LOW) {
Blink.write(180);
delay(10);
}
else {
Blink.write(0);
}
}