2025 Autor: John Day | [email protected]. Zadnja izmjena: 2025-01-13 06:57
U ovom uputstvu ćemo izgraditi parkirni senzor. Zamisao ovog parkirnog senzora je da svijetli zeleno kada imate dovoljno prostora za povlačenje automobila naprijed na parkiralištu, a zatim postane žuto dok se približavate položaju prema naprijed, a zatim crveno kada treba stati. Ovaj sistem ćemo izgraditi s našim Raspberry Pi -om i koristiti neke udaljenosti koje možemo lako testirati.
Korak 1: Stvari koje će vam trebati
Osim postavki Raspberry Pi, trebat će vam sljedeće komponente.
- HC-SR04 Ultrazvučni senzor udaljenosti
- Led (X3)
- Otpor 330Ω (X3)
- 10KΩ otpornik (x2)
- Muške-muške / muško-ženske kratkospojne žice
- Breadboard
Korak 2: Ožičite
- Okidač senzora udaljenosti je GPIO 4, eho je GPIO 18, zeleno svjetlo je 17, žuto svjetlo je 27, a crveno svjetlo 22.
- Otpornici od 330 ohma služe za LED diode i povezuju se na pozitivni dio LED dioda, a zatim na GPIO.
- Otpornici od 10K ohma služe za eho pin senzora udaljenosti i spajaju se na GPIO.
Korak 3: Kodirajte
uvezite RPi. GPIO kao GPIOimport vreme
GPIO.setwarnings (False)
GPIO.cleanup ()
Način rada GPIO.set (GPIO. BCM)
TRIG = 4
ECHO = 18
ZELENO = 17
ŽUTI = 27
CRVENO = 22
GPIO.setup (TRIG, GPIO. OUT)
GPIO.setup (ECHO, GPIO. IN)
GPIO.setup (ZELENO, GPIO. OUT)
GPIO.setup (ŽUTI, GPIO. OUT)
GPIO.setup (CRVENO, GPIO. OUT)
def green_light ():
GPIO.izlaz (ZELENO, GPIO. HIGH)
GPIO.izlaz (ŽUTI, GPIO. LOW)
GPIO.izlaz (CRVENO, GPIO. LOW)
def yellow_light ():
GPIO.izlaz (ZELENO, GPIO. LOW)
GPIO.izlaz (ŽUTI, GPIO. HIGH)
GPIO.izlaz (CRVENO, GPIO. LOW)
def red_light (): GPIO.izlaz (ZELENO, GPIO. LOW)
GPIO.izlaz (ŽUTI, GPIO. LOW)
GPIO.izlaz (CRVENO, GPIO. HIGH)
def get_distance ():
GPIO.izlaz (TRIG, Tačno)
time.sleep (0.00001)
GPIO.izlaz (TRIG, Netačno)
dok je GPIO.input (ECHO) == Netačno: start = time.time ()
dok je GPIO.input (ECHO) == Tačno: kraj = time.time ()
signal_time = kraj-početak
distance = signal_time / 0.000058
povratna udaljenost
dok je True:
udaljenost = get_distance ()
time.sleep (0,05)
ispis (udaljenost)
ako je udaljenost> = 25:
zeleno svjetlo()
elif 25> udaljenost> 10:
yellow_light ()
elif udaljenost <= 5:
Crveno svjetlo()
Ako je udaljenost veća od ili jednaka 25 cm, pokazujemo zeleno svjetlo. Ako je između 10 i 25 cm, požutjet ćemo, a zatim pocrveniti manje ili jednako 10 cm.