2025 Autor: John Day | [email protected]. Zadnja promjena: 2025-01-13 06:57
U ovom instruktu ćemo izgraditi parkirni senzor. Ideja ovog senzora za parkiranje je da svijetli zeleno kad imate dovoljno prostora za povlačenje automobila naprijed na parkiralištu, a zatim požuti kad se približite položaju prema naprijed, a zatim crveno kad se trebate zaustaviti. Ovaj ćemo sustav 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
- Oglasna ploča
Korak 2: Ožičite
- Okidač senzora udaljenosti je GPIO 4, odjek 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 s pozitivnom nogom LED dioda, a zatim GPIO.
- 10K ohmski otpornici služe za eho pin senzora udaljenosti i povezuju se s GPIO -om.
Korak 3: Kodirajte
uvoziti RPi. GPIO kao GPIOuvozno vrijeme
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, True)
time.sleep (0,00001)
GPIO.izlaz (TRIG, Netačno)
dok je GPIO.input (ECHO) == False: start = time.time ()
dok je GPIO.input (ECHO) == True: kraj = time.time ()
signal_time = kraj-početak
udaljenost = signal_time / 0.000058
povratna udaljenost
dok je istina:
udaljenost = get_distance ()
vrijeme.spavanje (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.