Hoe de MH-SR602 PIR-bewegingssensor te gebruiken met Arduino

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

De MH-SR602 is een compacte PIR (passieve infrarood) bewegingssensor die wordt gebruikt voor het detecteren van beweging binnen zijn bereik. Het kleine formaat, het lage stroomverbruik en de verstelbare vertraging maken het ideaal voor bewegingsgeactiveerde verlichting, alarmen en IoT-projecten. In deze zelfstudie zullen we u begeleiden door de MH-SR602 te interfaceren met Arduino.


Wat u nodig hebt

  1. MH-SR602 PIR-bewegingssensor
  2. Arduino Board (bijv. UNO, Mega, Nano)
  3. Breadboard en jumper draden
  4. Een computer met de Arduino Ide geïnstalleerd

Stap 1: Inzicht in de MH-SR602-sensor

De MH-SR602 detecteert beweging door infraroodstralingsveranderingen in zijn omgeving te detecteren. Wanneer beweging wordt gedetecteerd, voert dit een hoog signaal uit; Anders blijft het laag.

MH-SR602 PINOUT

Pin Functie
VCC Voeding (3.3V-5V)
UIT Digitaal uitgangssignaal
GND Grond

Verstelbare functies

  • Vertragingstijd: De ingebouwde potentiometer past de tijd aan dat de uitgang hoog blijft nadat de beweging is gedetecteerd (ongeveer 2-100 seconden).

Stap 2: De MH-SR602 bedraden aan Arduino

Hier leest u hoe u de sensor kunt verbinden met de Arduino:

MH-SR602 PIN Arduino Pin
VCC 5V
UIT Pin 2
GND GND

Stap 3: Upload de code

Hier is een voorbeeldschets om bewegingsdetectie te controleren en de status op de seriële monitor weer te geven:

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
}

Stap 4: Test de instelling

  1. Sluit de Arduino via USB aan op uw computer.
  2. Open de Arduino IDE en selecteer de juiste Bord En Haven onder de Hulpmiddelen menu.
  3. Upload de code naar de Arduino door te klikken Uploaden.
  4. Open de seriële monitor (Hulpmiddelen > Serie -monitor) en stel het baudrates in op 9600.
  5. Ga binnen het bereik van de sensor en observeer de bewegingsstatus die op de seriële monitor wordt afgedrukt.

Optioneel: een LED controleren met beweging

U kunt de code wijzigen om een ​​LED in te schakelen wanneer de beweging wordt gedetecteerd:

De LED bedraden

LED -pin Arduino Pin
Anode (+) Pin 13
Kathode (-) GND

Gewijzigde code

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
}

Toepassingen van de MH-SR602

  1. Motion-geactiveerde verlichting
  2. Indringeralarmen
  3. Smart Home Automation
  4. Proximity-getriggerde IoT-apparaten

Problemen oplossen

  • Geen beweging gedetecteerd: Zorg ervoor dat de sensor correct wordt aangedreven en de vertragingspotentiometer is niet te hoog ingesteld.
  • Valse triggers: Verminder omgevingsgeluid (bijvoorbeeld bewegende warmtebronnen) en beschermen de sensor tegen direct zonlicht.
  • Onstabiele lezingen: Zorg voor stabiele kracht en vermijd overmatige trillingen.

Conclusie

Je hebt met succes de MH-SR602 PIR-bewegingssensor met Arduino gekoppeld. Deze veelzijdige sensor is perfect voor bewegingsdetectie in verschillende projecten. Experimenteer met extra functies, zoals het aanpassen van de vertragingstijd of het integreren met andere componenten voor meer geavanceerde toepassingen!

Laat een reactie achter

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.