Агуулгын хүснэгт:
- Алхам 1: Танд хэрэгтэй зүйл
- Алхам 2: Камерын модулийг холбох
- Алхам 3: Камерыг тохируулах
- Алхам 4: Камерын модулийг турших
- Алхам 5: Код ашиглан тойрог үүсгэх
Видео: Raspberry Pi Photobooth: 5 алхам
2024 Зохиолч: John Day | [email protected]. Хамгийн сүүлд өөрчлөгдсөн: 2024-01-30 11:03
Зорилго:
- Pi Camera хэрхэн кодлох, суулгах талаар олж мэдээрэй
- Кодлохдоо тодорхойлох ба if мэдэгдлийг ашиглах
- RGB LED гэх мэт шинэ технологийг ашиглаж сурах
Алхам 1: Танд хэрэгтэй зүйл
- 1 Raspberry Pi 3
- Талхны самбар
- Үсрэгчид
- 1 Гэрэл хамааралтай эсэргүүцэл
- 1 конденсатор
- 1 товчлуур
- 6 220 Ом эсэргүүцэл
- 2 RGB LED
- 1 Raspberry Pi камер
Алхам 2: Камерын модулийг холбох
Нэгдүгээрт, Pi унтраалттай байгаа тул та камерын модулийг Raspberry Pi -ийн камерын порт руу холбож, дараа нь Pi -г асааж, програм хангамж идэвхжсэн эсэхийг шалгах хэрэгтэй.
- HDMI ба 3.5 мм портын хоорондох камерын портыг олоорой
- Камерын хавчаарыг хуванцар ирмэгээр татаж, клипийг диагональ болгоно
- Одоо камерын кабелийг цэнхэр өнгөөр 3.5 мм -ийн порт руу харуул
Алхам 3: Камерыг тохируулах
Raspberry Pi -ийн тохиргооны хэрэгслийг үндсэн цэснээс нээгээд дээрх бүх интерфэйсийг идэвхгүй болгож идэвхжүүлнэ үү
Үндсэн цэснээс терминалыг нээгээд дараах кодын мөрүүдийг оруулна уу.
Sudo Raspi-тохиргоо
Эндээс сумныхаа товчлуурыг ашиглан системээр ажиллаж, Захын холболтын сонголтыг дарж, P1 Камерыг дарж камерыг идэвхжүүлээд дуусгахыг сонгоно уу. Дараах кодын мөрөнд терминал руу буцаж очно уу.
pip пикамера суулгах
эсвэл Sudo pip нь Picamera -ийг суулгана
Алхам 4: Камерын модулийг турших
Эндээс бид бүх програм хангамж, техник хангамж идэвхжсэн тул камер ажиллаж байгаа эсэхийг шалгаж болно.
Python 3 -ийг цэснээс нээнэ үү
Тэндээс бүрхүүлээс шинэ файл нээгээд cameratest.py файлыг хадгална уу.
Дараах кодыг оруулна уу.
пикамерын импортоос PiCamera #импортолсон модулийг пип суурилуулах пи камерын командаар үүсгэсэн цаг импортлох унтах #импортоор унтах нь манай камер камер дээр үлдэх эсэхийг баталгаажуулахын тулд = 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) Traceback (хамгийн сүүлд хийсэн дуудлага): Файл "", мөр 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 #Импортолсон модулийг манай камер асаалттай байгаа эсэхийг шалгахын тулд пи камерыг суурилуулах пи камерыг импортлох цагийг унтраахаас #Импортолсон унтах.
camera = PiCamera () #Камерын тохиргоо
camera.start_preview () #Урьдчилан харах горимыг эхлүүлнэ (5) #Урьдчилан харахыг 5 секундын турш орхино
camera.capture ('/home/pi/Desktop/image.jpg')#
camera.stop_preview ()#Урьдчилан харахыг зогсооно
Алхам 5: Код ашиглан тойрог үүсгэх
Дээрх хэлхээний диаграмаас харахад товчлуур, LDR, эцэст нь хоёр RGB LED тохируулах хэрэгтэй. Эхлээд бид талхны самбарын зүүн доод буланд байгаа товчлуурыг тохируулах болно. Товчлуурыг тохируулах явцад бид нийтлэг төмөр замын шугамыг ашиглана, ингэснээр бид эерэг 3.3V хүчдэлээ сөрөг тал руу залгана гэсэн үг юм. Та хэлхээний тохиргоог хийж дууссаны дараа зөвхөн товчлуурыг тохируулна уу.
Бид үүнийг хийх боломжтой эсэхийг шалгахын тулд тойрогоо туршиж үзэх болно, ингэснээр товчлуур дарагдсан бол бид дараах кодыг ашиглан гэрлийг асаана.
#Импортолсон модулиудыг gpiozero импортлох Пикамераас импортлох цаг
#Тохируулах
Камер = PiCamera () Button = Button (22)
#Зураг авах функц нь үндсэн кодыг цэвэрлэхэд тусалдаг тул үүнийг тодорхойлох функцэд оруулахаар шийдлээ
def photocap ():
Camera.start_preview ()
унтах (5) Camera.capture ('/home/pi/Desktop/image.jpg') хэвлэх ("Зураг авсан") Camera.stop_preview ()
#Үндсэн код:
while True: if Button.is_pressed: print ("Button дарагдсан") photocap ()
#Энэ яагаад ажилладаг вэ: Гол код нь хэрэв button.is_pressed командыг ашиглавал үнэн зөв мэдэгдэл хийгддэг тул зураг авахын тулд товчлуур дарагдсан үед байнга шинэчлэгддэг.
Одоо бид 2 RGB LED -ийг хэлхээний дээд хэсэгт хүртэл тохируулж, талхны дунд байрлуулж, тэгш хэмтэй болгох гэж байна. Хэрэв танд энэ төсөлд 220 ом эсэргүүцэл байхгүй бол та байгаа резисторуудын эсэргүүцлээс хамааран тэдгээрийг зэрэгцээ тохируулж болно. 4 зүү RGB LED -ийн хоёр дахь зүү (хамгийн урт нь төмөр замаар газардуулгатай холбогдсон байх ёстой. Бусад тээглүүр нь бүгд өөрсдийн GPIO зүүтэй холбогдсон байх ёстой., Дөрөв дэх зүү = цэнхэр).
Бид RGB LED -ийнхээ аль нэгийг товчлуурын хэлхээндээ доорх кодоор туршиж үзэх болно.
#Импортолсон модулиудыг gpiozero импортлох пикамераас PiCamera -аас оруулах товчлуур
gpiozero -аас RGBLED импортлох
цагаас эхлэн унтах
#Тохируулах
Камер = PiCamera () Button = Button (22)
Хугацаа LED = RGBLED (улаан = 21, ногоон = 20, цэнхэр = 16)
#RGB LED -тэй зураг авах функц, үндсэн кодыг цэвэрлэхэд тусалдаг тул үүнийг тодорхой функцэд оруулахаар шийдлээ.
def photocap (): Camera.start_preview () унтах (4)
өнгө (1, 0, 0)
унтах (2)
өнгө (0, 1, 0)
унтах (1)
Camera.capture ('/home/pi/Desktop/image.jpg') хэвлэх ("Зураг авсан") Camera.stop_preview ()
#Үндсэн код:
үнэн байхад:
хэрэв Button.is_pressed:
хэвлэх ("Товчлуур дарагдсан") photocap ()
#Энэ яагаад ажилладаг вэ: Энэ код яагаад ажиллах болсон шалтгаан нь одоо бид RGBLED -ийг зураг авах гэж байгаа цаг хэмжигчээр ажиллах болсонтой холбоотой юм.
Дээрх диаграмыг ашиглан талхны хавтангийн баруун доод талд Гэрлийн хамааралтай резисторыг тохируулж, өмнө нь хэлэлцсэн төмөр замыг ашиглана уу. LDR болон capicitator -ийн урт хөл хоёулаа GPIO зүүтэй холбогдсон байх ёстой гэдгийг санаарай.
LDR -ийг холбосны дараа бид дараах кодыг ашиглах болно.
#Импортын модулиуд
gpiozero импортлох товчлуураас
пикамераас PiCamera -ийг gpiozero импортлохоос RGBLED
gpiozero -аас LightSensor импортлох
цагаас эхлэн унтах
#Тохируулах
Камер = PiCamera () Button = Button (22) TimedLED = RGBLED (улаан = 21, ногоон = 20, цэнхэр = 16)
LightSensor = LightSensor (23)
#RGB LED -тэй зураг авах функц, үндсэн кодыг цэвэрлэхэд тусалдаг тул үүнийг тодорхой функцэд оруулахаар шийдлээ.
def photocap (): Camera.start_preview () унтах (4) timedled.color (1, 0, 0) унтах (2) timedled. pi/Ширээний/image-j.webp
#Үндсэн код:
үнэн байхад:
if Button.is_pressed: print ("Button дарагдсан") photocap ()
хэрэв Button.is_pressed болон Lightsensor.when_dark:
хэвлэх ("Товчлуур дарагдсан")
хэвлэх ("Харанхуй байна")
гэрэл зураг ()
#Энэ яагаад ажилладаг вэ: Гэрлийн мэдрэгчийг код дээрээ нэмж оруулах арга бол гэрлийн мэдрэгчийн импортолсон функцийг агуулсан өөр нэг мэдэгдэл юм.
Одоо энэ төслийг хэрэгжүүлэх эцсийн алхам бол нөгөө RGBLED -ийг нөгөө талдаа тэгш хэмтэйгээр идэвхжүүлж, гар чийдэн болгон ажиллуулах болно.
Эцсийн код:
gpiozero импортлох товчлуураас
пикамераас PiCamera импортлох
gpiozero -аас RGBLED импортлох
gpiozero -аас LightSensor импортлох
цагаас эхлэн унтах
#Тохируулах
Камер = PiCamera ()
Товч = Товч (22)
Хугацаа LED = RGBLED (улаан = 21, ногоон = 20, цэнхэр = 16)
FlashLED = RGBLED (улаан = 19, ногоон = 13, цэнхэр = 6)
LightSensor = LightSensor (23)
#RGB LED -тэй гэрэл зураг авах функц, үүнийг тодорхойлох функцэд оруулахаар шийдсэн бөгөөд энэ нь үндсэн кодыг цэвэрлэхэд тусалдаг 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') хэвлэх ("Зураг авсан") Camera.stop_preview () # Үндсэн код: True байхад: хэрэв Button.is_pressed:
хэвлэх ("Товчлуур дарагдсан")
гэрэл зураг ()
хэрэв Button.is_pressed болон Lightsensor.when_dark:
хэвлэх ("Товчлуур дарагдсан") хэвлэх ("Харанхуй байна")
FlashLED өнгө (1, 1, 1)
гэрэл зураг ()
#Энэ яагаад ажилладаг вэ: Миний гар чийдэнг нэмэх арга бол RGB -ийг ашиглах явдал юм, 1, 1, 1 гэсэн цагаан өнгийг гаргадаг бөгөөд хэрэв if мэдэгдэл үнэн бол л үүнийг хийдэг.
Зөвлөмж болгож буй:
Arduino Uno ашиглан акустик левитаци Алхам алхам (8 алхам): 8 алхам
Arduino Uno-тай акустик Levitation Алхам алхамаар (8 алхам): хэт авианы дууны дамжуулагч L298N Dc эмэгтэй адаптерийн эрэгтэй тэжээлийн тэжээлийн хангамж Arduino UNOBreadboard Энэ нь хэрхэн ажилладаг вэ: Нэгдүгээрт, та кодыг Arduino Uno-д байршуулдаг (энэ нь дижитал төхөөрөмжөөр тоноглогдсон микроконтроллер юм. кодыг хөрвүүлэх аналог портууд (C ++)
Raspberry Pi PhotoBooth: HTML5 ба NodeJS: 4 алхам
Raspberry Pi PhotoBooth: HTML5 & NodeJS: HTML5 ба NodeJS фотобуут шууд үзэх, өөрчлөн тохируулсан хил бүхий энэхүү төсөл нь миний охины сургуулийн бүжигт зориулан бүтээсэн юм. Би түүнд болон найз нөхөддөө энэ үйл явдлыг санаж байхын тулд хөгжилтэй зүйл хүсч байсан (энэ бол тэд хамгийн сүүлд хийсэн
Хурим / Үйл явдлын Photobooth: 6 алхам (зурагтай)
Хурим / Үйл явдлын Photobooth: Сайн байцгаана уу, би өнгөрсөн жил гэрлэсэн, D-ийн өдрийн бэлтгэлийг хайж байхдаа бид олон хуримын хурал зохион байгуулсан. Чуулган болгон дээр Photobooth түрээслэгч байдаг. Хурим хийх сайхан санаа байсан, зочин бүр
Автомат Photobooth: 4 алхам (зурагтай)
Автомат Photobooth: Энэ нь бөөрөлзгөнө пи, хэт авианы зайн мэдрэгч болон бусад дагалдах хэрэгслийг ашиглан автомат гэрэл зургийн лангуу хийхийг танд харуулах болно. Би нарийн тоног төхөөрөмж, нарийн төвөгтэй програмыг хоёуланг нь ашигладаг төсөл хийхийг хүсч байсан. Би судалж байна
DIY Photobooth: 7 алхам (зурагтай)
DIY Photobooth: Энэ бол дэлхийн өнцөг булан бүрт байгаа худалдааны төв, зугаа цэнгэлийн парк, худалдааны төвүүд дээр байдаг уламжлалт фото зургийн танхимыг хэрхэн яаж хийх тухай заавар юм. Энэхүү лангуу нь бүрэн дижитал хэлбэртэй бөгөөд гэртээ хийхэд хамаагүй хямд/хялбар байдаг. Би бичээд