je rapel qu'avant de découvrir l'arduino , je n'avait absolument aucune connaissance ni des microcontoleurs , ni de la programation en C.
ce code a donc été ecrit avec des fonctions simples , et est trés certainement perfectible.
j'ai néanmoins atteint mon premier objectif , qui etait de réaliser un Autokap, commandant 3 axes.
un axe pan , un axe tilt et un déclencheur mécanique.
edit : je remercie au passage " vertigo" a qui j'ai carement repiqué le code pour la rotation du pan ! (solution qui a mon niveau je n'aurai su resoudre) .
j'espere que ce code pourra vous etre utile le voici:
(je suis obliger de le poster en plusieurs fois car trop de caracteres).
- Code: Tout sélectionner
///////////////////////////////////////////////////////////////////////////////////
// ESSAIS D'AUTOKAP AVEC ARDUINO //
// PAR FRED88 //
///////////////////////////////////////////////////////////////////////////////////
#include <Servo.h>
////////////////////////////////////////////////////////////////////////////////////
// DEFINITIONS DES SERVOS //
////////////////////////////////////////////////////////////////////////////////////
Servo pan; //déclaration du servo de pan (servo Futaba S3010 modifié a 360 degrés)
Servo tilt; //déclaration du servo de tilt (servo futaba S3010 standard)
Servo dec; //déclaration du servo de declenchement (servo Hitec HS55)
////////////////////////////////////////////////////////////////////////////////
// DEFINITION DES VARIABLES //
////////////////////////////////////////////////////////////////////////////////
int pos_tilt1=0; //variable relative au tilt
int pos_dec1=0; //variable relative au pan
int i=0;
///////////////////////////////////////////////////////////////////////////////////////////
int pas_tilt=20; //pas du tilt
int pas_pan=30; //pas du pan
int ang_deb_tilt=0; //valeur de l'angle de départ du tilt /////////////////////////////////////////////////////////
int ang_fin_tilt=60; //valeur de l'angle d'arrivé totale du tilt //les valeurs angulaires souhaitées sont a modifier ici//
int ang_deb_dec=120; //valeur de l'angle de depart du servo de declenchement /////////////////////////////////////////////////////////
int ang_fin_dec=170; //valeur de l'angle d'arrivé du servo de declenchement
int temps_maintient_dec=3000; //valeur temps de maintien du déclencheur