Base Caméra à Suivi de Mouvement Automatisée avec Arduino et Servocommande
Composants et Fournitures
| Composant | Quantité | Remarques |
|---|---|---|
| Arduino UNO | 1 | Contrôleur principal |
| Condensateur 100 µF | 1 | Protection surtensions servo |
| LED (standard) | 5 | Voyants état capteurs PIR |
| Capteur PIR Mouvement (HC-SR501) | 5 | Détection 180° total (5 zones) |
| Résistance 220 Ω | 5 | Limitation courant LEDs |
| Servomoteur Tower Pro MG996R | 1 | Rotation base caméra |
À Propos du Projet
Idée née d'un problème réel : une caméra de surveillance fixée entre deux pièces ne voit qu'une pièce à la fois. Rotation manuelle via logiciel = lenteur. Solution : base motorisée qui oriente automatiquement la caméra vers la zone où un mouvement est détecté.
Fonctionnement
5 capteurs PIR couvrent un rayon de 180°. Détection mouvement → servomoteur pivote base caméra vers capteur actif. 5 LEDs « état » s'allument correspondant au capteur déclenché.
Câblage
Simple mais nombreux fils (5 × tout sauf servo). Voir schémas en bas de page.
LEDs d'état
Mini breadboard séparée pour facilité retrait. Chaque LED → broche numérique 9‑13 Arduino, masse via 220 Ω.
Capteurs PIR (HC-SR501)
Chaque PIR : broche signal → entrée numérique 2‑6 Arduino, VCC 5 V, GND. Retirer couvercle pour voir marquage broches. Chaque PIR associé à sa LED correspondante dans le code.
Servomoteur
Fixé sur support caméra. Broches : alimentation, signal → broche numérique 7 Arduino, masse. IMPORTANT : Condensateur 100 µF entre alimentation et masse DU SERVO (côté moteur) pour absorber pics de courant au démarrage mouvement.
Construction Mécanique

Base : ancienne étiqueteuse CD Memorex. Disque plat arrière récupéré comme plateau caméra. 4 pieds caoutchouc amovibles = adhérence. Centrale noire retirée (cassée). Trous percés (Dremel) pour fixer servo. Vis reliant servo ↔ plateau caméra.

Problème : poids caméra faisait basculer base. Solution : cylindre carton entre servo et plateau = support supplémentaire, rotation libre conservée.


Plusieurs breadboards utilisés : facilité insertion dans base, dépannage modulaire.
Finition : peinture noire spray sur parties carton visibles pour aspect uniforme.



Code Arduino
Calibration PIR 15 s au démarrage (quitter la pièce). Servo positionné au centre (78,5°). Boucle principale : lecture séquentielle 5 PIRs. Si mouvement détecté (HIGH) et état précédent LOW → allumer LED correspondante, pivoter servo vers angle prédéfini pour ce capteur. Délai 50 ms entre mouvements. Si plus de mouvement → éteindre LED, état précédent = LOW.
/*************************************************
*** Base Caméra Motorisée à Suivi de Mouvement ***
*** par Lindsay Fox ***
*************************************************/
#include <Servo.h>
Servo camServo;
int currentPIRposition = 0;
int LEDpin[] = {9,10,11,12,13};
int currentLEDpin = 9;
int PIRpin[] = {2,3,4,5,6};
int currentPIRpin = 2;
int PIRprevState[] = {1,1,1,1,1}; // 1 = HIGH (pas de mouvement au repos pour HC-SR501? Voir note)
int PIRposition[] = {157, 117.75, 78.5, 39.25, 0}; // Angles servo pour 5 capteurs
boolean PIRstatus;
void setup() {
Serial.begin(9600);
camServo.attach(7);
for (int p=0; p<5; p++) pinMode(PIRpin[p], INPUT);
for (int l=0; l<5; l++) pinMode(LEDpin[l], OUTPUT);
// Calibration 15 s
Serial.print("Calibration PIR ");
for(int c=0; c<15; c++) { Serial.print("."); delay(1000); }
Serial.println(" PIR Prets");
camServo.write(78.5); // Centre
}
void loop() {
for (int PIR=0; PIR<5; PIR++) {
currentPIRpin = PIRpin[PIR];
currentLEDpin = LEDpin[PIR];
PIRstatus = digitalRead(currentPIRpin);
if (PIRstatus == HIGH) { // Mouvement détecté
digitalWrite(currentLEDpin, HIGH);
if (PIRprevState[PIR] == 0) { // Transition LOW→HIGH
if (currentPIRposition != currentPIRpin) {
camServo.write(PIRposition[PIR]);
Serial.print("Angle actuel : "); Serial.println(PIRposition[PIR]);
delay(50);
currentPIRposition = currentPIRpin;
}
PIRprevState[PIR] = 1;
}
} else { // Pas de mouvement
digitalWrite(currentLEDpin, LOW);
PIRprevState[PIR] = 0;
}
}
}
Schémas
Voir section schémas (diagrammes Fritzing/images non fournis dans le source original).
Processus de fabrication
- L'Évolution et la Conception des Appareils Photo Modernes
- Boîtier minimaliste Raspberry Pi pour protection contre les dommages statiques
- Contrôler une LED avec un capteur de mouvement PIR sur Raspberry Pi
- Système d'alarme détection mouvement avec Java et Reactive Blocks – Déploiement sur Raspberry Pi et envoi SMS
- Construire un bouton IoT AWS contrôlé par mouvement avec Raspberry Pi, capteur PIR et MQTT
- Installation d'une Caméra Raspberry Pi dans un Nichoir — Guide Étape par Étape
- BrickPi Bookreader : Automatiser la lecture Kindle avec Raspberry Pi et LEGO Mindstorms
- Configurer une caméra IP live sur Raspberry Pi avec Motion – Guide pas à pas
- Technologie de mouvement linéaire : solutions de précision pour l'automatisation