Paso 3: código
Código del lado del Control Freaduino#include < NewSoftSerial.h >
#include < avr/pgmspace.h >
#define rxPin 2
#define txPin 3
NewSoftSerial mySerial (rxPin, txPin);
void setup()
{
definir modos de pin de tx, pernos de rx:
pinMode (rxPin, entrada);
pinMode (txPin, salida);
pinMode (A0, entrada);
pinMode (A1, entrada);
mySerial.begin(9600);
Serial.Begin(9600);
}
void loop() {}
0.175 es para corregir la varicela a 90, servor pos defoult 90. Estos datos que se puede cambiar por sí mismo
int posX = analogRead (A0) de la (int) * 0.175;
int posY = analogRead (int) (A1) * 0.175;
mySerial.print("x");
mySerial.print(posX);
mySerial.print("y");
mySerial.print(posY);
mySerial.println("End");
Serial.Print("x=");
Serial.println(posX);
Serial.Print("y=");
Serial.println(Posy);
Delay(300);
}
Código del lado del Control de Arduino
#include < NewSoftSerial.h >
#include < Servo.h >
#include < String.h >
#define rxPin 2
#define txPin 3
NewSoftSerial mySerial (rxPin, txPin);
Servo myservoX; crear objeto servo para controlar un servo
Servo myservoY; se puede crear un máximo de ocho objetos de servo
void setup()
{
Serial.Begin(9600);
mySerial.begin(9600);
myservoX.attach(5); se fija el servo en el pin 9 al objeto servo
myservoY.attach(3);
}
void loop() {}
int i = 0, n = 0, cuenta = 0;
char someChar [32] = {0};
Cuando llegan los personajes sobre el puerto serial...
{if(serial.Available())}
{}
someChar [i ++] = Serial.read();
} mientras que (Serial.available() > 0);
Si (someChar [0] == 'x')
{
int bandera = 1;
while(flag)
{
{if(serial.Available())}
{}
someChar [cuenta ++] = Serial.read();
} mientras que (Serial.available() > 0);
Si (strstr (someChar, "Terminar"))
{
Bandera = 0;
mientras que (someChar [n]! = 'y') n ++;
char tmpbufx [4] = {0};
strncpy (tmpbufx, someChar, n);
int posX = atoi(tmpbufx);
myservoX.write(posX);
n = 0;
char * str = strchr(someChar,'y');
char tmpbufy [4] = {0};
mientras que (str [n]! = 'E') n ++;
strncpy (tmpbufy, str + 1, n-1);
int posY = atoi(tmpbufy);
if(Posy>105) posY = 105;
otra cosa if(posY<85) posY = 85;
myservoY.write(posY);
}
}
}
}
}
}