Hola a todos:
soy nuevo en todo esto, he adquirido recientemente una ARDUINO MEGA porque me apetecía juguetear con ella, aprender un poco en cuanto la programación ya que mis conocimientos son básicos y me gustaría publicar mis primeros avances porque a alguien igual le puede servir de ayuda.
Bien, he conseguido manejar un servo, al que enviamos el set point de la posición a través del puerto serie.
#include <Servo.h>
#include <Servo.h>
Servo myservo;
int pos = 0;
int a;
void setup() {
Serial.begin(9600);
myservo.attach(9);
}
char cadena[24];
byte contador=0;
int valor = 0;
void loop(){
for(a; a<1; a++){
Serial.print("Introduzca posicion de servo :");
}
if(Serial.available()){
memset(cadena, 0, sizeof(cadena));
while (Serial.available()>0){
delay(5);
cadena[contador]=Serial.read();
contador++;
}
valor=atoi(cadena);
valor = min(valor, 180); //establece valor maximo
valor = max(valor, 0); //establece valor minimo
Serial.print(valor); //imprime en pantalla el valor introducido
Serial.println(" grados");
myservo.write(valor); //establece el valor como posicion myservo
a=0; //reiniciamos a para volver a mostrar aviso para introduccion de datos
contador=0;
delay(100);
}
}