ESP8266 - Capteur de mouvement - Moteur servo

Ce tutoriel vous explique comment utiliser l'ESP8266 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×ESP8266 NodeMCU
1×Micro USB Cable
1×HC-SR501 Motion Sensor
1×Servo Motor
1×Jumper Wires
1×(Optional) 5V Power Adapter for ESP8266
1×(Optional) ESP8266 Screw Terminal Adapter

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 n'êtes pas familier avec le moteur servo et le capteur de mouvement (y compris le brochage, le fonctionnement, la programmation, etc.), les tutoriels suivants peuvent vous aider :

Diagramme de câblage

Schéma de câblage du capteur de mouvement ESP8266 NodeMCU et du moteur servo

This image is created using Fritzing. Click to enlarge image

Voir plus dans l'agencement des broches de l'ESP8266 et comment alimenter l'ESP8266 et d'autres composants.

Veuillez noter que le schéma de câblage présenté ci-dessus convient uniquement à un moteur servo à faible couple. Dans le cas où le moteur vibre au lieu de tourner, une source d'alimentation externe doit être utilisée pour fournir plus de puissance au moteur servo. Le schéma ci-dessous montre le câblage avec une source d'alimentation externe pour le moteur servo.

Schéma de câblage du capteur de mouvement ESP8266 NodeMCU avec moteur servo et alimentation supplémentaire

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'ESP8266.

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 ESP8266 - Le capteur de mouvement contrôle le moteur servo

/* * Ce code ESP8266 NodeMCU a été développé par newbiely.fr * Ce code ESP8266 NodeMCU 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/esp8266/esp8266-motion-sensor-servo-motor */ #include <Servo.h> #define MOTION_SENSOR_PIN D7 // The ESP8266 pin connected to motion sensor's pin #define SERVO_PIN D1 // The ESP8266 pin connected to servo motor's pin 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); // Configure the ESP8266 pin to the 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!, rotating servo motor to 90°"); servo.write(90); } else if (motion_state == HIGH && prev_motion_state == LOW) { // pin state change: HIGH -> LOW Serial.println("Motion stopped!, rotating servo motor to 0°"); servo.write(0); } }

Étapes rapides

Pour commencer avec ESP8266 sur Arduino IDE, suivez ces étapes :

  • Consultez le tutoriel comment configurer l'environnement pour ESP8266 sur Arduino IDE si c'est votre première utilisation de ESP8266.
  • Câblez les composants comme indiqué dans le schéma.
  • Connectez la carte ESP8266 à votre ordinateur à l'aide d'un câble USB.
  • Ouvrez Arduino IDE sur votre ordinateur.
  • Choisissez la bonne carte ESP8266, comme (par exemple NodeMCU 1.0 (Module ESP-12E)), et son port COM respectif.
  • Connectez votre ESP8266 à un ordinateur à l'aide d'un câble USB.
  • Lancez l'Arduino IDE, sélectionnez la carte et le port appropriés.
  • Collez le code dans l'IDE et ouvrez-le.
  • Cliquez sur le bouton Upload de l'IDE pour envoyer le code à l'ESP8266.
  • Déplacez votre main devant le capteur.
  • Observez les mouvements 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!