ESP8266 NodeMCU : Proximité radar à micro-ondes RCWL-0516 (Arduino)

ESP8266 NodeMCU : Proximité radar à micro-ondes RCWL-0516 (Arduino)

Dans ce guide, vous apprendrez à utiliser le capteur de proximité radar à micro-ondes RCWL-0516 pour détecter les mouvements avec le NodeMCU ESP8266. Nous allons vous montrer comment câbler le capteur à la carte ESP8266 et écrire un croquis Arduino pour détecter lorsqu’un mouvement est détecté. Le RCWL-0516 est une excellente alternative au populaire capteur de mouvement PIR.

ESP8266 NodeMCU avec capteur de proximité radar à micro-ondes RCWL-0516 Arduino IDE

Nous avons un guide similaire pour la carte ESP32 : ESP32 avec capteur de proximité radar à micro-ondes RCWL-0516 (Arduino IDE).

Table des matières:

Tout au long de ce didacticiel, nous aborderons les contenus suivants :

Présentation du capteur de proximité radar à micro-ondes RCWL-0516

Présentation du capteur de proximité radar à micro-ondes RCWL-0516

Le RCWL-0516 est un petit capteur peu coûteux qui utilise un radar à micro-ondes pour détecter la présence d’objets en mouvement. Le capteur fonctionne en émettant un faisceau de micro-ondes, puis en détectant le décalage Doppler des ondes réfléchies lorsque les objets passent.

Habituellement, ces capteurs sont vendus par paquet de cinq et ne sont pas livrés avec des broches d’en-tête. Ainsi, vous devrez peut-être vous procurer des broches d’en-tête séparément, puis les souder vous-même.

Capteurs de proximité radar à micro-ondes RCWL-0516

Où acheter?

Vous pouvez consulter le lien suivant sur Maker Advisor et comparer le prix dans différents magasins.

Vous pouvez utiliser les liens précédents ou accéder directement à MakerAdvisor.com/tools pour trouver toutes les pièces pour vos projets au meilleur prix !

ESP8266 NodeMCU Proximite radar a micro ondes RCWL 0516 Arduino

Comment ça marche?

Le capteur RCWL-0516 dispose d’un oscillateur intégré qui génère un signal micro-onde à une fréquence de 3,18 GHz. Le capteur envoie ensuite ce signal selon un modèle à 360 degrés.

Lorsqu’un objet se déplace dans la portée du capteur, les ondes réfléchies sont captées par le récepteur du capteur. Le récepteur mesure ensuite la fréquence des ondes réfléchies et la compare à la fréquence du signal d’origine. Si la fréquence des ondes réfléchies a changé, le capteur sait qu’un objet a bougé.

Le capteur RCWL-0516 possède une seule broche de sortie qui passe au niveau HAUT lorsqu’il détecte un mouvement. Il émet LOW lorsqu’aucun mouvement n’est détecté.

Caractéristiques du capteur RCWL-0516

Le RCWL-0516 a une portée de détection allant jusqu’à 7 mètres et peut détecter des objets se déplaçant à des vitesses allant jusqu’à 2 mètres par seconde. Il dispose également d’un temps de retard réglable intégré, qui peut être utilisé pour empêcher le capteur de se déclencher à plusieurs reprises sur le même objet.

Caractéristiques du capteur RCWL-0516

Remarque : même s’il mentionne une portée de détection allant jusqu’à 7 mètres, je n’ai pas pu obtenir ces résultats avec ma configuration. J’ai cependant eu de très bons retours de la part de certains de nos lecteurs à propos de ce capteur.

Voici un résumé de certaines des principales caractéristiques du capteur RCWL-0516 :

  • Utilise un radar à micro-ondes pour détecter les objets en mouvement
  • Portée de détection jusqu’à 7 mètres
  • Peut détecter des objets se déplaçant à des vitesses allant jusqu’à 2 mètres par seconde
  • Temps de retard réglable intégré
  • Basse consommation énergétique
  • Peu coûteux

Spécifications du capteur RCWL-0516 :

  • Tension d’alimentation : 4–28 VCC
  • Fréquence de fonctionnement : 3,18 GHz
  • Distance de détection : 5 à 7 m
  • Niveau de sortie : 3,4 V haut <0,7 bas
  • Entraînement de sortie : 100 mA
  • Synchronisation de sortie : redéclenchement de 2 secondes avec mouvement

Vous pouvez obtenir plus d’informations sur le capteur sur la page GitHub suivante :

