Senzor za parkiranje Raspberry Pi: 3 koraka (sa slikama)
Senzor za parkiranje Raspberry Pi: 3 koraka (sa slikama)
Anonim
Image
Image
Stvari koje će vam trebati
Stvari koje će vam trebati

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.

  1. HC-SR04 Ultrazvučni senzor udaljenosti
  2. Led (X3)
  3. Otpor 330Ω (X3)
  4. 10KΩ otpornik (x2)
  5. Muške-muške / muško-ženske kratkospojne žice
  6. Oglasna ploča

Korak 2: Ožičite

Izvedite ožičenje
Izvedite ožičenje
Izvedite ožičenje
Izvedite ožičenje
Izvedite ožičenje
Izvedite ožičenje
  1. Okidač senzora udaljenosti je GPIO 4, odjek je GPIO 18, zeleno svjetlo je 17, žuto svjetlo je 27, a crveno svjetlo 22.
  2. Otpornici od 330 ohma služe za LED diode i povezuju se s pozitivnom nogom LED dioda, a zatim GPIO.
  3. 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.