servos con arduino para barco RC

Hola amigos.

Estoy muy contento :slight_smile: he conseguido programar un c贸digo que aparentemente hace lo que necesito. :o Copiando trozos de c贸digo de ejemplos de la red y con muuuucho ensayo/error he dado con la tecla; o eso creo.

Os pego el c贸digo e incluyo dos archivos, uno del ide, y otro del simulador UnoArduSim que es la 煤nica manera que tengo de comprobar si funciona, porque ya me he dado cuenta que una cosa es que lo compile bien y otra que haga lo que esperas. Echadle un vistazo por si hubiese algo raro.
Por cierto cuando me las promet铆a muy felices al pasar el c贸digo al ide me daba error hasta que descubr铆 que no acepta las 帽. >:(

Soy consciente que esta es la mitad de la faena porque me queda la parte de conectar una radio de verdad; pero estoy esperando al 11 del 11 a ver si pillo algo mejor el precio.

La verdad que me he divertido trasteando con la programaci贸n, si he llegado hasta aqu铆, si no saco adelante la conexi贸n a la radio, con un empujoncito vuestro seguro que lo logro. :confused:
Gracias por toda la info que me hab茅is proporcionado.

El c贸digo:

int senalradio = A5; 聽 聽// Pin usado para conectar el potenci贸meto simulando el canal 1 de la futura radio
int valorsenalradio; 聽 聽 // Esta variable definir谩 la posici贸n del servo

int variableAmura = 0; 聽 聽 聽 // declara una variable y le asigna el valor 0. Es la desencadenante de todo, 
//detecta si la botavara est谩 en el costado de estribor o no. Si no est谩 valor 0 si est谩 valor 1

#include <Servo.h> 聽 聽 聽 聽 聽 // Inclu铆mos la librer铆a para poder controlar los servos.


Servo servoMotor2;
Servo servoMotor3;
Servo servoMotor4;
Servo servoMotor5;// Declaramos las variables para controlar los servos.

void setup()
{

pinMode(A5, INPUT); //configura el pin'A5'como entrada (analog) para el canal 1 de la radio, simulado por potenci贸metro
pinMode(11, INPUT); // configura el pin '11' como entrada, 0 amurados a estribor, 1 amurados a babor

pinMode(12, OUTPUT); // configura el pin '12' como salida, luz verde para amurados estribor
pinMode(13, OUTPUT); // configura el pin '13' como salida, luz roja para amurados babor

servoMotor2.attach(2);
servoMotor3.attach(3);
servoMotor4.attach(4);
servoMotor5.attach(5);// Iniciamos los servos para que empiecen a trabajar con los pines 2,3,4 y 5
}

void loop()



{
variableAmura = digitalRead(11);// la variable recoge el valor digital del pin '11'
if (variableAmura == 0)
{ 
digitalWrite(12 , HIGH); 聽 // encender led verde (amurados a estribor)
delay(1000); 聽 聽 聽 聽 聽 聽 聽 聽 聽 // esperar un segundo
digitalWrite(12 , LOW); 聽 聽//apagar led verde (amurados a estribor)
delay(1000); 聽 聽 聽 聽 聽 聽 聽 聽 聽 // esperar un segundo}
valorsenalradio = analogRead(senalradio); //realiza la lectura tensi贸n en 'A5' y la convierte en un n煤mero de 0 a1023
valorsenalradio = map(valorsenalradio, 0, 1023, 0, 180);// valor proporcional a la escala del servomotor (valor entre 0 y 180)

servoMotor2.write(valorsenalradio); //servoMotor2 se mueve con el potenciometro conectado A5
servoMotor3.write(0); //servoMotor3 va a posici贸n 0
servoMotor4.write(valorsenalradio); //servoMotor4 se mueve con el potenciometro conectado A5
servoMotor5.write(180); //servoMotor5 va a posici贸n 180

}

else
{ 
digitalWrite(13 , HIGH); 聽 // encender led roja (amurados a babor)
delay(1000); 聽 聽 聽 聽 聽 聽 聽 聽 聽 // esperar un segundo
digitalWrite(13 , LOW); 聽 聽//apagar led roja (amurados a babor)
delay(1000); 聽 聽 聽 聽 聽 聽 聽 聽 聽 // esperar un segundo}
valorsenalradio = analogRead(senalradio); //realiza la lectura tensi贸n en 'A5' y la convierte en un n煤mero de 0 a1023
valorsenalradio = map(valorsenalradio, 0, 1023, 0, 180);// valor proporcional a la escala del servomotor (valor entre 0 y 180)

servoMotor2.write(0); //servoMotor2 va a posici贸n 0
servoMotor3.write(valorsenalradio); //servoMotor3 se mueve con el potenciometro conectado A5
servoMotor4.write(180); //servoMotor2 va a posici贸n 180
servoMotor5.write(valorsenalradio); //servoMotor5 se mueve con el potenciometro conectado A5
}
}

sketch_oct25a.ino (3.05 KB)

config arduino servos velas delanteras y burdas.ino (2.98 KB)