Mündəricat:

Raspberry Pi Park Sensoru: 3 Adım (Şəkillərlə birlikdə)
Raspberry Pi Park Sensoru: 3 Adım (Şəkillərlə birlikdə)

Video: Raspberry Pi Park Sensoru: 3 Adım (Şəkillərlə birlikdə)

Video: Raspberry Pi Park Sensoru: 3 Adım (Şəkillərlə birlikdə)
Video: Электрика в квартире своими руками. Финал. Переделка хрущевки от А до Я. #11 2024, Noyabr
Anonim
Image
Image
Ehtiyac duyacağınız şeylər
Ehtiyac duyacağınız şeylər

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.

  1. HC-SR04 Ultrasonik Məsafə Sensoru
  2. Led (X3)
  3. 330Ω Rezistor (X3)
  4. 10KΩ Rezistor (x2)
  5. Kişi-Kişi / Kişi-Qadın Jumper Telləri
  6. Çörək lövhəsi

Addım 2: Kabel çəkin

Kabel çəkin
Kabel çəkin
Kabel çəkin
Kabel çəkin
Kabel çəkin
Kabel çəkin
  1. 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.
  2. 330 ohm rezistorlar ledlər üçündür və LED -lərin müsbət ayağına, sonra GPIO -ya bağlanırlar.
  3. 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.

Tövsiyə: