De DS18B20 Temperatuursensor Testen op Raspberry Pi
De DS18B20 Temperatuursensor Testen op Raspberry Pi
- sudo modprobe w1-gpio
- sudo modprobe w1-therm
- cd /sys/bus/w1/devices
- ls
- cd 28-xxxx (vervang door het serienummer dat verschijnt)
- cat w1_slave
De 1-Wire-interface kan een beetje flauw zijn, maar het rapporteert betrouwbaar of een temperatuurwaarde beschikbaar is. Omdat de sensor zijn data als een simpel tekstbestand blootlegt, hoeft u alleen het bestand te lezen.
De eerste regel eindigt met ofwel YES ofwel NO. Als het YES is, bevat de tweede regel de temperatuur in duizendsten van een graad Celsius. In het bovenstaande voorbeeld rapporteert de sensor 20,687 °C en daarna 26,125 °C.
Wanneer meerdere sensoren aangesloten zijn, zal elk verschijnen als een aparte 28-xxxx-directory. Steek er één tegelijk in, noteer de aangemaakte directory, en label de sensor voor toekomstige referentie.
Werken met Ultrasonische Sensoren
De HC‑SR04-ultrasonische sensor wordt gevoed vanuit de Pi's +5 V-rail (pin 2). De trigger-pin (GPIO 23) initieert een meting, terwijl de echo-pin een hoge puls retourneert wiens breedte overeenkomt met de heen-en-weer-afstand. Omdat GPIO-pins slechts 3,3 V kunnen aan, beschermt een spanningsdeler de echo-lijn.
Voorbeeldcode
#!/usr/bin/python # Importeer vereiste Python-bibliotheken import time import RPi.GPIO as GPIO # Gebruik BCM GPIO-referenties in plaats van fysieke pinnummers GPIO.setmode(GPIO.BCM) # Definieer GPIO voor op Pi GPIO_TRIGGER = 23 GPIO_ECHO = 24 print("Ultrasonische Meting") # Stel pins in als output en input GPIO.setup(GPIO_TRIGGER,GPIO.OUT) # Trigger GPIO.setup(GPIO_ECHO,GPIO.IN) # Echo # Stel trigger op False (Low) GPIO.output(GPIO_TRIGGER, False) # Laat module rusten time.sleep(0.5) # Stuur 10us-puls naar trigger 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() # Bereken pulslengte elapsed = stop-start # Afstand die puls in die tijd aflegde is tijd vermenigvuldigd met geluidssnelheid (cm/s) distance = elapsed * 34000 # Dat was de heen-en-weer-afstand dus halve de waarde distance = distance / 2 print("Afstand : %.1f" % distance) # Reset GPIO-instellingen GPIO.cleanup()
Ultrasonisch-aangedreven Raketlanceerder
Het volgende script gebruikt de ultrasonische sensor om een raketlansering te triggeren wanneer een object dichterbij is dan een door de gebruiker gedefinieerde afstand. Het maakt ook een afbeelding en laat een LED branden als visuele indicator.
#!/usr/bin/python # Auteur : Julian en Kyle Milligan # Datum : 09/01/2013 # Importeer vereiste Python-bibliotheken import time import RPi.GPIO as GPIO from subprocess import call # Gebruik BCM GPIO-referenties in plaats van fysieke pinnummers GPIO.setmode(GPIO.BCM) # Definieer GPIO voor op Pi GPIO_TRIGGER = 23 GPIO_ECHO = 24 GPIO_FIRE = 4 print("Ultrasonische Meting") # Stel pins in als output en input GPIO.setup(GPIO_TRIGGER,GPIO.OUT) # Trigger GPIO.setup(GPIO_ECHO,GPIO.IN) # Echo GPIO.setup(GPIO_FIRE,GPIO.OUT) # Fire # Stel trigger op False (Low) GPIO.output(GPIO_TRIGGER, False) # Laat module rusten time.sleep(0.5) # Stel afstand in om te triggeren setdistance = input('Voer een waarde in om de camera te triggeren:') 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("Afstand : %.1f" % distance) if distance < setdistance: call(["raspistill -o image.jpg"], shell=True) # maak een foto met Pi-camera print("Vuur") GPIO.output(GPIO_FIRE, True) # Zet GPIO-pin 7 aan vuur de raketten # Reset GPIO-instellingen GPIO.cleanup()
Een Webcam Streamen vanaf de Raspberry Pi
Om video van een USB-webcam te streamen, zorg dat uw Pi verbonden is met een netwerk. Bevestig een recente webcam en volg de officiële handleiding voor het opzetten van MJPEG-streaming. Voor een diepere duik, zie de DS18B20-sensortest-documentatie.
Productieproces
- Meerdere DS18B20 1-Wire Sensoren Aan Een Raspberry Pi Koppelen Voor Nauwkeurige Temperatuurmonitoring
- Hoe een DS1820 One-Wire temperatuursensor aan te sluiten op een Raspberry Pi via GPIO
- HC-SR04 ultrasoon-sensor aansluiten op Raspberry Pi 3 – Complete gids
- Lijnvolgsensor met Raspberry Pi – Simpele KY-033 deur/lijndetector
- Hoe een DS18B20 One-Wire Digitale Thermometer aan te Sluiten op een Raspberry Pi – Stapsgewijze Handleiding
- Een Raspberry Pi thuistemperatuurmonitor bouwen met MCP9808, InfluxDB & Grafana
- Raspberry Pi GPIO onder de knie: Een PIR-bewegingsensor interfacen op B+/Model 2
- Raspberry Pi Thuisbeveiligingssysteem: PIR-bewegingsdetectie + Camera E-mailwaarschuwingen
- Hoe de HC‑SR501 PIR-bewegingsensor aan te sluiten, kalibreren en programmeren met een Raspberry Pi
- Emotiesensor & EEG: Goedkope Hardware voor Real-time Emotiedetectie
- Digitale Lichtsensor – LED Aansturen met Omgevingslicht via Windows 10 IoT Core