Оглавление:

Автоматическая фотобудка: 4 шага (с фотографиями)
Автоматическая фотобудка: 4 шага (с фотографиями)

Видео: Автоматическая фотобудка: 4 шага (с фотографиями)

Видео: Автоматическая фотобудка: 4 шага (с фотографиями)
Видео: Принцип Работы Экспонометра Для Начинающих! - Настройки Камеры Для Идеальной Экспозиции 2024, Ноябрь
Anonim
Автоматическая фотобудка
Автоматическая фотобудка

Это покажет вам, как сделать автоматическую фотобудку, используя raspberry pi, ультразвуковой датчик расстояния и несколько других аксессуаров. Я хотел создать проект, в котором используется как сложное оборудование, так и сложная программа. Я исследовал подобные проекты на странице ресурсов Raspberry Pi, некоторые из этих проектов - это физические вычисления с использованием Python и микробитовые селфи. Один из них показал, как использовать камеру raspberry pi, а другой показал, как использовать ультразвуковой датчик расстояния.

Шаг 1: материалы

Материалы
Материалы

Прежде чем мы начнем строить нашу схему, вам понадобятся некоторые материалы:

1 х Raspberry Pi 3

1 х Т-сапожник

1 х Pi камера

1 х ультразвуковой датчик расстояния

3 светодиода RGB

Резисторы 10 x 330 Ом

1 резистор 560 Ом

5 катушек разноцветных кабелей

1 х макет

Шаг 2: построение круга

Создание круга
Создание круга
Создание круга
Создание круга
Создание круга
Создание круга
Создание круга
Создание круга

Вот как я подключил свою схему:

1. Чтобы сделать эту схему, вам нужно подключить камеру Raspberry Pi к соответствующему разъему.

2. Подключите T-Cobbler к макетной плате.

3. С помощью соединительных кабелей нестандартной длины подключите один к шине питания, а другой - к шине заземления.

4. Подключите ультразвуковой датчик расстояния и подключите ножку «vcc» к источнику питания, «землю» - к заземлению, «триггер» - к контакту GPIO, а «эхо» - к резистору 330 Ом, который подключается к резистору 560 Ом. который подключен к земле и контакту GPIO.

5. Поместите три светодиода RGB на макетную плату, подключив анод светодиодов к источнику питания, и подключите разные ножки, которые управляют цветом светодиодов, к резисторам на 330 Ом, а затем к контактам GPIO.

Шаг 3: Код

Чтобы Raspberry Pi использовал контакты GPIO, нам нужно было бы закодировать контакты, чтобы что-то делать. Чтобы сделать код, который я сделал, я использовал python 3 IDLE. Код, который я сделал, использует для работы RPi. GPIO, а также библиотеку gpiozero. Существуют процедуры для разных цветов, и есть функция, которая вычисляет расстояние с помощью ультразвукового датчика расстояния, и когда что-то находится в пределах досягаемости, он открывает предварительный просмотр пи-камеры, светодиоды отсчитывают обратный отсчет, а затем делается снимок.

Вот код, который я использовал:

from picamera import PiCamera from gpiozero import Button, LED from time import sleep import RPi. GPIO as GPIO import time

r = [светодиод (23), светодиод (25), светодиод (12)]

g = [светодиод (16), светодиод (20), светодиод (21)] b = [светодиод (17), светодиод (27), светодиод (22)] кнопка = кнопка (24) GPIO.setmode (GPIO. BCM) GPIO_TRIGGER = 19 GPIO_ECHO = 26 GPIO.setup (GPIO_TRIGGER, GPIO. OUT) GPIO.setup (GPIO_ECHO, GPIO. IN)

def красный (x):

r [x].off () g [x].on () b [x].on ()

def off (x):

r [x].on () g [x].on () b [x].on ()

def off ():

r [0].on () g [0].on () b [0].on () r [1].on () g [1].on () b [1].on () r [2].on () g [2].on () b [2].on ()

def зеленый (x):

r [x].on () g [x].off () b [x].on ()

def синий (x):

r [x].on () g [x].on () b [x].off ()

def run ():

camera.capture ('selfie.jpg') camera.stop_preview ()

def distance ():

GPIO.output (GPIO_TRIGGER, True) time.sleep (0,00001) GPIO.output (GPIO_TRIGGER, False) StartTime = time.time () StopTime = time.time (), а GPIO.input (GPIO_ECHO) == 0: StartTime = время.time () в то время как GPIO.input (GPIO_ECHO) == 1: StopTime = time.time () TimeElapsed = StopTime - StartTime distance = (TimeElapsed * 34300) / 2 расстояние возврата

выключенный()

while True: d = distance () if int (d) <= 30: с PiCamera () в качестве камеры: camera.start_preview () красный (0) сон (1) синий (1) сон (1) зеленый (2) сон (1) выкл. () Camera.capture ('selfie.jpg') camera.stop_preview ()

Рекомендуемые: