Kazalo:
- Korak: Kaj boste potrebovali
- 2. korak: Priključitev modula kamere
- 3. korak: Nastavitev kamere
- 4. korak: Preizkusite modul kamere
- 5. korak: Ustvarjanje vezja s kodo
Video: Raspberry Pi Photobooth: 5 korakov
2024 Avtor: John Day | [email protected]. Nazadnje spremenjeno: 2024-01-30 12:05
Namen:
- Naučite se kodirati in namestiti kamero Pi
- Z uporabo stavkov define in if pri kodiranju
- Naučite se uporabljati nove tehnologije, kot so LED RGB
Korak: Kaj boste potrebovali
- 1 malina Pi 3
- Ogledna plošča
- Skakalci
- 1 svetlobno odvisen upor
- 1 Kondenzator
- 1 Pritisnite gumb
- 6 220 ohmskih uporov
- 2 RGB LED
- 1 kamera Raspberry Pi
2. korak: Priključitev modula kamere
Najprej, ko je Pi izklopljen, morate priključiti modul kamere na vrata kamere Raspberry Pi, nato zagnati Pi in zagotoviti, da je programska oprema omogočena.
- Poiščite vrata za fotoaparat, ki so med vrati HDMI in 3,5 mm
- Sponko fotoaparata povlecite za plastične robove, dokler ni sponka diagonalna
- Zdaj vstavite kabel kamer z modro, obrnjeno proti 3,5 -milimetrskim vhodom
3. korak: Nastavitev kamere
V glavnem meniju odprite orodje za konfiguracijo Raspberry Pi in onemogočite in omogočite vse zgornje vmesnike
V glavnem meniju odprite terminal in vnesite naslednje vrstice kode:
Sudo Raspi-config
Sedaj od tu uporabite puščične tipke za delovanje po sistemu in kliknite možnost Periferna povezava, nato pa kliknite na kamero P1 in omogočite kamero, nato izberite končaj. Če se vrnemo k vrsti terminala v naslednjih vrsticah kode:
pip namestite pikamero
ali Sudo pip namestite Picamero
4. korak: Preizkusite modul kamere
Od tu lahko preverimo, ali kamera deluje ali ne, ker imamo omogočeno vso programsko in strojno opremo.
V meniju odprite Python 3
Od tam odprite novo datoteko iz lupine in jo shranite na cameratest.py.
Vnesite naslednjo kodo:
from picamera import PiCamera #imported module created from the pip install pi camera commandfrom time import sleep #imported sleep, da se prepričamo, da naša kamera ostane pri kameri = PiCamera () #Nastavitev za kamero
camera.start_preview ()#zažene kamero in prikaže, kako izgleda izhod kamere
sleep (10)#pusti predogled vklopljen za 10 sekund
camera.stop_preview ()#končno prekine predogled
Zaženite kodo s tipko F5
Če pri zagonu kode prejmete to napako:
(mmal: mmal_vc_component_create: ni uspelo ustvariti komponente 'vc.ril.camera' (1: ENOMEM)
mmal: mmal_component_create_core: ni bilo mogoče ustvariti komponente 'vc.ril.camera' (1) Sledenje (zadnji klic zadnji): Datoteka "", 1. vrstica, v datoteki "/usr/lib/python2.7/dist-packages/picamera /camera.py ", vrstica 257, v _init_ self._init_camera () Datoteka" /usr/lib/python2.7/dist-packages/picamera/camera.py ", vrstica 288, v _init_camera prefix =" Ustvarjanje kamere ni uspelo komponenta ") Datoteka" /usr/lib/python2.7/dist-packages/picamera/exc.py ", vrstica 112, v mmal_check dvig PiCameraMMALError (status, predpona) picamera.exc. PiCameraMMALError: ni bilo mogoče ustvariti komponente kamere: Out spomina)
Pojdite v konfiguracijo Raspberry Pi pod stolpec zmogljivosti in povečajte pomnilnik grafičnega procesorja, dokler napaka ne izgine (morate znova zagnati).
Zdaj bomo za ustvarjanje fotografije, ki se shrani na namizje, uporabili naslednjo kodo:
from picamera import PiCamera #Imported module created from the pip install pi camera commandfrom time import sleep #Imported sleep za zagotovitev, da naša kamera ostane vklopljena
camera = PiCamera () #Nastavitev kamere
camera.start_preview () #Začne predogled spanja (5) #Pušča predogled vklopljen za 5 sekund
camera.capture ('/home/pi/Desktop/image.jpg')# Iz datoteke
camera.stop_preview ()#Ustavi predogled
5. korak: Ustvarjanje vezja s kodo
Kot je prikazano zgoraj iz diagramov vezja, moramo nastaviti gumb, LDR in na koncu dve LED RGB. Najprej bomo nastavili gumb na spodnji levi strani plošče. Med nastavitvijo gumba bomo uporabljali skupne železniške proge, kar pomeni, da bomo priključili naš 3.3V na pozitivnem in tlaku za negativnega. Ko končate nastavitev vezja samo za gumb.
Preizkusili bomo naše vezje, da ugotovimo, ali lahko to naredimo tako, da ob pritisku gumba vklopimo LED z naslednjo kodo:
#Imported Modulesfrom gpiozero import Button from picamera import PiCamera from time import import sleep
#Nastaviti
Kamera = Gumb PiCamera () = Gumb (22)
#Potiskanje funkcije, odločil sem se, da jo postavim v funkcijo definiranja, saj nam pomaga očistiti glavno kodo
def photocap ():
Camera.start_preview ()
sleep (5) Camera.capture ('/home/pi/Desktop/image.jpg') print ("Fotografija je bila posneta") Camera.stop_preview ()
#Glavna koda:
medtem ko je True: če je Button.is_pressed: print ("Gumb je bil pritisnjen") photocap ()
#Zakaj to deluje: Glavna koda deluje tako, kot vse, kar počnemo, je, da uporabimo ukaz if button.is_pressed v določenem času pravilen stavek, zato se ob pritisku na gumb za fotografiranje nenehno posodablja.
Zdaj bomo namestili 2 RGB LED diodi vse do vrha vezja in ju ločili na sredini plošče in naredili simetrično. Če za ta projekt nimate uporov 220 ohmov, jih lahko nastavite vzporedno glede na vaš upor uporov, ki jih imate. Drugi zatič 4 -polne LED RGB (najdaljši mora biti povezan z maso po železnici. Vsi drugi zatiči morajo biti povezani z lastnimi zatiči GPIO. (Prvi zatič = rdeč, Drugi zatič = ozemljitev, Tretji zatič = zelen, Četrti zatič = modra).
V našem vezju gumbov bomo preizkusili eno od naših RGB LED s spodnjo kodo:
#Uvoženi moduli iz gumba za uvoz gpiozero iz pikamere za uvoz PiCamera
iz gpiozero uvoz RGBLED
od časa uvoza spanja
#Nastaviti
Kamera = Gumb PiCamera () = Gumb (22)
TimedLED = RGBLED (rdeča = 21, zelena = 20, modra = 16)
#Funkcija fotografiranja z LED RGB, odločil sem se, da jo postavim v funkcijo definiranja, saj nam pomaga pri čiščenju glavne kode
def photocap (): Camera.start_preview () sleep (4)
timedled.color (1, 0, 0)
spanje (2)
timedled.color (0, 1, 0)
spanje (1)
Camera.capture ('/home/pi/Desktop/image.jpg') print ("Fotografija je bila posneta") Camera.stop_preview ()
#Glavna koda:
medtem ko je res:
če je Button.is_pressed:
print ("Gumb je bil pritisnjen") photocap ()
#Zakaj to deluje: Razlog, zakaj ta koda deluje, je, ker smo zdaj dobili RGBLED, da deluje kot časomer, ko bo fotografija posneta.
Zdaj nastavite svetlobno odvisen upor na spodnji desni strani plošče z uporabo diagrama do vrha navzgor in skupnih železnic, o katerih smo govorili prej. Ne pozabite, da morata biti dolgi nogi LDR in kapicitator priključeni na pin GPIO.
Ko povežemo LDR, bomo uporabili naslednjo kodo:
#Uvoženi moduli
iz gumba za uvoz gpiozero
iz picamere uvoz PiCamera iz gpiozero uvoz RGBLED
iz gpiozera uvoz LightSensor
od časa uvoza spanja
#Nastaviti
Kamera = PiCamera () Gumb = Gumb (22) TimedLED = RGBLED (rdeča = 21, zelena = 20, modra = 16)
Senzor svetlobe = Senzor svetlobe (23)
#Funkcija fotografiranja z LED RGB, odločil sem se, da jo postavim v funkcijo definiranja, saj nam pomaga pri čiščenju glavne kode
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
#Glavna koda:
medtem ko je res:
if Button.is_pressed: print ("Gumb je bil pritisnjen") photocap ()
če je Button.is_pressed in Lightsensor.when_dark:
print ("Gumb je bil pritisnjen")
print ("Temno je")
photocap ()
#Zakaj to deluje: Način, kako sem v svojo kodo dodal svetlobni senzor, je prek drugega stavka if, ki vsebuje uvoženo funkcijo svetlobnega senzorja. Ko je temno nastavljeno za naslednji korak
Zdaj bi bil zadnji korak pri tem projektu aktiviranje drugega RGBLED simetričnega do drugega, da deluje kot bliskavica, Končna koda:
iz gumba za uvoz gpiozero
iz picamere uvoz PiCamera
iz gpiozero uvoz RGBLED
iz gpiozera uvoz LightSensor
od časa uvoza spanja
#Nastaviti
Kamera = PiCamera ()
Gumb = Gumb (22)
TimedLED = RGBLED (rdeča = 21, zelena = 20, modra = 16)
FlashLED = RGBLED (rdeča = 19, zelena = 13, modra = 6)
Senzor svetlobe = Senzor svetlobe (23)
#Fotografiranje s funkcijo RGB LED, odločil sem se, da ga postavim v funkcijo definiranja, saj nam pomaga očistiti glavno kodo 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 bila posneta") Camera.stop_preview () # Glavna koda: while True: če je Button.is_pressed:
print ("Gumb je bil pritisnjen")
photocap ()
če je Button.is_pressed in Lightsensor.when_dark:
print ("Gumb je bil pritisnjen") print ("Temno je")
FlashLED.color (1, 1, 1)
photocap ()
#Zakaj to deluje: Način, na katerega sem dodal svetilko, je, da z uporabo RGB prikaže belo barvo, ki je 1, 1, 1, in to naredi le, če je stavek if res.
Priporočena:
Števec korakov - mikro: Bit: 12 korakov (s slikami)
Števec korakov - Micro: Bit: Ta projekt bo števec korakov. Za merjenje korakov bomo uporabili senzor pospeška, ki je vgrajen v Micro: Bit. Vsakič, ko se Micro: Bit trese, bomo štetju dodali 2 in ga prikazali na zaslonu
Akustična levitacija z Arduino Uno Korak po korak (8 korakov): 8 korakov
Akustična levitacija z Arduino Uno Korak po korak (8 korakov): ultrazvočni pretvorniki zvoka L298N Dc ženski adapter z napajalnim vtičem za enosmerni tok Arduino UNOBreadboard Kako to deluje: Najprej naložite kodo v Arduino Uno (to je mikrokrmilnik, opremljen z digitalnim in analogna vrata za pretvorbo kode (C ++)
Namestitev Raspbiana v Raspberry Pi 3 B brez HDMI - Kako začeti z Raspberry Pi 3B - Nastavitev vašega Raspberry Pi 3: 6 korakov
Namestitev Raspbiana v Raspberry Pi 3 B brez HDMI | Kako začeti z Raspberry Pi 3B | Nastavitev vašega Raspberry Pi 3: Kot nekateri veste, so računalniki Raspberry Pi super in celoten računalnik lahko postavite samo na eno majhno ploščo. Raspberry Pi 3 Model B ima štirijedrni 64-bitni ARM Cortex A53 takta 1,2 GHz. To pomeni, da je Pi 3 približno 50
Raspberry Pi PhotoBooth: HTML5 & NodeJS: 4 koraki
Raspberry Pi PhotoBooth: HTML5 in NodeJS: fotokabina HTML5 in NodeJS s predogledom v živo in obrobami po meri. Ta projekt se je začel kot nekaj, kar sem zgradil za šolski ples moje hčerke. Želel sem si, da bi se zanjo in njeni prijatelji spomnili dogodka (kar je bilo zadnjič
DIY Photobooth: 7 korakov (s slikami)
DIY Photobooth: To je vadnica o tem, kako zgraditi lastno fotobooth, podobno tradicionalnim, ki jih vidimo v nakupovalnih središčih, zabaviščnih parkih in nakupovalnih centrih po vsem svetu. Ta kabina je popolnoma digitalna in je veliko cenejša/lažja za domačo uporabo. Sem pisal