Arduino-Code und Video für den HC-SR501-Bewegungssensor
In diesem Tutorial untersuchen wir den HC-SR501-Bewegungssensor, der dafür ausgelegt ist, Bewegung mittels Infrarottechnologie zu erfassen. Der Sensor kann einen Ausgang auslösen, sodass Sie Geräte wie LEDs oder Alarme basierend auf der Bewegungserkennung steuern können. Am Ende dieses Tutorials wissen Sie genau, wie Sie den Sensor verkabeln und den Arduino-Code implementieren, damit er effektiv funktioniert. (im Video bei 00:45)

Hardware erklärt
Der HC-SR501-Bewegungssensor ist ein kompaktes Modul mit den Abmessungen 32 × 24 Millimeter und kann im Spannungsbereich von 5 bis 20 Volt betrieben werden. Im Inneren befindet sich der Infrarotsensor LHI 778, der Bewegungen erkennt, indem er Änderungen der Infrarotstrahlung wahrnimmt. Damit eignet er sich für verschiedene Anwendungen, darunter Sicherheitssysteme und Robotikprojekte.
Dieses Modul verfügt über drei Hauptpins:VCCfür Macht,GNDfür Boden, undOUTfür das Ausgangssignal. Wenn Bewegung erkannt wird, dasOUTDer Pin liefert ein High‑Signal (3,3 Volt TTL), das zum Auslösen von Alarmen oder anderen Geräten verwendet werden kann. Der Sensor verfügt außerdem über eine einstellbare Empfindlichkeit und Zeitverzögerung, sodass Sie seinen Betrieb an Ihre spezifischen Anforderungen anpassen können.
Datenblattdetails
| Hersteller | HC-SR501 |
|---|---|
| Teilenummer | HC-SR501 |
| Logik-/I/O-Spannung | 3,3 V |
| Versorgungsspannung | 5-20 V |
| Ausgangsstrom (pro Kanal) | ≤ 20 mA |
| Spitzenstrom (pro Kanal) | ≤ 50 mA |
| Hinweise zur PWM-Frequenz | Nicht zutreffend |
| Schwellenwerte der Eingangslogik | 0.8 V (NIEDRIG), 2.0 V (HOCH) |
| Spannungsabfall / RDS(eingeschaltet)/ Sättigung | 0,1 V |
| Thermische Grenzwerte | 0°C bis 70°C |
| Paket | Modul |
| Notizen / Varianten | Einstellbare Empfindlichkeit und Zeitverzögerung |
- Stellen Sie die korrekte Versorgungsspannung sicher (5–20 V).
- Verwenden Sie einen Widerstand in Reihe mit den LEDs, um den Strom zu begrenzen.
- Stellen Sie das Empfindlichkeitspotentiometer für die Erkennungsreichweite ein.
- Stellen Sie die Verzögerungszeit ein, um zu steuern, wie lange der Ausgang auf hohem Pegel bleibt.
- Achten Sie auf schwebende Eingänge; verwenden Sie bei Bedarf Pull-up- oder Pull-down-Widerstände.
Verdrahtungsanleitung

Um den HC-SR501-Bewegungsmelder zu verkabeln, beginnen Sie damit, dieVCCVerbinden Sie den Pin mit dem 5V-Ausgang des Arduino. Als Nächstes verbinden Sie denGNDPin an die Masse (GND) am Arduino. DerOUTDer Pin sollte mit dem digitalen Pin 2 am Arduino verbunden werden, der das Signal zur Bewegungserkennung ausliest.
Wenn Sie eine LED für visuelles Feedback verwenden, verbinden Sie die Anode (langer Pin) der LED mit dem digitalen Pin 8 des Arduino. Die Kathode (kurzer Pin) sollte mit einem Anschluss eines 680-Ohm-Widerstands verbunden werden, wobei der andere Anschluss des Widerstands an Masse geht. Diese Anordnung ermöglicht dem Arduino, die LED anhand der Bewegungserkennung zu steuern.
Codebeispiele & Schritt-für-Schritt-Anleitung
Der Arduino-Code für diese Konfiguration initialisiert den seriellen Monitor und konfiguriert die Eingangs- und Ausgangspins. Die wichtigsten Bezeichner im Code umfassen:motion, die den Zustand des Bewegungssensors speichert, und die digitalen Pins, die zum Lesen von Eingaben und zur Steuerung der LED verwendet werden.
void setup() {
Serial.begin(9600);// setup Serial Monitor to display information
pinMode(2, INPUT);// Input from sensor
pinMode(8, OUTPUT);// OUTPUT to alarm or LED
}In diesem Auszug, dersetup()Die Funktion initialisiert die serielle Kommunikation und setzt die Pin‑Modi für den Sensor und die LED. Pin 2 wird als Eingang konfiguriert, um den Ausgang des Bewegungssensors zu lesen, während Pin 8 als Ausgang konfiguriert wird, um die LED zu steuern.
void loop() {
int motion = digitalRead(2);
if(motion){
Serial.println("Motion detected");
digitalWrite(8, HIGH);
}else{
Serial.println("===nothing moves");
digitalWrite(8, LOW);
}
delay(500);
}Dieser Codeausschnitt stellt die Hauptschleife dar, in der das Programm fortlaufend den Zustand des Bewegungssensors überprüft. Wird Bewegung erkannt, gibt es die Meldung Bewegung erkannt auf dem seriellen Monitor aus und schaltet die LED ein. Wenn keine Bewegung erkannt wird, gibt es die Meldung ===nichts bewegt sich auf dem seriellen Monitor aus und schaltet die LED aus.
Demonstration / Was Sie erwartet
Wenn die Einrichtung abgeschlossen ist und der Code auf das Arduino hochgeladen wurde, sollten Sie erwarten, dass die LED aufleuchtet, wenn der HC-SR501-Sensor Bewegung erkennt. Außerdem zeigt der serielle Monitor Meldungen an, die angeben, ob Bewegung erkannt wurde oder nicht. Wenn Sie die Empfindlichkeits- und Zeitverzögerungseinstellungen am Sensor anpassen, können Sie feststellen, dass sich die Reaktionsgeschwindigkeit des Sensors auf Bewegung ändert (im Video bei 05:30).
Häufige Fallstricke sind fehlerhafte Verkabelung, wie etwa das Vertauschen der Anschlüsse fürVCCundGND, was den Sensor beschädigen könnte. Stellen Sie sicher, dass der Ausgangspin des Sensors korrekt mit dem vorgesehenen Eingangspin des Arduino verbunden ist, um schwebende Eingänge zu vermeiden.
Video-Zeitstempel
- 00:00Einleitung
- 00:45Hardwareübersicht
- 02:30Verdrahtungsanleitung
- 04:00Erklärung des Codes
- 05:30Demonstration
Ressourcen & Referenzen
Noch keine Ressourcen vorhanden.
Dateien📁
Keine Dateien verfügbar.