Përmbajtje:

Raspberry Pi Photobooth: 5 hapa
Raspberry Pi Photobooth: 5 hapa

Video: Raspberry Pi Photobooth: 5 hapa

Video: Raspberry Pi Photobooth: 5 hapa
Video: Raspberry PI Wedding Photobooth 5 2024, Nëntor
Anonim
Rasbberry Pi Photobooth
Rasbberry Pi Photobooth

Qëllimi:

  • Mësoni si të kodoni dhe instaloni një Kamera Pi
  • Përdorimi i definimit dhe if deklaratave në kodim
  • Mësoni të përdorni teknologji të re si LED RGB

Hapi 1: Çfarë ju nevojitet

Ajo që do t'ju duhet
Ajo që do t'ju duhet
Ajo që do t'ju duhet
Ajo që do t'ju duhet
Ajo që do t'ju duhet
Ajo që do t'ju duhet
  • 1 mjedër Pi 3
  • Breadboard
  • Kërcyesit
  • 1 Rezistencë e varur nga drita
  • 1 Kondensator
  • 1 buton shtyse
  • 6 Rezistenca 220 Ohm
  • 2 LED RGB
  • 1 Kamera Raspberry Pi

Hapi 2: Lidhja e modulit të kamerës

Lidhja e modulit të kamerës
Lidhja e modulit të kamerës

Para së gjithash, me Pi të fikur, do t'ju duhet të lidhni modulin e kamerës me portën e kamerës së Raspberry Pi, pastaj të filloni Pi dhe të siguroheni që programi është aktivizuar.

  1. Gjeni portën e kamerës e cila është midis HDMI dhe portit 3.5 mm
  2. Tërhiqeni kapësen e kamerës nga skajet plastike derisa kapësja të jetë diagonale
  3. Tani futni kabllon e kamerave me ngjyrën blu përballë portës 3.5 mm

Hapi 3: Vendosja e kamerës

Vendosja e Kameras
Vendosja e Kameras
Vendosja e Kameras
Vendosja e Kameras

Hapni mjetin e Konfigurimit Raspberry Pi nga menyja kryesore dhe çaktivizoni dhe aktivizoni të gjitha ndërfaqet e mësipërme

Nga menyja kryesore hapni Terminalin dhe shkruani rreshtat e mëposhtëm të kodit:

Sudo Raspi-konfiguro

Tani nga këtu përdorni shigjetat tuaja për të operuar përmes sistemit dhe klikoni në opsionin Lidhja periferike dhe nga klikimi i tyre në Kamera P1 dhe aktivizoni kamerën, pastaj zgjidhni përfundimin. Kthehuni te lloji i terminalit në rreshtat e mëposhtëm të kodit:

pip instaloni picamera

ose Sudo pip instaloni Picamera

Hapi 4: Testimi i modulit të kamerës

Testimi i modulit të kamerës
Testimi i modulit të kamerës

Nga këtu ne mund të testojmë nëse kamera po punon apo jo sepse kemi të gjithë softuerin dhe harduerin të aktivizuar.

Hapni Python 3 nga menyja

Prej aty hapni një skedar të ri nga guaska dhe ruani atë në cameratest.py.

Shkruani kodin e mëposhtëm:

nga picamera import PiCamera #modul i importuar i krijuar nga pip instalo komandën pi kamerë nga koha import gjumë #gjumë të importuar në mënyrë që të sigurohemi që kamera jonë të qëndrojë në kamera = PiCamera () #Cilësimi për kamerën

camera.start_preview ()#e ndez kamerën dhe ju tregon se si duket dalja e kamerës

gjumi (10)#lë parapamjen të ndezur për 10 sekonda

camera.stop_preview ()#përfundimisht lë shikimin paraprak

Drejtoni kodin nga F5

Nëse e merrni këtë gabim kur përdorni kodin:

(mmal: mmal_vc_component_create: dështoi në krijimin e komponentit 'vc.ril.camera' (1: ENOMEM)

mmal: mmal_component_create_core: nuk mund të krijojë përbërësin 'vc.ril.camera' (1) Gjurmues (thirrja më e fundit e fundit): Skedar "", rreshti 1, në Skedar "/usr/lib/python2.7/dist-packages/picamera /camera.py ", rreshti 257, në _init_ self._init_camera () Skedari" /usr/lib/python2.7/dist-packages/picamera/camera.py ", rreshti 288, në parashtesën _init_camera =" Dështoi në krijimin e kamerës komponenti ") Skedari" /usr/lib/python2.7/dist-packages/picamera/exc.py ", rreshti 112, në mmal_check ngre PiCameraMMALError (status, prefiks) picamera.exc. PiCameraMMALError: Dështoi në krijimin e komponentit të kamerës: Jashtë e kujtesës)

Ju lutemi shkoni te konfigurimi Raspberry Pi kaloni nën kolonën e performancës dhe rritni kujtesën tuaj GPU derisa gabimi të jetë zhdukur (duhet të rindizni).

Tani për të krijuar një fotografi që do të ruhet në desktop do të përdorim kodin e mëposhtëm:

nga picamera import PiCamera #Moduli i importuar i krijuar nga pip instaloni komandën pi kamera nga koha e importimit të gjumit #Gjumë e importuar në mënyrë që të siguroheni që kamera jonë të qëndrojë e ndezur

kamera = PiCamera () #Setup për kamerën

camera.start_preview () #Fillon shikimin paraprak (5) #Lëni vrojtimin paraprak për 5 sekonda

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

camera.stop_preview ()#Ndalon pamjen paraprake

Hapi 5: Krijimi i qarkut me kod

Krijimi i qarkut me kod!
Krijimi i qarkut me kod!
Krijimi i qarkut me kod!
Krijimi i qarkut me kod!
Krijimi i qarkut me kod!
Krijimi i qarkut me kod!

Siç shihet më lart nga diagramet e qarkut ne kemi nevojë të vendosim një buton, një LDR dhe në fund dy LED RGB. Së pari ne do të vendosim butonin në anën e majtë të poshtme të bordit të bukës. Gjatë konfigurimit tuaj për butonin ne do të përdorim linjat e zakonshme hekurudhore që do të thotë se ne do të lidhim 3.3V tonë në pozitiv dhe terrenin për negativ. Pasi të keni përfunduar konfigurimin e qarkut vetëm për butonin.

Ne do të testojmë qarkun tonë për të parë nëse mund ta bëjmë atë në mënyrë që nëse shtypet butoni ta ndezim led duke përdorur kodin e mëposhtëm:

#Modulet e importuara nga gpiozero Butoni i importit nga picamera import PiCamera nga koha e importimit të gjumit

#Konfiguro

Kamera = PiCamera () Butoni = Butoni (22)

#Funksioni i fotografimit, kam vendosur ta vendos atë në një funksion të përcaktuar pasi na ndihmon të pastrojmë kodin kryesor

def fotokap ():

Camera.start_preview ()

gjumë (5) Camera.capture ('/home/pi/Desktop/image.jpg') print ("Fotografia është marrë") Camera.stop_preview ()

#Kodi kryesor:

ndërsa E vërtetë: nëse Button.is_pressed: print ("Butoni u shtyp") fotokap ()

#Pse funksionon kjo: Kodi kryesor funksionon pasi gjithçka që ne po bëjmë është përdorimi i komandës if button. Është_presuar në një deklaratë të vërtetë, kështu që azhurnohet vazhdimisht kur shtypet butoni për të nxjerrë foton

Tani do të vendosim 2 LED RGB deri në majë të qarkut dhe do t'i ndajmë ato në mes të pjatës dhe do t'i bëjmë ato simetrike. Nëse nuk keni rezistencë 220 ohm për këtë projekt, mund t'i vendosni paralelisht në varësi të rezistencës tuaj për rezistorët që keni. Kunja e dytë e LED me 4 kunja RGB (më e gjata duhet të lidhet me tokën përmes hekurudhës. Kunjat e tjera duhet të jenë të gjitha të lidhura me kunjat e tyre GPIO., Kunja e katërt = blu).

Ne do të testojmë një nga LED -et tona RGB në qarkun tonë të butonave me kodin më poshtë:

#Modulet e importuara nga butoni i importit gpiozero nga PiCamera i importuar nga picamera

nga gpiozero import RGBLED

nga koha import gjumi

#Konfiguro

Kamera = PiCamera () Butoni = Butoni (22)

Me kohëLED = RGBLED (e kuqe = 21, jeshile = 20, blu = 16)

