LoRa Packet Forwarder JSON Daten
25.12.2024
Elektronik | Funk | Software
Der Technik-Blog
Zu diesem Artikel gibt es auch ein Video auf Youtube: Arduino Alarmanlage -HC-SR501 Bewegungsmelder
Der DC-SR501 ist ein passiver Infrarot Bewegungsmelder, der sehr einfach mit dem Arduino betrieben werden kann. Der Sensor verfügt über einen digitalen Ausgang, der je nach Einstellung für eine gewisse Zeit 3,3 Volt schalten kann. Außerdem ist der Sensor relativ energiesparend und für einen großen Spannungsbereich gebaut. Mit dem Arduino wird der Wert vom Sensor verarbeitet und je nach Status wird entweder der PIN12 oder PIN13 am Arduino geschaltet. Zur Vereinfachung wurde im Beispiel eine rote und eine grüne LED verbaut. Wird eine Bewegung erkannt, schaltet sich die rote LED ein, wird keine Bewegung erkannt, leuchtet die grüne LED.
Reichweite | 3 bis 7 Meter |
---|---|
Triggerzeit | ca. 5 bis 300 Sekunden |
Spannung | 5 bis 20 Volt |
Erfassungsbereich | max. 100 Grad |
Bei diesem Sensor handelt es sich um einen pyroelektrischen Sensor (PIR-Sensor), der auf Temperaturveränderungen reagiert. Betritt ein Mensch den Raum bzw. Erfassungsbereich, so wird die Körperwärme als Veränderung der Umgebungstemperatur über den Sensor aufgenommen. Daher reagiert der Sensor auch auf Tiere, die ausreichend Körperwärme abstrahlen. Alternativ kann ein Bewegungsmelder auch mit Radarwellen oder Ultraschall realisiert werden. Es gibt auch Bewegungsmelder, die eine Kombination von zwei verschiedenen Sensoren haben. Wird eine Bewegung detektiert, so löst der Sensor aus und schaltet den digitalen Ausgang ein. Die Spannung bleibt für ca. 5 Sekunden aufrecht. Der Sensor schaltet nach einigen Sekunden aus und wieder ein, auch wenn eine Bewegung durchgehend erfasst wird. Wird im Arduino ein Timer programmiert, so kann man dieses Wechseln zwischen dem High und Low Pegel kompensieren. Wenn man sich das erste mal mit so einem Sensor befasst, ist die richtige Einstellung etwas kompliziert. Der Sensor lässt sich jedoch sehr gut justieren und funktioniert dann auch sehr zuverlässig.
P1 | Abfallzeit vom High-Level. |
---|---|
P2 | Empfindlichkeit und Erfassungsbereich |
J1 | Einzel oder Mehrfach Impuls |
GND | Masse (0V) |
OUT | Digitaler Ausgang (3,3V) |
VIN | Stromversorgung (5V) |
Die Stromversorgung vom Senor erfolgt über den Arduino. Eine Library für die Software wird nicht benötigt. Der Code sieht wie folgt aus:
int ledRed = 13; // LED on Pin 13 (RED) int ledGreen = 12; // LED on Pin 12 (Green) int SensorPin = 2; // Digital Sensor Input int SensorValue; void setup() { pinMode(ledRed, OUTPUT); pinMode(ledGreen, OUTPUT); pinMode(SensorPin, INPUT); digitalWrite(ledRed, LOW); digitalWrite(ledGreen, LOW); } void loop() { SensorValue = digitalRead(SensorPin); if(SensorValue == HIGH){ digitalWrite(ledRed, HIGH); digitalWrite(ledGreen, LOW); }else{ digitalWrite(ledRed, LOW); digitalWrite(ledGreen, HIGH); } }
PT1000 Sensoren können nicht direkt analog mit einem Mikrocontroller gemessen werden. Wie baut man einen Messwandler mit dem LM358 für den PT1000 und Arduino?
WeiterlesenDer PT100 ist ein sehr präziser industrieller Temperatursensor. In diesem Artikel geht es um den Bau eines Messverstärkers zum Einlesen eines PT100 am Arduino
WeiterlesenAEQ-WEB © 2015-2024 All Right Reserved