Capteur de résistance dépendante de la lumière (LDR) en option

Le capteur est livré avec la possibilité de souder une résistance dépendante de la lumière (capteur de lumière) si vous souhaitez que votre capteur fonctionne uniquement dans des conditions sombres, par exemple. Vous pouvez obtenir la sortie du capteur LDR sur la broche LDR. Alternativement, vous pouvez également connecter le LDR à la broche CDS.

Capteur RCWL-0516 et LDR en option

Lorsque la sortie du LDR est supérieure à 0,7 V, la broche OUT émet un signal ÉLEVÉ lorsqu’un mouvement est détecté. Si un mouvement est détecté mais que la sortie du LDR est inférieure à 0,7 V, la sortie sera FAIBLE. Cela signifie que lors de la fixation d’un LDR, le capteur ne détectera le mouvement que lorsqu’il fait sombre.

Capteur radar à micro-ondes RCWL-0516 avec LDR

Vous pouvez régler la sensibilité du LDR, en connectant une résistance sur les pads R-CDS (voir la section suivante), ou en ajoutant une résistance pull-up en externe en parallèle avec la broche CDS.

Dans mon cas, j’ai ajouté une résistance pull-up de 22 KOhm à la broche LDR afin qu’elle puisse détecter un mouvement en cas de faible luminosité. Sans la résistance, même dans des conditions très sombres, j’avais une sortie positive. Vous devrez peut-être essayer avec différentes valeurs de résistance pour voir laquelle fonctionne le mieux pour votre scénario.

Composants de réglage

Capteur radar à micro-ondes RCWL-0516 avec face arrière LDR

A l’arrière du capteur se trouvent trois plots pour des composants CMS supplémentaires (dimensions 0805) :

Les informations suivantes ont été tirées de ce Page GitHub.

  • C-TM : régule le temps de déclenchement de la répétition. La durée par défaut (non renseignée) est de 2 s. Un condensateur SMD pour prolonger le temps de déclenchement répété. La broche 3 du CI émet une fréquence (f), et le temps de déclenchement en secondes est donné par (1/f) * 32678.
  • R-GN : La plage de détection par défaut est de 7 m, l’ajout d’une résistance de 1 M la réduit à 5 m.
  • R-CDS : Résistance en parallèle avec le pullup 1M. Sans R-CDS, la résistance la plus basse du LDR (c’est-à-dire le niveau de lumière le plus élevé) où la sortie est activée est de ~269 kΩ (=0,7 V). L’ajout d’une résistance ici diminue la résistance LDR du seuil d’activation/désactivation. Si la résistance LDR au seuil de niveau de lumière souhaité est <269k, vous pouvez alors ajouter une résistance externe en série avec la LDR.

Brochage du capteur de proximité radar à micro-ondes RCWL-0516

Brochage du capteur de proximité radar à micro-ondes RCWL-0516

Le capteur de proximité radar à micro-ondes RCWL-0516 comporte cinq broches :

  • 3V3 : c’est la sortie du régulateur de tension (pas la broche d’alimentation)
  • VIN : c’est la broche d’entrée d’alimentation. Le capteur peut être alimenté par une plage de tension de 4 à 28 V.
  • GND : c’est la broche de masse.
  • OUT : c’est la broche de sortie. La broche de sortie passe à HAUT lorsque le capteur détecte un mouvement et reste FAIBLE dans le cas contraire.
  • CDS : Cette broche est utilisée pour connecter une résistance dépendant de la lumière (LDR). Le LDR peut être utilisé pour désactiver le capteur dans des conditions de lumière vive.

Le tableau suivant présente le brochage du capteur de proximité radar à micro-ondes RCWL-0516 :

3V3 Puissance de sortie 3,3 V (ne pas alimenter le capteur)
GND broche de masse
DEHORS broche de sortie (passe à HAUT lorsqu’un mouvement est détecté)
NIV tension d’entrée pour alimenter le capteur (4V à 28V)
CDS Sortie de résistance dépendante de la lumière

Capteur de proximité radar à micro-ondes vs capteur de mouvement PIR

Capteur de proximité radar à micro-ondes vs capteur de mouvement PIR

Le capteur de proximité radar à micro-ondes est souvent utilisé comme alternative au capteur de mouvement PIR, selon l’application du projet. Le tableau suivant compare les deux capteurs :

Radar à micro-ondes RCWL-0516 Capteur de mouvement PIR
Comment ça fonctionne? Capteur actif (émet des signaux micro-ondes et détecte les réflexions). Capteur passif (détecte le rayonnement infrarouge émis par les objets).
Portée de détection Portée plus longue, généralement jusqu’à 7+ mètres. Portée plus courte, généralement quelques mètres, selon le modèle.
Détecter à travers les obstacles Peut détecter à travers des matériaux non métalliques. Obstrué par certains matériaux (par exemple, le verre)
Sensibilité au mouvement Très sensible, peut donner des faux positifs. Pas si sensible, peut manquer des mouvements subtils. Détecte uniquement les êtres vivants qui émettent de la chaleur.
Zone de couverture Large couverture avec un large diagramme radar. Champ de vision étroit.

Connexion du capteur de proximité radar à micro-ondes RCWL-0516 à l’ESP8266

Suivez le tableau ou le diagramme schématique suivant pour câbler le capteur de proximité radar à micro-ondes RCWL-0516 à l’ESP8266 :

Capteur RCWL-0516 ESP8266
3V3 ne te connecte pas
GND GND
DEHORS GPIO12 (ou tout autre GPIO de votre choix)
NIV VIN (ou une tension entre 4 et 28V)
CDS ne te connecte pas
Connexion du câblage du capteur de proximité radar à micro-ondes RCWL-0516 à l'ESP8266

ESP8266 NodeMCU avec le capteur RCWL-0516 – Arduino Sketch

Copiez le code suivant sur votre IDE Arduino. Cet exemple est très simple. Il lit simplement la sortie du capteur et l’imprime dans le moniteur série lorsqu’un mouvement est détecté et allume la LED intégrée de l’ESP8266 en conséquence (la LED est allumée lorsqu’un mouvement est détecté).

Alternativement, vous pouvez également utiliser des interruptions et des minuteries pour détecter les mouvements. Vous pouvez utiliser un code similaire à celui que nous utilisons dans le didacticiel suivant : Interruptions et minuteries ESP8266 utilisant l’IDE Arduino (NodeMCU).

/*
  Rui Santos
  Complete project details at https://Raspberryme.com/esp8266-nodemcu-rcwl-0516-arduino/
  
  Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files.
  The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
*/

// If you're using the built-in LED for testing, remember that it works with inverted logic
// (HIGH=LOW, and LOW=HIGH)
int led = 2;               // the pin that the LED is attached to
int sensor = 12;           // the pin that the sensor is attached to
int state = LOW;           // by default, no motion detected
int val = 0;               // variable to store the sensor status (value)

void setup() {
  pinMode(led, OUTPUT);       // initalize LED as an output
  pinMode(sensor, INPUT);     // initialize sensor as an input
  Serial.begin(115200);       // initialize serial
}

void loop(){
  val = digitalRead(sensor);   // read sensor value
  if (val == HIGH) {           // check if the sensor is HIGH
    digitalWrite(led, HIGH);   // turn LED ON
    
    if (state == LOW) {
      Serial.println("Motion detected!"); 
      state = HIGH;       // update variable state to HIGH
    }
  } 
  else {
    digitalWrite(led, LOW); // turn LED OFF
      
    if (state == HIGH){
      Serial.println("Motion stopped!");
      state = LOW;       // update variable state to LOW
    }
  }
}

Afficher le code brut

Comment fonctionne le code

Commencez par définir les broches de la LED et de la broche de sortie du capteur. Pour simplifier, nous utilisons la LED intégrée ESP8266 connectée au GPIO2, mais vous pouvez également connecter une LED physique à n’importe quel autre GPIO, modifiez simplement le code en conséquence.

int led = 2;                 // the pin that the LED is attached to

Nous connectons la sortie du capteur au GPIO 12, mais vous pouvez utiliser n’importe quel autre GPIO numérique.

int sensor = 12;          // the pin that the sensor is attached to

Ensuite, initialisez certaines variables. La variable d’état stocke l’état actuel de la broche de sortie du capteur et elle est initialement définie sur LOW.

int state = LOW;         // by default, no motion detected

La variable val stockera l’état (valeur) de la sortie numérique du capteur, soit HIGH ou LOW.

int val = 0;                 // variable to store the sensor status (value)

Fondamentalement, val est utilisé pour stocker temporairement la valeur de sortie en temps réel du capteur, tandis que state est utilisé pour savoir si un mouvement a été détecté ou non au fil du temps.

Dans setup(), définissez la LED comme sortie et le capteur comme entrée. Initialisez également le moniteur série à un débit en bauds de 115 200.

