Sadržaj:

Raspberry Pi Photobooth: 5 koraka
Raspberry Pi Photobooth: 5 koraka

Video: Raspberry Pi Photobooth: 5 koraka

Video: Raspberry Pi Photobooth: 5 koraka
Video: Raspberry Pi PhotoBooth with Printer Tutorial 2024, Studeni
Anonim
Raspberry Pi Photobooth
Raspberry Pi Photobooth

Svrha:

  • Saznajte kako kodirati i instalirati Pi kameru
  • Korištenje naredbi define i if u kodiranju
  • Naučiti koristiti novu tehnologiju poput RGB LED dioda

Korak 1: Ono što će vam trebati

Ono što će vam trebati
Ono što će vam trebati
Ono što će vam trebati
Ono što će vam trebati
Ono što će vam trebati
Ono što će vam trebati
  • 1 malina Pi 3
  • Oglasna ploča
  • Džemperi
  • 1 svjetlo ovisni otpornik
  • 1 kondenzator
  • 1 Pritisnite gumb
  • 6 220 ohmskih otpornika
  • 2 RGB LED diode
  • 1 Raspberry Pi kamera

Korak 2: Spajanje modula kamere

Povezivanje modula kamere
Povezivanje modula kamere

Prije svega, s isključenim Pi, morat ćete spojiti modul kamere na port kamere za Raspberry Pi, zatim pokrenuti Pi i provjeriti je li softver omogućen.

  1. Pronađite priključak za kameru između priključka HDMI i 3,5 mm
  2. Povucite kopču fotoaparata za plastične rubove dok isječak ne bude dijagonalan
  3. Sada umetnite kabel kamera s plavom bojom prema priključku od 3,5 mm

Korak 3: Postavljanje kamere

Postavljanje kamere
Postavljanje kamere
Postavljanje kamere
Postavljanje kamere

Otvaranjem alata za konfiguraciju Raspberry Pi iz glavnog izbornika onemogućite i omogućite sva gore navedena sučelja

Iz glavnog izbornika otvorite terminal i upišite sljedeće redove koda:

Sudo Raspi-config

Sada odavde upotrijebite tipke sa strelicama za rad kroz sustav i kliknite opciju Peripheral connection (Periferna veza), a zatim kliknite na P1 Camera (Kamera P1) i omogućite kameru, a zatim odaberite završiti. Vraćajući se na tip terminala u sljedećim redovima koda:

pip instalirajte pikameru

ili Sudo pip instalirajte Picamera

Korak 4: Testiranje modula kamere

Testiranje modula kamere
Testiranje modula kamere

Odavde možemo provjeriti radi li kamera ili ne jer imamo omogućen sav softver i hardver.

Otvorite Python 3 iz izbornika

Odatle otvorite novu datoteku iz ljuske i spremite je na cameratest.py.

Unesite sljedeći kôd:

from picamera import PiCamera #imported module created from the pip install pi camera command from time import sleep #imported sleep kako bi bili sigurni da naša kamera ostaje na kameri = PiCamera () #Postavljanje kamere

camera.start_preview ()#pokreće kameru i prikazuje vam kako izgleda izlaz kamere

sleep (10)#ostavlja pregled uključen 10 sekundi

camera.stop_preview ()#napokon napušta pregled

Pokrenite kod pomoću F5

Ako tijekom pokretanja koda primite ovu pogrešku:

(mmal: mmal_vc_component_create: nije uspjelo stvaranje komponente 'vc.ril.camera' (1: ENOMEM)

mmal: mmal_component_create_core: nije moguće stvoriti komponentu 'vc.ril.camera' (1) Vraćanje natrag (posljednji zadnji poziv): Datoteka "", redak 1, u datoteci "/usr/lib/python2.7/dist-packages/picamera /camera.py ", redak 257, u _init_ self._init_camera () Datoteka" /usr/lib/python2.7/dist-packages/picamera/camera.py ", redak 288, u _init_camera prefix =" Nije uspjelo stvaranje kamere komponenta ") Datoteka" /usr/lib/python2.7/dist-packages/picamera/exc.py ", red 112, u mmal_check podići PiCameraMMALError (status, prefiks) picamera.exc. PiCameraMMALError: Nije uspjelo stvaranje komponente kamere: Out sjećanja)

