#include <Servo.h>
Servo mh, mb, ma, mp;
int gh=90, gb=90, ga=140, gp=90;
int px=A0, py=A1, bc=4, bo=7;
int led=2;
int ex=0, ey=0, ec=0, eo=0;
int dato;
int t=30;
void setup() {
Serial.begin(9600);
pinMode(px, INPUT);
pinMode(py, INPUT);
pinMode(bc, INPUT);
pinMode(bo, INPUT);
pinMode(led, OUTPUT);
mh.attach(3);
mb.attach(5);
ma.attach(6);
mp.attach(9);
mh.write(gh);
mb.write(gb);
ma.write(ga);
mp.write(gp);
Serial.println("Conectado...");
delay(500);
}
void loop() {
ex=analogRead(px);
ey=analogRead(py);
ec=digitalRead(bc);
eo=digitalRead(bo);
if(Serial.available()>0){
dato=Serial.read();
}
if((dato=='r' || ex>900) && gh>0){
gh=gh-2;
}
if((dato=='l' || ex<100) && gh<180){
gh=gh+2;
}
if((dato=='u' || ey<100) && gb<110 && ga<180){
gb=gb+1;
ga=ga+2;
}
if((dato=='d' || ey>900) && gb>70 && ga>100){
gb=gb-1;
ga=ga-2;
}
if((dato=='c' || ec==1) && gp>75){
gp--;
}
if((dato=='o' || eo==1) && gp<135){
gp++;
}
if(dato=='s' || (ex<=900 && ex>=100) || (ey<=900 && ey>=100)){
gh=gh;
gb=gb;
ga=ga;
gp=gp;
digitalWrite(led, 0);
}
if((dato=='r' || ex>900) && gh==0){
digitalWrite(led, 1);
}
if((dato=='l' || ex<100) && gh==180){
digitalWrite(led, 1);
}
if((dato=='u' || ey<100) && gb==110 && ga==180){
digitalWrite(led, 1);
}
if((dato=='d' || ey>900) && gb==70 && ga==100){
digitalWrite(led, 1);
}
if((dato=='c' || ec==1) && gp==75){
digitalWrite(led, 1);
}
if((dato=='o' || eo==1) && gp==135){
digitalWrite(led, 1);
}
mh.write(gh);
mb.write(gb);
ma.write(ga);
mp.write(gp);
delay(t);
}