Talaan ng mga Nilalaman:

Raspberry Pi Park Sensor: 3 Hakbang (na may Mga Larawan)
Raspberry Pi Park Sensor: 3 Hakbang (na may Mga Larawan)

Video: Raspberry Pi Park Sensor: 3 Hakbang (na may Mga Larawan)

Video: Raspberry Pi Park Sensor: 3 Hakbang (na may Mga Larawan)
Video: My job is to observe the forest and something strange is happening here. 2024, Hulyo
Anonim
Image
Image
Mga Bagay na Kakailanganin Mo
Mga Bagay na Kakailanganin Mo

Sa pagtuturo na ito magtatayo kami ng isang sensor ng parke. Ang ideya ng sensor ng parke na ito ay upang ipakita ang berde kapag mayroon kang maraming silid upang hilahin ang iyong kotse pasulong sa paradahan, at pagkatapos ay dilaw habang papalapit ka sa posisyon na ganap na pasulong, at pagkatapos ay pula kung dapat mong ihinto. Itatayo namin ang sistemang ito sa aming Raspberry Pi, at gagamit ng ilang distansya na madali naming masusubukan.

Hakbang 1: Mga Bagay na Kakailanganin Mo

Kakailanganin mo ang mga sumusunod na sangkap maliban sa pag-setup ng Raspberry Pi.

  1. HC-SR04 Ultrasonic Distance Sensor
  2. Led (X3)
  3. 330Ω Resistor (X3)
  4. 10KΩ Resistor (x2)
  5. Mga Wire ng Jumper ng Lalaki-Lalaki / Lalaki-Babae
  6. Breadboard

Hakbang 2: Gawin ang Mga Kable

Gawin ang Kable
Gawin ang Kable
Gawin ang Kable
Gawin ang Kable
Gawin ang Kable
Gawin ang Kable
  1. Ang nag-trigger para sa distansya sensor ay GPIO 4, ang echo ay GPIO 18, ang berdeng ilaw ay 17, ang dilaw na ilaw ay 27 at ang pulang ilaw ay 22.
  2. Ang 330 ohm resistors ay para sa mga leds at kumokonekta sila sa positibong binti ng mga leds at pagkatapos ay ang GPIO.
  3. Ang 10K ohm resistors ay para sa echo pin ng distansya sensor at kumonekta sa GPIO.

Hakbang 3: Code

i-import ang RPi. GPIO bilang oras ng GPIOimport

GPIO.setwarnings (Mali)

GPIO.cleanup ()

GPIO.setmode (GPIO. BCM)

TRIG = 4

ECHO = 18

GREEN = 17

DILAW = 27

PULA = 22

GPIO.setup (TRIG, GPIO. OUT)

GPIO.setup (ECHO, GPIO. IN)

GPIO.setup (GREEN, GPIO. OUT)

GPIO.setup (DILAW, GPIO. OUT)

GPIO.setup (PULA, GPIO. OUT)

def green_light ():

GPIO.output (GREEN, GPIO. HIGH)

GPIO.output (DILAW, GPIO. LOW)

GPIO.output (PULA, GPIO. LOW)

def yellow_light ():

GPIO.output (GREEN, GPIO. LOW)

GPIO.output (DILAW, GPIO. HIGH)

GPIO.output (PULA, GPIO. LOW)

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

GPIO.output (DILAW, GPIO. LOW)

GPIO.output (PULA, GPIO. HIGH)

def get_distance ():

GPIO.output (TRIG, True)

oras. tulog (0.00001)

GPIO.output (TRIG, Mali)

habang GPIO.input (ECHO) == Mali: start = time.time ()

habang GPIO.input (ECHO) == Totoo: end = time.time ()

signal_time = end-start

distansya = signal_time / 0.000058

bumalik distansya

habang Totoo:

distansya = get_distance ()

oras. tulog (0.05)

print (distansya)

kung distansya> = 25:

luntiang ilaw()

elif 25> distansya> 10:

yellow_light ()

distansya ng elif <= 5:

pulang ilaw()

Kung ang distansya ay mas malaki sa o katumbas ng 25 cm, nagpapakita kami ng isang berdeng ilaw. Kung nasa pagitan ng 10 at 25 cm, magiging dilaw kami, at pagkatapos ay mamumula kami para sa mas mababa sa o katumbas ng 10 cm.

Inirerekumendang: