Détecteur de présence avec un Arduino

Auteur avatarLetmeknow | Dernière modification 9/12/2019 par Clementflipo

Pas encore d'image

Créer un détecteur de présence qui allumera une LED en cas de passage de personne. Le montage sera basé sur le capteur de distance à ultrason que l’on utilisera sous forme de seuil. On partira donc du principe que le montage sera installé à un point fixe et que l’on détecte le passage devant le capteur (Comme c’est le cas dans un couloir par exemple).
Difficulté
⧼wf-propertyvalue-difficulty-Facile⧽
Durée
20 minute(s)
Catégories
⧼wf-propertyvalue-area-Électronique⧽
Coût
15 EUR (€)
Autres langues :
français
Licence : Attribution (CC BY)

Matériaux

  • Un Arduino
  • Un câble USB
  • Un capteur de distance à ultrason
  • Une LED et sa résistance
  • Une Breadboard
  • Des fils de connexions

Outils

Étape 1 - Câblage

Ce montage se basera sur le câblage du capteur ci-contre en lui ajoutant un ensemble LED + résistance sur la Pin Digital 1.

  • Digital 12 (Arduino) → Trig (Ultrason)
  • Digital 13 (Arduino) → Echo ( Ultrason)
  • 5V (Arduino) → VCC (Ultrason)
  • GND (Arduino) → GND (Ultrason)
  • Digital 1 (Arduino) → LED (Anode)
  • LED (cathode) → Résistance
  • GND (Arduino) → Résistance

Étape 2 - Programmation

Le programme utilise la librairie Ultrasonic. Il faut donc l’installer, c’est-à-dire la copier dans votre répertoire Mes documents / Arduino / librairies.

Le programme va paramétrer le module ultrason grâce au commande de la librairie (Pour plus d’info http://wiki.tetrasys-design.net/HCSR04Ultrasonic), ensuite il compare à une valeur enregistrer si il détecte un objet ou une personne à moins de cette distance on allume la LED sinon on l’éteint.

#include 

const int Trig = 12;     // pin "Trig" du HC-SR04 connectée à pin 13 de l'Arduino
const int Echo = 13;     // pin "Echo" du HC-SR04 connectée à pin 12 de l'Arduino

const int LED = 1; // pin connecté à la LED + resistance

const int green = 10;   // LEDs reliées aux pins de l'Arduino via une résistance
const int yellow = 11;  // de 150 Ohms.
const int red = 12;

long cm;                // variable pour stocker la distance de l'objet en cm

Ultrasonic HCSR04(Trig,Echo);

void setup()
{
  pinMode(LED, OUTPUT);
}

void loop()
{

  cm = HCSR04.convert(HCSR04.timing(), 1);

  if(cm > 0 && cm < 20)          // Il y a une présence   {     digitalWrite(LED, HIGH); // Allumer la LED     delay(10); // Temps de traitement   }   else if(cm >= 20)  // Il n'y a pas de présence
  {
    digitalWrite(LED, LOW); // Eteindre la LED
    delay(10); // Temps de traitement
  }
}

Commentaires