Innehållsförteckning:
- Steg 1: Vad du behöver
- Steg 2: Anslutning av kameramodulen
- Steg 3: Installera kameran
- Steg 4: Testa kameramodulen
- Steg 5: Skapa kretsen med kod
Video: Raspberry Pi Photobooth: 5 steg
2024 Författare: John Day | [email protected]. Senast ändrad: 2024-01-30 12:44
Syftet:
- Lär dig hur du kodar och installerar en Pi -kamera
- Använda definiera och if -satser i kodning
- Lär dig att använda ny teknik som RGB -lysdioder
Steg 1: Vad du behöver
- 1 Raspberry Pi 3
- Bakbord
- Tröjor
- 1 Ljusberoende motstånd
- 1 kondensator
- 1 Tryckknapp
- 6 220 Ohm motstånd
- 2 RGB -lysdioder
- 1 Raspberry Pi -kamera
Steg 2: Anslutning av kameramodulen
Först och främst, när Pi är avstängd, måste du ansluta kameramodulen till Raspberry Pi: s kameraport, sedan starta Pi och se till att programvaran är aktiverad.
- Leta reda på kameraporten mellan HDMI och 3,5 mm porten
- Dra upp kameraklämman i plastkanterna tills klippet är diagonalt
- Sätt nu i kamerakabeln med den blå vänd mot 3,5 mm -porten
Steg 3: Installera kameran
Öppna Raspberry Pi -konfigurationsverktyget från huvudmenyn och inaktivera och aktivera alla gränssnitt ovan
Från huvudmenyn öppnar du terminalen och skriver in följande kodrader:
Sudo Raspi-config
Nu härifrån använder du piltangenterna för att styra genom systemet och klicka på alternativet Perifer anslutning och från deras klick på P1 kamera och aktivera kameran, välj sedan avsluta. Gå tillbaka till terminalen i följande kodrader:
pip installera picamera
eller Sudo pip installera Picamera
Steg 4: Testa kameramodulen
Härifrån kan vi testa om kameran fungerar eller inte eftersom vi har all programvara och hårdvara aktiverad.
Öppna Python 3 från menyn
Därifrån öppnar du en ny fil från skalet och sparar den en cameratest.py.
Ange följande kod:
från picamera import PiCamera #imported module created from the pip install pi camera command from time import sleep #imported sleep för att se till att vår kamera stannar kvar på kameran = PiCamera () #Setup för kameran
camera.start_preview ()#startar kameran och visar hur kameran ser ut
sleep (10)#lämnar förhandsgranskningen på i 10 sekunder
camera.stop_preview ()#avslutar slutligen förhandsgranskningen
Kör koden med F5
Om du får det här felet när du kör koden:
(mmal: mmal_vc_component_create: misslyckades med att skapa komponenten 'vc.ril.camera' (1: ENOMEM)
mmal: mmal_component_create_core: kunde inte skapa komponent 'vc.ril.camera' (1) Traceback (senaste samtal senast): File "", rad 1, i File "/usr/lib/python2.7/dist-packages/picamera /camera.py ", rad 257, i _init_ self._init_camera () File" /usr/lib/python2.7/dist-packages/picamera/camera.py ", rad 288, i _init_camera prefix =" Det gick inte att skapa kamera komponent ") Fil" /usr/lib/python2.7/dist-packages/picamera/exc.py ", rad 112, i mmal_check höja PiCameraMMALError (status, prefix) picamera.exc. PiCameraMMALError: Det gick inte att skapa kamerakomponent: Ut minne)
Gå till Raspberry Pi -konfigurationen, gå under prestandakolumnen och öka ditt GPU -minne tills felet är borta (måste starta om).
För att skapa ett foto som sparas på skrivbordet använder vi följande kod:
från picamera import PiCamera #Importerad modul skapad från pip installera pi kamera kommando från tid importera sömn #Importerad sömn för att se till att vår kamera stannar kvar
kamera = PiCamera () #Inställning för kameran
camera.start_preview () #Startar förhandsgranskningssömn (5) #Låter förhandsgranskningen vara på i 5 sekunder
camera.capture ('/home/pi/Desktop/image.jpg')# Från
camera.stop_preview ()#Stoppar förhandsgranskningen
Steg 5: Skapa kretsen med kod
Som vi ser ovan från kretsscheman måste vi ställa in en knapp, en LDR och slutligen två RGB -lysdioder. Först ska vi ställa in knappen på den nedre vänstra sidan av panelen. Under din inställning för knappen kommer vi att använda de vanliga järnvägslinjerna, vilket innebär att vi kommer att koppla in vår 3.3V på det positiva och marken för negativa. När du har slutfört kretsinställningen endast för knappen.
Vi kommer att testa vår krets för att se om vi kan göra det så att om knappen trycks in tänder vi lysdioden med följande kod:
#Importerade moduler från gpiozero importknapp från picamera import PiCamera från tid importera sömn
#Uppstart
Kamera = PiCamera () Knapp = Knapp (22)
#Fotografering, jag har bestämt mig för att sätta in den i en definieringsfunktion eftersom den hjälper oss att städa upp huvudkoden
def photocap ():
Camera.start_preview ()
sleep (5) Camera.capture ('/home/pi/Desktop/image.jpg') print ("Foto togs") Camera.stop_preview ()
#Huvudkod:
medan True: if Button.is_pressed: print ("Button was pressed") photocap ()
#Varför fungerar det här: Huvudkoden fungerar eftersom allt vi gör är att använda kommandot if button.is_pressed in a while true statement so it is constant updating when the button is pressed to take the photo
Nu ska vi ställa in 2 RGB -lysdioder ända upp till kretsens topp och separera dem i mitten av brödbrädan och göra det symmetriska. Om du inte har 220 ohm motstånd för detta projekt kan du ställa in dem parallellt beroende på ditt motstånd för motstånden du har. Den andra stiftet på den 4 -stifts RGB -lysdioden (den längsta bör anslutas till marken genom järnvägen. De andra stiften ska alla anslutas till sina egna GPIO -stift. (Första stiftet = rött, andra stiftet = jordat, det tredje stiftet = grönt, Fjärde stiftet = blått).
Vi kommer att testa en av våra RGB -lysdioder i vår knappkrets med koden nedan:
#Importerade moduler från gpiozero importknapp från picamera import PiCamera
från gpiozero importera RGBLED
från tid importera sömn
#Uppstart
Kamera = PiCamera () Knapp = Knapp (22)
TimedLED = RGBLED (röd = 21, grön = 20, blå = 16)
#Fotografering med RGB LED, jag har bestämt mig för att sätta in den i en definieringsfunktion eftersom den hjälper oss att städa upp huvudkoden
def photocap (): Camera.start_preview () sleep (4)
tidsinställd. färg (1, 0, 0)
sova (2)
tidsinställd. färg (0, 1, 0)
sova (1)
Camera.capture ('/home/pi/Desktop/image.jpg') print ("Foto togs") Camera.stop_preview ()
#Huvudkod:
medan det är sant:
if Button.is_pressed:
print ("knappen trycktes") photocap ()
#Varför fungerar det: Anledningen till att den här koden fungerar är för att nu fick vi RGBLED: en som timer för när fotot ska tas
Ställ nu in det ljusberoende motståndet på den nedre högra sidan av brödbrädan med hjälp av diagrammet hela vägen upp på toppen och de gemensamma järnvägarna som diskuterats tidigare. Kom ihåg att båda de långa benen på LDR och kapitulatorn måste anslutas till GPIO -stiftet.
När vi har anslutit LDR kommer vi att använda följande kod:
#Importerade moduler
från gpiozero importknapp
från picamera import PiCamera från gpiozero import RGBLED
från gpiozero importera LightSensor
från tid importera sömn
#Uppstart
Kamera = PiCamera () Knapp = Knapp (22) TimedLED = RGBLED (röd = 21, grön = 20, blå = 16)
LightSensor = LightSensor (23)
#Fotografering med RGB LED, jag har bestämt mig för att sätta in den i en definieringsfunktion eftersom den hjälper oss att städa upp huvudkoden
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
#Huvudkod:
medan det är sant:
if Button.is_pressed: print ("Button was pressed") photocap ()
if Button.is_pressed and Lightsensor.when_dark:
print ("knappen trycktes")
print ("Det är mörkt")
photocap ()
#Varför detta fungerar: Det sätt som jag har lagt till ljussensorn i min kod är genom ett annat if -uttalande som innehåller den importerade funktionen av ljussensor. När det är mörkt sätter vi oss perfekt för vårt nästa steg
Nu är det sista steget i detta projekt att aktivera den andra RGBLED -symmetrin till den andra för att fungera som en blixt, Den sista koden:
från gpiozero importknapp
från picamera import PiCamera
från gpiozero importera RGBLED
från gpiozero importera LightSensor
från tid importera sömn
#Uppstart
Kamera = PiCamera ()
Knapp = Knapp (22)
TimedLED = RGBLED (röd = 21, grön = 20, blå = 16)
FlashLED = RGBLED (röd = 19, grön = 13, blå = 6)
LightSensor = LightSensor (23)
#Fotografering med RGB LED, jag har bestämt mig för att sätta in den i en definieringsfunktion eftersom den hjälper oss att städa upp huvudkoden 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 togs") Camera.stop_preview () # Huvudkod: medan True: if Button.is_pressed:
print ("knappen trycktes")
photocap ()
if Button.is_pressed and Lightsensor.when_dark:
print ("Button was Pressed") print ("Det är mörkt")
FlashLED.color (1, 1, 1)
photocap ()
#Varför fungerar det: Det sätt som jag har lagt till min ficklampa är att använda RGB -ledningen för att mata ut färgen vit som är 1, 1, 1 och det gör bara detta om if -satsen är sann.
Rekommenderad:
Akustisk levitation med Arduino Uno Steg-för-steg (8-steg): 8 steg
Akustisk levitation med Arduino Uno Steg-för-steg (8-steg): ultraljudsgivare L298N Dc kvinnlig adapter strömförsörjning med en manlig DC-pin Arduino UNOBreadboardHur det fungerar: Först laddar du upp kod till Arduino Uno (det är en mikrokontroller utrustad med digital och analoga portar för att konvertera kod (C ++)
Raspberry Pi PhotoBooth: HTML5 & NodeJS: 4 steg
Raspberry Pi PhotoBooth: HTML5 & NodeJS: En HTML5 och NodeJS photobooth med live förhandsvisning och anpassade gränser. Detta projekt började som något jag byggde för min dotters skoldans. Jag ville att något roligt för henne och hennes vänner skulle komma ihåg händelsen (vilket var sista gången de skulle
Bröllop / event Photobooth: 6 steg (med bilder)
Bröllop / evenemang Photobooth: Hej alla, jag gifte mig förra året, när vi letar efter förberedelser för D-dagen gick vi på många bröllopskonferenser. På varje konvention finns en Photobooth-hyresgäst, jag trodde att en photobooth var en bra idé för ett bröllop, varje gäst
Automatiserad Photobooth: 4 steg (med bilder)
Automatiserad Photobooth: Detta visar hur du gör en automatiserad fotobås med hallon pi, en ultraljudsavståndssensor och några andra tillbehör. Jag ville göra ett projekt som använder både sofistikerad hårdvara och ett program som är sofistikerat. Jag fortsätter
DIY Photobooth: 7 steg (med bilder)
DIY Photobooth: Det här är en handledning om hur du bygger din egen photobooth ungefär som de traditionella som ses på köpcentra, nöjesparker och köpcentra världen över. Denna monter är dock helt digital och är mycket mycket billigare/lättare att göra hemma. Jag wr