Arduino Nano - Capteur de mouvement - Moteur servo

Ce tutoriel vous explique comment utiliser Arduino Nano et un capteur de mouvement pour contrôler un moteur servo. En détail :

Cela peut être appliqué dans un processus d'automatisation qui déclenche des actions lors de la détection de présence humaine.

Préparation du matériel

1×Arduino Nano
1×USB A to Mini-B USB cable
1×HC-SR501 Motion Sensor
1×Servo Motor
1×Jumper Wires
1×(Optional) 9V Power Adapter for Arduino Nano
1×(Recommended) Screw Terminal Adapter for Arduino Nano

Or you can buy the following sensor kits:

1×DIYables Sensor Kit (30 sensors/displays)
1×DIYables Sensor Kit (18 sensors/displays)
Divulgation : Certains des liens fournis dans cette section sont des liens affiliés Amazon. Nous pouvons recevoir une commission pour tout achat effectué via ces liens, sans coût supplémentaire pour vous. Nous vous remercions de votre soutien.

À propos du moteur servo et du capteur de mouvement

Si vous ne connaissez pas les moteurs servos et les capteurs de mouvement, y compris le brochage, leur fonctionnement et comment les programmer, les tutoriels suivants peuvent vous aider :

Diagramme de câblage

Schéma de câblage du capteur de mouvement Arduino Nano et du moteur servo

This image is created using Fritzing. Click to enlarge image

Il convient de noter que le schéma de câblage présenté ci-dessus convient uniquement à un servo-moteur à faible couple. Si le moteur vibre au lieu de tourner, une source d'alimentation externe doit être utilisée pour faire fonctionner le servo-moteur. Le schéma de câblage suivant montre comment connecter le servo-moteur à une source d'alimentation externe.

Schéma de câblage du capteur de mouvement Arduino Nano et du moteur servo

This image is created using Fritzing. Click to enlarge image

Veuillez ne pas oublier de connecter le GND de l'alimentation externe au GND de l'Arduino.

Configuration initiale

Time Delay AdjusterScrew it in anti-clockwise direction fully.
Detection Range AdjusterScrew it in clockwise direction fully.
Repeat Trigger SelectorPut jumper as shown on the image.
réglage initial du capteur de mouvement Arduino

Code Arduino Nano - Capteur de mouvement contrôle le moteur servo

/* * Ce code Arduino Nano a été développé par newbiely.fr * Ce code Arduino Nano est mis à disposition du public sans aucune restriction. * Pour des instructions complètes et des schémas de câblage, veuillez visiter: * https://newbiely.fr/tutorials/arduino-nano/arduino-nano-motion-sensor-servo-motor */ #include <Servo.h> #define MOTION_SENSOR_PIN 2 // The Arduino Nano pin connected to the OUTPUT pin of motion sensor #define SERVO_PIN 9 // The Arduino Nano pin connected to the servo motor Servo servo; // create servo object to control a servo int angle = 0; // The current angle of servo motor int prev_motion_state; // The previous state of motion sensor int motion_state; // The current state of motion sensor void setup() { Serial.begin(9600); // Initialize the Serial to communicate with the Serial Monitor. pinMode(MOTION_SENSOR_PIN, INPUT); // set arduino pin to input mode servo.attach(SERVO_PIN); // attaches the servo on pin 9 to the servo object servo.write(angle); motion_state = digitalRead(MOTION_SENSOR_PIN); } void loop() { prev_motion_state = motion_state; // save the last state motion_state = digitalRead(MOTION_SENSOR_PIN); // read new state if (motion_state == LOW && prev_motion_state == HIGH) { // pin state change: LOW -> HIGH Serial.println("Motion detected!"); servo.write(90); } else if (motion_state == HIGH && prev_motion_state == LOW) { // pin state change: HIGH -> LOW Serial.println("Motion stopped!"); servo.write(0); } }

Étapes rapides

  • Connectez votre Arduino Nano à l'ordinateur via un câble USB.
  • Lancez l'IDE Arduino, sélectionnez la carte et le port appropriés.
  • Copiez le code ci-dessus et ouvrez-le dans l'IDE Arduino.
  • Cliquez sur le bouton Upload dans l'IDE Arduino pour compiler et téléverser le code vers l'Arduino Nano.
  • Passez votre main devant le capteur.
  • Observez le mouvement du moteur servo.

Vidéo

※ OUR MESSAGES

  • Please feel free to share the link of this tutorial. However, Please do not use our content on any other websites. We invested a lot of effort and time to create the content, please respect our work!