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, Novembar
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: Šta će vam trebati

Šta će vam trebati
Šta će vam trebati
Šta će vam trebati
Šta će vam trebati
Šta će vam trebati
Šta će vam trebati
  • 1 Raspberry Pi 3
  • Breadboard
  • Džemperi
  • 1 Otpornik ovisan o svjetlu
  • 1 Kondenzator
  • 1 Pritisnite dugme
  • 6 220 Ohm otpornika
  • 2 RGB LED diode
  • 1 Raspberry Pi kamera

Korak 2: Povezivanje modula kamere

Povezivanje modula kamere
Povezivanje modula kamere

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

  1. Pronađite port kamere koji se nalazi između HDMI i 3,5 mm priključka
  2. Povucite kopču kamere 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 koristite tipke sa strelicama za rad kroz sistem 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 install pikamera

ili Sudo pip instalirajte Picameru

Korak 4: Testiranje modula kamere

Testiranje modula kamere
Testiranje modula kamere

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

Otvorite Python 3 iz menija

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

Unesite sljedeći kôd:

from picamera import PiCamera #importirani modul kreiran od komande pip install pi camerafrom time import sleep #imported sleep kako bismo 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 ()#konačno napušta pregled

Pokrenite kod pomoću F5

Ako dobijete ovu grešku prilikom pokretanja koda:

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

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

Idite na konfiguraciju Raspberry Pi ispod kolone performansi i pojačajte svoju GPU memoriju dok greška ne nestane (morate ponovo pokrenuti sistem).

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

from picamera import PiCamera #Importirani modul kreiran od komande pip install pi camerafrom time import sleep #Imported sleep kako bismo bili sigurni da naša kamera ostaje uključena

camera = PiCamera () #Postavljanje kamere

camera.start_preview () #Pokreće preview sleep (5) #Ostavlja pregled uključen 5 sekundi

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

camera.stop_preview ()#Zaustavlja pregled

Korak 5: Kreiranje kruga pomoću koda

Kreiranje kola sa kodom!
Kreiranje kola sa kodom!
Kreiranje kola sa kodom!
Kreiranje kola sa kodom!
Kreiranje kola sa kodom!
Kreiranje kola sa kodom!

Kao što je gore prikazano na shemama kola, moramo postaviti dugme, LDR i na kraju dvije RGB LED diode. Prvo ćemo postaviti dugme na donjoj lijevoj strani matične 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 završite postavljanje kruga samo za dugme.

Testirat ćemo naše kolo da vidimo možemo li to učiniti tako da ako pritisnemo dugme uključimo LED diodu koristeći sljedeći kod:

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

#Postaviti

Kamera = PiCamera () Dugme = Dugme (22)

#Preuzimanje fotografija, odlučio sam je staviti u funkciju definiranja jer nam pomaže očistiti glavni kôd

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 Tačno: ako je Button.is_pressed: print ("Dugme je pritisnuto") 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 kada se pritisne dugme 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 uzemljenje kroz željeznicu. Ostali pinovi bi trebali biti spojeni 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 dugmadi sa donjim kodom:

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

iz gpiozero import RGBLED

od vremena uvoza sleep

#Postaviti

Kamera = PiCamera () Dugme = Dugme (22)

TimedLED = RGBLED (crveno = 21, zeleno = 20, plavo = 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)

timedled.color (1, 0, 0)

spavati (2)

timedled.color (0, 1, 0)

spavati (1)

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

#Glavni kod:

dok je True:

ako je Button.is_pressed:

print ("Dugme je pritisnuto") photocap ()

#Zašto ovo funkcionira: Razlog zašto ovaj kôd funkcionira je taj što smo sada dobili RGBLED da radi kao mjerač vremena za vrijeme snimanja fotografije

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 capititator moraju biti povezani na GPIO pin.

Nakon što povežemo LDR, koristit ćemo sljedeći kod:

#Uvezeni moduli

sa gpiozero dugmeta za uvoz

iz picamere uvoz PiCamera iz gpiozero uvoza RGBLED

iz gpiozero unesite LightSensor

od vremena uvoza sleep

#Postaviti

Kamera = PiCamera () Dugme = Dugme (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 True:

if Button.is_pressed: print ("Dugme je pritisnuto") photocap ()

ako je Button.is_pressed i Lightsensor.when_dark:

print ("Dugme je pritisnuto")

print ("Tamno 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:

sa gpiozero dugmeta za uvoz

iz pikamera iz uvoza PiCamera

iz gpiozero import RGBLED

iz gpiozero unesite LightSensor

od vremena uvoza sleep

#Postaviti

Kamera = PiCamera ()

Dugme = Dugme (22)

TimedLED = RGBLED (crveno = 21, zeleno = 20, plavo = 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 ("Dugme je pritisnuto")

photocap ()

ako je Button.is_pressed i Lightsensor.when_dark:

print ("Dugme je pritisnuto") 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 i to radi samo ako je naredba if istinita.

Preporučuje se: