Съдържание:
- Стъпка 1: Какво ще ви трябва
- Стъпка 2: Свързване на модула на камерата
- Стъпка 3: Настройка на камерата
- Стъпка 4: Тестване на модула на камерата
- Стъпка 5: Създаване на верига с код
Видео: Raspberry Pi Photobooth: 5 стъпки
2024 Автор: John Day | [email protected]. Последно модифициран: 2024-01-30 07:52
Целта:
- Научете как да кодирате и инсталирате Pi камера
- Използване на дефиниции и ако в кодирането
- Да се научим да използваме нови технологии като RGB светодиодите
Стъпка 1: Какво ще ви трябва
- 1 Малина Пи 3
- Платка
- Джъмпери
- 1 светлозависим резистор
- 1 кондензатор
- 1 Натиснете бутона
- 6 220 ома резистори
- 2 RGB светодиода
- 1 Raspberry Pi камера
Стъпка 2: Свързване на модула на камерата
На първо място, с изключен Pi, ще трябва да свържете модула на камерата към порта на камерата на Raspberry Pi, след това да стартирате Pi и да се уверите, че софтуерът е активиран.
- Намерете порта за камера, който е между порта HDMI и 3,5 мм
- Издърпайте скобата на камерата за пластмасовите ръбове, докато щипката стане диагонална
- Сега поставете кабела на камерите със синьото към 3,5 -милиметровия порт
Стъпка 3: Настройка на камерата
Отваряне на инструмента за конфигуриране на Raspberry Pi от главното меню и деактивиране и активиране на всички интерфейси по -горе
От главното меню отворете терминала и въведете следните редове код:
Sudo Raspi-config
Сега от тук използвайте клавишите със стрелки, за да работите през системата и щракнете върху опцията Периферна връзка и от тях щракнете върху P1 Camera и активирайте камерата, след което изберете финал. Връщайки се към типа терминал в следните редове код:
pip инсталирайте пикамера
или Sudo pip инсталирайте Picamera
Стъпка 4: Тестване на модула на камерата
От тук можем да проверим дали камерата работи или не, защото имаме активиран целия софтуер и хардуер.
Отворете Python 3 от менюто
Оттам отворете нов файл от черупката и го запазете cameratest.py.
Въведете следния код:
от пикамера импортиране PiCamera #импортиран модул, създаден от командата pip install pi cameraот време импортиране на сън #импортиран сън, за да сме сигурни, че нашата камера остава на камерата = PiCamera () #Настройка за камерата
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 префикс =" Неуспешно създаване на камера компонент ") Файл" /usr/lib/python2.7/dist-packages/picamera/exc.py ", ред 112, в mmal_check повдигнете PiCameraMMALError (състояние, префикс) picamera.exc. PiCameraMMALError: Неуспешно създаване на компонент на камерата: Out на паметта)
Моля, отидете на конфигурацията на Raspberry Pi, отидете под колоната за производителност и увеличете паметта на графичния процесор, докато грешката изчезне (трябва да рестартирате).
Сега, за да създадем снимка, която да бъде запазена на работния плот, ще използваме следния код:
от пикамера импортиране PiCamera #Импортиран модул, създаден от командата pip install pi cameraот време импортиране на сън #Импортиран сън, за да сме сигурни, че камерата остава включена
camera = PiCamera () #Настройка за камерата
camera.start_preview () #Стартира предварителен сън (5) #Оставя визуализацията включена за 5 секунди
camera.capture ('/home/pi/Desktop/image.jpg')# От
camera.stop_preview ()#Спира визуализацията
Стъпка 5: Създаване на верига с код
Както се вижда по -горе от електрическите схеми, трябва да настроим бутон, LDR и накрая два RGB светодиода. Първо ще настроим бутона в долната лява част на макета. По време на настройката на бутона ще използваме общите железопътни линии, което означава, че ще включим нашите 3.3V на положително и на земята за отрицателно. След като приключите с настройката на веригата само за бутона.
Ще тестваме нашата верига, за да видим дали можем да направим така, че ако бутонът е натиснат, да включим светодиода, като използваме следния код:
#Импортирани модули от бутон за импортиране на gpiozero от пикамера импортиране на PiCamera от време за импортиране на време
#Настройвам
Камера = 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 за известно време вярно изявление, така че непрекъснато се актуализира, когато бутонът е натиснат, за да направите снимката
Сега ще настроим 2 RGB светодиода чак до върха на веригата и ще ги отделим в средата на макета и ще направим симетрични. Ако нямате 220 ома резистори за този проект, можете да ги настроите паралелно в зависимост от съпротивлението на резисторите, които имате. Вторият щифт на 4 -пиновия RGB светодиод (най -дългият трябва да бъде свързан към земята чрез железопътната линия. Другите щифтове трябва да бъдат свързани към своите собствени GPIO щифтове. (Първият извод = червен, Вторият извод = земята, Третият извод = зелен, Четвърти щифт = син).
Ще тестваме един от нашите RGB светодиоди в нашата верига с бутони с кода по -долу:
#Импортирани модули от бутон за импортиране на gpiozero от пикамера импортиране PiCamera
от gpiozero внос RGBLED
от време внос сън
#Настройвам
Камера = PiCamera () Бутон = Бутон (22)
TimedLED = RGBLED (червено = 21, зелено = 20, синьо = 16)
#Функция за заснемане на снимки с RGB LED, реших да я сложа във функция за дефиниране, тъй като тя ни помага да изчистим основния код
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 ()
#Основен код:
докато е вярно:
ако Button.is_pressed:
print ("Бутонът е натиснат") photocap ()
#Защо това работи: Причината, поради която този код работи, е, че сега имаме RGBLED да работи като таймер, когато снимката ще бъде направена
Сега настройте резистора, зависим от светлината, в долната дясна страна на макета, като използвате диаграмата до горе в горната част и общите железопътни линии, обсъдени по -горе. Не забравяйте, че двата дълги крака на LDR и капитатора трябва да бъдат свързани към GPIO щифта.
След като свържем LDR, ще използваме следния код:
#Импортирани модули
от бутона за импортиране на gpiozero
от пикамера импортиране PiCamera от gpiozero внос RGBLED
от gpiozero импортирайте LightSensor
от време внос сън
#Настройвам
Камера = PiCamera () Бутон = Бутон (22) TimedLED = RGBLED (червено = 21, зелено = 20, синьо = 16)
LightSensor = LightSensor (23)
#Функция за заснемане на снимки с RGB LED, реших да я сложа във функция за дефиниране, тъй като тя ни помага да изчистим основния код
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
#Основен код:
докато е вярно:
if Button.is_pressed: print ("Бутонът е натиснат") photocap ()
ако Button.is_pressed и Lightsensor.when_dark:
print ("Бутонът е натиснат")
print ("Тъмно е")
photocap ()
#Защо това работи: Начинът, по който добавих светлинния сензор към моя код, е чрез друг оператор if, който съдържа импортираната функция на сензора за светлина. Когато тъмно ни настройва перфектно за следващата ни стъпка
Сега последната стъпка от този проект би била да активира другия RGBLED симетричен спрямо другия, за да работи като светкавица, Окончателният код:
от бутона за импортиране на gpiozero
от пикамера внос PiCamera
от gpiozero внос RGBLED
от gpiozero импортирайте LightSensor
от време внос сън
#Настройвам
Камера = PiCamera ()
Бутон = Бутон (22)
TimedLED = RGBLED (червено = 21, зелено = 20, синьо = 16)
FlashLED = RGBLED (червено = 19, зелено = 13, синьо = 6)
LightSensor = LightSensor (23)
#Функция за заснемане на снимки с RGB LED, реших да я сложа във функция за определяне, тъй като тя ни помага да изчистим основния код 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:
печат ("Бутонът е натиснат")
photocap ()
ако Button.is_pressed и Lightsensor.when_dark:
print ("Бутонът е натиснат") print ("Тъмно е")
FlashLED.color (1, 1, 1)
photocap ()
#Защо това работи: Начинът, по който добавих моето фенерче, е чрез използване на RGB, за да изведе бял цвят, който е 1, 1, 1 и това се прави само ако изявлението if е вярно.
Препоръчано:
Откриване на лице на Raspberry Pi 4B в 3 стъпки: 3 стъпки
Откриване на лица на Raspberry Pi 4B в 3 стъпки: В тази инструкция ще извършим разпознаване на лица на Raspberry Pi 4 с Shunya O/S, използвайки библиотеката Shunyaface. Shunyaface е библиотека за разпознаване/разпознаване на лица. Проектът има за цел да постигне най -бързата скорост на откриване и разпознаване с
Първи стъпки с ROS Melodic на Raspberry Pi 4 Модел B: 7 стъпки
Първи стъпки с ROS Melodic на Raspberry Pi 4 Модел B: Роботната операционна система (ROS) е набор от софтуерни библиотеки и инструменти, използвани за изграждане на роботизирани системи и приложения. Настоящата версия за дългосрочно обслужване на ROS е Melodic Morenia. ROS Melodic е съвместим само с Ubuntu 18.04 Bionic Beaver
Инсталиране на Raspbian Buster на Raspberry Pi 3 - Първи стъпки с Raspbian Buster с Raspberry Pi 3b / 3b+: 4 стъпки
Инсталиране на Raspbian Buster на Raspberry Pi 3 | Първи стъпки с Raspbian Buster с Raspberry Pi 3b / 3b+: Здравейте момчета, наскоро организацията Raspberry pi стартира нова Raspbian OS, наречена Raspbian Buster. Това е нова версия на Raspbian за Raspberry pi's. Така че днес в тези инструкции ще научим как да инсталирате Raspbian Buster OS на вашия Raspberry pi 3
Инсталиране на 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 Модел B разполага с четириядрен 64-битов ARM Cortex A53 с тактова честота 1,2 GHz. Това поставя Pi 3 приблизително на 50
Raspberry Pi PhotoBooth: HTML5 & NodeJS: 4 стъпки
Raspberry Pi PhotoBooth: HTML5 & NodeJS: Фотокабина с HTML5 и NodeJS с визуализация на живо и персонализирани рамки. Този проект започна като нещо, което създадох за училищния танц на дъщеря ми. Исках нещо забавно за нея и нейните приятели да си спомнят събитието (което беше последният път, когато те ще