Satura rādītājs:

Raspberry Pi Photobooth: 5 soļi
Raspberry Pi Photobooth: 5 soļi

Video: Raspberry Pi Photobooth: 5 soļi

Video: Raspberry Pi Photobooth: 5 soļi
Video: Настя и Арбуз с вымышленной историей для детей. 2024, Novembris
Anonim
Raspberry Pi Photobooth
Raspberry Pi Photobooth

Nolūks:

  • Uzziniet, kā kodēt un instalēt Pi kameru
  • Izmantojot definīciju un ja paziņojumus kodēšanā
  • Mācīties izmantot jaunas tehnoloģijas, piemēram, RGB gaismas diodes

1. darbība. Kas jums būs nepieciešams

Kas jums būs nepieciešams
Kas jums būs nepieciešams
Kas jums būs nepieciešams
Kas jums būs nepieciešams
Kas jums būs nepieciešams
Kas jums būs nepieciešams
  • 1 Raspberry Pi 3
  • Maizes dēlis
  • Džemperi
  • 1 no gaismas atkarīgs rezistors
  • 1 kondensators
  • 1 Nospiediet pogu
  • 6 220 omi rezistori
  • 2 RGB gaismas diodes
  • 1 Raspberry Pi kamera

2. darbība: kameras moduļa pievienošana

Kameras moduļa pievienošana
Kameras moduļa pievienošana

Pirmkārt, kad Pi ir izslēgts, jums būs jāpievieno kameras modulis Raspberry Pi kameras portam, pēc tam jāuzsāk Pi un jāpārliecinās, ka programmatūra ir iespējota.

  1. Atrodiet kameras portu, kas atrodas starp HDMI un 3,5 mm portu
  2. Pavelciet kameras skavu aiz plastmasas malām, līdz klips ir pa diagonāli
  3. Tagad ievietojiet kameras kabeli tā, lai zils būtu vērsts pret 3,5 mm portu

3. darbība. Kameras iestatīšana

Kameras iestatīšana
Kameras iestatīšana
Kameras iestatīšana
Kameras iestatīšana

Galvenajā izvēlnē atverot Raspberry Pi konfigurācijas rīku un atspējot un iespējot visas iepriekš minētās saskarnes

Galvenajā izvēlnē atveriet termināli un ierakstiet šādas koda rindas:

Sudo Raspi-config

Tagad no šejienes izmantojiet bulttaustiņus, lai darbotos sistēmā, un noklikšķiniet uz opcijas Perifērijas savienojums, pēc tam noklikšķiniet uz P1 kamera un iespējojiet kameru, pēc tam atlasiet Pabeigt. Atgriežoties pie termināļa veida, ievadiet šādas koda rindas:

pip instalēt picamera

vai Sudo pip instalējiet Picamera

4. darbība: kameras moduļa pārbaude

Kameras moduļa pārbaude
Kameras moduļa pārbaude

No šejienes mēs varam pārbaudīt, vai kamera darbojas vai ne, jo mums ir iespējota visa programmatūra un aparatūra.

Izvēlnē atveriet Python 3

No turienes atveriet jaunu failu no čaulas un saglabājiet to cameratest.py.

Ievadiet šādu kodu:

no picamera importēšanas

camera.start_preview ()#iedarbina kameru un parāda, kā izskatās kameras izvade

miega režīms (10)#atstāj priekšskatījumu ieslēgtu 10 sekundes

camera.stop_preview ()#beidzot iziet no priekšskatījuma

Palaidiet kodu ar F5

Ja, izpildot kodu, tiek parādīta šāda kļūda:

