Tartalomjegyzék:

Raspberry Pi Photobooth: 5 lépés
Raspberry Pi Photobooth: 5 lépés

Videó: Raspberry Pi Photobooth: 5 lépés

Videó: Raspberry Pi Photobooth: 5 lépés
Videó: Настя и Арбуз с вымышленной историей для детей. 2024, Július
Anonim
Raspberry Pi Photobooth
Raspberry Pi Photobooth

A cél:

  • Ismerje meg a Pi kamera kódolását és telepítését
  • A define és if utasítások használata a kódolásban
  • Az új technológia, például az RGB LED -ek használatának megtanulása

1. lépés: Amire szüksége lesz

Amire szüksége lesz
Amire szüksége lesz
Amire szüksége lesz
Amire szüksége lesz
Amire szüksége lesz
Amire szüksége lesz
  • 1 Raspberry Pi 3
  • Kenyeretábla
  • Jumpers
  • 1 Fényfüggő ellenállás
  • 1 kondenzátor
  • 1 Nyomógomb
  • 6 220 Ohm ellenállás
  • 2 RGB LED
  • 1 Raspberry Pi kamera

2. lépés: A kamera modul csatlakoztatása

A kamera modul csatlakoztatása
A kamera modul csatlakoztatása

Először is, ha a Pi ki van kapcsolva, akkor csatlakoztatnia kell a kamera modult a Raspberry Pi kameraportjához, majd indítsa el a Pi -t, és győződjön meg arról, hogy a szoftver engedélyezve van.

  1. Keresse meg a HDMI és a 3,5 mm -es port közötti kameraportot
  2. Húzza felfelé a fényképezőgép klipjét a műanyag éleknél fogva, amíg a klip átlós lesz
  3. Most helyezze be a fényképezőgép kábelét úgy, hogy a kék a 3,5 mm -es port felé nézzen

3. lépés: A kamera beállítása

A kamera beállítása
A kamera beállítása
A kamera beállítása
A kamera beállítása

Nyissa meg a Raspberry Pi Configuration eszközt a főmenüből, és tiltsa le és engedélyezze az összes fenti felületet

A főmenüből nyissa meg a terminált, és írja be a következő kódsorokat:

Sudo Raspi-config

Most innen használja a nyílbillentyűket a rendszerben való működéshez, és kattintson a Perifériás kapcsolat lehetőségre, majd a P1 kamera lehetőségre, és engedélyezze a kamerát, majd válassza a Befejezés lehetőséget. Visszatérve a terminál típusához a következő kódsorokban:

pip install picamera

vagy Sudo pip telepítse a Picamera -t

4. lépés: A kamera modul tesztelése

A kamera modul tesztelése
A kamera modul tesztelése

Innen tesztelhetjük, hogy működik -e a kamera, vagy sem, mert minden szoftver és hardver engedélyezve van.

Nyissa meg a Python 3 -at a menüből

Innen nyisson meg egy új fájlt a héjból, és mentse el a cameratest.py fájlt.

Írja be a következő kódot:

a picamera importálásból PiCamera #importált modul, amelyet a pip telepítésből hoztak létre pi telepítés

camera.start_preview ()#elindítja a kamerát, és megmutatja, hogyan néz ki a kamera kimenete

alvás (10)#10 másodpercre bekapcsolja az előnézetet

camera.stop_preview ()#végül kilép az előnézetből

Futtassa le a kódot F5 segítségével

Ha ezt a hibát kapja a kód futtatásakor:

(mmal: mmal_vc_component_create: nem sikerült létrehozni a „vc.ril.camera” összetevőt (1: ENOMEM)

mmal: mmal_component_create_core: nem sikerült létrehozni a 'vc.ril.camera' összetevőt (1) Visszajelzés (legutóbbi hívás): Fájl "", 1. sor, a /usr/lib/python2.7/dist-packages/picamera fájlban /camera.py ", 257. sor, _init_ self._init_camera () Fájl" /usr/lib/python2.7/dist-packages/picamera/camera.py ", 288. sor, _init_camera prefix =" Nem sikerült létrehozni a kamerát komponens ") Fájl" /usr/lib/python2.7/dist-packages/picamera/exc.py ", 112 sor, mmal_check emelése emlékezetből)

Lépjen a Raspberry Pi konfigurációba, menjen a teljesítmény oszlopba, és növelje a GPU memóriáját, amíg a hiba el nem tűnik (újra kell indítani).

Most, hogy létrehozzunk egy fényképet, amelyet az asztalra mentünk, a következő kódot fogjuk használni:

a picamera importálásból PiCamera #Pip telepítésből létrehozott importált modul

camera = PiCamera () #Beállítás a fényképezőgéphez

camera.start_preview () #Elindítja az előnézetet (5) #Bekapcsolva hagyja az előnézetet 5 másodpercre

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

camera.stop_preview ()#Leállítja az előnézetet

5. lépés: Az áramkör létrehozása kóddal

Az áramkör létrehozása kóddal!
Az áramkör létrehozása kóddal!
Az áramkör létrehozása kóddal!
Az áramkör létrehozása kóddal!
Az áramkör létrehozása kóddal!
Az áramkör létrehozása kóddal!

Amint az a kapcsolási rajzokból látható, be kell állítanunk egy gombot, egy LDR -t és végül két RGB LED -et. Először beállítjuk a gombot a kenyértábla bal alsó sarkában. A gomb beállítása során a közös vasútvonalakat fogjuk használni, ami azt jelenti, hogy a 3,3 V -os feszültséget pozitívra, a földet negatívra kapcsoljuk. Miután befejezte az áramkör beállítását csak a gomb számára.

Teszteljük az áramkörünket, hogy meg tudjuk -e csinálni úgy, hogy ha megnyomjuk a gombot, akkor a következő kóddal kapcsoljuk be a LED -et:

#Imported Modulesfrom gpiozero import Button from picamera import PiCamera from time import alvó állapot

#Beállít

Kamera = PiCamera () gomb = gomb (22)

#Fényképezés funkció, úgy döntöttem, hogy definiálási funkcióba helyezem, mivel segít tisztítani a fő kódot

def photocap ():

Camera.start_preview ()

alvás (5) Camera.capture ('/home/pi/Desktop/image.jpg') print ("A fénykép elkészült") Camera.stop_preview ()

#Fő kód:

míg igaz: ha Button.is_pressed: print ("A gomb megnyomása") photocap ()

#Miért működik ez?

Most beállítunk 2 RGB LED -et egészen az áramkör tetejéig, és elválasztjuk őket a kenyértábla közepén, és szimmetrikusak leszünk. Ha nincs 220 ohmos ellenállása ehhez a projekthez, akkor azokat párhuzamosan állíthatja be, attól függően, hogy milyen ellenállással rendelkezik. A 4 tűs RGB LED második csapja (a leghosszabbat a vasúthoz kell csatlakoztatni a földhöz. A többi érintkezőt a saját GPIO csapjaikhoz kell csatlakoztatni. (Első tüske = piros, Második tű = föld, Harmadik tű = zöld), Negyedik csap = kék).

A gombáramkörben teszteljük az egyik RGB LED -et az alábbi kóddal:

#Imported Modulesfrom gpiozero import Button from picamera import PiCamera

gpiozero import RGBLED

az idő alvó alvásból

#Beállít

Kamera = PiCamera () gomb = gomb (22)

TimedLED = RGBLED (piros = 21, zöld = 20, kék = 16)

#Fényképezés funkció RGB LED -el

def photocap (): Camera.start_preview () alvás (4)

időzített.szín (1, 0, 0)

alvás (2)

időzített.szín (0, 1, 0)

alvás (1)

Camera.capture ('/home/pi/Desktop/image.jpg') print ("A fénykép elkészült") Camera.stop_preview ()

#Fő kód:

míg igaz:

ha Button.is_pressed:

print ("Gomb megnyomása") photocap ()

#Miért működik ez: Ennek a kódnak az az oka, hogy most megkaptuk az RGBLED -et, hogy időzítőként működjön a fénykép készítéséhez.

Most állítsa be a fényfüggő ellenállást a kenyértábla jobb alsó sarkában, az ábra tetején felfelé és a korábban ismertetett közös vasút segítségével. Ne feledje, hogy az LDR mindkét hosszú lábát és a kapicitátort a GPIO csaphoz kell csatlakoztatni.

Az LDR csatlakoztatása után a következő kódot fogjuk használni:

#Importált modulok

gpiozero import gomb

a picamera import PiCamera a gpiozero import RGBLED -ből

gpiozero import LightSensor

az idő alvó alvásból

#Beállít

Kamera = PiCamera () gomb = gomb (22) TimedLED = RGBLED (piros = 21, zöld = 20, kék = 16)

Fényérzékelő = Fényérzékelő (23)

#Fényképezés funkció RGB LED -el

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

#Fő kód:

míg igaz:

ha Button.is_pressed: print ("A gomb megnyomása") photocap ()

ha Button.is_pressed és Lightsensor.when_dark:

nyomtatás ("A gombot megnyomták")

nyomtatás ("Sötét van")

photocap ()

#Miért működik ez: A fényérzékelőt a kódomba adtam egy másik if utasításon keresztül, amely tartalmazza a fényérzékelő importált funkcióját. Amikor a sötét tökéletesen beállít minket a következő lépéshez

Ennek a projektnek az utolsó lépése az lenne, hogy aktiválja a másik RGBLED szimmetriát a másikhoz, hogy villanófényként működjön, A végső kód:

gpiozero import gomb

a picamera import PiCamera -ból

gpiozero import RGBLED

gpiozero import LightSensor

az idő alvó alvásból

#Beállít

Kamera = PiCamera ()

Gomb = gomb (22)

TimedLED = RGBLED (piros = 21, zöld = 20, kék = 16)

FlashLED = RGBLED (piros = 19, zöld = 13, kék = 6)

Fényérzékelő = Fényérzékelő (23)

#Fényképezés funkció RGB LED -el) alvás (2) időzített.szín (0, 1, 0) alvás (1) Camera.capture ('/home/pi/Desktop/image.jpg') print ("A fénykép elkészült") Camera.stop_preview () # Fő kód: míg igaz: ha Button.is_pressed:

nyomtatás ("A gombot megnyomták")

photocap ()

ha Button.is_pressed és Lightsensor.when_dark:

print ("A gombot megnyomták") print ("Sötét van")

FlashLED.szín (1, 1, 1)

photocap ()

#Miért működik ez: A zseblámpámat úgy adtam hozzá, hogy az RGB led segítségével a fehér szín jelenik meg, amely 1, 1, 1, és csak akkor működik, ha az if állítás igaz.

Ajánlott: