Obsah:
- Krok 1: Co budete potřebovat
- Krok 2: Připojení modulu kamery
- Krok 3: Nastavení fotoaparátu
- Krok 4: Testování modulu kamery
- Krok 5: Vytvoření obvodu pomocí kódu
Video: Raspberry Pi Photobooth: 5 kroků
2024 Autor: John Day | [email protected]. Naposledy změněno: 2024-01-30 08:21
Účel:
- Zjistěte, jak kódovat a nainstalovat kameru Pi
- Použití příkazů define a if v kódování
- Naučte se používat nové technologie, jako jsou LED diody RGB
Krok 1: Co budete potřebovat
- 1 Raspberry Pi 3
- Prkénko
- Svetry
- 1 odpor závislý na světle
- 1 kondenzátor
- 1 Tlačítko
- 6 220 ohmových rezistorů
- 2 RGB LED
- 1 kamera Raspberry Pi
Krok 2: Připojení modulu kamery
Nejprve, když je Pi vypnuto, budete muset připojit kamerový modul k portu kamery Raspberry Pi, poté spustit Pi a zajistit, aby byl software povolen.
- Najděte port kamery, který je mezi portem HDMI a 3,5 mm
- Vytáhněte klip fotoaparátu za plastové hrany, dokud není klip diagonální
- Nyní zapojte kabel kamery modrým směrem k 3,5mm portu
Krok 3: Nastavení fotoaparátu
Otevření konfiguračního nástroje Raspberry Pi z hlavní nabídky a deaktivace a povolení všech výše uvedených rozhraní
Z hlavní nabídky otevřete terminál a zadejte následující řádky kódu:
Sudo Raspi-config
Nyní odsud použijte klávesy se šipkami k ovládání systému a klikněte na možnost Periferní připojení a poté kliknutím na P1 Kamera a aktivujte kameru, poté vyberte Dokončit. Přechod zpět na typ terminálu v následujících řádcích kódu:
pip install picamera
nebo Sudo pip install Picamera
Krok 4: Testování modulu kamery
Odtud můžeme vyzkoušet, zda kamera funguje nebo ne, protože máme povolený veškerý software a hardware.
Otevřete Python 3 z nabídky
Odtud otevřete nový soubor z prostředí shell a uložte jej na cameratest.py.
Zadejte následující kód:
z picamery import PiCamera #importovaný modul vytvořený z příkazu pip install pi cameraz času importu spánku #imported sleep, aby se zajistilo, že naše kamera zůstane na kameře = PiCamera () #Setup pro kameru
camera.start_preview ()#spustí kameru a ukáže vám, jak vypadá výstup kamery
spánek (10)#ponechá náhled zapnutý 10 sekund
camera.stop_preview ()#konečně ukončí náhled
Spusťte kód pomocí F5
Pokud se vám při spuštění kódu zobrazí tato chyba:
(mmal: mmal_vc_component_create: Nepodařilo se vytvořit komponentu 'vc.ril.camera' (1: ENOMEM)
mmal: mmal_component_create_core: nelze vytvořit komponentu 'vc.ril.camera' (1) Traceback (poslední volání poslední): Soubor "", řádek 1, v souboru "/usr/lib/python2.7/dist-packages/picamera /camera.py ", řádek 257, v _init_ self._init_camera () Soubor" /usr/lib/python2.7/dist-packages/picamera/camera.py ", řádek 288, v _init_camera prefix =" Nepodařilo se vytvořit kameru komponenta ") Soubor" /usr/lib/python2.7/dist-packages/picamera/exc.py ", řádek 112, v mmal_check zvýšit PiCameraMMALError (stav, předpona) picamera.exc. PiCameraMMALError: Nepodařilo se vytvořit komponentu kamery: Out paměti)
Přejděte do konfigurace Raspberry Pi, přejděte pod sloupec výkonu a zvyšte paměť GPU, dokud chyba nezmizí (musíte restartovat).
Nyní k vytvoření fotografie, která se uloží na plochu, použijeme následující kód:
z picamera import PiCamera #importovaný modul vytvořený z příkazu pip install pi camera
kamera = PiCamera () #Nastavení pro kameru
camera.start_preview () #Spustí náhled spánku (5) #Ponechá náhled zapnutý na 5 sekund
camera.capture ('/home/pi/Desktop/image.jpg')# Ze souboru
camera.stop_preview ()#Zastaví náhled
Krok 5: Vytvoření obvodu pomocí kódu
Jak je vidět výše ze schémat zapojení, musíme nastavit tlačítko, LDR a nakonec dvě RGB LED. Nejprve nastavíme tlačítko na levé spodní straně prkénka. Během vašeho nastavení pro tlačítko použijeme společné železniční tratě, což znamená, že připojíme naše 3,3 V na kladné a zemní na záporné. Poté, co jste dokončili nastavení obvodu pouze pro tlačítko.
Otestujeme náš obvod, abychom zjistili, zda to dokážeme, takže pokud je tlačítko stisknuto, rozsvítíme LED pomocí následujícího kódu:
#Importované moduly z tlačítka importu gpiozero z picamery import PiCamera z časového importu spánku
#Založit
Fotoaparát = Tlačítko PiCamera () = Tlačítko (22)
#Funkce fotografování, rozhodl jsem se ji vložit do definované funkce, protože nám pomáhá vyčistit hlavní kód
def photocap ():
Camera.start_preview ()
spánek (5) Camera.capture ('/home/pi/Desktop/image.jpg') tisk ("Fotografie byla pořízena") Camera.stop_preview ()
#Hlavní kód:
while True: if Button.is_pressed: print ("Button wasPress") photocap ()
#Proč to funguje: Hlavní kód funguje, protože vše, co děláme, je použití příkazu if button.is_pressed v while true prohlášení, takže se neustále aktualizuje po stisknutí tlačítka pro pořízení fotografie
Nyní nastavíme 2 RGB LED diody až na vrchol obvodu a oddělíme je uprostřed prkénka a vytvoříme symetrii. Pokud pro tento projekt nemáte rezistory 220 ohmů, můžete je nastavit paralelně v závislosti na vašem odporu pro rezistory, které máte. Druhý pin 4pinové RGB LED (nejdelší by měl být připojen k zemi přes železnici. Ostatní piny by měly být všechny připojeny k vlastním GPIO pinům. (První pin = červený, Druhý pin = zem, Třetí Pin = zelený), Čtvrtý kolík = modrý).
Testujeme jednu z našich RGB LED v našem tlačítkovém obvodu pomocí níže uvedeného kódu:
#Importované moduly z tlačítka importu gpiozero z aplikace PiCamera importu z picamery
z gpiozero import RGBLED
z časového importu spánku
#Založit
Fotoaparát = Tlačítko PiCamera () = Tlačítko (22)
TimedLED = RGBLED (červená = 21, zelená = 20, modrá = 16)
#Funkce fotografování s RGB LED, rozhodl jsem se ji vložit do definiční funkce, protože nám pomáhá vyčistit hlavní kód
def photocap (): Camera.start_preview () spánek (4)
timedled.color (1, 0, 0)
spát (2)
timedled.color (0, 1, 0)
spánek (1)
Tisk Camera.capture ('/home/pi/Desktop/image.jpg') („Fotografie byla pořízena“) Camera.stop_preview ()
#Hlavní kód:
zatímco pravda:
pokud Button.is_pressed:
tisk ("Tlačítko bylo stisknuto") fotokapička ()
#Proč to funguje: Důvod, proč tento kód funguje, je ten, že nyní máme RGBLED, který funguje jako časovač pro pořízení fotografie
Nyní nastavte rezistor závislý na světle na spodní pravé straně prkénka pomocí diagramu úplně nahoru v horní části a společných železnic, o nichž se hovořilo dříve. Nezapomeňte, že dlouhé nohy LDR a kapicitátoru musí být připojeny ke kolíku GPIO.
Poté, co jsme připojili LDR, použijeme následující kód:
#Importované moduly
z tlačítka importu gpiozero
z picamery import PiCamera z gpiozero import RGBLED
z gpiozero import LightSensor
z časového importu spánku
#Založit
Kamera = PiCamera () Tlačítko = Tlačítko (22) TimedLED = RGBLED (červená = 21, zelená = 20, modrá = 16)
LightSensor = LightSensor (23)
#Funkce fotografování s RGB LED, rozhodl jsem se ji vložit do definiční funkce, protože nám pomáhá vyčistit hlavní kód
def photocap (): Camera.start_preview () spánek (4) timedled.color (1, 0, 0) spánek (2) timedled.color (0, 1, 0) spánek (1) Camera.capture ('/home/ pi/Desktop/image-j.webp
#Hlavní kód:
zatímco pravda:
pokud Button.is_pressed: print ("Tlačítko bylo stisknuto") photocap ()
pokud Button.is_pressed a Lightsensor.when_dark:
tisk („Tlačítko bylo stisknuto“)
tisk („Je tma“)
fotokapička ()
#Proč to funguje: Způsob, jakým jsem do svého kódu přidal světelný senzor, je prostřednictvím jiného příkazu if, který obsahuje importovanou funkci světelného senzoru. Když nás tma dokonale nastaví pro náš další krok
Nyní by posledním krokem v rámci tohoto projektu bylo aktivovat další RGBLED symetrii k druhému, aby fungovalo jako zábleskové světlo, Konečný kód:
z tlačítka importu gpiozero
z picamery import PiCamera
z gpiozero import RGBLED
z gpiozero import LightSensor
z časového importu spánku
#Založit
Fotoaparát = PiCamera ()
Tlačítko = Tlačítko (22)
TimedLED = RGBLED (červená = 21, zelená = 20, modrá = 16)
FlashLED = RGBLED (červená = 19, zelená = 13, modrá = 6)
LightSensor = LightSensor (23)
#Funkce fotografování s RGB LED, rozhodl jsem se ji vložit do definiční funkce, protože nám pomáhá vyčistit hlavní kód def photocap (): Camera.start_preview () sleep (4) timedled.color (1, 0, 0) spánek (2) timedled.color (0, 1, 0) spánek (1) Camera.capture ('/home/pi/Desktop/image.jpg') tisk ("Fotografie byla pořízena") Camera.stop_preview () # Hlavní kód: while True: if Button.is_pressed:
tisk („Tlačítko bylo stisknuto“)
fotokapička ()
pokud Button.is_pressed a Lightsensor.when_dark:
tisk („Tlačítko bylo stisknuto“) tisk („Je tma“)
FlashLED.color (1, 1, 1)
fotokapička ()
#Proč to funguje: Svou svítilnu jsem přidal pomocí RGB diody k výstupu bílé barvy, která je 1, 1, 1, a funguje pouze tehdy, pokud je příkaz if pravdivý.
Doporučuje:
Počitadlo kroků - mikro: bit: 12 kroků (s obrázky)
Počitadlo kroků - Micro: Bit: Tento projekt bude počítadlem kroků. K měření našich kroků použijeme snímač akcelerometru, který je zabudovaný v Micro: Bit. Pokaždé, když se Micro: Bit zatřese, přidáme 2 k počtu a zobrazíme ho na obrazovce
Instalace Raspbian do Raspberry Pi 3 B bez HDMI - Začínáme s Raspberry Pi 3B - Nastavení vašeho Raspberry Pi 3: 6 kroků
Instalace Raspbian do Raspberry Pi 3 B bez HDMI | Začínáme s Raspberry Pi 3B | Nastavení vašeho Raspberry Pi 3: Jak někteří z vás vědí, počítače Raspberry Pi jsou docela úžasné a můžete mít celý počítač jen na jedné malé desce. Raspberry Pi 3 Model B je vybaven čtyřjádrovým 64bitovým ARM Cortex A53 taktován na 1,2 GHz. To dává Pi 3 zhruba 50
Raspberry Pi PhotoBooth: HTML5 a NodeJS: 4 kroky
Raspberry Pi PhotoBooth: HTML5 & NodeJS: Fotobooth HTML5 a NodeJS s živým náhledem a vlastními okraji. Tento projekt začal jako něco, co jsem postavil pro školní tanec své dcery. Chtěl jsem, aby si ona a její přátelé na tuto událost (která byla naposledy, kdy
Automatizovaný Photobooth: 4 kroky (s obrázky)
Automated Photobooth: Ukáže vám, jak vytvořit automatický fotostánek pomocí malinového pi, ultrazvukového senzoru vzdálenosti a několika dalších doplňků. Chtěl jsem udělat projekt, který používá sofistikovaný hardware i program, který je propracovaný. Znovu zjišťuji
DIY Photobooth: 7 kroků (s obrázky)
DIY Photobooth: Toto je návod, jak si postavit vlastní fotobooth, podobně jako tradiční fotorámečky, které najdete v obchodních centrech, zábavních parcích a nákupních centrech po celém světě. Tento stánek je však zcela digitální a je mnohem levnější/jednodušší udělat jej doma. Beru