2025 Autor: John Day | [email protected]. Naposledy zmenené: 2025-01-13 06:58
V tomto návode postavíme parkovací senzor. Cieľom tohto parkovacieho senzora je ukázať zelenú, keď máte dostatok priestoru na vytiahnutie auta dopredu na parkovisku, a potom žltnúť, keď sa priblížite k polohe úplne dopredu, a potom červenú, keď by ste mali zastaviť. Tento systém vytvoríme pomocou nášho Raspberry Pi a použijeme určité vzdialenosti, ktoré môžeme ľahko otestovať.
Krok 1: Veci, ktoré budete potrebovať
Okrem nastavenia Raspberry Pi budete potrebovať nasledujúce komponenty.
- Ultrazvukový snímač vzdialenosti HC-SR04
- LED (X3)
- Rezistor 330Ω (X3)
- Rezistor 10KΩ (x2)
- Prepojovacie drôty muž-muž / muž-žena
- Breadboard
Krok 2: Vykonajte zapojenie
- Spúšťačom senzora vzdialenosti je GPIO 4, ozvena je GPIO 18, zelené svetlo 17, žlté svetlo 27 a červené svetlo 22.
- Rezistory 330 ohm sú pre LED diódy a pripájajú sa k kladnému ramenu LED a potom ku GPIO.
- 10K ohmové odpory sú pre echo pin snímača vzdialenosti a pripájajú sa k GPIO.
Krok 3: Kód
importujte RPi. GPIO ako čas GPIOimportu
GPIO.setwarnings (False)
GPIO.cleanup ()
GPIO.setmode (GPIO. BCM)
TRIG = 4
ECHO = 18
ZELENÁ = 17
ŽLTÉ = 27
ČERVENÁ = 22
GPIO.setup (TRIG, GPIO. OUT)
GPIO.setup (ECHO, GPIO. IN)
GPIO.setup (ZELENÁ, GPIO. OUT)
GPIO.setup (ŽLTÝ, GPIO. OUT)
GPIO.setup (ČERVENÁ, GPIO. OUT)
def green_light ():
GPIO.output (ZELENÝ, GPIO. HIGH)
GPIO.output (ŽLTÝ, GPIO. LOW)
GPIO.output (ČERVENÝ, GPIO. LOW)
def yellow_light ():
GPIO.output (ZELENÝ, GPIO. LOW)
GPIO.output (ŽLTÝ, GPIO. HIGH)
GPIO.output (ČERVENÝ, GPIO. LOW)
def red_light (): GPIO.output (ZELENÝ, GPIO. LOW)
GPIO.output (ŽLTÝ, GPIO. LOW)
GPIO.output (ČERVENÝ, GPIO. HIGH)
def get_distance ():
GPIO.output (TRIG, True)
time.sleep (0,00001)
GPIO.output (TRIG, False)
zatiaľ čo GPIO.input (ECHO) == False: start = time.time ()
zatiaľ čo GPIO.input (ECHO) == True: end = time.time ()
signal_time = koniec-začiatok
vzdialenosť = signál_čas / 0,000058
spiatočná vzdialenosť
kým je pravda:
distance = get_distance ()
time.sleep (0,05)
tlač (vzdialenosť)
ak vzdialenosť> = 25:
zelené svetlo()
elif 25> vzdialenosť> 10:
yellow_light ()
elifová vzdialenosť <= 5:
červené svetlo()
Ak je vzdialenosť väčšia alebo rovná 25 cm, zobrazíme zelené svetlo. Ak je to medzi 10 a 25 cm, zožltneme a potom začervenáme na menej ako 10 cm alebo menej.