Arduino - Capteur de mouvement - LED

Nous allons apprendre à utiliser un Arduino pour allumer/éteindre la LED en fonction de la détection de mouvement par le capteur de mouvement HC-SR501 :

Préparation du matériel

1×Arduino Uno
1×USB 2.0 cable type A/B
1×HC-SR501 Motion Sensor
1×LED
1×220 ohm resistor
1×Breadboard
1×Jumper Wires
1×(Optional) 9V Power Adapter for Arduino
1×(Recommended) Screw Terminal Block Shield for Arduino Uno
1×(Optional) Transparent Acrylic Enclosure For Arduino Uno

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 des LED et du capteur de mouvement.

Si vous ne connaissez pas les LED et les capteurs de mouvement (brochage, fonctionnement, programmation...), renseignez-vous dans les tutoriels suivants :

Diagramme de câblage

Schéma de câblage du capteur de mouvement Arduino LED

This image is created using Fritzing. Click to enlarge image

Réglage initial

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

/* * Ce code Arduino a été développé par newbiely.fr * Ce code Arduino 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/arduino-motion-sensor-led */ const int MOTION_SENSOR_PIN = 7; // Arduino pin connected to the OUTPUT pin of motion sensor const int LED_PIN = 3; // Arduino pin connected to LED's pin int motionStateCurrent = LOW; // current state of motion sensor's pin int motionStatePrevious = LOW; // previous state of motion sensor's pin void setup() { Serial.begin(9600); // initialize serial pinMode(MOTION_SENSOR_PIN, INPUT); // set arduino pin to input mode pinMode(LED_PIN, OUTPUT); // set arduino pin to output mode } void loop() { motionStatePrevious = motionStateCurrent; // store old state motionStateCurrent = digitalRead(MOTION_SENSOR_PIN); // read new state if (motionStatePrevious == LOW && motionStateCurrent == HIGH) { // pin state change: LOW -> HIGH Serial.println("Motion detected!"); digitalWrite(LED_PIN, HIGH); // turn on } else if (motionStatePrevious == HIGH && motionStateCurrent == LOW) { // pin state change: HIGH -> LOW Serial.println("Motion stopped!"); digitalWrite(LED_PIN, LOW); // turn off } }

Étapes rapides

  • Connectez l'Arduino au PC via le câble USB
  • Ouvrez l’IDE Arduino, sélectionnez la bonne carte et le bon port
  • Copiez le code ci-dessus et ouvrez-le avec l'IDE Arduino
  • Cliquez sur le bouton Upload de l'IDE Arduino pour charger le code sur l'Arduino
Téléversement de code Arduino IDE
  • Déplacez votre main devant le capteur
  • Observez le changement d'état de la LED

Explication du code

Lisez l'explication ligne par ligne dans les lignes de commentaire du code source !

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!