Table des matières:
2025 Auteur: John Day | [email protected]. Dernière modifié: 2025-01-13 06:57
Dans ce instructable, nous allons construire un capteur de parc. L'idée de ce capteur de stationnement est d'afficher du vert lorsque vous avez suffisamment d'espace pour tirer votre voiture vers l'avant dans le parking, puis de devenir jaune lorsque vous vous approchez de la position complètement avancée, puis rouge lorsque vous devez vous arrêter. Nous allons construire ce système avec notre Raspberry Pi, et utiliser des distances que nous pouvons facilement tester.
Étape 1: choses dont vous aurez besoin
Vous aurez besoin des composants suivants autres que la configuration de Raspberry Pi.
- Capteur de distance à ultrasons HC-SR04
- LED (X3)
- Résistance 330Ω (X3)
- Résistance 10KΩ (x2)
- Cavaliers mâle-mâle / mâle-femelle
- Planche à pain
Étape 2: faire le câblage
- Le déclencheur pour le capteur de distance est GPIO 4, l'écho est GPIO 18, le voyant vert est 17, le voyant jaune est 27 et le voyant rouge est 22.
- Les résistances de 330 ohms sont destinées aux leds et elles se connectent à la branche positive des leds, puis au GPIO.
- Les résistances de 10K ohms sont destinées à la broche d'écho du capteur de distance et se connectent au GPIO.
Étape 3: Coder
importer RPi. GPIO en tant qu'heure d'importation GPIO
GPIO.setwarnings (faux)
GPIO.cleanup()
GPIO.setmode(GPIO. BCM)
TRIG = 4
ÉCHO = 18
VERT = 17
JAUNE = 27
ROUGE = 22
GPIO.setup(TRIG, GPIO. OUT)
GPIO.setup(ECHO, GPIO. IN)
GPIO.setup(VERT, GPIO. OUT)
GPIO.setup(JAUNE, GPIO. OUT)
GPIO.setup(RED, GPIO. OUT)
def green_light():
GPIO.sortie (VERT, GPIO. HIGH)
GPIO.sortie (JAUNE, GPIO. LOW)
GPIO.sortie (ROUGE, GPIO. LOW)
def yellow_light():
GPIO.sortie (VERT, GPIO. LOW)
GPIO.sortie (JAUNE, GPIO. HIGH)
GPIO.sortie (ROUGE, GPIO. LOW)
def red_light(): GPIO.output(GREEN, GPIO. LOW)
GPIO.sortie (JAUNE, GPIO. LOW)
GPIO.sortie (ROUGE, GPIO. HIGH)
def get_distance():
GPIO.sortie(TRIG, Vrai)
temps.sommeil(0.00001)
GPIO.sortie (TRIG, False)
tandis que GPIO.input(ECHO) == False: start = time.time()
tandis que GPIO.input(ECHO) == True: end = time.time()
signal_time = fin-début
distance = signal_temps / 0,000058
distance de retour
tant que vrai:
distance = get_distance()
temps.sommeil(0,05)
imprimer (distance)
si distance >= 25:
lumière verte()
elif 25 > distance > 10:
lumière jaune()
distance elif <= 5:
lumière rouge()
Si la distance est supérieure ou égale à 25 cm, nous affichons un feu vert. Si elle est comprise entre 10 et 25 cm, on deviendra jaune, puis on deviendra rouge pour moins ou égal à 10 cm.