Hola,
Les Comento que estoy comenzando con Arduino, tengo un Motor de 360°.
Intente Controlarlo con la libreria <Servo.h>, y la instrucción Servo.write(180).
El motor gira de forma continua, algo que es bueno, sin embargo por lo que tengo entendido,
el motor debería simplemente de ponerse en esa posición y no seguir girando.
No sé la manera de controlarlos es de otra forma.
Me interesa que gire de forma continua, detenerlo, cambiar de sentido, y si es posible
el controlar la velocidad de giro.
La señal PWM sólo controla la velocidad del motor no la posición.
De 0º a 85º Gira en sentido anti-horario, donde 0º es rápido y 85º Lento
De 95º a 180º Gira en sentido horario, donde 95º es Lento y 180º rápido.
Es decir, entre más cerca de 90º más lento o se detiene el motor.
Hice la prueba con 2 motores uno de ellos se detenía por completo en
90º, y el otro se detenía en 95º, hay que calibrar.
#include <Servo.h>
//Creamos Objetos de la clase servo
Servo servo1;
Servo servo2;
void setup(){
//Indicamos en que Pines están conectados los servos
servo1.attach(3);
servo2.attach(4);
Serial.begin(9600);
}
void loop(){
Serial.println("INICIANDO....: ");
delay(5000);//retardo de 5 segundos
Serial.println(" velocidad Alta '0' ");
servo1.write(0);//iniciamos con una velocidad Alta
servo2.write(0);
delay(5000);//retardo de 5 segundos
//probamos si baja la velocidad
Serial.println(" velocidad baja '85' ");
servo1.write(85);
servo2.write(85);
delay(5000);//retardo de 5 segundos
// Detenmos los Servos.
Serial.println(" Deteniendo motores '95' ");
servo1.write(90);
servo2.write(95);
delay(5000);//retardo de 5 segundos
//giramos en sentido opuesto
Serial.println(" Sentido Opuesto '100' ");
servo1.write(100);
servo2.write(100);
delay(5000);
Serial.println(" Sentido Opuesto '180' ");
Serial.println(" 180 ");
servo1.write(180);
servo2.write(180);
delay(5000);
}