Idite na konfiguraciju Raspberry Pi ispod stupca izvedbe i pojačajte svoju GPU memoriju dok pogreška ne nestane (morate ponovno pokrenuti sustav).

Sada ćemo za izradu fotografije koja će se spremiti na radnu površinu upotrijebiti sljedeći kod:

from picamera import PiCamera #Imported module created from the pip install pi camera commandfrom time import sleep #Imported sleep kako bi bili sigurni da naša kamera ostaje uključena

camera = PiCamera () #Postavljanje kamere

camera.start_preview () #Pokreće san za pregled (5) #Ostavlja pregled uključenim 5 sekundi

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

camera.stop_preview ()#Zaustavlja pregled

Korak 5: Stvaranje kruga s kodom

Stvaranje kruga s kodom!
Stvaranje kruga s kodom!
Stvaranje kruga s kodom!
Stvaranje kruga s kodom!
Stvaranje kruga s kodom!
Stvaranje kruga s kodom!

Kao što je gore prikazano na shemama krugova, moramo postaviti gumb, LDR i na kraju dvije RGB LED diode. Prvo ćemo postaviti gumb na donjoj lijevoj strani ploče. Tijekom vašeg postavljanja gumba koristit ćemo zajedničke željezničke linije, što znači da ćemo priključiti naš 3.3V na pozitivnu i uzemljenje za negativnu. Nakon što ste dovršili postavljanje kruga samo za gumb.

Testirat ćemo naš krug da vidimo možemo li to učiniti tako da ako pritisnemo gumb uključimo LED pomoću sljedećeg koda:

#Uvezeni moduli iz gpiozero dugmeta za uvoz iz pikamere uvezite PiCamera iz vremenskog stanja mirovanja uvoza

#Postaviti

Kamera = PiCamera () Gumb = Gumb (22)

#Snimanje fotografija, odlučio sam je staviti u funkciju definiranja jer nam pomaže očistiti glavni kod

def photocap ():

Camera.start_preview ()

spavanje (5) Camera.capture ('/home/pi/Desktop/image.jpg') print ("Fotografija je snimljena") Camera.stop_preview ()

#Glavni kod:

dok je True: if Button.is_pressed: print ("Button was press") photocap ()

#Zašto ovo funkcionira: Glavni kôd funkcionira kao i sve što radimo je korištenje naredbe if button.is_pressed neko vrijeme istinita izjava pa se stalno ažurira kad se pritisne gumb za snimanje fotografije

Sada ćemo postaviti 2 RGB LED diode sve do vrha kruga i odvojiti ih na sredini ploče i učiniti simetričnim. Ako nemate otpornike od 220 ohma za ovaj projekt, možete ih postaviti paralelno, ovisno o vašem otporu za otpornike koje imate. Drugi pin 4 -polne RGB LED diode (najduži bi trebao biti spojen na masu kroz željeznicu. Ostali pinovi trebaju biti povezani na svoje GPIO pinove. (Prvi pin = crveni, drugi pin = uzemljeni, treći pin = zeleni), Četvrta iglica = plava).

Testirat ćemo jednu od naših RGB LED dioda u našem krugu gumba s donjim kodom:

#Uvezeni moduli iz gpiozero dugmeta za uvoz iz pikamere uvoz PiCamere

iz gpiozero uvoz RGBLED

od vremena uvoz sna

#Postaviti

Kamera = PiCamera () Gumb = Gumb (22)

TimedLED = RGBLED (crvena = 21, zelena = 20, plava = 16)

#Fotografija s RGB LED funkcijom, odlučio sam je staviti u funkciju definiranja jer nam pomaže očistiti glavni kôd

def photocap (): Camera.start_preview () sleep (4)

tempirano.boja (1, 0, 0)

spavati (2)

tempirano.boja (0, 1, 0)

spavati (1)

Camera.capture ('/home/pi/Desktop/image.jpg') print ("Fotografija je snimljena") Camera.stop_preview ()

#Glavni kod:

dok je istina:

ako je Button.is_pressed:

print ("Gumb je pritisnut") photocap ()

#Zašto ovo funkcionira: Razlog zašto ovaj kôd radi je taj što smo sada dobili RGBLED da radi kao mjerač vremena kada će se fotografija snimiti

Sada postavite otpornik ovisan o svjetlu na donjoj desnoj strani ploče koristeći dijagram skroz gore na vrhu i zajedničke željeznice o kojima je već bilo riječi. Upamtite da obje duge noge LDR -a i capicitator moraju biti spojeni na GPIO pin.

Nakon što povežemo LDR, koristit ćemo sljedeći kôd:

#Uvezeni moduli

s gumba za uvoz gpiozero

iz picamera uvoz PiCamera iz gpiozero uvoz RGBLED

iz gpiozera uvezite LightSensor

od vremena uvoz sna

#Postaviti

Kamera = PiCamera () Gumb = Gumb (22) TimedLED = RGBLED (crveno = 21, zeleno = 20, plavo = 16)

Svjetlosni senzor = Svjetlosni senzor (23)

#Fotografija s RGB LED funkcijom, odlučio sam je staviti u funkciju definiranja jer nam pomaže očistiti glavni kôd

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

#Glavni kod:

dok je istina:

if Button.is_pressed: print ("Gumb je pritisnut") photocap ()

ako je Button.is_pressed i Lightsensor.when_dark:

print ("Gumb je pritisnut")

print ("Mračno je")

photocap ()

#Zašto ovo funkcionira: Način na koji sam dodao svjetlosni senzor u svoj kôd je kroz drugu if naredbu koja sadrži uvezenu funkciju svjetlosnog senzora. Kada je mrak savršeno nas postavlja za naš sljedeći korak

Sada bi posljednji korak kroz ovaj projekt bio aktiviranje drugog RGBLED -a simetričnog prema drugom kako bi radio kao bljeskalica, Konačni kod:

s gumba za uvoz gpiozero

iz picamera uvoz PiCamera

iz gpiozero uvoz RGBLED

iz gpiozera uvezite LightSensor

od vremena uvoz sna

#Postaviti

Kamera = PiCamera ()

Gumb = Gumb (22)

TimedLED = RGBLED (crvena = 21, zelena = 20, plava = 16)

Bljeskalica = RGBLED (crvena = 19, zelena = 13, plava = 6)

Svjetlosni senzor = Svjetlosni senzor (23)

#Fotografija s RGB LED funkcijom, odlučio sam je staviti u funkciju definiranja jer nam pomaže očistiti glavni kod def photocap (): Camera.start_preview () sleep (4) timedled.color (1, 0, 0) sleep (2) timedled.color (0, 1, 0) sleep (1) Camera.capture ('/home/pi/Desktop/image.jpg') print ("Fotografija je snimljena") Camera.stop_preview () # Glavni kôd: while True: if Button.is_pressed:

print ("Gumb je pritisnut")

photocap ()

ako je Button.is_pressed i Lightsensor.when_dark:

print ("Button was Presssed") print ("Tamno je")

FlashLED.color (1, 1, 1)

photocap ()

#Zašto ovo funkcionira: Način na koji sam dodao baterijsku svjetiljku je pomoću RGB -a za ispis bijele boje koja je 1, 1, 1, a to čini samo ako je if tvrdnja točna.

Preporučeni: