Verwendung eines HC-SR501-Bewegungssensors mit einem Relais und Arduino-Code
In diesem Tutorial werden wir erkunden, wie man den HC-SR501 Bewegungssensor zusammen mit einem Relais verwendet, um eine AC-Birne oder eine andere Art von Last mit einem Arduino zu steuern. Der HC-SR501 ist ein Infrarot-Bewegungssensor, der Bewegungen bis zu 7 Meter entfernt erkennen kann und sich daher ideal für verschiedene Anwendungen wie Sicherheitssysteme oder automatische Beleuchtungssysteme eignet. Mit diesem Sensor und einem Relais können Sie ein Projekt erstellen, das ein Licht einschaltet, wenn eine Bewegung erkannt wird.

Wir werden eine Schritt-für-Schritt-Anleitung zur Hardwareeinrichtung, zu den Verdrahtungsanweisungen und zum Arduino-Code bereitstellen, der erforderlich ist, um diese Funktionalität zu erreichen. Für ein klareres Verständnis des Prozesses sollten Sie sich das entsprechende Video ansehen (im Video bei 00:00).
Hardware erklärt
Die Hauptkomponenten dieses Projekts umfassen den HC-SR501 Bewegungssensor, ein Relaismodul und ein Arduino-Board. Der HC-SR501-Sensor hat drei Pins: VCC, GND und OUT. Der VCC-Pin wird mit einer Stromquelle (5V) verbunden, der GND-Pin wird mit der Erde verbunden und der OUT-Pin sendet ein Signal an das Arduino, wenn Bewegung erkannt wird.
Das Relaismodul fungiert als Schalter, der Hochspannungsgeräte steuern kann. Es hat drei Hauptanschlüsse: COM (gemeinsam), NO (normalerweise geöffnet) und NC (normalerweise geschlossen). In diesem Setup verwenden wir den NO-Anschluss, der mit der Last verbunden wird, wenn das Relais aktiviert ist. Dies ermöglicht es dem Arduino, das Relais basierend auf dem vom Bewegungssensor empfangenen Signal zu steuern.
Datenblattdetails
| Hersteller | HC-SR501 |
|---|---|
| Teilenummer | HC-SR501 |
| Logik/IO-Spannung | 5 V |
| Versorgungsspannung | 5-20 V |
| Stromverbrauch | 65 mA |
| Erkennungswinkel | 120 Grad |
| Erkennungsdistanz | 3-7 m |
| Betriebstemperatur | -15 bis 70 °C |
| Ausgabetyp | Digital |
| Paket | Modul |
- Sorgen Sie für eine ordnungsgemäße Stromversorgung (5-20 V) für den Sensor.
- Stellen Sie den Empfindlichkeits-Potentiometer für einen optimalen Erkennungsbereich ein.
- Verwenden Sie den NO-Pin des Relais, um die Last effektiv zu steuern.
- Seien Sie vorsichtig mit der Stromstärke des Relais (max. 10 A).
- Testen Sie den Erkennungsbereich des Bewegungssensors vor der endgültigen Installation.
- Berücksichtigen Sie die Wärmeableitung, wenn Sie das Relais für hohe Lasten verwenden.
Verdrahtungsanweisungen

Um den HC-SR501 Bewegungssensor und das Relais mit dem Arduino zu verdrahten, beginnen Sie damit, den VCC-Pin des Bewegungssensors mit dem 5V-Pin des Arduino zu verbinden. Verbinden Sie als Nächstes den GND-Pin des Sensors mit einem der GND-Pins des Arduino. Der OUT-Pin des Bewegungssensors sollte mit dem digitalen Pin 2 des Arduino verbunden werden.
Für das Relaismodul verbinden Sie den VCC-Pin mit dem 5V-Pin des Arduinos und den GND-Pin mit dem Boden. Der Eingangspool (häufig mit IN oder ähnlichem beschriftet) des Relais sollte mit dem digitalen Pin 4 des Arduinos verbunden werden. Überprüfen Sie unbedingt die Orientierung des Relais, um sicherzustellen, dass es für dieses Setup auf normalerweise offen (NO) eingestellt ist. Schließen Sie schließlich die Last (z.B. eine AC-Glühbirne) gemäß den Spezifikationen des Relais an das Relais an und stellen Sie sicher, dass die Verbindungen sicher sind.
Codebeispiele und Walkthrough
Im Arduino-Code definieren wir Konstanten für die Sensor- und Relaisanschlüsse. Der Sensoranschluss ist aufSENSOR_PIN, der dem digitalen Pin 2 zugewiesen ist, und der Relais-Pin ist aufRELAY_PIN, zugewiesen an digitalen Pin 4. Diese Konfiguration ermöglicht es uns, den Ausgang des Sensors zu lesen und das Relais entsprechend zu steuern.
const int SENSOR_PIN = 2; // the Arduino pin connected to the output of the sensor
const int RELAY_PIN = 4; // the Arduino pin which is connected to control the relay
In dersetup()Wir initialisieren den seriellen Monitor zur Fehlersuche und setzen die Pinmodi für die Sensor- und Relais-Pins. Dies stellt sicher, dass der Arduino weiß, welche Pins Eingänge und Ausgänge sind.
void setup() {
Serial.begin(9600); // setup Serial Monitor to display information
pinMode(SENSOR_PIN, INPUT); // Define SENSOR_PIN as Input from sensor
pinMode(RELAY_PIN, OUTPUT); // Define RELAY_PIN as OUTPUT for relay
}
Im derloop()Wir überprüfen kontinuierlich den Zustand des Bewegungssensors. Wenn Bewegung erkannt wird, drucken wir eine Nachricht auf dem seriellen Monitor aus und schalten das Relais ein, indem wir es auf niedrig setzen. Wenn keine Bewegung erkannt wird, drucken wir eine andere Nachricht aus und schalten das Relais aus, indem wir es auf hoch setzen.
void loop() {
int motion = digitalRead(SENSOR_PIN); // read the sensor pin
if (motion) {
Serial.println("Motion detected");
digitalWrite(RELAY_PIN, LOW); // Turn the relay ON
} else {
Serial.println("===Nothing moves");
digitalWrite(RELAY_PIN, HIGH); // Turn the relay OFF
}
delay(500);
}
Demonstration / Was zu erwarten ist
Wenn der Bewegungssensor Bewegung erkennt, wird das Relais aktiviert, wodurch Strom an die angeschlossene Last, wie z. B. eine AC-Glühbirne, fließen kann. Sie sollten sehen, dass die Glühbirne sofort bei Bewegungserkennung angeht. Wenn der Sensor keine Bewegung erkennt, bleibt die Glühbirne aus. Beachten Sie, dass die Empfindlichkeitseinstellungen des Sensors seinen Erkennungsbereich beeinflussen, sodass Anpassungen für eine optimale Leistung erforderlich sein können (im Video bei 05:00).
Häufige Fallen sind falsche Verdrahtung oder das Überschreiten der Stromgrenzen des Relais, was zu einem Ausfall führen kann. Stellen Sie sicher, dass alle Verbindungen sicher sind, und testen Sie die Einrichtung in einer kontrollierten Umgebung vor der endgültigen Nutzung.
Video-Zeitstempel
- 00:00 Start
- 00:35 Hardware erklärt
- 04:35 Relaisleistung
- 06:00 Verdrahtung erklärt
- 07:53 Arduino-Code erklärt
- 09:48 Demonstration dieses Projekts
Dinge, die Sie vielleicht brauchen
-
eBay
-
AliExpressKaufe den HC-SR501, HC-SR505 und HW-MS03 Bewegungssensor von AliExpress.s.click.aliexpress.com
Ressourcen & Referenzen
Noch keine Ressourcen vorhanden.
Dateien📁
Keine Dateien verfügbar.