(mmal: mmal_vc_component_create: neizdevās izveidot komponentu 'vc.ril.camera' (1: ENOMEM)

mmal: mmal_component_create_core: nevarēja izveidot komponentu 'vc.ril.camera' (1) Traceback (pēdējais pēdējais zvans): fails "", 1. rinda, failā /usr/lib/python2.7/dist-packages/picamera /camera.py ", 257. rinda, _init_ self._init_camera () Fails" /usr/lib/python2.7/dist-packages/picamera/camera.py ", 288. rinda, _init_camera prefix =" Neizdevās izveidot kameru komponents ") Fails" /usr/lib/python2.7/dist-packages/picamera/exc.py ", 112. rinda, mmal_check paaugstināt PiCameraMMALError (statuss, prefikss) picamera.exc. PiCameraMMALEkļūda: neizdevās izveidot kameras komponentu: Out no atmiņas)

Lūdzu, dodieties uz Raspberry Pi konfigurāciju, kas atrodas zem veiktspējas slejas, un palieliniet savu GPU atmiņu, līdz kļūda ir pazudusi (jārestartē).

Tagad, lai izveidotu fotoattēlu, kas tiks saglabāts darbvirsmā, mēs izmantosim šādu kodu:

no picamera importēšanas

kamera = PiCamera () #Iestatījumi kamerai

camera.start_preview () #Sākas priekšskatīšanas miega režīms (5) #Atstāj priekšskatījumu ieslēgtu 5 sekundes

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

camera.stop_preview ()#Aptur priekšskatījumu

5. darbība: ķēdes izveide ar kodu

Izveidojiet ķēdi ar kodu!
Izveidojiet ķēdi ar kodu!
Izveidojiet ķēdi ar kodu!
Izveidojiet ķēdi ar kodu!
Izveidojiet ķēdi ar kodu!
Izveidojiet ķēdi ar kodu!

Kā redzams iepriekš no shēmām, mums ir jāizveido poga, LDR un visbeidzot divas RGB gaismas diodes. Vispirms mēs iestatīsim pogu maizes dēļa apakšējā kreisajā pusē. Veicot pogas iestatīšanu, mēs izmantosim kopējās dzelzceļa līnijas, kas nozīmē, ka mēs pievienosim 3,3 V spriegumu no pozitīvā un negatīvā. Kad esat pabeidzis ķēdes iestatīšanu tikai pogai.

Mēs pārbaudīsim savu ķēdi, lai redzētu, vai mēs varam to padarīt tā, ka, nospiežot pogu, mēs ieslēdzam LED, izmantojot šādu kodu:

#Imported Modulesfrom gpiozero import poga no picamera import PiCamera no laika importēšanas miega

#Uzstādīt

Kamera = PiCamera () Poga = Poga (22)

#Fotografēšanas funkcija, es nolēmu to ievietot definēšanas funkcijā, jo tā palīdz mums sakopt galveno kodu

def photocap ():

Camera.start_preview ()

miega režīms (5) Camera.capture ('/home/pi/Desktop/image.jpg') drukāt ("Foto tika uzņemts") Camera.stop_preview ()

#Galvenais kods:

kamēr True: ja Button.is_pressed: print ("Poga tika nospiesta") photocap ()

#Kāpēc tas darbojas: galvenais kods darbojas, jo viss, ko mēs darām, ir komandas if

Tagad mēs uzstādīsim 2 RGB gaismas diodes līdz pat ķēdes augšdaļai un atdalīsim tās maizes dēļa vidū un padarīsim simetrisku. Ja šim projektam nav 220 omu rezistoru, varat tos iestatīt paralēli atkarībā no jūsu pretestības jūsu esošajiem rezistoriem. 4 kontaktu RGB gaismas diodes otrā tapa (garākajai jābūt savienotai ar zemi caur dzelzceļu. Pārējām tapām jābūt savienotām ar savām GPIO tapām. (Pirmā tapa = sarkana, otrā tapa = zeme, trešā tapa = zaļa), Ceturtā tapa = zila).

Mēs pārbaudīsim vienu no mūsu RGB gaismas diodēm mūsu pogu ķēdē ar šādu kodu:

#Imported Modulesfrom gpiozero import Button from picamera import PiCamera

no gpiozero importēt RGBLED

no laika importēt miegu

#Uzstādīt

Kamera = PiCamera () Poga = Poga (22)

TimedLED = RGBLED (sarkans = 21, zaļš = 20, zils = 16)

#Fotografēšanas funkcija ar RGB LED, es nolēmu to ievietot definēšanas funkcijā, jo tā palīdz mums sakopt galveno kodu

def photocap (): Camera.start_preview () miega režīms (4)

timedled.color (1, 0, 0)

gulēt (2)

timedled.color (0, 1, 0)

gulēt (1)

Camera.capture ('/home/pi/Desktop/image.jpg') drukāt ("Foto tika uzņemts") Camera.stop_preview ()

#Galvenais kods:

kamēr taisnība:

ja Button.is_pressed:

drukāt ("Poga tika nospiesta") photocap ()

#Kāpēc tas darbojas: Iemesls, kāpēc šis kods darbojas, ir tāpēc, ka tagad mēs saņēmām RGBLED, lai tas darbotos kā taimeris fotoattēla uzņemšanai.

Tagad uzstādiet gaismas atkarīgo rezistoru maizes dēļa apakšējā labajā pusē, izmantojot diagrammu līdz augšai un kopējos dzelzceļus, kas tika apspriesti iepriekš. Atcerieties, ka abas LDR garās kājas un kapikators ir jāpievieno GPIO tapai.

Pēc LDR savienošanas mēs izmantosim šādu kodu:

#Importētie moduļi

no gpiozero importēšanas pogas

no picamera importa PiCamera no gpiozero importa RGBLED

no gpiozero importa LightSensor

no laika importēt miegu

#Uzstādīt

Kamera = PiCamera () Poga = Poga (22) TimedLED = RGBLED (sarkans = 21, zaļš = 20, zils = 16)

Gaismas sensors = Gaismas sensors (23)

#Fotografēšanas funkcija ar RGB LED, es nolēmu to ievietot definēšanas funkcijā, jo tā palīdz mums sakopt galveno kodu

def photocap (): Camera.start_preview () miega režīms (4) timedled.color (1, 0, 0) miega režīms (2) timedled.color (0, 1, 0) miega režīms (1) Camera.capture ('/home/ pi/Desktop/image-j.webp

#Galvenais kods:

kamēr taisnība:

ja Button.is_pressed: print ("Poga tika nospiesta") photocap ()

ja Button.is_pressed un Lightsensor.when_dark:

drukāt ("Poga tika nospiesta")

drukāt ("Ir tumšs")

foto vāciņš ()

#Kāpēc tas darbojas? Gaismas sensoru savam kodam esmu pievienojis citā paziņojumā, kurā ir iekļauta importētā gaismas sensora funkcija. Kad tumšs mūs lieliski nosaka nākamajam solim

Tagad pēdējais solis šī projekta īstenošanā būtu aktivizēt otru RGBLED simetrisko pret otru, lai tas darbotos kā zibspuldze, Galīgais kods:

no gpiozero importēšanas pogas

no picamera importa PiCamera

no gpiozero importēt RGBLED

no gpiozero importa LightSensor

no laika importēt miegu

#Uzstādīt

Kamera = PiCamera ()

Poga = Poga (22)

TimedLED = RGBLED (sarkans = 21, zaļš = 20, zils = 16)

FlashLED = RGBLED (sarkans = 19, zaļš = 13, zils = 6)

Gaismas sensors = Gaismas sensors (23)

#Fotografēšanas funkcija ar RGB LED, es nolēmu to ievietot definēšanas funkcijā, jo tā palīdz mums notīrīt galveno kodu def photocap (): Camera.start_preview () sleep (4) timedled.color (1, 0, 0) miegs (2) timedled.color (0, 1, 0) miegs (1) Camera.capture ('/home/pi/Desktop/image.jpg') print ("Foto tika uzņemts") Camera.stop_preview () # Galvenais kods: patiess: ja Button.is_pressed:

drukāt ("Poga tika nospiesta")

foto vāciņš ()

ja Button.is_pressed un Lightsensor.when_dark:

print ("Poga tika nospiesta") print ("Ir tumšs")

FlashLED. Krāsa (1, 1, 1)

foto vāciņš ()

#Kāpēc tas darbojas: es esmu pievienojis savu lukturīti, izmantojot RGB, lai iegūtu baltu krāsu, kas ir 1, 1, 1, un tas notiek tikai tad, ja apgalvojums ir patiess.

Ieteicams: