Test du capteur de température DS18B20 sur Raspberry Pi
Test du capteur de température DS18B20 sur Raspberry Pi
- sudo modprobe w1-gpio
- sudo modprobe w1-therm
- cd /sys/bus/w1/devices
- ls
- cd 28-xxxx (remplacez par le numéro de série qui apparaît)
- cat w1_slave
L'interface 1‑Wire peut être un peu capricieuse, mais elle signale de manière fiable si une valeur de température est disponible. Comme le capteur expose ses données comme un simple fichier texte, tout ce que vous avez à faire est de lire le fichier.
La première ligne se termine par YES ou NO. Si c'est YES, la deuxième ligne contient la température en millièmes de degré Celsius. Dans l'exemple ci-dessus, le capteur signale 20,687 °C puis 26,125 °C.
Quand plusieurs capteurs sont connectés, chacun apparaîtra comme un répertoire 28-xxxx distinct. Branchez-en un à la fois, notez le répertoire créé, et étiquetez le capteur pour référence future.
Travailler avec des capteurs ultrasoniques
Le capteur ultrasonique HC‑SR04 est alimenté depuis le rail +5 V du Pi (broche 2). La broche trigger (GPIO 23) initie une mesure, tandis que la broche echo renvoie une impulsion haute dont la largeur correspond à la distance aller-retour. Comme les broches GPIO ne tolèrent que 3,3 V, un diviseur de résistance protège la ligne echo.
Exemple de code
#!/usr/bin/python
# Import required Python libraries
import time
import RPi.GPIO as GPIO
# Use BCM GPIO references instead of physical pin numbers
GPIO.setmode(GPIO.BCM)
# Define GPIO to use on Pi
GPIO_TRIGGER = 23
GPIO_ECHO = 24
print("Ultrasonic Measurement")
# Set pins as output and input
GPIO.setup(GPIO_TRIGGER, GPIO.OUT) # Trigger
GPIO.setup(GPIO_ECHO, GPIO.IN) # Echo
# Set trigger to False (Low)
GPIO.output(GPIO_TRIGGER, False)
# Allow module to settle
time.sleep(0.5)
# Send 10us pulse to 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()
# Calculate pulse length
elapsed = stop - start
# Distance pulse travelled in that time is time multiplied by the speed of sound (cm/s)
distance = elapsed * 34000
# That was the distance there and back so halve the value
distance = distance / 2
print("Distance : %.1f" % distance)
# Reset GPIO settings
GPIO.cleanup()
Lance-roquettes alimenté par ultrasons
Le script suivant utilise le capteur ultrasonique pour déclencher un lancement de fusée quand un objet est plus proche qu'une distance définie par l'utilisateur. Il capture aussi une image et allume une LED comme indicateur visuel.
#!/usr/bin/python
# Author : Julian and Kyle Milligan
# Date : 09/01/2013
# Import required Python libraries
import time
import RPi.GPIO as GPIO
from subprocess import call
# Use BCM GPIO references instead of physical pin numbers
GPIO.setmode(GPIO.BCM)
# Define GPIO to use on Pi
GPIO_TRIGGER = 23
GPIO_ECHO = 24
GPIO_FIRE = 4
print("Ultrasonic Measurement")
# Set pins as output and input
GPIO.setup(GPIO_TRIGGER, GPIO.OUT) # Trigger
GPIO.setup(GPIO_ECHO, GPIO.IN) # Echo
GPIO.setup(GPIO_FIRE, GPIO.OUT) # Fire
# Set trigger to False (Low)
GPIO.output(GPIO_TRIGGER, False)
# Allow module to settle
time.sleep(0.5)
# Set distance to trigger
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) # take a picture with Pi Camera
print("Fire")
GPIO.output(GPIO_FIRE, True) # Turn on GPIO pin 7 fire the rockets
# Reset GPIO settings
GPIO.cleanup()
Streaming d'une webcam depuis le Raspberry Pi
Pour diffuser la vidéo depuis une webcam USB, assurez-vous que votre Pi est connecté à un réseau. Branchez une webcam récente et suivez le guide officiel pour configurer le streaming MJPEG. Pour une analyse plus approfondie, voir la documentation de test du capteur DS18B20.
Processus de fabrication
- Connecter plusieurs capteurs DS18B20 1-Wire à un Raspberry Pi pour une surveillance température précise
- Comment connecter un capteur de température DS1820 One‑Wire à un Raspberry Pi via GPIO
- Connexion du capteur ultrasonique HC‑SR04 au Raspberry Pi 3 : Guide complet
- Capteur de suivi de ligne KY‑033 avec Raspberry Pi : Détecteur de porte/lignes simple
- Comment connecter un thermomètre numérique DS18B20 One-Wire à un Raspberry Pi – Guide étape par étape
- Construire un moniteur de température domestique avec Raspberry Pi, MCP9808, InfluxDB et Grafana
- Maîtriser le GPIO Raspberry Pi : Interfacer un capteur PIR de mouvement sur B+/Modèle 2
- Système de sécurité domestique Raspberry Pi : Détection de mouvement PIR + Alertes par e-mail avec caméra
- Comment connecter, calibrer et programmer le capteur de mouvement PIR HC‑SR501 avec un Raspberry Pi