Go Down

Topic: posicionamiento de un servo por puerto serie (Read 2756 times) previous topic - next topic

davidlexu

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);    
 }
}

Go Up