Header Ads

Détecteur de présence avec Arduino et le capteur Ultra-Son

Détecteur de présence avec Arduino et le capteur Ultra-Son


Dans ce petit tutoriel, nous allons voir comment utiliser le  capteur Ultra-Son pour de présence réaliser un détecteur  de présence sur Arduino.
Arduino

Les détecteurs de présence sont des dispositifs électronique permettant de signaler sans aucun contact physique la disponibilité dans son champ de couverture, d'un  objet cible (personne, animal, objet animé tel qu'un véhicule). L'interaction entre le capteur et sa « cible » est alors réalisée par l’intermédiaire d’une caméra associée à un système d'analyse de l'image, ou plus souvent d'un champ (magnétique, électrique, électromagnétique) ou d'un capteur infrarouge et biens d'autre.

le capteur Ultra-Son

arduino
Un capteur à ultrasons est un petit dispositif qui émet à un intervalles de temps réguliers de courtes impulsions sonores à haute fréquence. Ces impulsions se propagent dans l'air à la vitesse du son. Lorsqu'elles rencontrent un objet, elles se réfléchissent et reviennent sous forme d'écho au capteur.

arduinoultra son

Principe et fonction du détecteur de présence


Différentes techniques sont utilisées. Par exemple, le détecteur de présence peut être sensible à la chaleur, au son, à la luminosité, au volume, etc.

Il permet de sécuriser un lieu en repérant toute présence anormale, et ainsi d'éviter des vols ou des intrusions.

 Mais c'est aussi un système qui facilite l'automatisme dans l'habitat. En effet, quel que soit son procédé, il permettra de déclencher automatiquement des équipements de la maison : lumière, musique, volet, etc.

la différence entre un détecteur de présence et un détecteur de mouvement.

Les détecteurs de mouvement sont meilleurs dans les un système de protection contre les intrusions dans une habitation, une entreprise, une usine, etc.(sécurité). alors que les détecteurs de présence le sont dans des systèmes de commande d’éclairage. 


 Les détecteurs de présence sont donc utiles pour diminuer la facture énergétique.

Programme du détecteur.


int        intensite   = 0;   
int        fondue      = 2;
const int LedJaune     = 12;
const int LedRouge     = 10;
const int LedVerte     = 8;
const int buzzer       = 3 ;
const int trigPin      = 6;
const int echoPin      = 7;

long durée  ;
int distance   ;

void setup() {
 Serial.begin(9600); 
 pinMode(echoPin, INPUT );
 pinMode(trigPin, OUTPUT);
 pinMode(LedVerte, OUTPUT);
 pinMode(LedJaune,  OUTPUT);
 pinMode(LedRouge,   OUTPUT); 
 pinMode(buzzer,   OUTPUT);
 Serial.println("                INITIALISATION.");
 delay(1000);  
 digitalWrite(LedRouge, HIGH);
}

void loop() {
     Serial.println("                              ...--...");
     Serial.println(" ");
    
      digitalWrite(LedJaune, LOW); 
          
    delay(30);
  distance = calculateDistance();
  Serial.print("      Distance:");
  Serial.print(distance);
  Serial.println(".");
  if(distance < 10 && distance > 6)
   {
    intrusion();
  delay(100);
  }   
  else if(distance < 7)
  {
    sirene();
   }
  delay(150);
}
/////////////////////////////////////////////////////////
int calculateDistance(){ 
  
  digitalWrite(trigPin, LOW); 
  delayMicroseconds(2);
  
  digitalWrite(trigPin, HIGH); 
  delayMicroseconds(5);
  digitalWrite(trigPin, LOW);
  
  durée = pulseIn(echoPin, HIGH);
  distance= durée*0.034/2;
  return distance;
}
////////////////////////////////////////////////////////
void intrusion(){
    Serial.println("   Mouvement Détecté.");
    for (int i=0; i<3; i++){
      digitalWrite(buzzer, HIGH);  
      delay(50);
      digitalWrite(LedJaune, LOW);
      digitalWrite(LedRouge, HIGH);
      delay(50);
      digitalWrite(LedRouge, LOW);                      
      digitalWrite(LedJaune, HIGH); 
      delay(50); 
      digitalWrite(LedRouge, HIGH);                       
      digitalWrite(buzzer,  LOW);  
      delay(70);
 }
}

 void sirene() { 
  Serial.println("   Mouvement Détecté à proximié.");
  analogWrite(buzzer, intensite);
  intensite = intensite + fondue;
  if (intensite == 0 || intensite == 255) {
    fondue = -fondue ;
  }
  delay(10);
}

Connexion des composants. 

composants
Pin numérique Arduino UNO

LedJaune:
                               12
LedRouge:
                               10
LedVerte:                               8


trigPin:7
echoPin:6
buzzer:3

Aucun commentaire

Images de thèmes de enot-poloskun. Fourni par Blogger.