Spisu treści:
- Krok 1: Czego będziesz potrzebować
- Krok 2: Podłączanie modułu kamery
- Krok 3: Konfiguracja kamery
- Krok 4: Testowanie modułu kamery
- Krok 5: Tworzenie obwodu z kodem
Wideo: Fotobudka Raspberry Pi: 5 kroków
2024 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2024-01-30 11:30
Cel:
- Dowiedz się, jak kodować i instalować kamerę Pi
- Używanie instrukcji define i if w kodowaniu
- Nauka korzystania z nowych technologii, takich jak diody LED RGB
Krok 1: Czego będziesz potrzebować
- 1 Raspberry Pi 3
- Deska do krojenia chleba
- Zworki
- 1 rezystor zależny od światła
- 1 kondensator
- 1 przycisk
- 6 Rezystory 220 Ohm
- 2 diody LED RGB
- 1 kamera Raspberry Pi
Krok 2: Podłączanie modułu kamery
Przede wszystkim, przy wyłączonym Pi, musisz podłączyć moduł kamery do portu kamery Raspberry Pi, a następnie uruchomić Pi i upewnić się, że oprogramowanie jest włączone.
- Znajdź port kamery, który znajduje się między portem HDMI a portem 3,5 mm
- Pociągnij klips kamery za plastikowe krawędzie, aż klip będzie ustawiony po przekątnej
- Teraz włóż kabel kamery z niebieskim skierowanym w stronę portu 3,5 mm
Krok 3: Konfiguracja kamery
Otwieranie narzędzia konfiguracyjnego Raspberry Pi z menu głównego oraz wyłączanie i włączanie wszystkich powyższych interfejsów
Z menu głównego otwórz Terminal i wpisz następujące wiersze kodu:
Konfiguracja Sudo Raspi
Teraz użyj klawiszy strzałek do obsługi systemu i kliknij opcję połączenia peryferyjnego, a następnie kliknij kamerę P1 i włącz kamerę, a następnie wybierz opcję Zakończ. Wracając do terminala, wpisz następujące wiersze kodu:
pip zainstaluj picamera
lub Sudo pip zainstaluj Picamera
Krok 4: Testowanie modułu kamery
Stąd możemy sprawdzić, czy kamera działa, czy nie, ponieważ mamy włączone całe oprogramowanie i sprzęt.
Otwórz Pythona 3 z menu
Stamtąd otwórz nowy plik z powłoki i zapisz go jako cameratest.py.
Wpisz następujący kod:
from picamera import PiCamera #zaimportowany moduł utworzony z komendy pip install pi camera from time import sleep #import sleep aby upewnić się, że nasza kamera pozostaje w aparacie = PiCamera() #Konfiguracja dla kamery
camera.start_preview()#uruchamia kamerę i pokazuje, jak wygląda wyjście kamery
sleep(10)#pozostawia podgląd na 10 sekund
camera.stop_preview()#w końcu zamyka podgląd
Uruchom kod przez F5
Jeśli pojawi się ten błąd podczas uruchamiania kodu:
(mmal: mmal_vc_component_create: nie udało się utworzyć komponentu „vc.ril.camera” (1:ENOMEM)
mmal: mmal_component_create_core: nie można utworzyć komponentu 'vc.ril.camera' (1) Traceback (ostatnie wywołanie ostatniego): Plik "", wiersz 1, w pliku "/usr/lib/python2.7/dist-packages/picamera /camera.py", wiersz 257, w _init_ self._init_camera() Plik "/usr/lib/python2.7/dist-packages/picamera/camera.py", wiersz 288, w _init_camera prefix="Nie udało się utworzyć kamery component") Plik "/usr/lib/python2.7/dist-packages/picamera/exc.py", wiersz 112, w mmal_check podnieś PiCameraMMALError(status, prefix) picamera.exc. PiCameraMMALError: Nie udało się utworzyć komponentu kamery: Out pamięciowy)
Przejdź do konfiguracji Raspberry Pi, przejdź do kolumny wydajności i zwiększ pamięć GPU, aż błąd zniknie (musisz ponownie uruchomić).
Teraz w celu stworzenia zdjęcia, które zapisze się na pulpicie użyjemy następującego kodu:
from picamera import PiCamera #Importowany moduł utworzony z polecenia pip install pi camera od czasu import sleep #Imported sleep aby upewnić się, że nasza kamera pozostaje włączona
kamera = PiCamera() #Konfiguracja kamery
camera.start_preview() #Uruchamia podgląd snu(5)#Pozostawia podgląd włączony na 5 sekund
camera.capture('/home/pi/Desktop/image.jpg')# Od
camera.stop_preview()#Zatrzymuje podgląd
Krok 5: Tworzenie obwodu z kodem
Jak widać powyżej ze schematów obwodów, musimy ustawić przycisk, LDR i na koniec dwie diody LED RGB. Najpierw ustawimy przycisk w lewym dolnym rogu płytki prototypowej. Podczas konfiguracji przycisku użyjemy wspólnych linii kolejowych, co oznacza, że podłączymy nasze 3,3 V do dodatniego, a uziemienia do ujemnego. Po zakończeniu konfiguracji obwodu tylko dla przycisku.
Przetestujemy nasz obwód, aby zobaczyć, czy damy radę, aby po naciśnięciu przycisku włączyliśmy diodę za pomocą następującego kodu:
#Imported Modulesfrom gpiozero import Button from picamera import PiCamera od czasu import sleep
#Ustawiać
Kamera = PiCamera() Przycisk = Przycisk (22)
#Funkcja robienia zdjęć, zdecydowałem się umieścić ją w funkcji definiowania, ponieważ pomaga nam oczyścić główny kod
def fotocap():
Kamera.start_podgląd()
sleep(5) Camera.capture('/home/pi/Desktop/image.jpg') print ("Zdjęcie zostało zrobione") Camera.stop_preview()
#Kod główny:
while True: jeśli Button.is_pressed: print ("Przycisk został naciśnięty") photocap()
#Dlaczego to działa: Główny kod działa, ponieważ wszystko, co robimy, to użycie polecenia if button.is_pressed in a while true, więc jest on stale aktualizowany po naciśnięciu przycisku, aby zrobić zdjęcie
Teraz ustawimy 2 diody LED RGB aż do górnej części obwodu i rozdzielimy je na środku płytki stykowej, aby były symetryczne. Jeśli nie masz rezystorów 220 omów do tego projektu, możesz ustawić je równolegle w zależności od rezystancji rezystorów, które masz. Drugi pin 4-pinowej diody LED RGB (najdłuższy powinien być podłączony do uziemienia przez kolej. Wszystkie pozostałe piny powinny być podłączone do własnych pinów GPIO. (Pierwszy pin = czerwony, Drugi pin = uziemienie, Trzeci pin = zielony, Czwarty pin = niebieski).
Przetestujemy jedną z naszych diod LED RGB w naszym obwodzie przycisków za pomocą poniższego kodu:
#Imported Modulesfrom gpiozero import Button z picamera import PiCamera
z importu gpiozero RGBLED
od czasu importuj sen
#Ustawiać
Kamera = PiCamera() Przycisk = Przycisk (22)
TimedLED=RGBLED(czerwony=21, zielony=20, niebieski=16)
#Funkcja robienia zdjęć z diodą LED RGB, zdecydowałem się umieścić ją w funkcji definiowania, ponieważ pomaga nam to oczyścić główny kod
def photocap(): Camera.start_preview() sleep(4)
timedled.color(1, 0, 0)
sen(2)
timedled.color(0, 1, 0)
sen(1)
Camera.capture('/home/pi/Desktop/image.jpg') print ("Zdjęcie zostało zrobione") Camera.stop_preview()
#Kod główny:
podczas gdy prawda:
jeśli Button.is_pressed:
print ("Przycisk został naciśnięty") photocap()
#Dlaczego to działa: Powodem, dla którego ten kod działa, jest to, że teraz mamy RGBLED, który działa jako licznik czasu, kiedy zdjęcie ma zostać zrobione
Teraz skonfiguruj rezystor zależny od światła w prawym dolnym rogu płytki stykowej, korzystając ze schematu u góry i omówionych wcześniej wspólnych linii kolejowych. Pamiętaj, że obie długie nogi LDR i kondensator muszą być podłączone do pinu GPIO.
Po podłączeniu LDR użyjemy następującego kodu:
#Importowane moduły
z gpiozero import Button
z picamera importuj PiCamera z gpiozero importuj RGBLED
z gpiozero import LightSensor
od czasu importuj sen
#Ustawiać
Kamera = PiCamera() Przycisk = Przycisk(22) TimedLED=RGBLED(czerwony=21, zielony=20, niebieski=16)
LightSensor=LightSensor(23)
#Funkcja robienia zdjęć z diodą LED RGB, zdecydowałem się umieścić ją w funkcji definiowania, ponieważ pomaga nam to oczyścić główny kod
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 ("Zdjęcie zostało zrobione") Camera.stop_preview()
#Kod główny:
podczas gdy prawda:
if Button.is_pressed: print ("Przycisk został naciśnięty") photocap()
jeśli Button.is_pressed i Lightsensor.when_dark:
drukuj ("Przycisk został naciśnięty")
print("Jest ciemno")
fotocap()
#Dlaczego to działa: Sposób, w jaki dodałem czujnik światła do mojego kodu, polega na użyciu innej instrukcji if, która zawiera zaimportowaną funkcję czujnika światła.
Teraz ostatnim krokiem w tym projekcie byłoby aktywowanie drugiej symetrycznej diody RGBLED względem drugiej, aby działała jako lampa błyskowa, Ostateczny kod:
z gpiozero import Button
z picamera importuj PiCamera
z importu gpiozero RGBLED
z gpiozero import LightSensor
od czasu importuj sen
#Ustawiać
Kamera = PiCamera()
Przycisk = Przycisk(22)
TimedLED=RGBLED(czerwony=21, zielony=20, niebieski=16)
FlashLED=RGBLED(czerwony=19, zielony=13, niebieski=6)
LightSensor=LightSensor(23)
#Funkcja robienia zdjęć z diodą LED RGB, zdecydowałem się umieścić ją w funkcji definiowania, ponieważ pomaga nam oczyścić główny kod 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 ("Zdjęcie zostało zrobione") Camera.stop_preview() # Kod główny: while True: jeśli Button.is_pressed:
drukuj ("Przycisk został naciśnięty")
fotocap()
jeśli Button.is_pressed i Lightsensor.when_dark:
print ("Przycisk został naciśnięty") print("Jest ciemno")
FlashLED.kolor(1, 1, 1)
fotocap()
#Dlaczego to działa: Sposób, w jaki dodałem moją latarkę, polega na użyciu diody RGB do wyprowadzenia koloru białego, który wynosi 1, 1, 1 i robi to tylko wtedy, gdy stwierdzenie if jest prawdziwe.
Zalecana:
Instalacja Raspbian w Raspberry Pi 3 B bez HDMI - Pierwsze kroki z Raspberry Pi 3B - Konfiguracja Raspberry Pi 3: 6 kroków
Instalacja Raspbian w Raspberry Pi 3 B bez HDMI | Pierwsze kroki z Raspberry Pi 3B | Konfiguracja Raspberry Pi 3: Jak niektórzy z Was wiedzą, komputery Raspberry Pi są całkiem niesamowite i można mieć cały komputer tylko na jednej małej płytce. Raspberry Pi 3 Model B jest wyposażony w czterordzeniowy, 64-bitowy procesor ARM Cortex A53 taktowany zegarem 1,2 GHz. To daje Pi 3 około 50
Fotobudka Raspberry Pi: HTML5 i NodeJS: 4 kroki
Raspberry Pi PhotoBooth: HTML5 i NodeJS: Fotobudka HTML5 i NodeJS z podglądem na żywo i niestandardowymi obramowaniami. Ten projekt powstał jako coś, co stworzyłem na potrzeby szkolnego tańca mojej córki. Chciałem coś zabawnego dla niej i jej przyjaciół, aby zapamiętali to wydarzenie (to był ostatni raz, kiedy
Fotobudka ślubna / eventowa: 6 kroków (ze zdjęciami)
Fotobudka ślubna / eventowa: Witam wszystkich, wyszłam za mąż w zeszłym roku, kiedy szukamy przygotowań do D-day, byliśmy na wielu konwentach ślubnych. Na każdym konwencie jest najemca fotobudki, myślałem, że fotobudka był świetnym pomysłem na wesele, każdy gość
Zautomatyzowana fotobudka: 4 kroki (ze zdjęciami)
Zautomatyzowana fotobudka: pokaże Ci, jak zrobić zautomatyzowaną fotobudkę za pomocą raspberry pi, ultradźwiękowego czujnika odległości i kilku innych akcesoriów. Chciałem zrobić projekt wykorzystujący zarówno wyrafinowany sprzęt, jak i wyrafinowany program. Badam
Fotobudka inspirowana Instagramem: 18 kroków (ze zdjęciami)
Fotobudka DIY inspirowana Instagramem: Postanowiłem zbudować prostą fotobudkę jako zabawny dodatek do wydarzeń, zawiera ona podstawowe kroki, jak przeszłam od kilku kawałków drewna do w pełni funkcjonalnej budki. Dołączam też zdjęcie tego, jak wyglądają obrazy! Proszę nie