İçindekiler:
- Adım 1: Neye İhtiyacınız Olacak?
- Adım 2: Kamera Modülünü Bağlama
- 3. Adım: Kamerayı Ayarlama
- Adım 4: Kamera Modülünü Test Etme
- Adım 5: Kodlu Devre Oluşturma
Video: Raspberry Pi Fotoğraf Kabini: 5 Adım
2024 Yazar: John Day | [email protected]. Son düzenleme: 2024-01-30 13:19
Amaç:
- Pi Kamerayı nasıl kodlayacağınızı ve kuracağınızı öğrenin
- Kodlamada define ve if ifadelerini kullanma
- RGB LED'ler gibi yeni teknolojileri kullanmayı öğrenmek
Adım 1: Neye İhtiyacınız Olacak?
- 1 Ahududu Pi 3
- ekmek tahtası
- Süveterler
- 1 Işık Bağımlı Direnç
- 1 Kapasitör
- 1 Basma Düğmesi
- 6 220 Ohm Dirençler
- 2 RGB LED
- 1 Ahududu Pi Kamera
Adım 2: Kamera Modülünü Bağlama
Her şeyden önce, Pi kapalıyken, Kamera Modülünü Raspberry Pi'nin kamera bağlantı noktasına bağlamanız, ardından Pi'yi başlatmanız ve yazılımın etkinleştirildiğinden emin olmanız gerekir.
- HDMI ve 3,5 mm bağlantı noktası arasındaki kamera bağlantı noktasını bulun
- Klip çapraz olana kadar kamera klipsini plastik kenarlarından yukarı çekin
- Şimdi kamera kablosunu mavi tarafı 3,5 mm bağlantı noktasına bakacak şekilde takın
3. Adım: Kamerayı Ayarlama
Ana menüden Raspberry Pi Yapılandırma aracını açın ve yukarıdaki tüm arayüzleri devre dışı bırakın ve etkinleştirin
Ana menüden Terminal'i açın ve aşağıdaki kod satırlarını yazın:
Sudo Raspi yapılandırması
Şimdi buradan ok tuşlarını kullanarak sistem üzerinden işlem yapın ve Periferik bağlantı seçeneğine tıklayın ve onlardan P1 Kamera'ya tıklayın ve kamerayı etkinleştirin, ardından bitir'i seçin. Aşağıdaki kod satırlarında terminal tipine geri dönersek:
pip kurulum picamera
veya Sudo pip Picamera'yı kurun
Adım 4: Kamera Modülünü Test Etme
Buradan, tüm yazılım ve donanımları etkinleştirdiğimiz için kameranın çalışıp çalışmadığını test edebiliriz.
Menüden Python 3'ü açın
Oradan kabuktan yeni bir dosya açın ve onu bir cameratest.py olarak kaydedin.
Aşağıdaki kodu girin:
picamera'dan import PiCamera #imported modülü pip install pi camera komutundan oluşturulan zamandan import sleep #imported uyku kameramızın kamerada kalmasını sağlamak için = PiCamera() #Kamera için kurulum
camera.start_preview()#kamerayı başlatır ve kamera çıktısının nasıl göründüğünü size gösterir
uyku(10)#önizlemeyi 10 saniye açık bırakır
camera.stop_preview()#sonunda önizlemeden çıkıyor
Kodu F5 ile çalıştırın
Kodu çalıştırırken bu hatayı alırsanız:
(mmal: mmal_vc_component_create: 'vc.ril.camera' bileşeni oluşturulamadı (1:ENOMEM)
mmal: mmal_component_create_core: 'vc.ril.camera' bileşeni oluşturulamadı (1) Geri İzleme (en son çağrı son): Dosya "", satır 1, Dosya "/usr/lib/python2.7/dist-packages/picamera /camera.py", satır 257, _init_ self._init_camera() Dosyasında "/usr/lib/python2.7/dist-packages/picamera/camera.py", satır 288, _init_camera önekinde="Kamera oluşturulamadı component") Dosya "/usr/lib/python2.7/dist-packages/picamera/exc.py", satır 112, mmal_check olarak yükselt PiCameraMMALError(status, prefix) picamera.exc. PiCameraMMALError: Kamera bileşeni oluşturulamadı: Out hafıza)
Lütfen Raspberry Pi yapılandırmasına gidin, performans sütununun altına gidin ve hata giderilene kadar GPU belleğinizi artırın (yeniden başlatmanız gerekir).
Şimdi masaüstüne kaydedilecek bir fotoğraf oluşturmak için aşağıdaki kodu kullanacağız:
picamera'dan içe aktar PiCamera #Pip install pi camera komutundan oluşturulan içe aktarılan modül, zaman içe aktar uyku #Kameramızın açık kalmasını sağlamak için içe aktarılan uyku
camera = PiCamera() #Kamera için kurulum
camera.start_preview() #Önizleme uykusunu başlatır(5)#Önizlemeyi 5 saniyeliğine açık bırakır
camera.capture('/home/pi/Desktop/image.jpg')#
camera.stop_preview()#Önizlemeyi durdurur
Adım 5: Kodlu Devre Oluşturma
Yukarıdaki devre şemalarından da görüldüğü gibi bir buton, bir LDR ve son olarak iki RGB LED kurmamız gerekiyor. İlk olarak breadboard'un sol alt tarafında bulunan butonu ayarlayacağız. Düğme için kurulumunuz sırasında ortak demiryolu hatlarını kullanacağız, yani 3.3V'umuzu pozitif ve negatif için toprağa takacağız. Sadece buton için devre kurulumunu bitirdikten sonra.
Devremizi yapıp yapamayacağımızı görmek için devremizi test edeceğiz, böylece düğmeye basılırsa aşağıdaki kodu kullanarak led'i açarız:
#Imported Modules from gpiozero import Picamera'dan buton PiCamera'yı zamandan import uykudan içe aktar
#Kurmak
Kamera = PiCamera() Buton = Buton(22)
#Fotoğraf çekme işlevi, ana kodu temizlememize yardımcı olduğu için onu bir tanımlama işlevine koymaya karar verdim
def photocap():
Camera.start_preview()
uyku(5) Camera.capture('/home/pi/Desktop/image.jpg') yazdır ("Fotoğraf çekildi") Camera.stop_preview()
#Ana kod:
while True: Button.is_pressed ise: print ("Düğmeye basıldı") photocap()
#Neden bu işe yarıyor: Ana kod çalışıyor, yaptığımız tek şey if button.is_pressed a while true ifadesinde komutu kullanmak, böylece fotoğraf çekmek için düğmeye basıldığında sürekli güncelleniyor
Şimdi devrenin tepesine kadar 2 adet RGB LED kuracağız ve bunları devre tahtasının ortasında ayırıp simetrik hale getireceğiz. Bu proje için 220 ohm dirençleriniz yoksa sahip olduğunuz dirençler için direncinize göre paralel kurabilirsiniz. 4 pinli RGB LED'in ikinci pini (en uzun olanı demiryolu üzerinden toprağa bağlanmalıdır. Diğer pinlerin hepsi kendi GPIO pinlerine bağlanmalıdır. (Birinci pin =kırmızı, İkinci pin = toprak, Üçüncü Pin = yeşil), Dördüncü pim = mavi).
Buton devremizde RGB ledlerimizden birini aşağıdaki kod ile test edeceğiz:
#Imported Modules from gpiozero import PiCamera'dan import Button PiCamera
gpiozero'dan RGBLED'i içe aktar
zamandan içe uyku
#Kurmak
Kamera = PiCamera() Buton = Buton(22)
ZamanlıLED=RGBLED(kırmızı=21, yeşil=20, mavi=16)
#RGB LED ile fotoğraf çekme işlevi, ana kodu temizlememize yardımcı olduğu için onu tanımlama işlevine koymaya karar verdim
def photocap(): Camera.start_preview() uyku(4)
timedled.color(1, 0, 0)
uyku(2)
timedled.color(0, 1, 0)
uyku(1)
Camera.capture('/home/pi/Desktop/image.jpg') yazdır ("Fotoğraf çekildi") Camera.stop_preview()
#Ana kod:
Doğru iken:
Button.is_pressed ise:
print ("Düğmeye basıldı") photocap()
#Bu neden işe yarıyor: Bu kodun çalışmasının nedeni, artık RGBLED'in fotoğrafın ne zaman çekileceğine dair bir zamanlayıcı olarak çalışmasına sahip olmamızdır.
Şimdi, şemayı en üstte ve daha önce tartışılan ortak demiryollarını kullanarak devre tahtasının sağ alt tarafına Işık Bağımlı direncini kurun. LDR'nin her iki uzun ayağının ve kapisitatörün GPIO pinine bağlı olması gerektiğini unutmayın.
LDR'yi bağladıktan sonra aşağıdaki kodu kullanacağız:
#İthal Modüller
gpiozero'dan içe aktarma Düğmesi
picamera'dan PiCamera'yı gpiozero'dan içe aktar RGBLED'i içe aktar
gpiozero'dan LightSensor'ü içe aktarın
zamandan içe uyku
#Kurmak
Kamera = PiCamera() Buton = Buton(22) ZamanlıLED=RGBLED(kırmızı=21, yeşil=20, mavi=16)
LightSensor=Işık Sensörü(23)
#RGB LED ile fotoğraf çekme işlevi, ana kodu temizlememize yardımcı olduğu için onu tanımlama işlevine koymaya karar verdim
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') yazdır ("Fotoğraf çekildi") Camera.stop_preview()
#Ana kod:
Doğru iken:
if Button.is_pressed: print ("Düğmeye basıldı") photocap()
Button.is_pressed ve Lightsensor. When_dark ise:
yazdır ("Düğmeye Basıldı")
print("Karanlık")
fotoğraf kapağı()
#Neden bu işe yarıyor: Koduma Işık sensörünü ekleme yöntemim, ışık sensörünün içe aktarılan işlevini içeren başka bir if ifadesinden geçiyor. When dark bizi bir sonraki adımımız için mükemmel bir şekilde ayarlıyor
Şimdi bu projedeki son adım, diğer RGBLED'i diğerine simetrik olarak flaş ışığı olarak çalışacak şekilde etkinleştirmek olacaktır.
Son kod:
gpiozero'dan içe aktarma Düğmesi
picamera'dan içe aktarma PiCamera
gpiozero'dan RGBLED'i içe aktar
gpiozero'dan LightSensor'u içe aktarın
zamandan içe uyku
#Kurmak
Kamera = PiCamera()
Düğme = Düğme(22)
ZamanlıLED=RGBLED(kırmızı=21, yeşil=20, mavi=16)
FlaşLED=RGBLED(kırmızı=19, yeşil=13, mavi=6)
LightSensor=Işık Sensörü(23)
#RGB LED ile fotoğraf çekme işlevi, ana kodu temizlememize yardımcı olduğu için onu bir tanımlama işlevine koymaya karar verdim 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ğraf çekildi") Camera.stop_preview() # Ana kod: True iken: Button.is_pressed ise:
yazdır ("Düğmeye basıldı")
fotoğraf kapağı()
Button.is_pressed ve Lightsensor. When_dark ise:
print ("Düğmeye Basıldı") print("Karanlık")
FlashLED.renk(1, 1, 1)
fotoğraf kapağı()
#Neden bu işe yarıyor: El Fenerimi ekleme şeklim, 1, 1, 1 olan beyaz rengin çıktısını almak için RGB ledini kullanmaktır ve bu sadece if ifadesi doğruysa bunu yapar.
Önerilen:
Tweetbot - Twitter Bağlantılı Fotoğraf Kabini: 4 Adım (Resimlerle)
Tweetbot - Twitter Bağlantılı Fotoğraf Kabini: Bu projede partilerde fotoğraf kabininde kullanılabilecek Raspberry Pi ile çalışan bir kamera yapacağız. Fotoğraf çekildikten sonra, herkesin daha sonra görmesi için belirlenmiş bir Twitter hesabına gönderilebilir. Bu eğitim, te kapsayacak
Düğün / Etkinlik Fotoğraf Kabini: 6 Adım (Resimli)
Düğün / Etkinlik Photobooth: Herkese merhaba, geçen sene evlendim, D-günü hazırlığı ararken bir çok düğün organizasyonuna gittik. bir düğün için harika bir fikirdi, her misafir
Otomatik Fotoğraf Kabini: 4 Adım (Resimlerle)
Otomatik Fotoğraf Kabini: Bu size ahududu pi, ultrasonik mesafe sensörü ve diğer birkaç aksesuarı kullanarak nasıl otomatik bir fotoğraf kabini yapacağınızı gösterecektir. Hem gelişmiş donanım hem de karmaşık bir program kullanan bir proje yapmak istedim. araştırıyorum
Kendin Yap Katılımsız Fotoğraf Kabini: 12 Adım (Resimlerle)
DIY Katılımsız Fotoğraf Kabini: Bir dükkanın bir köşesine kurulabilen ve gözetimsiz çalıştırılabilen bir fotoğraf kabini
Kendin Yap Fotoğraf Kabini: 7 Adım (Resimlerle)
Kendin Yap Fotoğraf Kabini: Bu, dünyanın her yerindeki alışveriş merkezlerinde, eğlence parklarında ve alışveriş merkezlerinde görülen geleneksel fotoğraflara çok benzeyen kendi fotoğraf kabininizi nasıl oluşturacağınıza dair bir eğitimdir. Ancak bu stant tamamen dijitaldir ve evde yapılması çok daha ucuz/kolaydır. ben