#Foto duke marrë funksionin me RGB LED, kam vendosur ta vendos atë në një funksion të përcaktuar pasi na ndihmon të pastrojmë kodin kryesor

def fotokap (): Camera.start_preview () fle (4)

me kohë. ngjyra (1, 0, 0)

fle (2)

me kohë. ngjyra (0, 1, 0)

gjumë (1)

Camera.capture ('/home/pi/Desktop/image.jpg') print ("Fotografia është marrë") Camera.stop_preview ()

#Kodi kryesor:

ndërsa e vërtetë:

nëse Button.ispresohet:

fotokopje ("Butoni u shtyp") ()

#Pse funksionon kjo: Arsyeja pse funksionon ky kod është sepse tani ne kemi marrë RGBLED të punojë si një kohëmatës për kohën kur do të bëhet fotografia

Tani vendosni rezistencën e varur nga drita në anën e djathtë të poshtme të pjatës duke përdorur diagramin deri në krye dhe hekurudhat e zakonshme të diskutuara më parë. Mbani mend që të dy këmbët e gjata të LDR dhe kapicitatori duhet të lidhen me kunjin GPIO.

Pasi të kemi lidhur LDR ne do të përdorim kodin e mëposhtëm:

#Module të importuara

nga butoni i importit gpiozero

nga picamera import PiCamera nga gpiozero import RGBLED

nga gpiozero import LightSensor

nga koha import gjumi

#Konfiguro

Kamera = PiCamera () Butoni = Butoni (22) Me kohëLED = RGBLED (e kuqe = 21, jeshile = 20, blu = 16)

LightSensor = LightSensor (23)

#Foto duke marrë funksionin me RGB LED, kam vendosur ta vendos atë në një funksion të përcaktuar pasi na ndihmon të pastrojmë kodin kryesor

def fotokap (): Camera.start_preview () fle (4) me kohë. ngjyra (1, 0, 0) gjumë (2) me kohë. ngjyra (0, 1, 0) gjumë (1) Camera.capture ('/home/ pi/Desktop/image-j.webp

#Kodi kryesor:

ndërsa e vërtetë:

nëse Button.is_pressed: print ("Butoni u shtyp") fotokap ()

nëse Button.ispressed dhe Lightsensor.when_dark:

print ("Butoni u shtyp")

print ("darkshtë e errët")

fotokapë ()

#Pse funksionon kjo: Mënyra se si kam shtuar sensorin e dritës në kodin tim është përmes një deklarate tjetër if që përmban funksionin e importuar të sensorit të dritës. Kur errësira na vendos në mënyrë perfekte për hapin tonë të ardhshëm

Tani hapi i fundit i këtij projekti do të ishte të aktivizoni simetrikën tjetër RGBLED me tjetrën për të punuar si një dritë flash, Kodi përfundimtar:

nga butoni i importit gpiozero

nga picamera import PiCamera

nga gpiozero import RGBLED

nga gpiozero import LightSensor

nga koha import gjumi

#Konfiguro

Kamera = PiCamera ()

Butoni = Butoni (22)

Me kohëLED = RGBLED (e kuqe = 21, jeshile = 20, blu = 16)

FlashLED = RGBLED (e kuqe = 19, jeshile = 13, blu = 6)

LightSensor = LightSensor (23)

#Foto duke marrë funksionin me RGB LED, kam vendosur ta vendos atë në një funksion të përcaktuar pasi na ndihmon të pastrojmë kodin kryesor def fotokap (): Camera.start_preview () fle (4) timedled.color (1, 0, 0) sleep (2) timedled.color (0, 1, 0) sleep (1) Camera.capture ('/home/pi/Desktop/image.jpg') print ("Fotografia është marrë") Camera.stop_preview () # Kodi kryesor: ndërsa i vërtetë: nëse Button.is_pressed:

print ("Butoni u shtyp")

fotokapë ()

nëse Button.is_pressed dhe Lightsensor.when_dark:

print ("Butoni u shtyp") print ("darkshtë errësirë")

FlashLED.ngjyra (1, 1, 1)

fotokapë ()

#Pse funksionon kjo: Mënyra se si kam shtuar elektrik dore është duke përdorur RGB që çon në daljen e ngjyrës së bardhë e cila është 1, 1, 1 dhe kjo ndodh vetëm nëse deklarata if është e vërtetë.

Recommended: