Indholdsfortegnelse:
- Trin 1: Hvad du får brug for
- Trin 2: Tilslutning af kameramodulet
- Trin 3: Opsætning af kameraet
- Trin 4: Test af kameramodulet
- Trin 5: Oprettelse af kredsløbet med kode
Video: Raspberry Pi Photobooth: 5 trin
2024 Forfatter: John Day | [email protected]. Sidst ændret: 2024-01-30 08:28
Formålet:
- Lær, hvordan du koder og installerer et Pi -kamera
- Ved hjælp af definere og if -sætninger i kodning
- Lær at bruge ny teknologi som RGB -lysdioder
Trin 1: Hvad du får brug for
- 1 Raspberry Pi 3
- Brødbræt
- Jumpere
- 1 Lysafhængig modstand
- 1 kondensator
- 1 Tryk på knappen
- 6 220 Ohm modstande
- 2 RGB lysdioder
- 1 Raspberry Pi kamera
Trin 2: Tilslutning af kameramodulet
Først og fremmest, når Pi er slukket, skal du slutte kameramodulet til Raspberry Pi's kameraport, derefter starte Pi og sikre, at softwaren er aktiveret.
- Find kameraporten, der er mellem HDMI- og 3,5 mm -porten
- Træk kameraklemmen op af plastikkanterne, indtil klemmen er diagonal
- Indsæt nu kameraets kabel med den blå mod 3,5 mm -porten
Trin 3: Opsætning af kameraet
Åbning af Raspberry Pi -konfigurationsværktøjet fra hovedmenuen og deaktiver og aktiver alle grænsefladerne ovenfor
Åbn Terminal i hovedmenuen, og indtast følgende kodelinjer:
Sudo Raspi-konfiguration
Nu herfra skal du bruge dine piletaster til at operere gennem systemet, og klik på mulighed for perifer tilslutning og fra deres klik på P1 -kamera og aktivere kameraet, og vælg derefter afslut. Går tilbage til terminaltypen i følgende kodelinjer:
pip installer picamera
eller Sudo pip installere Picamera
Trin 4: Test af kameramodulet
Herfra kan vi teste, om kameraet fungerer eller ej, fordi vi har al software og hardware aktiveret.
Åbn Python 3 fra menuen
Derfra åbner du en ny fil fra skallen og gemmer den en cameratest.py.
Indtast følgende kode:
fra picamera import PiCamera #imported module created from the pip install pi camera command from time import sleep #imported sleep for at sikre, at vores kamera forbliver på kamera = PiCamera () #Setup til kameraet
camera.start_preview ()#starter kameraet og viser dig, hvordan kameraets output ser ud
sleep (10)#forlader forhåndsvisningen i 10 sekunder
camera.stop_preview ()#afslutter endelig forhåndsvisningen
Kør koden med F5
Hvis du modtager denne fejl, når koden køres:
(mmal: mmal_vc_component_create: kunne ikke oprette komponent 'vc.ril.camera' (1: ENOMEM)
mmal: mmal_component_create_core: kunne ikke oprette komponent 'vc.ril.camera' (1) Traceback (seneste opkald sidste): 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 præfiks =" Kunne ikke oprette kamera komponent ") Fil" /usr/lib/python2.7/dist-packages/picamera/exc.py ", linje 112, i mmal_check raise PiCameraMMALError (status, præfiks) picamera.exc. PiCameraMMALError: Kunne ikke oprette kamerakomponent: Ud hukommelse)
Gå til Raspberry Pi -konfigurationen, gå under ydeevne -kolonnen, og boost din GPU -hukommelse, indtil fejlen er væk (skal genstartes).
For at oprette et foto, der gemmes på skrivebordet, bruger vi følgende kode:
fra picamera import PiCamera #Imported module created from the pip install pi camera command from time import sleep #Importeret søvn for at sikre, at vores kamera forbliver tændt
kamera = PiCamera () #Opsætning til kameraet
camera.start_preview () #Starter previewsleep
camera.capture ('/home/pi/Desktop/image.jpg')# Fra
camera.stop_preview ()#Stopper forhåndsvisningen
Trin 5: Oprettelse af kredsløbet med kode
Som det ses ovenfor fra kredsløbsdiagrammerne, skal vi opsætte en knap, en LDR og til sidst to RGB -lysdioder. Først skal vi opsætte knappen i nederste venstre side af brødbrættet. Under din opsætning af knappen bruger vi de fælles jernbanelinjer, hvilket betyder, at vi tilslutter vores 3.3V på det positive og jorden til det negative. Når du er færdig med kredsløbsopsætningen kun for knappen.
Vi vil teste vores kredsløb for at se, om vi kan gøre det sådan, at hvis der trykkes på knappen, tænder vi lysdioden ved hjælp af følgende kode:
#Importerede moduler fra gpiozero import knap fra picamera import PiCamera fra tid import sleep
#Opsætning
Kamera = PiCamera () Knap = Knap (22)
#Fotooptagelsesfunktion, jeg har besluttet at sætte den i en definieringsfunktion, da den hjælper os med at rydde op i hovedkoden
def photocap ():
Camera.start_preview ()
sleep (5) Camera.capture ('/home/pi/Desktop/image.jpg') print ("Foto blev taget") Camera.stop_preview ()
#Main kode:
while True: if Button.is_pressed: print ("Button was pressed") photocap ()
#Hvorfor virker dette: Hovedkoden fungerer, som alt vi gør, er at bruge kommandoen, hvis knappen. Er_presset i et stykke tid sand erklæring, så den opdateres konstant, når der trykkes på knappen for at tage billedet
Nu skal vi opsætte 2 RGB LED'er helt op til toppen af kredsløbet og adskille dem i midten af brødbrættet og gøre det symmetriske. Hvis du ikke har 220 ohm modstande til dette projekt, kan du konfigurere dem parallelt afhængigt af din modstand for de modstande, du har. Den anden pin på 4 -pins RGB LED (den længste skal forbindes til jorden gennem jernbanen. De andre pins skal alle forbindes til deres egne GPIO -ben. (Første pin = rød, anden pin = jord, tredje pin = grøn, Fjerde pin = blå).
Vi tester en af vores RGB -lysdioder i vores knapkredsløb med koden herunder:
#Importerede moduler fra gpiozero importknap fra picamera import PiCamera
fra gpiozero import RGBLED
fra tid importere søvn
#Opsætning
Kamera = PiCamera () Knap = Knap (22)
TimedLED = RGBLED (rød = 21, grøn = 20, blå = 16)
#Fotooptagelsesfunktion med RGB LED, jeg har besluttet at sætte den i en definieringsfunktion, da den hjælper os med at rydde op i hovedkoden
def photocap (): Camera.start_preview () sleep (4)
tidsbestemt. farve (1, 0, 0)
sove (2)
tidsbestemt. farve (0, 1, 0)
søvn (1)
Camera.capture ('/home/pi/Desktop/image.jpg') print ("Foto blev taget") Camera.stop_preview ()
#Main kode:
mens det er sandt:
hvis Button.is_pressed:
print ("der blev trykket på knappen") photocap ()
#Hvorfor virker dette: Grunden til at denne kode virker, er fordi vi nu fik RGBLED'en til at fungere som en timer, når billedet skal tages
Opsæt nu den lysafhængige modstand i nederste højre side af brødbrættet ved hjælp af diagrammet helt oppe øverst og de fælles jernbaner, der er diskuteret før. Husk, at begge de lange ben på LDR og capicitatoren skal forbindes til GPIO -stiften.
Når vi har tilsluttet LDR, vil vi bruge følgende kode:
#Importerede moduler
fra gpiozero importknap
fra picamera import PiCamera fra gpiozero import RGBLED
fra gpiozero import LightSensor
fra tid importere søvn
#Opsætning
Kamera = PiCamera () Knap = Knap (22) TimedLED = RGBLED (rød = 21, grøn = 20, blå = 16)
LightSensor = LightSensor (23)
#Fotooptagelsesfunktion med RGB LED, jeg har besluttet at sætte den i en definieringsfunktion, da den hjælper os med at rydde op 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 sandt:
hvis Button.is_pressed: print ("Der blev trykket på knappen") photocap ()
hvis Button.is_pressed og Lightsensor.when_dark:
print ("Der blev trykket på knappen")
print ("Det er mørkt")
photocap ()
#Hvorfor virker dette: Den måde, hvorpå jeg har tilføjet lyssensoren til min kode, er gennem en anden if -sætning, der indeholder den importerede funktion af lyssensor. Når mørket indstiller os perfekt til vores næste trin
Nu er det sidste trin gennem dette projekt at aktivere den anden RGBLED symmetrisk til den anden for at fungere som et blitzlys, Den sidste kode:
fra gpiozero importknap
fra picamera import PiCamera
fra gpiozero import RGBLED
fra gpiozero import LightSensor
fra tid importere søvn
#Opsætning
Kamera = PiCamera ()
Knap = Knap (22)
TimedLED = RGBLED (rød = 21, grøn = 20, blå = 16)
FlashLED = RGBLED (rød = 19, grøn = 13, blå = 6)
LightSensor = LightSensor (23)
#Fotooptagelsesfunktion med RGB LED, jeg har besluttet at sætte den i en definieringsfunktion, da den hjælper os med at rydde op 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 ("Foto blev taget") Camera.stop_preview () # Hovedkode: mens True: if Button.is_pressed:
print ("der blev trykket på knappen")
photocap ()
hvis Button.is_pressed og Lightsensor.when_dark:
print ("Der blev trykket på knappen") print ("Det er mørkt")
FlashLED.color (1, 1, 1)
photocap ()
#Hvorfor virker dette: Den måde, hvorpå jeg har tilføjet min lommelygte, er ved hjælp af RGB -ledningen til at udsende farven hvid, der er 1, 1, 1, og det gør kun dette, hvis if -sætningen er sand.
Anbefalede:
Akustisk levitation med Arduino Uno trin for trin (8 trin): 8 trin
Akustisk levitation med Arduino Uno Step-by Step (8-trin): ultralyds lydtransducere L298N Dc kvindelig adapter strømforsyning med en han-DC-pin Arduino UNOBreadboard Sådan fungerer det: Først uploader du kode til Arduino Uno (det er en mikrokontroller udstyret med digital og analoge porte til konvertering af kode (C ++)
Raspberry Pi PhotoBooth: HTML5 & NodeJS: 4 trin
Raspberry Pi PhotoBooth: HTML5 & NodeJS: En HTML5 og NodeJS photobooth med live preview og brugerdefinerede rammer.Dette projekt startede som noget, jeg byggede til min datters skoledans. Jeg ville have noget sjovt for hende og hendes venner at huske begivenheden (som var sidste gang, de ville
Bryllup / Event Photobooth: 6 trin (med billeder)
Bryllup / begivenhed Photobooth: Hej alle sammen, jeg blev gift sidste år, da vi leder efter forberedelse af D-dagen, tog vi på mange bryllupskonferencer. På hvert stævne er der en Photobooth-lejer, jeg troede, at en fotobooth var en god idé til et bryllup, hver gæst
Automatiseret Photobooth: 4 trin (med billeder)
Automatiseret Photobooth: Dette viser dig, hvordan du laver en automatiseret fotoboks ved hjælp af hindbærpi, en ultralydsafstandssensor og et par andet tilbehør. Jeg ville lave et projekt, der bruger både sofistikeret hardware og et program, der er sofistikeret. Jeg genopstiller
DIY Photobooth: 7 trin (med billeder)
DIY Photobooth: Dette er en vejledning i, hvordan du bygger din egen fotobooth meget som de traditionelle, der ses i indkøbscentre, forlystelsesparker og indkøbscentre verden over. Denne bod er dog helt digital og er meget meget billigere/lettere at gøre derhjemme. Jeg vr