Hola, me dirijo a vosotros por que tengo una duda con un codigo para manejar un pan/tilt, este funciona perfectamente, pero necesito fijarlo en la posicion en la que esté cuando suelte el joystick (este vuelve al centro), he pensado en dos opciones:
la primera, es que el joystick sea un simple interruptor, y que cuando pase de "x" angulo el servo empiece a funcionar, y cuando el joystick vuelve al centro el servo se pare.
la segunda, es poner un pulsador (el que lleva el joystick integrado) que haga la funcion de fijar el servo,
supongo que sera una chorrada pero no encuentro como hacerlo, aqui os dejo el codigo para que le echeis un vistazo.
un saludo.
#include <Servo.h>
Servo horzServo; // Create a servo object for the pan (horizontal) servo
Servo vertServo; // Create a servo object for the tilt (vertical) servoint horzPin = 0; // Analog input for the joystick horizontal axis
int vertPin = 1; // Analog input for the joystick vertical axis
int vertVal; // Value read from the vertical axis
int horzVal; // Value read from the horizontal axis/**
- Setup
*/
void setup()
{
horzServo.attach(11); // Use pin 9 PWM output for horizontal servo
vertServo.attach(10); // Use pin 10 PWM output for vertical servo
}/**
- Main program loop
*/
void loop()
{
horzVal = analogRead(horzPin); // Read joystick horizontal position
horzVal = map(horzVal, 0, 1023, 0, 179); // Scale reading to suit servo
horzServo.write(horzVal); // Move servo to required positionvertVal = analogRead(vertPin); // Read joystick vertical position
vertVal = map(vertVal, 0, 1023, 0, 179); // Scale reading to suit servo
vertServo.write(vertVal); // Move servo to required positiondelay(15); // Give the servos time to settle
}