2025 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2025-01-13 06:58
W tej instrukcji zbudujemy czujnik parkowania. Ideą tego czujnika parkowania jest pokazywanie zielonego, gdy masz dużo miejsca na pociągnięcie samochodu do przodu na parkingu, a następnie zmienia kolor na żółty, gdy zbliżasz się do pozycji całkowicie wysuniętej do przodu, a następnie na czerwono, gdy powinieneś się zatrzymać. Zbudujemy ten system za pomocą naszego Raspberry Pi i użyjemy pewnych odległości, które możemy łatwo przetestować.
Krok 1: Rzeczy, których będziesz potrzebować
Będziesz potrzebować następujących komponentów innych niż konfiguracja Raspberry Pi.
- HC-SR04 Ultradźwiękowy czujnik odległości
- Led (X3)
- Rezystor 330Ω (X3)
- Rezystor 10KΩ (x2)
- Przewody połączeniowe męsko-męskie / męsko-żeńskie
- Deska do krojenia chleba
Krok 2: Wykonaj okablowanie
- Wyzwalacz czujnika odległości to GPIO 4, echo to GPIO 18, zielone światło to 17, żółte światło to 27, a czerwone światło to 22.
- Rezystory 330 ohm są dla diod led i łączą się z dodatnią nogą diod a następnie GPIO.
- Rezystory 10 kiloomów są przeznaczone dla pinu echa czujnika odległości i łączą się z GPIO.
Krok 3: Kod
importuj RPi. GPIO jako czas importu GPIO
GPIO.setwarnings (Fałsz)
GPIO.oczyszczanie()
GPIO.setmode(GPIO. BCM)
TRIG = 4
ECHO = 18
ZIELONY = 17
ŻÓŁTY = 27
CZERWONY = 22
GPIO.setup(TRIG, GPIO. OUT)
GPIO.setup(ECHO, GPIO. IN)
GPIO.setup(ZIELONY, GPIO. OUT)
GPIO.setup (ŻÓŁTY, GPIO. OUT)
GPIO.setup(RED, GPIO. OUT)
def zielone_światło():
GPIO.wyjście (ZIELONY, GPIO. WYSOKI)
GPIO.wyjście (ŻÓŁTY, GPIO. NISKI)
GPIO.wyjście (CZERWONY, GPIO. NISKI)
def żółte_światło():
GPIO.output(ZIELONY, GPIO. LOW)
Wyjście GPIO (ŻÓŁTY, GPIO. WYSOKI)
GPIO.output(RED, GPIO. LOW)
def red_light(): GPIO.output(ZIELONY, GPIO. LOW)
GPIO.wyjście (ŻÓŁTY, GPIO. NISKI)
Wyjście GPIO (CZERWONY, GPIO. WYSOKI)
def get_distance():
GPIO.output (TRIG, prawda)
czas.snu(0.00001)
GPIO.output (TRIG, Fałsz)
while GPIO.input(ECHO) == False: start = time.time()
while GPIO.input(ECHO) == True: end = time.time()
signal_time = koniec-start
odległość = czas_sygnału / 0,000058
odległość powrotna
podczas gdy prawda:
odległość = pobierz_odległość()
czas.snu(0.05)
drukuj (odległość)
jeśli odległość >= 25:
zielone światło()
elif 25 > odległość > 10:
żółte światło()
odległość elif <= 5:
czerwone światło()
Jeśli odległość jest większa lub równa 25 cm, pokazujemy zielone światło. Jeśli ma od 10 do 25 cm, zmienimy kolor na żółty, a następnie na mniej niż 10 cm na czerwono.