Cuprins:

Senzor de parc Raspberry Pi: 3 pași (cu imagini)
Senzor de parc Raspberry Pi: 3 pași (cu imagini)

Video: Senzor de parc Raspberry Pi: 3 pași (cu imagini)

Video: Senzor de parc Raspberry Pi: 3 pași (cu imagini)
Video: Raspberry Pi Project Kit - Reversing sensor 2024, Iulie
Anonim
Image
Image
Lucruri de care vei avea nevoie
Lucruri de care vei avea nevoie

În acest instructiv vom construi un senzor de parc. Ideea acestui senzor de parc este de a arăta verde atunci când aveți suficient spațiu pentru a vă trage mașina înainte în parcare, apoi a deveni galben pe măsură ce vă apropiați de poziția complet înainte, și apoi la roșu când ar trebui să vă opriți. Vom construi acest sistem cu Raspberry Pi și vom folosi câteva distanțe pe care le putem testa cu ușurință.

Pasul 1: Lucruri de care vei avea nevoie

Veți avea nevoie de următoarele componente, altele decât configurarea Raspberry Pi.

  1. Senzor de distanță cu ultrasunete HC-SR04
  2. Led (X3)
  3. Rezistor de 330Ω (X3)
  4. Rezistor 10KΩ (x2)
  5. Sârmă jumper bărbat-bărbat / bărbat-femeie
  6. Pană de pâine

Pasul 2: Faceți cablajul

Faceți cablajul
Faceți cablajul
Faceți cablajul
Faceți cablajul
Faceți cablajul
Faceți cablajul
  1. Declanșatorul pentru senzorul de distanță este GPIO 4, ecoul este GPIO 18, lumina verde este 17, lumina galbenă este 27 și lumina roșie este 22.
  2. Rezistențele de 330 ohmi sunt pentru leduri și se conectează la piciorul pozitiv al ledurilor și apoi la GPIO.
  3. Rezistoarele de 10K ohm sunt pentru pinul de ecou al senzorului de distanță și se conectează la GPIO.

Pasul 3: Cod

import RPi. GPIO ca GPIOimport timp

GPIO.setwarnings (Fals)

GPIO.cleanup ()

GPIO.setmode (GPIO. BCM)

TRIG = 4

ECHO = 18

VERDE = 17

GALBEN = 27

ROȘU = 22

GPIO.setup (TRIG, GPIO. OUT)

GPIO.setup (ECHO, GPIO. IN)

GPIO.setup (VERZ, GPIO. OUT)

GPIO.setup (GALBEN, GPIO. OUT)

GPIO.setup (RED, GPIO. OUT)

def green_light ():

GPIO.output (VERZ, GPIO. HIGH)

GPIO.output (GALBEN, GPIO. LOW)

GPIO.output (RED, GPIO. LOW)

def yellow_light ():

GPIO.output (VERZ, GPIO. LOW)

GPIO.output (GALBEN, GPIO. HIGH)

GPIO.output (RED, GPIO. LOW)

def red_light (): GPIO.output (VERZ, GPIO. LOW)

GPIO.output (GALBEN, GPIO. LOW)

Ieșire GPIO (RED, GPIO. HIGH)

def get_distance ():

GPIO.output (TRIG, True)

time.sleep (0.00001)

GPIO.output (TRIG, Fals)

în timp ce GPIO.input (ECHO) == False: start = time.time ()

în timp ce GPIO.input (ECHO) == Adevărat: sfârșit = time.time ()

timp_semnal = start-start

distanță = semnal_timp / 0,000058

distanța de întoarcere

în timp ce este adevărat:

distance = get_distance ()

time.sleep (0,05)

imprimare (distanță)

dacă distanța> = 25:

lumina verde()

elif 25> distanță> 10:

lumină galbenă()

distanța elif <= 5:

lumină roșie()

Dacă distanța este mai mare sau egală cu 25 cm, vom arăta o lumină verde. Dacă are între 10 și 25 cm, vom deveni galbeni și apoi vom deveni roșii pentru mai puțin sau egal cu 10 cm.

Recomandat: