Съдържание:

Raspberry Pi Park Sensor: 3 стъпки (със снимки)
Raspberry Pi Park Sensor: 3 стъпки (със снимки)

Видео: Raspberry Pi Park Sensor: 3 стъпки (със снимки)

Видео: Raspberry Pi Park Sensor: 3 стъпки (със снимки)
Видео: Linptech ES1 - микроволновый датчик присутствия для mihome, интеграция Home Assistant Gateway 3 2024, Ноември
Anonim
Image
Image
Неща, от които ще се нуждаете
Неща, от които ще се нуждаете

В тази инструкция ще изградим парков сензор. Идеята на този сензор за паркиране е да показва зелено, когато имате достатъчно място, за да издърпате колата си напред на паркинга, и след това да стане жълто, когато се приближите до изцяло напред позиция, и след това червено, когато трябва да спрете. Ще изградим тази система с нашия Raspberry Pi и ще използваме някои разстояния, които лесно можем да тестваме.

Стъпка 1: Неща, от които ще се нуждаете

Ще ви трябват следните компоненти, различни от настройката на Raspberry Pi.

  1. HC-SR04 ултразвуков сензор за разстояние
  2. Led (X3)
  3. 330Ω резистор (X3)
  4. 10KΩ резистор (x2)
  5. Мъжки-мъжки / мъжки-женски джъмперни проводници
  6. Платка

Стъпка 2: Направете окабеляването

Направете окабеляване
Направете окабеляване
Направете окабеляване
Направете окабеляване
Направете окабеляване
Направете окабеляване
  1. Задействането на сензора за разстояние е GPIO 4, ехото е GPIO 18, зелената светлина е 17, жълтата светлина е 27, а червената светлина е 22.
  2. Резисторите от 330 ома са за светодиодите и те се свързват към положителния край на светодиодите и след това към GPIO.
  3. 10K ома резистори са за ехо пина на сензора за разстояние и се свързват към GPIO.

Стъпка 3: Код

импортирайте RPi. GPIO като GPIOимпортирайте време

GPIO.setwarnings (False)

GPIO.cleanup ()

GPIO.setmode (GPIO. BCM)

TRIG = 4

ECHO = 18

ЗЕЛЕНО = 17

ЖЪЛТ = 27

ЧЕРВЕН = 22

GPIO.setup (TRIG, GPIO. OUT)

GPIO.setup (ECHO, GPIO. IN)

GPIO.setup (ЗЕЛЕН, GPIO. OUT)

GPIO.setup (ЖЪЛТ, GPIO. OUT)

GPIO.setup (ЧЕРВЕН, GPIO. OUT)

def green_light ():

GPIO.изход (ЗЕЛЕН, GPIO. HIGH)

GPIO.изход (ЖЪЛТ, GPIO. LOW)

GPIO.изход (ЧЕРВЕН, GPIO. LOW)

def yellow_light ():

GPIO.изход (ЗЕЛЕН, GPIO. LOW)

GPIO.изход (ЖЪЛТ, GPIO. HIGH)

GPIO.изход (ЧЕРВЕН, GPIO. LOW)

def red_light (): GPIO.output (ЗЕЛЕН, GPIO. LOW)

GPIO.изход (ЖЪЛТ, GPIO. LOW)

GPIO.изход (ЧЕРВЕН, GPIO. HIGH)

def get_distance ():

GPIO.изход (TRIG, True)

time.sleep (0.00001)

GPIO.изход (TRIG, False)

докато GPIO.input (ECHO) == False: start = time.time ()

докато GPIO.input (ECHO) == Вярно: край = time.time ()

signal_time = край-старт

разстояние = signal_time / 0.000058

обратно разстояние

докато е вярно:

разстояние = get_distance ()

time.sleep (0.05)

печат (разстояние)

ако разстоянието> = 25:

зелена светлина()

elif 25> разстояние> 10:

yellow_light ()

elif разстояние <= 5:

червена светлина()

Ако разстоянието е по -голямо или равно на 25 см, показваме зелена светлина. Ако е между 10 и 25 см, ще пожълтим и след това ще почервеним за по -малко или равно на 10 см.

Препоръчано: