Mundarija:

Avtomatlashtirilgan Photobooth: 4 qadam (rasmlar bilan)
Avtomatlashtirilgan Photobooth: 4 qadam (rasmlar bilan)

Video: Avtomatlashtirilgan Photobooth: 4 qadam (rasmlar bilan)

Video: Avtomatlashtirilgan Photobooth: 4 qadam (rasmlar bilan)
Video: Photoshopda 3x4 rasm ishlash 2024, Noyabr
Anonim
Avtomatlashtirilgan fotoboot
Avtomatlashtirilgan fotoboot

Bu sizga malina pi, ultrasonik masofa sensori va boshqa bir qancha aksessuarlardan foydalangan holda avtomatlashtirilgan fotostend yasashni ko'rsatib beradi. Men murakkab uskunadan ham, murakkab dasturdan ham foydalanadigan loyiha qilmoqchi edim. Men bu kabi loyihalarni raspberry pi resurslari sahifasida tadqiq qildim, bu loyihalarning ba'zilari python bilan jismoniy hisoblash va mikro -selfi. Ulardan biri malina pi kamerasini, ikkinchisi ultratovushli masofa sensori qanday ishlatilishini ko'rsatdi.

1 -qadam: materiallar

Materiallar
Materiallar

Devorni qurishni boshlashdan oldin sizga ba'zi materiallar kerak bo'ladi:

1 x Raspberry Pi 3

1 x T-Cobbler

1 x Pi kamera

1 x Ultrasonik masofa sensori

3 x RGB LED

10 x 330 Ohmli rezistorlar

1 x 560 Ohm qarshilik

5 x Har xil rangdagi kabellar g'altagi

1 x non paneli

2 -qadam: aylanani qurish

Circutni qurish
Circutni qurish
Circutni qurish
Circutni qurish
Circutni qurish
Circutni qurish
Circutni qurish
Circutni qurish

Men o'z davramni ulashda shunday yo'l tutdim:

1. Ushbu sxemani yaratish uchun siz Raspberry Pi kamerasini mos keladigan rozetkaga ulashni xohlaysiz

2. T-Cobbler-ni non paneliga ulang.

3. Maxsus uzunlikdagi o'tish kabellari yordamida bittasini elektr raylga, ikkinchisini esa yerga tutashtiruvchi relsga ulang

4. Ultrasonik masofa sensorini ulang va "vcc" oyog'ini quvvatga, "gnd" ni erga, "trig" ni GPIO piniga va "echo" ni 560 ohmli rezistorga ulaydigan 330 ohmli rezistorga ulang. bu yerga va GPIO piniga ulangan.

5. Uchta RGB LEDni LEDlar anodini quvvat manbaiga joylashtiring va LEDlarning rangini boshqaruvchi turli oyoqlarini 330 ohmli rezistorlarga, so'ngra GPIO pinlariga ulang.

3 -qadam: Kod

Raspberry Pi -ni GPIO pinlaridan foydalanish uchun biz biror narsani qilish uchun pinlarni kodlashimiz kerak bo'ladi. Men qilgan kodni yaratish uchun men python 3 IDLE dan foydalanardim. Men qilgan kod ishlash uchun RPi. GPIO va gpiozero kutubxonasidan foydalanadi. Turli xil ranglar uchun protseduralar mavjud va masofani ultratovushli datchik yordamida hisoblaydigan funksiya mavjud va diapazonda biror narsa bo'lsa, u pi kamerani oldindan ko'rishni ochadi, LEDlar esa orqaga qaytadi, keyin rasm olinadi.

Mana men ishlatgan kod:

picamera import dan PiCamerafrom gpiozero import Button, LED dan uyqu vaqtini import qilish RPi. GPIO GPIO import vaqti sifatida

r = [LED (23), LED (25), LED (12)]

g = [LED (16), LED (20), LED (21)] b = [LED (17), LED (27), LED (22)] tugma = Tugma (24) GPIO.setmode (GPIO. BCM) GPIO_TRIGGER = 19 GPIO_ECHO = 26 GPIO. sozlash (GPIO_TRIGGER, GPIO. OUT) GPIO. sozlash (GPIO_ECHO, GPIO. IN)

def qizil (x):

r [x].off () g [x].on () b [x].on ()

o'chirish (x):

r [x].on () g [x].on () b [x].on ()

def off ():

r [0].on () g [0].on () b [0].on () r [1].on () g [1].on () b [1].on () r [2].on () g [2].on () b [2].on ()

yashil yashil (x):

r [x].on () g [x].off () b [x].on ()

ochiq ko'k (x):

r [x].on () g [x].on () b [x].off ()

def run ():

camera.capture ('selfie.jpg') camera.stop_preview ()

def masofasi ():

GPIO.output (GPIO_TRIGGER, True) time.sleep (0.00001) GPIO.output (GPIO_TRIGGER, False) StartTime = time.time () StopTime = time.time () GPIO.input (GPIO_ECHO) == 0: StartTime = time.time () while GPIO.input (GPIO_ECHO) == 1: StopTime = time.time () TimeElapsed = StopTime - StartTime masofasi = (TimeElapsed *34300) / 2 qaytish masofasi

o'chirilgan ()

while True: d = masofa () agar int (d) <= 30 bo'lsa: PiCamera () bilan kamera: kamera.start_preview () qizil (0) uyqu (1) ko'k (1) uyqu (1) yashil (2) uyqu (1) off () camera.capture ('selfie.jpg') camera.stop_preview ()

Tavsiya: