Ok, I fixed the E part, but I now have a problem, it doesn't go the same distance the same time on the edges, instead of 1 move, it takes like 10.
#include <Servo.h>
#include <SoftwareServo.h>
Servo right;
Servo left;
SoftwareServo head;
int pos = 0;
int headValue = 0;
int headValue1 = 180;
char val;
void setup() {
right.attach(9);
left.attach(10);
head.attach(11);
Serial.begin(9600);
}
void loop() {
if( Serial.available() )
{
val = Serial.read();
if( val == 'A' )
{
left.write(135);
right.write(135);
}
if( val == 'D' )
{
left.write(45);
right.write(45);
}
if( val == 'W' )
{
left.write(45);
right.write(135);
}
if( val == 'S' )
{
left.write(95);
right.write(95);
delay(250);
left.write(135);
right.write(45);
}
if( val == ' ' )
{
left.write(96);
right.write(96);
}
if( val == 'Q' )
{
headValue = headValue + 50;
head.write(headValue);
SoftwareServo::refresh();
}
if( val == 'E' )
{
headValue1 = headValue1 - 50;
head.write(headValue1);
SoftwareServo::refresh();
}
delay(1);
}
}