Оглавление:
- Шаг 1. Что вам понадобится
- Шаг 2: Подключение модуля камеры
- Шаг 3: настройка камеры
- Шаг 4: Тестирование модуля камеры
- Шаг 5: Создание схемы с помощью кода
Видео: Фотокабина Raspberry Pi: 5 шагов
2024 Автор: John Day | [email protected]. Последнее изменение: 2024-01-30 11:51
Цель:
- Узнайте, как кодировать и устанавливать камеру Pi
- Использование операторов define и if в коде
- Обучение использованию новых технологий, таких как светодиоды RGB
Шаг 1. Что вам понадобится
- 1 Raspberry Pi 3
- Макетная плата
- Джемперы
- 1 светозависимый резистор
- 1 конденсатор
- 1 кнопка
- 6 резисторов 220 Ом
- 2 светодиода RGB
- 1 камера Raspberry Pi
Шаг 2: Подключение модуля камеры
Прежде всего, при выключенном Pi вам необходимо подключить модуль камеры к порту камеры Raspberry Pi, затем запустить Pi и убедиться, что программное обеспечение включено.
- Найдите порт камеры, который находится между портом HDMI и 3,5 мм.
- Потяните зажим камеры за пластиковые края, пока зажим не станет диагональным.
- Теперь вставьте кабель камеры так, чтобы синий цвет был обращен к порту 3,5 мм.
Шаг 3: настройка камеры
Открытие инструмента настройки Raspberry Pi из главного меню, отключение и включение всех вышеперечисленных интерфейсов.
В главном меню откройте Терминал и введите следующие строки кода:
Судо Распи-конфиг
Теперь используйте клавиши со стрелками для работы в системе, нажмите «Периферийное подключение», затем нажмите «Камера P1» и включите камеру, затем выберите «Готово». Вернемся к типу терминала в следующих строках кода:
pip install picamera
или Sudo pip установить Picamera
Шаг 4: Тестирование модуля камеры
Отсюда мы можем проверить, работает ли камера, потому что у нас включено все программное и аппаратное обеспечение.
Откройте Python 3 из меню
Оттуда откройте новый файл из оболочки и сохраните его cameratest.py.
Введите следующий код:
from picamera import PiCamera # импортированный модуль, созданный с помощью команды pip install pi camera.
camera.start_preview () # запускает камеру и показывает, как выглядит вывод камеры
sleep (10) # оставляет предварительный просмотр на 10 секунд
camera.stop_preview () # наконец-то закрывает предварительный просмотр
Запустите код по F5
Если вы получаете эту ошибку при запуске кода:
(mmal: mmal_vc_component_create: не удалось создать компонент vc.ril.camera (1: ENOMEM)
mmal: mmal_component_create_core: не удалось создать компонент 'vc.ril.camera' (1) Отслеживание (последний вызов последним): файл "", строка 1, в файле "/usr/lib/python2.7/dist-packages/picamera /camera.py ", строка 257, в файле _init_ self._init_camera ()" /usr/lib/python2.7/dist-packages/picamera/camera.py ", строка 288, в _init_camera prefix =" Не удалось создать камеру component ") Файл" /usr/lib/python2.7/dist-packages/picamera/exc.py ", строка 112, в mmal_check поднять PiCameraMMALError (статус, префикс) picamera.exc. PiCameraMMALError: Не удалось создать компонент камеры: Out памяти)
Перейдите в конфигурацию Raspberry Pi, перейдите в столбец производительности и увеличьте объем памяти графического процессора, пока ошибка не исчезнет (необходимо перезагрузить компьютер).
Теперь, чтобы создать фотографию, которая будет сохранена на рабочем столе, мы будем использовать следующий код:
from picamera import PiCamera # Импортированный модуль, созданный с помощью команды pip install pi camera from time import sleep # Импортированный спящий режим, чтобы убедиться, что наша камера остается включенной
camera = PiCamera () # Настройка камеры
camera.start_preview () # Запускает предварительный просмотр в режиме ожидания (5) # Оставляет предварительный просмотр включенным на 5 секунд
camera.capture ('/ home / pi / Desktop / image.jpg') # Из
camera.stop_preview () # Останавливает предварительный просмотр
Шаг 5: Создание схемы с помощью кода
Как видно из принципиальных схем, нам нужно настроить кнопку, LDR и, наконец, два светодиода RGB. Сначала мы собираемся настроить кнопку в нижнем левом углу макета. Во время настройки кнопки мы будем использовать обычные железнодорожные линии, что означает, что мы будем подключать наши 3,3 В к плюсу, а землю к минусу. После того, как вы закончили настройку схемы только для кнопки.
Мы протестируем нашу схему, чтобы увидеть, сможем ли мы сделать так, чтобы при нажатии кнопки мы включали светодиод, используя следующий код:
# Импортированные модули из gpiozero import Кнопка из Picamera import PiCamera из time import sleep
#Настраивать
Камера = PiCamera () Кнопка = Кнопка (22)
# Функция фотосъемки, я решил поместить ее в функцию определения, поскольку она помогает нам очистить основной код.
def photocap ():
Camera.start_preview ()
sleep (5) Camera.capture ('/ home / pi / Desktop / image.jpg') print («Фотография сделана») Camera.stop_preview ()
# Основной код:
while True: if Button.is_pressed: print ("Кнопка была нажата") photocap ()
# Почему это работает: основной код работает так, как будто все, что мы делаем, - это использование команды if button.is_pressed в выражении while true, поэтому он постоянно обновляется при нажатии кнопки, чтобы сделать снимок.
Теперь мы собираемся установить 2 светодиода RGB до самого верха схемы, разделить их в середине макета и сделать симметричным. Если у вас нет резисторов 220 Ом для этого проекта, вы можете установить их параллельно в зависимости от вашего сопротивления резисторов, которые у вас есть. Второй контакт 4-контактного светодиода RGB (самый длинный должен быть подключен к земле через железную дорогу. Все остальные контакты должны быть подключены к собственным контактам GPIO (первый контакт = красный, второй контакт = земля, третий контакт = зеленый)., Четвертый контакт = синий).
Мы протестируем один из наших светодиодов RGB в нашей схеме кнопки с помощью кода ниже:
# Импортированные модули из gpiozero import Кнопка из Picamera import PiCamera
из gpiozero импортировать RGBLED
от времени импортный сон
#Настраивать
Камера = PiCamera () Кнопка = Кнопка (22)
TimedLED = RGBLED (красный = 21, зеленый = 20, синий = 16)
# Функция фотосъемки с помощью RGB-светодиода, я решил включить ее в функцию определения, поскольку она помогает нам очистить основной код
def photocap (): Camera.start_preview () sleep (4)
timedled.color (1, 0, 0)
сон (2)
timedled.color (0, 1, 0)
спать (1)
Camera.capture ('/ home / pi / Desktop / image.jpg') print («Фотография сделана») Camera.stop_preview ()
# Основной код:
в то время как True:
если Button.is_pressed:
print ("Нажата кнопка") photocap ()
# Почему это работает: Причина, по которой этот код работает, заключается в том, что теперь у нас есть RGBLED, который работает как таймер, когда будет сделана фотография
Теперь установите светозависимый резистор в нижней правой части макета, используя схему вверху и общие железные дороги, которые обсуждались ранее. Помните, что обе длинные ножки LDR и капицитатор должны быть подключены к контакту GPIO.
После того, как мы подключили LDR, мы будем использовать следующий код:
# Импортированные модули
из кнопки импорта gpiozero
из Picamera импортировать PiCamera из gpiozero импортировать RGBLED
из gpiozero импорт LightSensor
от времени импортный сон
#Настраивать
Камера = PiCamera () Кнопка = Кнопка (22) TimedLED = RGBLED (красный = 21, зеленый = 20, синий = 16)
LightSensor = Световой датчик (23)
# Функция фотосъемки с помощью RGB-светодиода, я решил включить ее в функцию определения, поскольку она помогает нам очистить основной код.
def photocap (): Camera.start_preview () sleep (4) timedled.color (1, 0, 0) sleep (2) timedled.color (0, 1, 0) sleep (1) Camera.capture ('/ home / pi / Desktop / image-j.webp
# Основной код:
в то время как True:
if Button.is_pressed: print («Была нажата кнопка») photocap ()
если Button.is_pressed и Lightsensor.when_dark:
print («Была нажата кнопка»)
print ("Темно")
колпачок ()
# Почему это работает: Я добавил датчик освещенности в свой код с помощью другого оператора if, который содержит импортированную функцию датчика освещенности. Когда темнота настраивает нас идеально для нашего следующего шага
Теперь последним шагом в этом проекте будет активация другого RGBLED, симметричного другому, чтобы он работал как вспышка, Окончательный код:
из кнопки импорта gpiozero
из Picamera импорт PiCamera
из gpiozero импортировать RGBLED
из gpiozero импорт LightSensor
от времени импортный сон
#Настраивать
Камера = PiCamera ()
Кнопка = Кнопка (22)
TimedLED = RGBLED (красный = 21, зеленый = 20, синий = 16)
FlashLED = RGBLED (красный = 19, зеленый = 13, синий = 6)
LightSensor = Световой датчик (23)
# Функция фотосъемки с помощью RGB-светодиода, я решил поместить ее в функцию определения, поскольку она помогает нам очистить основной код def photocap (): Camera.start_preview () sleep (4) timedled.color (1, 0, 0) sleep (2) timedled.color (0, 1, 0) sleep (1) Camera.capture ('/ home / pi / Desktop / image.jpg') print ("Фотография была сделана") Camera.stop_preview () # Основной код: while True: if Button.is_pressed:
print ("Была нажата кнопка")
колпачок ()
если Button.is_pressed и Lightsensor.when_dark:
print («Была нажата кнопка») print («Темно»)
FlashLED.color (1, 1, 1)
колпачок ()
# Почему это работает: Я добавил свой фонарик с помощью светодиода RGB для вывода белого цвета, равного 1, 1, 1, и это происходит только в том случае, если утверждение if истинно.
Рекомендуемые:
Дизайн игры в Flick за 5 шагов: 5 шагов
Дизайн игры в Flick за 5 шагов: Flick - это действительно простой способ создания игры, особенно чего-то вроде головоломки, визуального романа или приключенческой игры
Счетчик шагов - Micro: Bit: 12 шагов (с изображениями)
Счетчик шагов - Микро: Бит: Этот проект будет счетчиком шагов. Мы будем использовать датчик акселерометра, встроенный в Micro: Bit, для измерения наших шагов. Каждый раз, когда Micro: Bit трясется, мы добавляем 2 к счетчику и отображаем его на экране
Играйте в Doom на своем IPod за 5 простых шагов !: 5 шагов
Играйте в Doom на своем IPod за 5 простых шагов!: Пошаговое руководство по двойной загрузке Rockbox на iPod, чтобы играть в Doom и десятки других игр. Это действительно легко сделать, но многие люди до сих пор удивляются, когда видят, как я играю дум на своем iPod, и путаются с инструкциями
Установка Raspbian на Raspberry Pi 3 B без HDMI - Начало работы с Raspberry Pi 3B - Настройка Raspberry Pi 3: 6 шагов
Установка Raspbian на Raspberry Pi 3 B без HDMI | Начало работы с Raspberry Pi 3B | Настройка Raspberry Pi 3: как некоторые из вас знают, компьютеры Raspberry Pi довольно крутые, и вы можете получить весь компьютер всего на одной крошечной плате. Raspberry Pi 3 Model B оснащен четырехъядерным 64-битным ARM Cortex A53 работает на частоте 1,2 ГГц. Это ставит Pi 3 примерно на 50
Фотокабина своими руками: 7 шагов (с изображениями)
DIY Photobooth: это руководство о том, как построить свою собственную фотобудку, во многом похожую на традиционные, которые можно увидеть в торговых центрах, парках развлечений и торговых центрах по всему миру. Однако эта будка полностью цифровая, и ее намного дешевле / проще сделать дома. Я написал