MH-SR602 to kompaktowy czujnik ruchu PIR (pasywny w podczerwieni) używany do wykrywania ruchu w jego zakresie. Jego niewielki rozmiar, niskie zużycie energii i regulowane opóźnienie sprawiają, że jest idealny do oświetlenia aktywowanego ruchem, alarmów i projektów IoT. W tym samouczku poprowadzimy Cię przez interfejs MH-SR602 z Arduino.
Czego będziesz potrzebować
- Czujnik ruchu MH-SR602 PIR
- Arduino Board (np. UNO, Mega, Nano)
- Druty chleba i skoczków
- Komputer z zainstalowanym Arduino IDE
Krok 1: Zrozumienie czujnika MH-SR602
MH-SR602 wykrywa ruch, wykrywając zmiany promieniowania w podczerwieni w otoczeniu. Po wykryciu ruchu wyświetla wysoki sygnał; W przeciwnym razie pozostaje niski.
MH-SR602 Pinout
Szpilka | Funkcjonować |
---|---|
VCC | Zasilacz (3,3 V-5V) |
NA ZEWNĄTRZ | Cyfrowy sygnał wyjściowy |
GND | Grunt |
Regulowane funkcje
- Czas opóźnienia: Postanometr pokładowy dostosowuje czas, w którym wyjście pozostaje wysokie po wykryciu ruchu (około 2-100 sekund).
Krok 2: Okablowanie MH-SR602 do Arduino
Oto jak połączyć czujnik z Arduino:
Pin MH-SR602 | PIN Arduino |
---|---|
VCC | 5v |
NA ZEWNĄTRZ | Pin 2 |
GND | GND |
Krok 3: Prześlij kod
Oto przykład szkicu do monitorowania wykrywania ruchu i wyświetlania statusu w monitor szeregowych:
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
}
Krok 4: Przetestuj konfigurację
- Podłącz Arduino do komputera za pomocą USB.
- Otwórz Arduino IDE i wybierz poprawne Tablica I Port pod Narzędzia menu.
- Prześlij kod do Arduino, klikając Wgrywać.
- Otwórz monitor szeregowy (Narzędzia > Monitor szeregowy) i ustaw wskaźnik transmisji na
9600
. - Poruszaj się w zakresie czujnika i obserwuj status ruchu wydrukowany na monitorze szeregowym.
Opcjonalnie: kontrolowanie diody LED z ruchem
Możesz zmodyfikować kod, aby włączyć diodę LED po wykryciu ruchu:
Okablowanie diody LED
Pin LED | PIN Arduino |
---|---|
Anoda (+) | Pin 13 |
Katoda (-) | GND |
Zmodyfikowany kod
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
}
Zastosowania MH-SR602
- Oświetlenie aktywowane ruchem
- Alarmy intruzowe
- Automatyzacja inteligentnej domu
- Urządzenia IoT wyzwalane zbliżeniami
Rozwiązywanie problemów
- Brak ruchu: Upewnij się, że czujnik jest prawidłowo zasilany, a potencjometr opóźnienia nie jest zbyt wysoki.
- Fałszywe wyzwalacze: Zmniejsz szum środowiskowy (np. Poruszanie źródeł ciepła) i osłoną czujnik przed bezpośrednim światłem słonecznym.
- Niestabilne odczyty: Zapewnij stabilną moc i unikaj nadmiernych wibracji.
Wniosek
Z powodzeniem połączyłeś czujnik ruchu MH-SR602 PIR z Arduino. Ten wszechstronny czujnik jest idealny do wykrywania ruchu w różnych projektach. Eksperymentuj z dodatkowymi funkcjami, takimi jak dostosowanie czasu opóźnienia lub zintegrowanie go z innymi komponentami dla bardziej zaawansowanych aplikacji!