Mundarija:
- 1 -qadam: Sizga nima kerak
- 2 -qadam: Kamera modulini ulash
- 3 -qadam: Kamerani sozlash
- 4 -qadam: Kamera modulini sinovdan o'tkazish
- 5 -qadam: Kod yordamida sxemani yaratish
Video: Raspberry Pi Photobooth: 5 qadam
2024 Muallif: John Day | [email protected]. Oxirgi o'zgartirilgan: 2024-01-30 13:25
Maqsad:
- Pi kamerasini kodlashni va o'rnatishni o'rganing
- Kodlashda "if" va "if" so'zlaridan foydalanish
- RGB LED kabi yangi texnologiyalardan foydalanishni o'rganish
1 -qadam: Sizga nima kerak
- 1 Raspberry Pi 3
- Non paneli
- Jumperlar
- 1 nurga bog'liq qarshilik
- 1 kondansatör
- 1 bosish tugmasi
- 6 220 Ohmli rezistorlar
- 2 RGB LED
- 1 Raspberry Pi kamerasi
2 -qadam: Kamera modulini ulash
Birinchidan, Pi o'chirilgan bo'lsa, siz kamera modulini Raspberry Pi kamerasining portiga ulashingiz kerak, keyin Pi -ni ishga tushiring va dasturiy ta'minot yoqilganligiga ishonch hosil qiling.
- HDMI va 3,5 mm portlar orasidagi kamera portini toping
- Klip diagonal bo'lguncha kamera qisqichini plastik chetidan torting
- Endi kameralar kabelini ko'k rangli 3,5 mm portga qarating
3 -qadam: Kamerani sozlash
Asosiy menyudan Raspberry Pi konfiguratsiya vositasini oching va yuqoridagi barcha interfeyslarni o'chiring va yoqing
Asosiy menyudan terminalni oching va quyidagi kod satrlarini kiriting:
Sudo Raspi-konfiguratsiyasi
Endi bu erdan o'q tugmalaridan foydalanib, tizimda ishlash va periferik ulanish opsiyasini bosing va P1 kamerani bosing va kamerani yoqing, so'ng tugatish -ni tanlang. Quyidagi kod satrlarida terminal turiga qaytish:
pikamera o'rnatish
yoki Sudo pip Picamera -ni o'rnatadi
4 -qadam: Kamera modulini sinovdan o'tkazish
Bu erdan biz kamera ishlayaptimi yoki yo'qligini tekshirib ko'rishimiz mumkin, chunki bizda barcha dasturiy va uskunalar yoqilgan.
Menyudan Python 3 -ni oching
U erdan qobiqdan yangi faylni oching va uni cameratest.py -ga saqlang.
Quyidagi kodni kiriting:
pikamera importidan PiCamera #mimport qilingan modul, pip o'rnatish pi kamera buyrug'idan yaratilgan, bizning kameramiz kamerada qolishiga ishonch hosil qilish uchun, vaqt uyqu #import uyqu = PiCamera () #Kamera uchun sozlash.
camera.start_preview ()#kamerani ishga tushiradi va kamera chiqishi qanday ko'rinishini ko'rsatadi
uxlash (10)#ko'rishni 10 soniya davomida qoldiradi
camera.stop_preview ()#nihoyat oldindan ko'rishni to'xtatadi
Kodni F5 bilan ishlating
Agar siz kodni ishga tushirishda ushbu xatoni qabul qilsangiz:
(mmal: mmal_vc_component_create: 'vc.ril.camera' komponentasini yaratib bo'lmadi (1: ENOMEM)
mmal: mmal_component_create_core: 'vc.ril.camera' komponentasini yaratib bo'lmadi (1) Traceback (oxirgi oxirgi qo'ng'iroq): Fayl "", 1-satr, Faylda "/usr/lib/python2.7/dist-packages/picamera /camera.py ", 257-qator, _init_ self._init_camera () Fayl" /usr/lib/python2.7/dist-packages/picamera/camera.py ", 288-satr, _init_camera prefiksida =" Kamera yaratib bo'lmadi ") Fayl" /usr/lib/python2.7/dist-packages/picamera/exc.py ", 112-qator, mmal_check-da PiCameraMMALError (holat, prefiks) picamera.exc. PiCameraMMALError ko'tariladi: Kamera komponentasini yaratib bo'lmadi: tashqarida xotira)
Iltimos, Raspberry Pi konfiguratsiyasiga o'ting, ishlash ustuniga o'ting va xato yo'qolguncha GPU xotirasini yaxshilang (qayta ishga tushirish kerak).
Endi ish stolida saqlanadigan rasm yaratish uchun biz quyidagi kodni ishlatamiz:
pikamera importidan PiCamera #Kameraning doimiy ishlashiga ishonch hosil qilish uchun pip import pi kamera buyrug'idan yaratilgan vaqt import import uyqu #Import qilingan uyqu.
kamera = PiCamera () #Kamera uchun sozlash
camera.start_preview () #Oldindan ko'rishni boshlaydi (5) #Ko'rib chiqishni 5 soniya davomida qoldiradi
camera.capture ('/home/pi/Desktop/image.jpg')# dan
camera.stop_preview ()#Ko'rib chiqishni to'xtatadi
5 -qadam: Kod yordamida sxemani yaratish
Yuqorida ko'rsatilgan sxemalardan ko'rinib turibdiki, biz tugmani, LDRni va nihoyat ikkita RGB LEDni sozlashimiz kerak. Birinchidan, biz taxtaning chap pastki qismidagi tugmani o'rnatamiz. Tugmachani sozlash paytida biz umumiy temir yo'l liniyalaridan foydalanamiz, ya'ni biz 3.3V ni ijobiy va negativiga ulaymiz. O'chirish tugagandan so'ng, faqat tugma uchun.
Biz tugmani bosganimizda, biz quyidagi kodni ishlatib, chiroqni yoqamiz, shunday qilib, biz buni qila olamizmi, deb tekshiramiz.
#Import qilingan modullar gpiozero importidan Pikameradan import qilish uyqusidan PiCamera import qilish.
#Sozlash
Kamera = PiCamera () tugmasi = tugmasi (22)
#Suratga olish funktsiyasi, men uni asosiy funktsiyani tozalashga yordam beradigan aniqlangan funktsiyaga kiritishga qaror qildim
def photocap ():
Camera.start_preview ()
uxlash (5) Camera.capture ('/home/pi/Desktop/image.jpg') chop etish ("Rasm olingan") Camera.stop_preview ()
#Asosiy kod:
while True: agar Button.is_pressed: print ("Tugma bosildi") photocap ()
#Nimaga bu ishlaydi: asosiy kod ishlaydi, chunki biz tugmachasi.is_pressed buyrug'ini ishlatamiz, shuning uchun tugma bosilganda u doimo yangilanadi.
Endi biz 2 ta RGB LEDni sxemaning yuqori qismiga qadar o'rnatamiz va ularni taxtaning o'rtasida ajratamiz va nosimmetrik qilamiz. Agar sizda bu loyiha uchun 220 ohmli rezistorlar bo'lmasa, ularni qarshilikka qarab qarshilikka qarab parallel ravishda o'rnatishingiz mumkin. 4 -pinli RGB LED -ning ikkinchi pimi (eng uzun temir yo'l orqali erga ulanishi kerak. Boshqa pinlarning hammasi o'z GPIO pinlariga ulangan bo'lishi kerak., To'rtinchi pin = ko'k).
Biz tugmachamizdagi RGB LED -laridan birini quyidagi kod bilan sinovdan o'tkazamiz:
#Import qilingan modullar gpiozero importidan PiCamera picamera import tugmasi
gpiozero -dan RGBLED importi
vaqtdan boshlab uyqu
#Sozlash
Kamera = PiCamera () tugmasi = tugmasi (22)
Vaqtli LED = RGBLED (qizil = 21, yashil = 20, ko'k = 16)
#RGB LED yordamida suratga olish funktsiyasi, men uni belgilangan funktsiyaga kiritishga qaror qildim, chunki bu bizga asosiy kodni tozalashga yordam beradi.
def photocap (): Camera.start_preview () uyqu (4)
timedled.color (1, 0, 0)
uxlash (2)
timedled.color (0, 1, 0)
uxlash (1)
Camera.capture ('/home/pi/Desktop/image.jpg') chop etish ("Rasm olingan") Camera.stop_preview ()
#Asosiy kod:
rost bo'lsa:
agar Button.is_pressed bo'lsa:
chop etish ("Tugma bosildi") fotokapak ()
#Nima uchun bu ishlaydi: bu kodning ishlashining sababi shundaki, endi biz RGBLED -ni suratga olish vaqtini taymer sifatida ishlashimiz kerak.
Endi yuqoridan yuqoriga qarab chizilgan va umumiy temir yo'llardan foydalanib, non panelining o'ng pastki qismidagi Nurga bog'liq rezistorni o'rnating. Esda tutingki, LDRning uzun oyoqlari va kapitatori GPIO piniga ulangan bo'lishi kerak.
LDR ulanganidan so'ng biz quyidagi kodni ishlatamiz:
#Import qilingan modullar
gpiozero import tugmachasidan
picamera importidan PiCamera gpiozero importidan RGBLED
LightSensor gpiozero importidan
vaqtdan boshlab uyqu
#Sozlash
Kamera = PiCamera () tugmasi = tugmasi (22) Vaqtli LED = RGBLED (qizil = 21, yashil = 20, ko'k = 16)
LightSensor = LightSensor (23)
#RGB LED yordamida suratga olish funktsiyasi, men uni belgilangan funktsiyaga kiritishga qaror qildim, chunki bu bizga asosiy kodni tozalashga yordam beradi.
def photocap (): Camera.start_preview () uyqu (4) vaqtli.rang (1, 0, 0) uyqu (2) vaqtli.rang (0, 1, 0) uyqu (1) Kamera.tasvirga olish ('/uy/ pi/Desktop/image-j.webp
#Asosiy kod:
rost bo'lsa:
if Button.is_pressed: print ("Tugma bosildi") fotokapak ()
agar Button.is_pressed va Lightsensor.when_dark:
chop etish ("Tugma bosildi")
chop etish ("Qorong'i")
qopqoq ()
#Nimaga bu ishlaydi: yorug'lik kodini kodimga qo'shish usuli - yorug'lik sensori import qilingan funktsiyasini o'z ichiga olgan boshqa ifoda orqali.
Endi bu loyihani amalga oshirishning oxirgi bosqichi boshqa RGBLEDni nosimmetrik tarzda yondirib chiroq sifatida ishlash bo'ladi.
Yakuniy kod:
gpiozero import tugmachasidan
pikameradan PiCamera import qilinadi
gpiozero -dan RGBLED importi
LightSensor gpiozero importidan
vaqtdan boshlab uyqu
#Sozlash
Kamera = PiCamera ()
Tugma = tugma (22)
Vaqtli LED = RGBLED (qizil = 21, yashil = 20, ko'k = 16)
FlashLED = RGBLED (qizil = 19, yashil = 13, ko'k = 6)
LightSensor = LightSensor (23)
#RGB LED yordamida suratga olish funktsiyasi, men uni aniqlangan funktsiyaga kiritishga qaror qildim, chunki u asosiy kodni tozalashga yordam beradi defococ (): Camera.start_preview () sleep (4) timedled.color (1, 0, 0)) uyqu (2) timedled.color (0, 1, 0) uyqu (1) Camera.capture ('/home/pi/Desktop/image.jpg') chop etish ("Rasm olingan") Camera.stop_preview () # Asosiy kod: True bo'lsa: Button.is_pressed:
chop etish ("Tugma bosildi")
qopqoq ()
agar Button.is_pressed va Lightsensor.when_dark:
chop etish ("Tugma bosildi") chop etish ("Qorong'i")
FlashLED.rang (1, 1, 1)
qopqoq ()
#Nima uchun bu ishlaydi: Chiroqni qo'shish usuli - RGB yordamida oq rangni chiqarishga olib keldi, bu 1, 1, 1 va agar if iborasi to'g'ri bo'lsa.
Tavsiya:
Raspberry Pi bilan LED chirog'i - Raspberry Pi -da GPIO pinlarini qanday ishlatish kerak: 4 qadam
Raspberry Pi bilan LED chirog'i | Raspberry Pi -da GPIO pinlarini qanday ishlatish kerak: Salom bolalar, biz bu ko'rsatmalarda Raspberry pi -ning GPIO -dan qanday foydalanishni bilib olamiz. Agar siz hech qachon Arduino -dan foydalanmagan bo'lsangiz, demak, biz bilamizki, biz LED kalitini va boshqalarni uning pinlariga ulashimiz va uni shunday ishlashini ta'minlashimiz mumkin. LEDni yondiring yoki kalitdan kirishni oling, shunda
Raspberry Pi PhotoBooth: HTML5 va NodeJS: 4 qadam
Raspberry Pi PhotoBooth: HTML5 va NodeJS: HTML5 va NodeJS fotobooti oldindan ko'rish va maxsus chegaralar bilan. Bu loyiha men qizimning maktab raqsi uchun qurgan narsamdan boshlandi. Men unga va uning do'stlariga bu voqeani eslab qolishlarini xohlardim (ular oxirgi marta
Raspberry Pi Centro De Cómputo Para Ninos Con Raspberry Pi: 7 qadam
Raspberry Pi uchun Centro De Cómputo kartalari: Raspberry Pi 2 adapteri micro SD (8 gigabaytli) USB -kabel, HDMI -Cargador kalamush va ocute; kompyuteri Kit -in -in -ni tekshiring
Avtomatlashtirilgan Photobooth: 4 qadam (rasmlar bilan)
Avtomatlashtirilgan Photobooth: Bu sizga malina pi, ultrasonik masofa sensori va boshqa bir qancha aksessuarlardan foydalangan holda avtomatlashtirilgan fotostend yasashni ko'rsatadi. Men murakkab uskunadan ham, murakkab dasturdan ham foydalanadigan loyiha qilmoqchi edim. Men tadqiq qilyapman
DIY Photobooth: 7 qadam (rasmlar bilan)
DIY Photobooth: bu butun dunyodagi savdo markazlari, istirohat bog'lari va savdo markazlarida ko'riladigan an'anaviy fotobootni yaratish bo'yicha qo'llanma. Biroq, bu stend butunlay raqamli va uyda qilish ancha arzon/oson. Yozaman