Innholdsfortegnelse:
- Trinn 1: Det du trenger
- Trinn 2: Koble til kameramodulen
- Trinn 3: Sette opp kameraet
- Trinn 4: Testing av kameramodulen
- Trinn 5: Opprette kretsen med kode
Video: Raspberry Pi Photobooth: 5 trinn
2024 Forfatter: John Day | [email protected]. Sist endret: 2024-01-30 11:23
Formålet:
- Lær hvordan du koder og installerer et Pi -kamera
- Bruk definere og if -setninger i koding
- Lære å bruke ny teknologi som RGB -lysdioder
Trinn 1: Det du trenger
- 1 Raspberry Pi 3
- Brødbrett
- Gensere
- 1 Lysavhengig motstand
- 1 kondensator
- 1 Trykknapp
- 6 220 Ohm motstander
- 2 RGB lysdioder
- 1 Raspberry Pi -kamera
Trinn 2: Koble til kameramodulen
Først av alt, med Pi slått av, må du koble kameramodulen til Raspberry Pi -kameraporten, deretter starte Pi og sørge for at programvaren er aktivert.
- Finn kameraporten som er mellom HDMI og 3,5 mm porten
- Trekk opp kameraklipset i plastkantene til klippet er diagonalt
- Sett nå inn kamerakabelen med den blå vendt mot 3,5 mm -porten
Trinn 3: Sette opp kameraet
Åpne Raspberry Pi Configuration -verktøyet fra hovedmenyen og deaktiver og aktiver alle grensesnittene ovenfor
Fra hovedmenyen åpner du terminalen og skriver inn følgende kodelinjer:
Sudo Raspi-konfigurasjon
Herfra bruker du piltastene dine til å operere gjennom systemet, klikker på alternativet Perifer tilkobling og klikker på P1 -kameraet og aktiver kameraet, og velg deretter ferdig. Går tilbake til terminaltypen i følgende kodelinjer:
pip installer picamera
eller Sudo pip installere Picamera
Trinn 4: Testing av kameramodulen
Herfra kan vi teste om kameraet fungerer eller ikke fordi vi har all programvare og maskinvare aktivert.
Åpne Python 3 fra menyen
Derfra åpner du en ny fil fra skallet og lagrer den en cameratest.py.
Skriv inn følgende kode:
fra picamera import PiCamera #imported module opprettet fra pip installere pi kamera kommando fra tid import sleep #imported sleep for å sikre at kameraet vårt forblir på kamera = PiCamera () #Setup for kameraet
camera.start_preview ()#starter kameraet og viser deg hvordan kamerautgangen ser ut
sleep (10)#forlater forhåndsvisningen i 10 sekunder
camera.stop_preview ()#avslutter endelig forhåndsvisningen
Kjør koden med F5
Hvis du får denne feilen når du kjører koden:
(mmal: mmal_vc_component_create: klarte ikke å opprette komponent 'vc.ril.camera' (1: ENOMEM)
mmal: mmal_component_create_core: kunne ikke opprette komponent 'vc.ril.camera' (1) Traceback (siste anrop sist): Fil "", linje 1, i File "/usr/lib/python2.7/dist-packages/picamera /camera.py ", linje 257, i _init_ self._init_camera () File" /usr/lib/python2.7/dist-packages/picamera/camera.py ", linje 288, i _init_camera prefix =" Kunne ikke lage kamera komponent ") File" /usr/lib/python2.7/dist-packages/picamera/exc.py ", linje 112, i mmal_check heve PiCameraMMALError (status, prefiks) picamera.exc. PiCameraMMALError: Kunne ikke opprette kamerakomponent: Ut minne)
Gå til Raspberry Pi -konfigurasjonen, gå under ytelseskolonnen og øk GPU -minnet til feilen er borte (må starte på nytt).
For å lage et bilde som vil lagres på skrivebordet, bruker vi følgende kode:
fra picamera import PiCamera #Imported module created from the pip install pi camera command from time import sleep #Importert søvn for å sikre at kameraet vårt forblir på
kamera = PiCamera () #Oppsett for kameraet
camera.start_preview () #Starter forhåndsvisningssøvnen (5) #Lar forhåndsvisningen på i 5 sekunder
camera.capture ('/home/pi/Desktop/image.jpg')# Fra
camera.stop_preview ()#Stopper forhåndsvisningen
Trinn 5: Opprette kretsen med kode
Som vist ovenfor fra kretsdiagrammene må vi sette opp en knapp, en LDR og til slutt to RGB -lysdioder. Først skal vi sette opp knappen på nedre venstre side av brødbrettet. Under oppsettet for knappen bruker vi de vanlige jernbanelinjene, noe som betyr at vi vil koble til 3.3V på det positive og bakken for negative. Etter at du bare har fullført kretsoppsettet for knappen.
Vi vil teste kretsen vår for å se om vi kan gjøre det slik at hvis du trykker på knappen, slår vi på LED -en ved å bruke følgende kode:
#Importerte moduler fra gpiozero importknapp fra picamera import PiCamera fra import av søvn
#Oppsett
Kamera = PiCamera () Knapp = Knapp (22)
#Fotografering, jeg har bestemt meg for å sette den inn i en definisjonsfunksjon, siden den hjelper oss med å rydde opp i hovedkoden
def photocap ():
Camera.start_preview ()
sleep (5) Camera.capture ('/home/pi/Desktop/image.jpg') print ("Bilde ble tatt") Camera.stop_preview ()
#Main kode:
while True: if Button.is_pressed: print ("Button was pressed") photocap ()
#Hvorfor dette fungerer: Hovedkoden fungerer som alt vi gjør er å bruke kommandoen if button.is_pressed in a true true statement so it is constant updating when the button is pressed to take the photo
Nå skal vi sette opp 2 RGB -lysdioder helt opp til toppen av kretsen og skille dem midt på brødbrettet og lage det symmetriske. Hvis du ikke har 220 ohm motstander for dette prosjektet, kan du sette dem opp parallelt, avhengig av motstanden for motstandene du har. Den andre pinnen til 4 -pinners RGB LED (den lengste bør kobles til bakken gjennom jernbanen. De andre pinnene skal alle være koblet til sine egne GPIO -pinner. (Første pinne = rød, andre pinne = bakken, tredje pinne = grønn, Fjerde pinne = blå).
Vi vil teste en av våre RGB -lysdioder i knappekretsen vår med koden nedenfor:
#Importerte moduler fra gpiozero importknapp fra picamera import PiCamera
fra gpiozero import RGBLED
fra tid av importer søvn
#Oppsett
Kamera = PiCamera () Knapp = Knapp (22)
TimedLED = RGBLED (rød = 21, grønn = 20, blå = 16)
#Fotoopptaksfunksjon med RGB LED, jeg har bestemt meg for å sette den inn i en definisjonsfunksjon da den hjelper oss med å rydde opp i hovedkoden
def photocap (): Camera.start_preview () sleep (4)
tidsbestemt. farge (1, 0, 0)
sove (2)
tidsbestemt. farge (0, 1, 0)
sove (1)
Camera.capture ('/home/pi/Desktop/image.jpg') print ("Bilde ble tatt") Camera.stop_preview ()
#Main kode:
mens det er sant:
if Button.is_pressed:
print ("Trykk på knappen") photocap ()
#Hvorfor dette fungerer: Grunnen til at denne koden fungerer er fordi vi nå fikk RGBLED til å fungere som en timer for når bildet skal tas
Sett nå opp den lysavhengige motstanden på nedre høyre side av brødbrettet ved å bruke diagrammet helt oppe på toppen og fellesbanene som er diskutert før. Husk at begge de lange benene til LDR og capicitatoren må være koblet til GPIO -pinnen.
Etter at vi har koblet til LDR, skal vi bruke følgende kode:
#Importerte moduler
fra gpiozero importknapp
fra picamera import PiCamera fra gpiozero import RGBLED
fra gpiozero import LightSensor
fra tid av importer søvn
#Oppsett
Kamera = PiCamera () Knapp = Knapp (22) TimedLED = RGBLED (rød = 21, grønn = 20, blå = 16)
LightSensor = LightSensor (23)
#Fotografering med RGB LED, jeg har bestemt meg for å sette den inn i en definisjonsfunksjon da den hjelper oss med å rydde opp i hovedkoden
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
#Main kode:
mens det er sant:
if Button.is_pressed: print ("Button was pressed") photocap ()
if Button.is_pressed og Lightsensor.when_dark:
print ("Knappen ble trykket")
print ("Det er mørkt")
photocap ()
#Hvorfor fungerer dette: Måten jeg har lagt lyssensoren til koden min, er gjennom en annen if -setning som inneholder den importerte funksjonen til lyssensor. Når mørket setter oss perfekt opp for vårt neste trinn
Nå er det siste trinnet gjennom dette prosjektet å aktivere den andre RGBLED symmetrisk til den andre for å fungere som et blitslys, Den siste koden:
fra gpiozero importknapp
fra picamera import PiCamera
fra gpiozero import RGBLED
fra gpiozero import LightSensor
fra tid av importer søvn
#Oppsett
Kamera = PiCamera ()
Knapp = Knapp (22)
TimedLED = RGBLED (rød = 21, grønn = 20, blå = 16)
FlashLED = RGBLED (rød = 19, grønn = 13, blå = 6)
LightSensor = LightSensor (23)
#Fotoopptaksfunksjon med RGB LED, jeg har bestemt meg for å sette den inn i en definisjonsfunksjon ettersom den hjelper oss med å rydde opp i hovedkoden 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 ("Bilde ble tatt") Camera.stop_preview () # Hovedkode: while True: if Button.is_pressed:
print ("Knappen ble trykket")
photocap ()
if Button.is_pressed og Lightsensor.when_dark:
print ("Knappen ble trykket") print ("Det er mørkt")
FlashLED.color (1, 1, 1)
photocap ()
#Hvorfor fungerer dette: Måten jeg har lagt til lommelykten min, er ved å bruke RGB -ledningen til å skrive ut fargen hvit som er 1, 1, 1, og den gjør det bare hvis if -setningen er sann.
Anbefalt:
Installere Raspbian i Raspberry Pi 3 B Uten HDMI - Komme i gang med Raspberry Pi 3B - Sette opp din Raspberry Pi 3: 6 trinn
Installere Raspbian i Raspberry Pi 3 B Uten HDMI | Komme i gang med Raspberry Pi 3B | Sette opp din Raspberry Pi 3: Som noen av dere vet Raspberry Pi-datamaskiner er ganske fantastiske, og du kan få hele datamaskinen bare på et enkelt, lite bord. Raspberry Pi 3 Model B har en firekjerners 64-biters ARM Cortex A53 klokket til 1,2 GHz. Dette gir Pi 3 omtrent 50
Raspberry Pi PhotoBooth: HTML5 & NodeJS: 4 trinn
Raspberry Pi PhotoBooth: HTML5 & NodeJS: En HTML5 og NodeJS photobooth med live forhåndsvisning og tilpassede rammer.Dette prosjektet startet som noe jeg bygde for datterens skoledans. Jeg ville ha noe morsomt for henne og vennene hennes å huske hendelsen (som var siste gangen de ville
Bryllup / Event Photobooth: 6 trinn (med bilder)
Bryllup / Event Photobooth: Hei alle sammen, jeg giftet meg i fjor, da vi leter etter forberedelse av D-dagen, dro vi på mange bryllupskonvensjoner. På hvert stevne er det en Photobooth-leier, jeg trodde at en photobooth var en god idé for et bryllup, hver gjest
Automatisert Photobooth: 4 trinn (med bilder)
Automatisert Photobooth: Dette viser deg hvordan du lager en automatisert fotoboks ved hjelp av bringebærpi, en ultralydavstandssensor og litt annet tilbehør. Jeg ønsket å gjøre et prosjekt som bruker både sofistikert maskinvare og et program som er sofistikert. Jeg gjenopptar
DIY Photobooth: 7 trinn (med bilder)
DIY Photobooth: Dette er en opplæring i hvordan du bygger din egen fotobooth omtrent som de tradisjonelle som du ser på kjøpesentre, fornøyelsesparker og kjøpesentre over hele verden. Denne boden er imidlertid helt digital og er mye mye billigere/enklere å gjøre hjemme. Jeg vr