Projet KAPduino : servo TILT

Les radios commandes, déclencheurs divers et variés. Les circuits électroniques et autres bidouillages.

Projet KAPduino : servo TILT

Messagede Deltakap le Ven 09 Octobre 2009, 19:35

Pour le servo de tilt, il y a 2 valeurs à déterminer:
la position TILT_HORIZON (l'apn regarde l'horizon)
la position TILT_BAS (l'apn regarde en bas)

Le sketch suivant permet de déterminer ces valeurs:
(après avoir lancé l'hyperterminal, la touche 1 du PC fait bouger le tilt dans un sens, la touche 2 dans l'autre... il suffit de relever les valeurs affichées pour les 2 positions)

Code: Tout sélectionner
// réglage du servo de tilt

#include <Servo.h>

#define TILT_PIN        3


Servo tilt_servo;


int tilt_value = 90;
int inByte = 0;         // incoming serial byte


void setup() {

  tilt_servo.attach(TILT_PIN);

  Serial.begin(9600);
}

void loop() {
 

  if (Serial.available() > 0) {
    inByte = Serial.read()-48; // get incoming byte:
 
    switch (inByte){
      case 1:
        tilt_value++;
        break;
      case 2:
        tilt_value--;
        break;
    }
    tilt_servo.write(tilt_value);
    Serial.println(tilt_value);
  }
}



Cet autre sketch va faire varier l'inclinaison du servo de tilt sur 4 angles prédéfinis


Code: Tout sélectionner
#include <Servo.h>


#define TILT_PIN  3

#define TILT_INCLIN_1    15 //1ère inclinaison en degrés
#define TILT_INCLIN_2    35 //2ère inclinaison en degrés
#define TILT_INCLIN_3    65 //3ère inclinaison en degrés
#define TILT_INCLIN_4    90 //4ère inclinaison en degrés

#define TILT_HORIZON    131 // l'apn regarde l'horizon
#define TILT_BAS            43 // l'apn regarde en bas



Servo tilt_servo;

void tilt_angle(int angle = 0){
   angle = map(angle, 0, 90, TILT_HORIZON, TILT_BAS);
   tilt_servo.write(angle);   
}

void setup() {

  tilt_servo.attach(TILT_PIN);

}

void loop() {
   tilt_angle(TILT_INCLIN_1);
   delay(2000);
   //ajouter le shoot
   
   tilt_angle(TILT_INCLIN_2);
   delay(2000);
   //ajouter le shoot
   
   tilt_angle(TILT_INCLIN_3);
   delay(2000);
   //ajouter le shoot

   tilt_angle(TILT_INCLIN_4);
   delay(2000);
   //ajouter le shoot
 
}


Prochaine version.... vitesse de déplacement un peu plus lente ? :mrgreen:
Avatar de l’utilisateur
Deltakap
Plus de 1000 messages
 
Messages: 1432
Inscription: Lun 22 Septembre 2008, 11:35
Localisation: Du coté de Granville

Re: Projet KAPduino : servo TILT

Messagede fxix le Dim 11 Octobre 2009, 17:12

cool...
même plus besoin de te poser des questions tu apportes les réponses :wink:

Pour la peine je te pose quand même une question, NA :D :
existe-t-il une fonction de concatenation dans les bibliothèques d'Arduino ?
en d'autre terme y a t il un moyen de faire une boucle qui pemettrait de passer en paramètre TILT_INCLIN_1 puis 2 ...
en faisant une incrémentation de l'id final :?:

je sais que l'on part de texte (le nom de la variable) et d'un chiffre (l'id) mais une fonction de concatenation, si elle existe, pourrait faire l'affaire.
Fabien XIX
aéro-photographe... mais plus assez à mon goût
f19.fr
Avatar de l’utilisateur
fxix
Plus de 1000 messages
 
Messages: 1031
Inscription: Dim 13 Avril 2008, 9:00
Localisation: presque à Tours


Retourner vers L'électronique embarquée et au sol

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 2 invités