Мазмұны:
- 1 -қадам: Сізге не қажет
- 2 -қадам: Камера модулін қосу
- 3 -қадам: камераны орнату
- 4 -қадам: Камера модулін тексеру
- 5 -қадам: Кодпен схеманы құру
Бейне: Raspberry Pi Photobooth: 5 қадам
2024 Автор: John Day | [email protected]. Соңғы өзгертілген: 2024-01-30 10:25
Мақсаты:
- Pi Camera кодтауды және орнатуды үйреніңіз
- Кодтау кезінде анықтау және if операторларын қолдану
- RGB светодиодтары сияқты жаңа технологияны қолдануды үйрену
1 -қадам: Сізге не қажет
- 1 таңқурай 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 конфигурация құралын ашып, жоғарыдағы барлық интерфейстерді өшіріп, қосыңыз
Негізгі мәзірден Терминалды ашып, келесі код жолдарын теріңіз:
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 операторы ақиқат болса ғана солай болады.
Ұсынылған:
Arduino Uno көмегімен акустикалық левитация Қадамдық қадам (8 қадам): 8 қадам
Акустикалық левитация Arduino Uno Қадамдық қадаммен (8-қадам): ультрадыбыстық дыбыс түрлендіргіштері L298N Dc әйелдер адаптерінің ток көзі еркек тоқ сымымен Arduino UNOBreadboard Бұл қалай жұмыс істейді: Біріншіден, сіз кодты Arduino Uno-ға жүктейсіз (бұл сандық жүйемен жабдықталған микроконтроллер) және кодты түрлендіру үшін аналогтық порттар (C ++)
Raspberry Pi бар жарық диодты жыпылықтау - Raspberry Pi -де GPIO түйреуіштерін қалай қолдануға болады: 4 қадам
Raspberry Pi бар жарық диодты жыпылықтау | Raspberry Pi -де GPIO түйреуіштерін қалай қолдануға болады: Сәлеметсіздер ме, осы нұсқаулықта біз Raspberry pi -дің GPIO -ларын қолдануды үйренеміз. Егер сіз бір кездері Arduino -ны қолданған болсаңыз, онда біз светодиодты қосқышты және т.б. оның түйреуіштеріне қосып, оны жұмыс істетуге болатынын білетін шығарсыз. светодиодты жыпылықтатыңыз немесе қосқыштан кіріс алыңыз
Raspberry Pi 3 -ке Raspbian Buster орнату - Raspberry Pi 3b / 3b+бар Raspbian Buster бағдарламасын бастау: 4 қадам
Raspberry Pi 3 -ке Raspbian Buster орнату | Raspberry Pi 3b / 3b+көмегімен Raspbian Buster -ды бастау: Сәлеметсіздер ме, балалар, жақында Raspberry pi ұйымы Raspbian Buster деп аталатын жаңа Raspbian ОЖ -ны іске қосты. Бұл Raspberry pi үшін Raspbian жаңа нұсқасы. Бүгін біз осы нұсқаулықта Raspbian Buster ОЖ -ны Raspberry pi 3 -ке қалай орнатуды үйренеміз
Raspberry Pi PhotoBooth: HTML5 және NodeJS: 4 қадам
Raspberry Pi PhotoBooth: HTML5 және NodeJS: HTML5 және NodeJS фотобуттары тікелей қарауға және реттелетін шекараларға ие. Бұл жоба менің қызымның мектептегі биіне арнап салдым. Мен оған және оның достарына оқиғаны есте қалдыру үшін көңілді нәрсе алғым келді (олар соңғы рет
DIY Photobooth: 7 қадам (суреттермен)
DIY Photobooth: бұл бүкіл әлемдегі сауда орталықтарында, ойын -сауық саябақтарында және сауда орталықтарындағы дәстүрлі фотобутниктерді қалай жасауға болатындығы туралы нұсқаулық. Бұл стенд толығымен цифрлық және оны үйде жасау әлдеқайда арзан/жеңіл. Мен жазамын