Contrôlez Plusieurs Servomoteurs par Bluetooth : Arduino & Application Android
Composants et fournitures
| Composant | Quantité | Notes |
|---|---|---|
| Arduino UNO | 1 | Utilisez un Mega pour >6 servos |
| Module Bluetooth HC-06 | 1 | Ou tout module compatible |
| Servomoteurs | 6 | Testable avec 1 seul |
| Fils de connexion (jumpers) | 1 set | MM/FF/MF |
| Smartphone Android | 1 | Pour l'application de contrôle |
À propos du projet
Après avoir réalisé une application pour 1 servo, voici la version multi-servos ! Le code Arduino est aussi amélioré.
Application sur Google Play (contactez-moi pour le code source).
Étape 1 : Liste du matériel et câblage
Câblez selon le schéma, téléversez le code, installez l'app, pairez le Bluetooth et ça marche. Attention : RXD du module → TX Arduino, TXD → RX. Ne pas connecter le module Bluetooth pendant le téléversement.
- Arduino Uno (RobotDyn Uno utilisé ici)
- Module HC-06
- 6 × Servomoteurs
- Jeu de fils jumpers
- Téléphone Android
Étape 2 : Configurer le module HC-06 (optionnel)
Pour changer le nom, le code PIN ou le baudrate :
- Connectez un programmateur USB-TTL au HC-06 (VCC↔VCC, GND↔GND, RXD↔TX, TXD↔RX).
- Ouvrez le moniteur série (9600 bauds).
- Tapez
AT→ réponseOK. AT+NAMExyz→ nom "xyz" (réponseOKsetname).AT+PIN1234→ PIN 1234 (réponseOKsetPIN).
Un PDF avec plus de commandes AT est inclus.
Code Arduino : Contrôle Multi-Servos
/* Auteur : Danny van den Brande
* Contrôle multiple servos via app Android Bluetooth
* Ajoutez autant de servos que de broches disponibles
*/
#include <Servo.h>
Servo myservo[10]; // Tableau pour jusqu'à 10 servos
byte serialA;
void setup() {
// Attachez les servos aux broches PWM
myservo[0].attach(9);
myservo[1].attach(10);
myservo[2].attach(11);
myservo[3].attach(3);
myservo[4].attach(5);
myservo[5].attach(6);
// myservo[6].attach(...); // Décommentez pour plus de servos
Serial.begin(9600); // Ajustez au baudrate de votre module BT
}
void loop() {
if (Serial.available() > 2) {
serialA = Serial.read();
Serial.println(serialA);
}
unsigned int servopos = Serial.read();
unsigned int servopos1 = Serial.read();
unsigned int realservo = (servopos1 * 256) + servopos;
Serial.println(realservo);
// Servo 1 : codes 1000-1179
if (realservo >= 1000 && realservo < 1180) {
int pos = map(realservo, 1000, 1180, 0, 180);
myservo[0].write(pos);
Serial.println("Servo 1 ON");
delay(10);
}
// Servo 2 : codes 2000-2179
if (realservo >= 2000 && realservo < 2180) {
int pos = map(realservo, 2000, 2180, 0, 180);
myservo[1].write(pos);
Serial.println("Servo 2 ON");
delay(10);
}
// Servo 3 : codes 3000-3179
if (realservo >= 3000 && realservo < 3180) {
int pos = map(realservo, 3000, 3180, 0, 180);
myservo[2].write(pos);
Serial.println("Servo 3 ON");
delay(10);
}
// Servo 4 : codes 4000-4179
if (realservo >= 4000 && realservo < 4180) {
int pos = map(realservo, 4000, 4180, 0, 180);
myservo[3].write(pos);
Serial.println("Servo 4 ON");
delay(10);
}
// Servo 5 : codes 5000-5179
if (realservo >= 5000 && realservo < 5180) {
int pos = map(realservo, 5000, 5180, 0, 180);
myservo[4].write(pos);
Serial.println("Servo 5 ON");
delay(10);
}
// Servo 6 : codes 6000-6179
if (realservo >= 6000 && realservo < 6180) {
int pos = map(realservo, 6000, 6180, 0, 180);
myservo[5].write(pos);
Serial.println("Servo 6 ON");
delay(10);
}
// Décommentez pour servos 7-10 (codes 7000-10179)
/*
if (realservo >= 7000 && realservo < 7180) { ... }
if (realservo >= 8000 && realservo < 8180) { ... }
if (realservo >= 9000 && realservo < 9180) { ... }
if (realservo >= 10000 && realservo < 10180) { ... }
*/
}
Schéma de câblage

Processus de fabrication
- Simple Pi Robot – Construire un rover autonome 2 roues motrices avec Raspberry Pi
- Construire une télécommande Android universelle avec Arduino, 1Sheeld et contrôle IR
- Centre de contrôle d'alimentation Arduino : N-FET, P-FET, Relais et RTC
- Véhicule Télécommandé par Android avec Raspberry Pi et Shield Moteur
- Robot Évitement d'Obstacles Piloté par Servomoteur : Construction avec Arduino et HC-SR04
- Contrôler une LED par Bluetooth avec Arduino et MIT App Inventor
- Contrôleur d'humidificateur DIY avec Arduino et relais – Installation haute tension sécurisée
- Servomoteurs expliqués : fonctionnement et importance
- Comprendre les réducteurs de servomoteurs : fonctions, avantages et applications