void setup() {
  pinMode(led, OUTPUT);      // initalize LED as an output
  pinMode(sensor, INPUT);    // initialize sensor as an input
  Serial.begin(115200);        // initialize serial
}

Dans la boucle(), nous commençons par lire la sortie numérique du capteur (HIGH ou LOW) et la stockons dans la variable val.

val = digitalRead(sensor);   // read sensor value

Si la sortie du capteur est ÉLEVÉE (mouvement détecté), la LED s’allume.

if (val == HIGH) {               // check if the sensor is HIGH
  digitalWrite(led, HIGH);   // turn LED ON

Remarque : la LED intégrée de l’ESP8266 fonctionne avec une logique inversée, vous devez donc écrire LOW pour l’allumer et HIGH pour l’éteindre. Si vous utilisez une LED ordinaire connectée à ce GPIO, elle fonctionne avec la logique « normale ».

Ensuite, nous vérifions si le statut précédent était FAIBLE. Si tel est le cas, cela signifie que l’état a changé et qu’un mouvement a été détecté. Nous imprimons un message dans le moniteur série et changeons la variable d’état en HIGH.

if (state == LOW) {
  Serial.println("Motion detected!"); 
  state = HIGH;       // update variable state to HIGH
}

Si la sortie du capteur est FAIBLE (aucun mouvement détecté), nous éteignons la LED.

else {
   digitalWrite(led, LOW); // turn LED OFF

Si l’état précédent était ÉLEVÉ et si maintenant l’état est FAIBLE, cela signifie que le mouvement s’est arrêté et nous pouvons définir la variable d’état sur FAIBLE.

if (state == HIGH){
  Serial.println("Motion stopped!");
  state = LOW;       // update variable state to LOW
}

Manifestation

Téléchargez le code sur votre carte ESP8266 et ouvrez le moniteur série. Réinitialisez votre carte.

ESP8266 avec capteur radar à micro-ondes RCWL-0516 Démonstration

Passez votre main devant le capteur de mouvement. Vous devriez recevoir un message « Mouvement détecté » suivi d’un message « Mouvement arrêté » après deux secondes. De plus, la LED intégrée s’allumera lorsqu’un mouvement est détecté.

Test du capteur radar à micro-ondes RCWL-0516, moniteur série Arduino IDE

Si vous avez un LDR connecté, vous devrez diminuer la luminosité pour obtenir des résultats positifs.

ESP8266 avec capteur radar à micro-ondes RCWL-0516

Conclusion

Dans ce didacticiel, vous avez appris à utiliser le capteur de proximité radar à micro-ondes RCWL-0516 pour détecter les mouvements dans votre environnement. Le RCWL-0516 pourrait être une bonne alternative au capteur de mouvement PIR en fonction des exigences de votre projet.

Nous espérons que vous avez trouvé ce tutoriel utile. Si vous souhaitez plutôt essayer un capteur de mouvement PIR, lisez ce tutoriel : ESP8266 avec capteur de mouvement PIR.

Nous proposons des tutoriels pour plus de 20 capteurs et modules différents avec l’ESP8266. Consultez le lien suivant:

Voulez-vous en savoir plus sur l’ESP8266 ? Consultez toutes nos ressources :

Merci d’avoir lu.

Apprenez l’histoire de Raspberry Pi à travers cette vidéo :

YouTube video

  • Stemedu RCWL-0516 Lot de 5 modules de détection de mouvement Microwave Radar pour Arduino ESP8266 Nodemcu Wemos pour détecteur de rat humain, distance de détection 5-7 m
    ▶ Fonction : le module se caractérise par une haute sensibilité, une grande distance d'induction, une grande fiabilité, un grand angle d'induction, une grande plage de tension d'alimentation, etc. Il est largement utilisé dans différents types d'éclairage à induction et l'alarme pour le corps humain, etc ▶ Fonctionne avec le lien vers le document Nodemcu: https://github.com/jxmot/ESP8266-RCWL0516#rcwl0516-details ▶ Fonctionne avec le lien de document Arduino : https://www.hackster.io/remnis/coolest-motion-detection-sensor-ever-d2d688 Il peut être utilisé pour (pour) arduino, nodemcu, wemos, etc. ; il peut reconnaître les personnes, les chats, les rats et l'eau ▶ Comment pouvez-vous nous envoyer un e-mail ? Cliquez sur "Stemedu" (vous trouverez "vendu par Stemedu" dans "acheter maintenant"). Cliquez sur la nouvelle page « Demander » pour nous envoyer un e-mail