Isi kandungan:

Raspberry Pi Photobooth: 5 Langkah
Raspberry Pi Photobooth: 5 Langkah

Video: Raspberry Pi Photobooth: 5 Langkah

Video: Raspberry Pi Photobooth: 5 Langkah
Video: Raspberry Pi PhotoBooth with Printer Tutorial 2024, November
Anonim
Photobooth Raspberry Pi
Photobooth Raspberry Pi

Tujuan:

  • Ketahui cara membuat kod dan memasang Kamera Pi
  • Menggunakan definisi dan jika penyataan dalam pengekodan
  • Belajar menggunakan teknologi baru seperti LED RGB

Langkah 1: Apa yang Anda Perlu

Apa yang Anda Perlu
Apa yang Anda Perlu
Apa yang Anda Perlu
Apa yang Anda Perlu
Apa yang Anda Perlu
Apa yang Anda Perlu
  • 1 Raspberry Pi 3
  • Papan roti
  • Pelompat
  • 1 Perintang Bergantung Cahaya
  • 1 Kapasitor
  • 1 Butang Tekan
  • 6 220 Perintang Ohm
  • 2 LED RGB
  • 1 Kamera Raspberry Pi

Langkah 2: Menyambungkan Modul Kamera

Menyambungkan Modul Kamera
Menyambungkan Modul Kamera

Pertama sekali, dengan Pi dimatikan, anda perlu menyambungkan Modul Kamera ke port kamera Raspberry Pi, kemudian memulakan Pi dan memastikan perisian diaktifkan.

  1. Cari port kamera yang berada di antara port HDMI dan 3.5mm
  2. Tarik klip kamera di tepi plastik sehingga klip diagonal
  3. Sekarang masukkan kabel kamera dengan biru menghadap port 3.5mm

Langkah 3: Menyiapkan Kamera

Menyiapkan Kamera
Menyiapkan Kamera
Menyiapkan Kamera
Menyiapkan Kamera

Membuka alat Konfigurasi Pi Raspberry dari menu utama dan lumpuhkan dan aktifkan semua antara muka di atas

Dari menu Utama buka Terminal dan taip baris kod berikut:

Sudo Raspi-config

Sekarang dari sini gunakan kekunci anak panah anda untuk beroperasi melalui sistem dan klik pada pilihan sambungan Periferal dan dari klik mereka pada Kamera P1 dan aktifkan kamera, kemudian pilih selesai. Kembali ke jenis terminal dalam baris kod berikut:

pip memasang picamera

atau Sudo pip memasang Picamera

Langkah 4: Menguji Modul Kamera

Menguji Modul Kamera
Menguji Modul Kamera

Dari sini kita dapat menguji apakah kamera berfungsi atau tidak kerana kita semua perisian dan perkakasan diaktifkan.

Buka Python 3 dari menu

Dari sana buka fail baru dari shell dan simpan cameratest.py.

Masukkan kod berikut:

dari picamera import PiCamera #import modul yang dibuat dari pip memasang kamera pi dari waktu import impor #import tidur untuk memastikan kamera kita tetap pada kamera = PiCamera () #Siapkan kamera

camera.start_preview () # memulakan kamera dan menunjukkan kepada anda bagaimana output kamera

tidur (10) # membiarkan pratonton hidup selama 10 saat

camera.stop_preview () # akhirnya berhenti dari pratonton

Jalankan kod dengan F5

Sekiranya anda menerima ralat ini semasa menjalankan kod:

(mmal: mmal_vc_component_create: gagal membuat komponen 'vc.ril.camera' (1: ENOMEM)

mmal: mmal_component_create_core: tidak dapat membuat komponen 'vc.ril.camera' (1) Jejak (panggilan terakhir terakhir): Fail "", baris 1, dalam Fail "/usr/lib/python2.7/dist-packages/picamera /camera.py ", baris 257, dalam _init_ self._init_camera () Fail" /usr/lib/python2.7/dist-packages/picamera/camera.py ", baris 288, dalam awalan _init_camera =" Gagal membuat kamera komponen ") Fail" /usr/lib/python2.7/dist-packages/picamera/exc.py ", baris 112, dalam mmal_check meningkatkan PiCameraMMALError (status, awalan) picamera.exc. PiCameraMMALERalat: Gagal membuat komponen kamera: Keluar ingatan)

Sila pergi ke konfigurasi Raspberry Pi di bawah lajur prestasi dan tingkatkan memori GPU anda sehingga ralat hilang (harus reboot).

Sekarang untuk membuat foto yang akan disimpan ke desktop, kami akan menggunakan kod berikut:

dari picamera import PiCamera #Imported module yang dibuat dari perintah pip install pi camera dari waktu import import #Import sleep untuk memastikan kamera kita tetap aktif

kamera = PiCamera () #Sediakan untuk kamera

camera.start_preview () #Mulakan pratonton tidur (5) #Menghidupkan pratonton selama 5 saat

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

camera.stop_preview () # Menghentikan Pratonton

Langkah 5: Membuat Litar Dengan Kod

Membuat Litar Dengan Kod!
Membuat Litar Dengan Kod!
Membuat Litar Dengan Kod!
Membuat Litar Dengan Kod!
Membuat Litar Dengan Kod!
Membuat Litar Dengan Kod!

Seperti yang dilihat di atas dari gambarajah litar, kita perlu menyiapkan butang, LDR, dan akhirnya dua LED RGB. Mula-mula kita akan memasang butang di bahagian kiri bawah papan roti. Semasa penyediaan anda untuk butang, kami akan menggunakan jalur keretapi biasa yang bermaksud bahawa kami akan memasang 3.3V kami ke arah positif dan asas untuk negatif. Setelah anda selesai mengatur litar untuk butang sahaja.

Kami akan menguji litar kami untuk melihat apakah kami dapat membuatnya sehingga jika butang ditekan, kami menyalakan lampu dengan menggunakan kod berikut:

#Imported Moduldari gpiozero import Button dari picamera import PiCamera dari time import sleep

#Penyediaan

Kamera = PiCamera () Butang = Butang (22)

#Foto pengambilan fungsi, saya telah memutuskan untuk memasukkannya ke dalam fungsi menentukan kerana ia membantu kita membersihkan kod utama

def photocap ():

Camera.start_preview ()

tidur (5) Cetakan Camera.capture ('/ home / pi / Desktop / image.jpg') ("Foto diambil") Camera.stop_preview ()

# Kod utama:

sementara Benar: jika Button.is_pressed: print ("Button ditekan") photocap ()

#Mengapa ini berfungsi: Kod utama berfungsi seperti yang kita lakukan adalah menggunakan perintah if button.is_pressed dalam pernyataan benar sementara sehingga sentiasa dikemas kini apabila butang ditekan untuk mengambil foto

Sekarang kita akan memasang 2 LED RGB hingga ke bahagian atas litar dan memisahkannya di tengah papan roti dan menjadikannya simetris. Sekiranya anda tidak mempunyai perintang 220 ohm untuk projek ini, anda boleh menyiapkannya secara selari bergantung pada rintangan anda untuk perintang yang anda miliki. Pin kedua RGB LED 4 pin (yang terpanjang harus disambungkan ke tanah melalui landasan kereta api. Pin yang lain semuanya harus disambungkan ke pin GPIO mereka sendiri. (Pin pertama = merah, pin kedua = tanah, Pin Ketiga = hijau, Pin keempat = biru).

Kami akan menguji salah satu LED RGB kami di litar butang kami dengan kod di bawah:

#Imported Moduldari gpiozero import Button dari picamera import PiCamera

dari gpiozero import RGBLED

dari waktu tidur import

#Penyediaan

Kamera = PiCamera () Butang = Butang (22)

BerjangkaLED = RGBLED (merah = 21, hijau = 20, biru = 16)

#Foto mengambil fungsi dengan RGB LED, saya telah memutuskan untuk memasukkannya ke dalam fungsi menentukan kerana ia membantu kita membersihkan kod utama

def photocap (): Camera.start_preview () tidur (4)

timedled.color (1, 0, 0)

tidur (2)

timedled.color (0, 1, 0)

tidur (1)

Cetakan Camera.capture ('/ home / pi / Desktop / image.jpg') ("Foto diambil") Camera.stop_preview ()

# Kod utama:

Walaupun Betul:

jika Button.is_pressed:

cetak ("Butang ditekan") fotokap ()

#Mengapa ini berfungsi: Sebab mengapa kod ini berfungsi adalah kerana sekarang kita mendapat RGBLED berfungsi sebagai pemasa untuk ketika foto akan diambil

Sekarang siapkan perintang Bergantung Cahaya di sebelah kanan bawah papan roti menggunakan rajah sepanjang jalan di bahagian atas dan landasan kereta api biasa yang dibincangkan sebelumnya. Ingat kedua-dua kaki panjang LDR dan capicitator harus disambungkan ke pin GPIO.

Setelah kami menghubungkan LDR, kami akan menggunakan kod berikut:

# Modul yang Diimport

dari butang import gpiozero

dari picamera import PiCamera dari gpiozero import RGBLED

dari gpiozero import LightSensor

dari waktu tidur import

#Penyediaan

Kamera = PiCamera () Butang = Butang (22) BerjangkaLED = RGBLED (merah = 21, hijau = 20, biru = 16)

LightSensor = LightSensor (23)

#Foto mengambil fungsi dengan RGB LED, saya telah memutuskan untuk memasukkannya ke dalam fungsi menentukan kerana ia membantu kita membersihkan kod utama

def photocap (): Camera.start_preview () sleep (4) timedled.color (1, 0, 0) sleep (2) timedled.color (0, 1, 0) sleep (1) Camera.capture ('/ rumah / pi / Desktop / image-j.webp

# Kod utama:

Walaupun Betul:

jika Button.is_pressed: print ("Button ditekan") photocap ()

jika Button.is_pressed dan Lightsensor.when_dark:

cetak ("Butang Ditekan")

cetak ("Gelap")

fotokap ()

#Mengapa ini berfungsi: Cara saya menambahkan sensor Cahaya ke kod saya adalah melalui pernyataan lain jika mengandungi fungsi sensor cahaya yang diimport. Ketika gelap mengatur kita dengan sempurna untuk langkah seterusnya

Sekarang langkah terakhir untuk menyelesaikan projek ini adalah mengaktifkan simetri RGBLED yang lain untuk berfungsi sebagai lampu kilat, Kod akhir:

dari butang import gpiozero

dari picamera import PiCamera

dari gpiozero import RGBLED

dari gpiozero import LightSensor

dari waktu tidur import

#Penyediaan

Kamera = PiCamera ()

Butang = Butang (22)

BerjangkaLED = RGBLED (merah = 21, hijau = 20, biru = 16)

FlashLED = RGBLED (merah = 19, hijau = 13, biru = 6)

LightSensor = LightSensor (23)

#Foto mengambil fungsi dengan RGB LED, saya telah memutuskan untuk memasukkannya ke dalam fungsi menentukan kerana ia membantu kita membersihkan kod utama defococap (): Camera.start_preview () sleep (4) timedled.color (1, 0, 0) tidur (2) timedled.color (0, 1, 0) sleep (1) Camera.capture ('/ home / pi / Desktop / image.jpg') cetak ("Foto diambil") Camera.stop_preview () # Kod utama: sementara Benar: jika Button.is_pressed:

cetak ("Butang ditekan")

fotokap ()

jika Button.is_pressed dan Lightsensor.when_dark:

cetak ("Button Ditekan") cetak ("Ini gelap")

FlashLED.warna (1, 1, 1)

fotokap ()

#Mengapa ini berfungsi: Cara saya menambahkan Lampu Senter saya adalah dengan menggunakan RGB menyebabkan warna putih menjadi 1, 1, 1 dan ia hanya berlaku jika pernyataan jika benar.

Disyorkan: