Агуулгын хүснэгт:

Raspberry Pi Photobooth: 5 алхам
Raspberry Pi Photobooth: 5 алхам

Видео: Raspberry Pi Photobooth: 5 алхам

Видео: Raspberry Pi Photobooth: 5 алхам
Видео: Raspberry Pi Photo Booth 2024, Арваннэгдүгээр
Anonim
Raspberry Pi Photobooth
Raspberry Pi Photobooth

Зорилго:

  • 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 -г асааж, програм хангамж идэвхжсэн эсэхийг шалгах хэрэгтэй.

  1. HDMI ба 3.5 мм портын хоорондох камерын портыг олоорой
  2. Камерын хавчаарыг хуванцар ирмэгээр татаж, клипийг диагональ болгоно
  3. Одоо камерын кабелийг цэнхэр өнгөөр 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 мэдэгдэл үнэн бол л үүнийг хийдэг.

Зөвлөмж болгож буй: