Antes que nada un saludo soy nuevo en el foro y espero contribuir con la comunidad y contar con su ayuda, en esta ocasión estoy realizando un Proyecto de fotografia en concreto un Dolly Motorizado para fotografia con 1 servo y Arduino, el control lo realizo con el clásico ejemplo de Knob, pero no encuentro la manera o el comando correcto para agregar al proyecto 2 interruptores de presión y detengan el ciclo del servo(MG995 Trucado 380 grados), explico la idea:
Montado en dos rieles de aluminio corre la base de la camara en donde ira toda la electrónica debajo de la base quiero montar 1 switch de palanca de frente y otro atrás a manera que al correr la base de derecha a izquierda y al llegar al final del riel se presione el switch y el arduino ordene al servo detenerse y viceversa, espero me puedan ayudar?
Utiliza el servo.detach(); esto dejara de mover el servo. Para poder volver a moverlo tendras que volver a definir el servo con servo.attach(pin);
Este es mi codigo solo aplique el port serial para leer la posicion del servo, fuera de eso no es mas que el ejemplo de Knob:
// Controlling a servo position using a potentiometer (variable resistor)
// by Michal Rinott http://people.interaction-ivrea.it/m.rinott
#include <Servo.h>
Servo myservo; // create servo object to control a servo
int potpin = 0; // analog pin used to connect the potentiometer
int val; // variable to read the value from the analog pin
void setup()
{
myservo.attach(9); // attaches the servo on pin 9 to the servo object
Serial.begin(9600); //Inicia la comunicacion con la computadora a travez del puerto serie
}
void loop()
{
val = analogRead(potpin); // reads the value of the potentiometer (value between 0 and 1023)
val = map(val, 0, 1023, 0, 179); // scale it to use it with the servo (value between 0 and 180)
myservo.write(val); // sets the servo position according to the scaled value
Serial.println(val);
delay(15); // waits for the servo to get there
}