Мазмұны:

Raspberry Pi Photobooth: 5 қадам
Raspberry Pi Photobooth: 5 қадам

Бейне: Raspberry Pi Photobooth: 5 қадам

Бейне: Raspberry Pi Photobooth: 5 қадам
Бейне: MSC Meraviglia Full Ship Tour Tips Tricks & Review Award Winning Cruise Ship Vista Project 2024, Желтоқсан
Anonim
Raspberry Pi Photobooth
Raspberry Pi Photobooth

Мақсаты:

  • Pi Camera кодтауды және орнатуды үйреніңіз
  • Кодтау кезінде анықтау және if операторларын қолдану
  • RGB светодиодтары сияқты жаңа технологияны қолдануды үйрену

1 -қадам: Сізге не қажет

Сізге не қажет болады
Сізге не қажет болады
Сізге не қажет болады
Сізге не қажет болады
Сізге не қажет болады
Сізге не қажет болады
  • 1 таңқурай Pi 3
  • Нан тақтасы
  • Секіргіштер
  • 1 Жарыққа тәуелді резистор
  • 1 конденсатор
  • 1 Басу түймесі
  • 6 220 Ом резисторы
  • 2 RGB светодиодтары
  • 1 Raspberry Pi камерасы

2 -қадам: Камера модулін қосу

Камера модулін қосу
Камера модулін қосу

Ең алдымен, Pi өшірілгенде, сіз камера модулін Raspberry Pi камералық портына қосуыңыз керек, содан кейін Pi іске қосыңыз және бағдарламалық қамтамасыз ету қосылғанына көз жеткізіңіз.

  1. HDMI мен 3.5 мм порты арасындағы камера портын табыңыз
  2. Клип диагональ болғанша камераның қысқышын пластикалық жиектерден жоғары тартыңыз
  3. Енді камера кабелін көк түсі 3,5 мм портқа қаратып салыңыз

3 -қадам: камераны орнату

Камераны орнату
Камераны орнату
Камераны орнату
Камераны орнату

Негізгі мәзірден Raspberry Pi конфигурация құралын ашып, жоғарыдағы барлық интерфейстерді өшіріп, қосыңыз

Негізгі мәзірден Терминалды ашып, келесі код жолдарын теріңіз:

Sudo Raspi-конфигурациясы

Енді осы жерден жүйеде жұмыс істеу үшін көрсеткі пернелерін қолданыңыз және перифериялық қосылым опциясын, одан P1 камерасын шертіп, камераны қосыңыз, содан кейін аяқтауды таңдаңыз. Келесі код жолдарында терминал түріне оралыңыз:

пикамераны орнатыңыз

немесе Sudo pip Picamera орнатады

4 -қадам: Камера модулін тексеру

Камера модулін тексеру
Камера модулін тексеру

Осы жерден біз камераның жұмыс істеп тұрғанын тексере аламыз, себебі бізде барлық бағдарламалық қамтамасыз ету мен аппараттық құрал қосылған.

Мәзірден Python 3 ашыңыз

Ол жерден қабықтан жаңа файл ашып, оны cameratest.py файлына сақтаңыз.

Келесі кодты енгізіңіз:

пикамера импортынан PiCamera #импорттық модуль пип орнату pi камерасының пәрменінен жасалған, импорттық ұйқыдан #импорттық ұйқы камерамыз камерада қалатынына көз жеткізу үшін = PiCamera () #Камераға орнату

camera.start_preview ()#камераны іске қосады және камера шығысының қалай көрінетінін көрсетеді

ұйқы (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 көтеріңіз: Камера компонентін құру мүмкін болмады: Сыртта есте сақтау)

Raspberry Pi конфигурациясына өтіңіз, өнімділік бағанының астына өтіңіз және қате жойылғанша GPU жадын арттырыңыз (қайта жүктеу керек).

Енді жұмыс үстелінде сақталатын фотосурет жасау үшін келесі кодты қолданамыз:

пикамера импортынан PiCamera #Импорттық модуль біздің камерамыздың қосулы екеніне көз жеткізу үшін pi install pi camera пәрменінен уақыт импорттық ұйқыдан #Импорттық ұйқыдан жасалған.

camera = PiCamera () #Камераға орнату

camera.start_preview () #Алдын ала қарау режимін қосады (5) #Алдын ала қарауды 5 секундқа қалдырады

camera.capture ('/home/pi/Desktop/image.jpg')#

camera.stop_preview ()#Алдын ала қарауды тоқтатады

5 -қадам: Кодпен схеманы құру

Кодпен схеманы құру!
Кодпен схеманы құру!
Кодпен схеманы құру!
Кодпен схеманы құру!
Кодпен схеманы құру!
Кодпен схеманы құру!

Жоғарыда көрсетілген схемалардан біз түймені, LDR -ді және ақырында екі RGB жарықдиодты орнатуымыз керек. Алдымен біз тақтаның төменгі сол жағындағы түймені орнатамыз. Түймені орнату кезінде біз жалпы теміржол желілерін қолданамыз, яғни біз 3.3 В -ты оңға қосамыз, ал теріске - жерді қосамыз. Сіз тек түйме үшін схеманы орнатуды аяқтағаннан кейін.

