DS18B20 Temperatursensor am Raspberry Pi testen
DS18B20 Temperatursensor am Raspberry Pi testen
sudo modprobe w1-gpiosudo modprobe w1-thermcd /sys/bus/w1/deviceslscd 28-xxxx(Seriennummer ersetzen, die erscheint)cat w1_slave
Das 1-Wire-Interface kann etwas zickig sein, meldet aber zuverlässig, ob ein Temperaturwert verfügbar ist. Da der Sensor seine Daten als einfache Textdatei bereitstellt, genügt das Lesen der Datei.
Die erste Zeile endet mit entweder YES oder NO. Steht dort YES, enthält die zweite Zeile die Temperatur in Tausendstel Grad Celsius. Im Beispiel oben meldet der Sensor 20,687 °C und dann 26,125 °C.
Bei mehreren angeschlossenen Sensoren erscheint jeder als separates 28-xxxx Verzeichnis. Sensoren einzeln anschließen, das erstellte Verzeichnis notieren und Sensor für spätere Referenz beschriften.
Arbeiten mit Ultraschallsensoren
Der HC‑SR04 Ultraschallsensor wird vom +5 V Rail des Pi (Pin 2) gespeist. Der Trigger-Pin (GPIO 23) startet eine Messung, der Echo-Pin gibt einen High-Puls zurück, dessen Breite der Hin- und Rückweg-Distanz entspricht. Da GPIO-Pins nur 3,3 V vertragen, schützt ein Spannungsteiler die Echo-Leitung.
Beispielcode
#!/usr/bin/python
# Erforderliche Python-Bibliotheken importieren
import time
import RPi.GPIO as GPIO
# BCM GPIO-Referenzen statt physischer Pin-Nummern
GPIO.setmode(GPIO.BCM)
# GPIO-Pins definieren
GPIO_TRIGGER = 23
GPIO_ECHO = 24
print("Ultrasonic Measurement")
# Pins als Output/Input setzen
GPIO.setup(GPIO_TRIGGER, GPIO.OUT)
GPIO.setup(GPIO_ECHO, GPIO.IN)
# Trigger auf False (Low) setzen
GPIO.output(GPIO_TRIGGER, False)
# Modul setzen lassen
time.sleep(0.5)
# 10µs Impuls an Trigger senden
GPIO.output(GPIO_TRIGGER, True)
time.sleep(0.00001)
GPIO.output(GPIO_TRIGGER, False)
start = time.time()
while GPIO.input(GPIO_ECHO) == 0:
start = time.time()
while GPIO.input(GPIO_ECHO) == 1:
stop = time.time()
# Pulslänge berechnen
elapsed = stop - start
# Zurückgelegte Distanz = Zeit * Schallgeschwindigkeit (cm/s)
distance = elapsed * 34000
# Hin- und Rückweg, also halbieren
distance = distance / 2
print("Distance : %.1f" % distance)
# GPIO-Einstellungen zurücksetzen
GPIO.cleanup()
Ultraschall-gesteuerter Raketenstarter
Das folgende Skript nutzt den Ultraschallsensor, um einen Raketenstart auszulösen, wenn ein Objekt näher als eine benutzerdefinierte Distanz kommt. Es macht auch ein Foto und leuchtet eine LED als visuellen Indikator.
#!/usr/bin/python
# Author : Julian and Kyle Milligan
# Date : 09/01/2013
import time
import RPi.GPIO as GPIO
from subprocess import call
GPIO.setmode(GPIO.BCM)
GPIO_TRIGGER = 23
GPIO_ECHO = 24
GPIO_FIRE = 4
print("Ultrasonic Measurement")
GPIO.setup(GPIO_TRIGGER, GPIO.OUT)
GPIO.setup(GPIO_ECHO, GPIO.IN)
GPIO.setup(GPIO_FIRE, GPIO.OUT)
GPIO.output(GPIO_TRIGGER, False)
time.sleep(0.5)
setdistance = input('Please enter a value to trigger the camera:')
while True:
time.sleep(0.1)
GPIO.output(GPIO_TRIGGER, True)
time.sleep(0.00001)
GPIO.output(GPIO_TRIGGER, False)
start = time.time()
s = start
quit = 0
while quit == 0:
quit = GPIO.input(GPIO_ECHO)
start = time.time()
if start - s > 0.1:
quit = 1
if start - s < 0.1:
while GPIO.input(GPIO_ECHO) == 1:
stop = time.time()
elapsed = stop - start
distance = elapsed * 34300
distance = distance / 2
print("Distance : %.1f" % distance)
if distance < setdistance:
call(["raspistill -o image.jpg"], shell=True)
print("Fire")
GPIO.output(GPIO_FIRE, True)
GPIO.cleanup()
Webcam vom Raspberry Pi streamen
Für Video-Streaming von einer USB-Webcam sicherstellen, dass der Pi im Netzwerk ist. Aktuelle Webcam anschließen und der offiziellen Anleitung für MJPEG-Streaming folgen. Für tieferen Einblick siehe DS18B20 Sensor-Test-Dokumentation.
Herstellungsprozess
- Mehrere DS18B20 1-Wire Sensoren an Raspberry Pi anschließen für präzises Temperaturmonitoring
- DS1820 One-Wire Temperatursensor an Raspberry Pi GPIO anschließen
- HC-SR04 Ultraschallsensor an Raspberry Pi 3 anschließen – Komplettanleitung
- Line-Tracking-Sensor mit Raspberry Pi – Einfacher KY-033 Tür/Line Detektor
- DS18B20 1-Wire Digitalthermometer an Raspberry Pi anschließen – Schritt-für-Schritt-Anleitung
- Raspberry Pi Heimtemperaturmonitor mit MCP9808, InfluxDB & Grafana bauen
- Raspberry Pi GPIO meistern: PIR-Bewegungsmelder an B+/Model 2 anschließen
- Raspberry Pi Heimüberwachung: PIR-Bewegungserkennung mit Kamera-E-Mail-Benachrichtigung
- HC-SR501 PIR-Bewegungssensor an Raspberry Pi anschließen, kalibrieren und programmieren
- Emotionssensor & EEG: Günstige Hardware für Echtzeit-Emotionserkennung