Support Caméra Pan / Tilt avec deux servos et un Arduino Uno

Support Caméra Pan / Tilt avec deux servos et un Arduino Uno

Aujourd’hui je me lance dans une petite réalisation avec mon Imprimante BQ Kit Prusa i3 Hephestos Imprimante 3D Rouge de chez BQ et mon Arduino UNO version 3

je vais imprimer un support de Caméra Pan / tilt et nous allons le raccorder à l’Arduino afin de pouvoir, à l’aide d’un joystick et de deux servos, le diriger.

Matériels nécessaire :

Etape 1 : Réalisation du support avec l’imprimante 3D

Rien de plus simple, il suffit d’aller sur la base http://www.thingiverse.com pour trouver son bonheur. J’ai arrêté mon choix sur un modèle simple et rapide à imprimer : Super Compact Pan Tilt Camera Mount .

pan_tilt_camera_mount_1

J’ai fait une impression à 0.1 et un remplissage à 60%.

Etape 2 : Assemblage et montage des servos.

Rien de bien compliqué à ce niveau… Il vous suffit de coller les supports dans les encoches puis de visser les servos à leur place.

Voici quelques images :

IMG_2008

IMG_2010

IMG_2009

Etape 3 : Le câblage.

Nous allons relier les cables des servos dans un premier temps. Nous relions les GND (cable marron normalement) des servos vers le MOINS de la BreadBoard puis les VCC (cable rouge normalement) vers le PLUS de la BreadBoard. Ensuite nous relions les cables ANALOG OUT (jaune ou orange le plus souvent) vers les PIN 3 et 10 de l’Arduino.

IMG_2012

Ensuite il suffit de relier le GND de l’Arduino au MOINS de la BreadBoard puis le 5V de l’Arduino sur le PLUS de la BreadBoard.

Enfin pour la connexion du Joystick :

  • GND vers MOINS de la BreadBoard
  • VCC vers PLUS de la BreadBoard
  • X vers A4 de l’Arduino
  • Y vers A3 de l’Arduino

Si vous avez un connecteur de plus sur le Joystick, SEL par exemple ou BT, il s’agit du Bouton de selection dont nous n’avons pas besoin dans notre cas.

Etape 4 : Le code…

Rien de bien compliqué ici… Voici le code à copier dans votre IDE et à envoyer dans l’Arduino.

//
// PAN / TILT camera mount whith joystick
// and two micro servo
// CC – 07/2016
//

#include <Servo.h>

const int servo1 = 3; // first servo pin
const int servo2 = 10; // second servo pin
const int joyH = 3; // L/R – Y – Parallax Thumbstick pin
const int joyV = 4; // U/D – X – Parallax Thumbstick pin

int servoVal; // variable to read the value from the analog pin

Servo myservo1; // create servo object to control a servo
Servo myservo2; // create servo object to control a servo

void setup() {

// Servo
myservo1.attach(servo1); // attaches the servo
myservo2.attach(servo2); // attaches the servo

// Inizialize Serial – Servo value on the monitor
Serial.begin(9600);
}
void loop(){

// Display Joystick values using the serial monitor
outputJoystick();

// Read the horizontal joystick value (value between 0 and 1023)
servoVal = analogRead(joyH);
servoVal = map(servoVal, 0, 1023, 0, 180); // scale it to use it with the servo (result between 0 and 180)

myservo2.write(servoVal); // sets the servo position according to the scaled value

// Read the horizontal joystick value (value between 0 and 1023)
servoVal = analogRead(joyV);
servoVal = map(servoVal, 0, 1023, 70, 180); // scale it to use it with the servo (result between 70 and 180)

myservo1.write(servoVal); // sets the servo position according to the scaled value

delay(15); // waits for the servo to get there

}
/**
* Display joystick values on Serial monitor
*/
void outputJoystick(){

Serial.print(analogRead(joyH));
Serial.print (« —« );
Serial.print(analogRead(joyV));
Serial.println (« —————-« );
}

Voila, normalement si tout va bien vous devriez pouvoir diriger votre support de caméra avec le joystick.

Si votre support ne bouge pas dans le bon sens il vous suffit d’intervenir les PINS A3 et A4… Cela marche également avec les PINS 3 et 10 !

Amusez-vous bien !

3D printed Arduino controlled pan tilt camera mount

Cédric

Entrepreneur curieux et gourmand...