Go Down

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

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
 


Please enter a valid email to subscribe

Confirm your email address

We need to confirm your email address.
To complete the subscription, please click the link in the email we just sent you.

Thank you for subscribing!

Arduino
via Egeo 16
Torino, 10131
Italy