Біз түймені бассақ, келесі кодты қолданып светодиодты қосамыз ба, жоқ па, соны тексереміз.

#Импорттық модульдер gpiozero импорттауынан пикамерадан импорттық түйме PiCamera импорттық ұйқыдан.

#Орнату

Камера = PiCamera () Түйме = Түйме (22)

#Фото түсіру функциясы, мен оны анықтайтын функцияға енгізуді шештім, себебі ол негізгі кодты тазартуға көмектеседі

def photocap ():

Camera.start_preview ()

ұйқы (5) Camera.capture ('/home/pi/Desktop/image.jpg') басып шығару («Фото түсірілді») Camera.stop_preview ()

#Негізгі код:

while True: егер Button.is_pressed: print («Түйме басылды») фотокап ()

#Неліктен бұл жұмыс істейді: Негізгі код жұмыс істейді, себебі біз егер 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 () ұйқы (4)

timedled.color (1, 0, 0)

ұйықтау (2)

timedled.color (0, 1, 0)

ұйықтау (1)

Camera.capture ('/home/pi/Desktop/image.jpg') басып шығару («Фото түсірілді») Camera.stop_preview ()

#Негізгі код:

шындық кезінде:

егер Button.is_pressed:

басып шығару («Түйме басылды») фотокап ()

#Неліктен бұл жұмыс істейді: бұл кодтың жұмыс істеуінің себебі - қазір бізде RGBLED фотосурет түсірілетін уақытты есептейтін таймер ретінде жұмыс істеуге мүмкіндік алды.

Енді тақтаның төменгі оң жағындағы жарыққа тәуелді резисторды жоғарыда және жоғарыда көрсетілген жалпы темір жолдағы диаграмманы пайдаланып орнатыңыз. Есіңізде болсын, LDR -дің екі ұзын аяғы мен капицитатор GPIO түйреуішіне қосылуы керек.

LDR қосылғаннан кейін біз келесі кодты қолданамыз:

#Импортталған модульдер

gpiozero импорттау батырмасы

пикамерадан импорт PiCamera gpiozero импорттау RGBLED

LightSensor gpiozero импорттау

уақыттан бастап ұйқы импортталады

#Орнату

Камера = PiCamera () Түйме = Түйме (22) TimedLED = RGBLED (қызыл = 21, жасыл = 20, көк = 16)

LightSensor = LightSensor (23)

#RGB LED көмегімен фотосурет түсіру функциясы, мен оны негізгі функцияға тазартуға көмектесетін анықталған функцияға қоюды шештім.

def photocap (): Camera.start_preview () ұйқы (4) уақытылы.түс (1, 0, 0) ұйқы (2) уақытша.түс (0, 1, 0) ұйқы (1) Камера. түсіру ('/үй/ pi/Desktop/image-j.webp

#Негізгі код:

шындық кезінде:

if Button.is_pressed: басып шығару («Түйме басылды») фотокап ()

егер Button.is_pressed және Lightsensor.when_dark:

басып шығару («Түйме басылды»)

басып шығару («Қараңғы»)

фотокап ()

#Неліктен бұл жұмыс істейді: Жарық сенсорын менің кодыма қосудың әдісі - жарық сенсорының импортталған функциясын қамтитын басқа оператор арқылы. Қараңғыда бізді келесі қадамға өте жақсы орнатады

Енді бұл жобаны жүзеге асырудың соңғы қадамы басқа RGBLED симметриялы екіншісін жарқыл ретінде жұмыс істеу үшін белсендіру болады, Соңғы код:

gpiozero импорттау батырмасы

пикамерадан PiCamera импорты

gpiozero импорттау RGBLED

LightSensor gpiozero импорттау

уақыттан бастап ұйқы импортталады

#Орнату

Камера = PiCamera ()

Түйме = Түйме (22)

TimedLED = RGBLED (қызыл = 21, жасыл = 20, көк = 16)

FlashLED = RGBLED (қызыл = 19, жасыл = 13, көк = 6)

LightSensor = LightSensor (23)

#RGB светодиоды бар фото түсіру функциясы, мен оны анықтайтын функцияға қоюды шештім, себебі ол бізге photocap () негізгі кодын тазалауға көмектеседі: Camera.start_preview () ұйқы (4) timedled.color (1, 0, 0)) ұйқы (2) уақытылы.түс (0, 1, 0) ұйқы (1) Camera.capture ('/home/pi/Desktop/image.jpg') басып шығару («Фото түсірілді») Camera.stop_preview () # Негізгі код: True кезінде: егер Button.is_pressed:

басып шығару («Түйме басылды»)

фотокап ()

егер Button.is_pressed және Lightsensor.when_dark:

басып шығару («Түйме басылды») басып шығару («Қараңғы»)

FlashLED.color (1, 1, 1)

фотокап ()

#Неліктен бұл жұмыс істейді: Менің фонарьды қосудың әдісі - RGB көмегімен ақ түсті 1, 1, 1 шығаруға әкелді және егер if операторы ақиқат болса ғана солай болады.

Ұсынылған: