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 ?