Nilbi94
Messages postés1Date d'inscriptionlundi 23 mars 2015StatutMembreDernière intervention23 mars 2015
-
Modifié par Nilbi94 le 23/03/2015 à 16:16
Bonjour!
J'ai besoin d'aide pour un projet, qui consiste à faire bouger une caméra à 90° fixé à un drone.
nous savons déjà comment faire bouger la caméra avec le programme arduino ci-dessous:
-------------------------------------
#include <Servo.h> // importe la librairie servo
Servo myservo; // créé un objet Servo pour contrôler un servo moteur
int pos = 0; // cette variable enregistre la première position du servo
int potpin = 0; // Affecte le potentiomètre à la broche 0 de la carte Arduino
int val; // Variable à lire provenant de la broche d'entrée analogique 0
void setup()
{
myservo.attach(9); // affecte l'objet Servo à la broche 9 de la carte Arduino
}
void loop()
{
val = analogRead(potpin); // Lis la valeur du potentiomètre (value between 0 and 1023)
val = map(val, 0, 1023, 72, 161); // échelonne cette valeur afin de l'utiliser avec le servo (valeur entre 0 et 90)
myservo.write(val); // placer le servo selon la valeur échelonnée
}
-------------------------------
On doit l'appliquer à distance à l'aide d' émetteur/récepteur pour commander la caméra qui sera fixée à distance sur le drone.
Le soucis est que nous ne savons pas comment procéder et que notre prof qui encadre le projet ne nous aide pas beaucoup et il est souvent absent en ce moment :( .
Nous avons pris des notes sur ce que le prof nous a dit, les voici:
pour communiquer entre émetteur récepteur:
prog émetteur avec valeurs de 0 a 9 a envoyer
récepteur: reçois 0 a 9: Serial.print(buf[i], DEC);
doit bouger servomoteur:
doit Serial.print(buf[i], DEC); mais *10 (pas de 10 pour bouger de 10°) + 72 (départ)
et additionner :
val = map(val , 0, 1023, 72, 161); // échelonne cette valeur afin de l'utiliser avec le servo (valeur entre 0 et 90)
72° : départ
161° : fin
Merci d'avoir lu jusqu'au bout, en espérant avoir de l'aide