Dans ce projet, nous utiliserons un capteur à ultrasons pour détecter un intrus.
Ce projet est polyvalent et peut être utilisé et adapté de diverses manières. Le capteur à ultrasons pouvant définir la distance, vous pouvez, par exemple, l'utiliser pour définir une zone et déclencher une
alarme en cas de franchissement de ce périmètre.
Le capteur fonctionne comme un radar : il émet un signal ultrasonore, ou ping. Lorsque ce signal touche un objet, il rebondit comme un écho, et le temps entre le ping et l'écho est utilisé pour calculer la distance.
L'Arduino peut utiliser ce calcul po déclencher un événement, en fonction de la valeur reçue. Dans ce projet, lorsque le capteur détecte un intrus dans un périmètre prédéfini, la LED rouge .
Pour une utilisation plus conviviale, vous pouvez régler la distance très près de vous, de sorte que lorsque vous passez la main devant le capteur.
Insérez le capteur à ultrasons dans la plaque d'essai. Le capteur que nous utilisons dans ce projet possède quatre broches.
Connectez la masse(GND) du capteur au rail de masse de l'Arduino, la tension VCC au +5 V de l'Arduino,
la tension Trig à la broche 12 de l'Arduino et la tension Echo à la broche 13 de l'Arduino.
VCC===5Volt
GND===Masse
TRIG===transmetteur
Echo====récepteur
le code
#include <NewPing.h>
#define trigPin 12 #define echoPin 13 #define MAX_DISTANCE 500NewPing sonar(trigPin, echoPin, MAX_DISTANCE); // Library setting redLed = 2; /
void setup() {Serial.begin (9600);pinMode(trigPin, OUTPUT);pinMode(echoPin, INPUT);
pinMode(redLed, OUTPUT);
}void loop() {int duration, distance, pos = 0, i;
#define trigPin 12 #define echoPin 13 #define MAX_DISTANCE 500NewPing sonar(trigPin, echoPin, MAX_DISTANCE); // Library setting redLed = 2; /
void setup() {Serial.begin (9600);pinMode(trigPin, OUTPUT);pinMode(echoPin, INPUT);
pinMode(redLed, OUTPUT);
}void loop() {int duration, distance, pos = 0, i;
digitalWrite(trigPin, LOW);
delayMicroseconds(2);digitalWrite(trigPin, HIGH); /
delayMicroseconds(10);digitalWrite(trigPin, LOW);duration = pulseIn(echoPin, HIGH);
distance = (duration / 2) / 29.1;
Serial.print(distance); Serial.println(" cm");
if (distance <= 15) {
if (distance <= 15) {
digitalWrite(redLed, HIGH);
delay(450);
digitalWrite(redLed, HIGH);
delay(450);
digitalWrite(redLed, LOW);
}
else {digitalWrite(redLed, LOW);
} delay(450);}
Aucun commentaire:
Enregistrer un commentaire