Cum se folosește senzorul de mișcare MH-SR602 PIR cu Arduino

How to Use the MH-SR602 PIR Motion Sensor with Arduino

MH-SR602 este un senzor de mișcare compact PIR (pasiv cu infraroșu) utilizat pentru detectarea mișcării în raza sa de acțiune. Dimensiunile sale mici, consumul redus de energie și întârzierea reglabilă îl fac ideal pentru iluminatul activat de mișcare, alarme și proiecte IoT. În acest tutorial, vă vom ghida prin interfațarea MH-SR602 cu Arduino.


Ce vei avea nevoie

  1. MH-SR602 Senzor de mișcare PIR
  2. Arduino Board (de exemplu, Uno, Mega, Nano)
  3. Tablă de pâine și jumper
  4. Un computer cu IDE Arduino instalat

Pasul 1: Înțelegerea senzorului MH-SR602

MH-SR602 detectează mișcarea prin detectarea modificărilor de radiații infraroșii în împrejurimile sale. Când este detectată mișcarea, acesta produce un semnal ridicat; În caz contrar, rămâne scăzut.

MH-SR602 PINOUT

Ac Funcţie
VCC Sursă de alimentare (3.3V-5V)
Afară Semnal de ieșire digitală
GND Sol

Caracteristici reglabile

  • Timp de întârziere: Potențiometrul de la bord ajustează timpul în care ieșirea rămâne ridicată după detectarea mișcării (aprox. 2-100 secunde).

Pasul 2: Cablarea MH-SR602 către Arduino

Iată cum să conectați senzorul la Arduino:

Pin MH-SR602 Pinul Arduino
VCC 5V
Afară Pin 2
GND GND

Pasul 3: Încărcați codul

Iată un exemplu de schiță pentru a monitoriza detectarea mișcării și afișarea stării pe monitorul serial:

const int pirPin = 2; // Connect MH-SR602 OUT to pin 2

void setup() {
  pinMode(pirPin, INPUT);
  Serial.begin(9600);
  Serial.println("MH-SR602 PIR Motion Sensor Test");
}

void loop() {
  int motionStatus = digitalRead(pirPin); // Read the sensor output

  if (motionStatus == HIGH) {
    Serial.println("Motion detected!");
  } else {
    Serial.println("No motion detected.");
  }

  delay(500); // Update every 500ms
}

Pasul 4: Testați configurarea

  1. Conectați Arduino la computer prin USB.
  2. Deschideți IDE Arduino și selectați corect Bord şi Port sub Instrumente meniu.
  3. Încărcați codul la Arduino făcând clic pe Încărcați.
  4. Deschideți monitorul în serie (Instrumente > Monitor în serie) și setați rata de transfer la 9600.
  5. Mutați -vă în intervalul senzorului și observați starea mișcării tipărită pe monitorul în serie.

Opțional: controlul unui LED cu mișcare

Puteți modifica codul pentru a porni un LED la detectarea mișcării:

Cablarea LED -ului

Pinul LED Pinul Arduino
Anod (+) Pinul 13
Catod (-) GND

Cod modificat

const int pirPin = 2; // Connect MH-SR602 OUT to pin 2
const int ledPin = 13; // Connect LED to pin 13

void setup() {
  pinMode(pirPin, INPUT);
  pinMode(ledPin, OUTPUT);
  Serial.begin(9600);
  Serial.println("MH-SR602 PIR Motion Sensor Test");
}

void loop() {
  int motionStatus = digitalRead(pirPin); // Read the sensor output

  if (motionStatus == HIGH) {
    digitalWrite(ledPin, HIGH); // Turn on LED
    Serial.println("Motion detected!");
  } else {
    digitalWrite(ledPin, LOW); // Turn off LED
    Serial.println("No motion detected.");
  }

  delay(500); // Update every 500ms
}

Aplicațiile MH-SR602

  1. Iluminare activată în mișcare
  2. Alarme intrus
  3. Automatizare inteligentă pentru casă
  4. Dispozitive IoT declanșate de proximitate

Depanare

  • Nu a fost detectată nicio mișcare: Asigurați -vă că senzorul este alimentat corect și potențiometrul de întârziere nu este setat prea mare.
  • Declanșatori falși: Reduceți zgomotul de mediu (de exemplu, sursele de căldură în mișcare) și protejați senzorul de lumina directă a soarelui.
  • Citiri instabile: Asigurați o putere stabilă și evitați vibrațiile excesive.

Concluzie

Ați interfațat cu succes senzorul de mișcare MH-SR602 PIR cu Arduino. Acest senzor versatil este perfect pentru detectarea mișcării în diferite proiecte. Experimentați cu caracteristici suplimentare, cum ar fi reglarea timpului de întârziere sau integrarea acestuia cu alte componente pentru aplicații mai avansate!

Lasă un comentariu

Notice an Issue? Have a Suggestion?
If you encounter a problem or have an idea for a new feature, let us know! Report a problem or request a feature here.