char pn;
#include<AFMotor.h>
#include <Servo.h> // servo library
int l=200;
int pos = 0;
int x=0;
int y=0;
AF_DCMotor motor3(3);
AF_DCMotor motor4(4);
AF_DCMotor motor1(1);
int mot_speed = l;
Servo myservo1, myservo2;
#define RELAY_PIN 3
void setup() {
myservo1.attach(10); // attach servo signal wire to pin 9
myservo2.attach(9);
myservo1.write(0);
myservo1.write(0);
pinMode(RELAY_PIN, OUTPUT);
digitalWrite(RELAY_PIN, HIGH); // Relay initially OFF
Serial.begin(9600);
}
void loop()
{
motor1.setSpeed(mot_speed);
motor3.setSpeed(mot_speed);
motor4.setSpeed(mot_speed);
while(Serial.available()>0)
{
pn=Serial.read();
Serial.print(pn);
}
if (pn == 'A')
{
motor3.run(FORWARD);
motor4.run(FORWARD);
}
if (pn == 'B')
{
motor3.run(BACKWARD);
motor4.run(BACKWARD);
}
if (pn == 'C')
{
motor3.run(FORWARD);
motor4.run(BACKWARD);
}
if (pn == 'D')
{
motor4.run(FORWARD);
motor3.run(BACKWARD);
}
if (pn == 'y')
{
motor1.run(FORWARD);
delay(100);
motor1.run(RELEASE);
}
if (pn == 'x')
{
motor1.run(BACKWARD);
delay(100);
motor1.run(RELEASE);
}
if (pn == 'Z')
{
motor1.run(RELEASE);
motor3.run(RELEASE);
motor4.run(RELEASE);
}
if (pn == 'a')
{
for (pos = x; pos <= 180; pos += 1) {
myservo1.write(pos);
delay(30);
x =x+1;
break;
pn = 0;
}}
if (pn == 'b')
{
for (pos = x; pos >= 0; pos -= 1) {
myservo1.write(pos);
delay(30);
x =x-1;
break;
pn = 0;
}}
if (pn == 'c')
{
for (pos = y; pos <= 180; pos += 1) {
myservo2.write(pos);
delay(30);
y =y+1;
break;
pn = 0;
}}
if (pn == 'd')
{
for (pos = y; pos >= 0; pos -= 1) {
myservo2.write(pos);
delay(30);
y =y-1;
break;
pn = 0;
}
}
if (pn == 'm')
{
l=50;
}
if (pn == 'n')
{
l=100;
}
if (pn == 'o')
{
l=150;
}
if (pn == 'p')
{
l=200;
}
if (pn == 'q')
{
l=255;
}
if (pn == 'Y') {
digitalWrite(RELAY_PIN, HIGH); // Relay ON
}
if (pn == 'X') {
digitalWrite(RELAY_PIN, LOW); // Relay OFF
}
}