2025 Müəllif: John Day | [email protected]. Son dəyişdirildi: 2025-01-13 06:56
Bu təlimatda bir park sensoru quracağıq. Bu park sensorunun ideyası, avtomobilinizi dayanacaqda irəli çəkmək üçün çox yeriniz olduqda yaşıl rəng göstərmək və sonra tam irəli mövqeyinə yaxınlaşdıqda sarıya dönmək, sonra isə dayanmalı olduğunuzda qırmızı olmaqdır. Bu sistemi Raspberry Pi ilə quracağıq və asanlıqla sınaqdan keçirə biləcəyimiz bəzi məsafələrdən istifadə edəcəyik.
Addım 1: Ehtiyac duyacağınız şeylər
Raspberry Pi qurğusundan başqa aşağıdakı komponentlərə ehtiyacınız olacaq.
- HC-SR04 Ultrasonik Məsafə Sensoru
- Led (X3)
- 330Ω Rezistor (X3)
- 10KΩ Rezistor (x2)
- Kişi-Kişi / Kişi-Qadın Jumper Telləri
- Çörək lövhəsi
Addım 2: Kabel çəkin
- Məsafə sensoru üçün tetikleyici GPIO 4, echo GPIO 18, yaşıl işıq 17, sarı işıq 27, qırmızı işıq 22 -dir.
- 330 ohm rezistorlar ledlər üçündür və LED -lərin müsbət ayağına, sonra GPIO -ya bağlanırlar.
- 10K ohm rezistorlar məsafə sensorunun əks -sancağı üçündür və GPIO -ya qoşulur.
Addım 3: Kod
GPIOimport zamanı olaraq RPi. GPIO idxal edin
GPIO.setwarnings (Yanlış)
GPIO.cleanup ()
GPIO.setmode (GPIO. BCM)
TRIG = 4
ECHO = 18
YAŞIL = 17
SARI = 27
QIRMIZI = 22
GPIO. quraşdırma (TRIG, GPIO. OUT)
GPIO. quraşdırma (ECHO, GPIO. IN)
GPIO. quraşdırma (YAŞIL, GPIO. OUT)
GPIO. quraşdırma (SARI, GPIO. OUT)
GPIO. quraşdırma (QIRMIZI, GPIO. OUT)
def green_light ():
GPIO.çıxış (YAŞIL, GPIO. HIGH)
GPIO.çıxış (SARI, GPIO. LOW)
GPIO.çıxış (QIRMIZI, GPIO. LOW)
def sarı_ işığı ():
GPIO.çıxış (YAŞIL, GPIO. LOW)
GPIO.çıxış (SARI, GPIO. HIGH)
GPIO.çıxış (QIRMIZI, GPIO. LOW)
def red_light (): GPIO.output (YAŞIL, GPIO. LOW)
GPIO.çıxış (SARI, GPIO. LOW)
GPIO.çıxış (QIRMIZI, GPIO. HIGH)
def get_distance ():
GPIO.output (TRIG, True)
vaxt.yuxu (0.00001)
GPIO.output (TRIG, False)
GPIO.input (ECHO) == Yanlış: start = time.time ()
GPIO.input (ECHO) == Doğru: end = time.time ()
signal_time = son başlanğıc
məsafə = siqnal_ vaxtı / 0.000058
dönüş məsafəsi
Doğru halda:
məsafə = get_distance ()
vaxt.yuxu (0.05)
çap (məsafə)
məsafə> = 25 olarsa:
yaşıl işıq()
elif 25> məsafə> 10:
sarı işıq ()
elif məsafəsi <= 5:
Qırmızı işıq()
Məsafə 25 sm -dən böyük və ya bərabərdirsə, yaşıl işıq göstəririk. 10 ilə 25 sm arasındadırsa, sarıya dönəcəyik və sonra 10 sm -dən az və ya ona bərabər qırmızıya dönəcəyik.