Hola cracks,
estoy intentando controlar la posicion de un servo mediante un potenciometro con arduino mega. Un primer problema es que no me funciona la libreria servo. Asi que me voy implementando yo el programa.
Los pasos que sigo son:
1)leo el angulo
2)envio el anglo en ms
3) el servo se mueve
Lo malo es que no se mueve tal y como digo, por ejemplo lo queiro mover 45º...xo se mueve lo que quiere.
Me he leido un momnton de teoria sobre servos y no acabo de pillar el concepto.
necesito AYUDA!!
PD: El codigo que utilizo es:
#include <LiquidCrystal.h>
LiquidCrystal lcd(12, 11, 2, 3, 4, 5, 6, 7, 8, 9, 10);
float val = 0;
int spin = 13;
float temps = 0;
int vegada = 1;
float t = 0;void setup(){}
void loop()
{
if (vegada<20) //solo lo repito una vez para
// ver solo un movimento
{
//
temps = analogRead(0); //Capto el valor del potenciometro
t = (((temps*0.15)/60)*1000); //priero lo escalo a grados y luego lo passo a msdigitalWrite(spin, HIGH); // On motor
delayMicroseconds(t); // teoricamente ponendo el tiempo correspondienta al angulo
digitalWrite(spin, LOW); // off
delayMicroseconds(2000-t); // 20 millisecond delay is needed between pulsesvegada++;
}else{
vegada=50;}//Muestro por pantalla
val = ((analogRead(0)*360.00)/1023.00);
//val = analogRead(0);
delay(10);
lcd.print("ANGULO: ");
lcd.print (val);
lcd.home();
// Fin - muestro por pantalla}
GRACIAS DE NUEVO!!!