İçindekiler:

Otomatik Fotoğraf Kabini: 4 Adım (Resimlerle)
Otomatik Fotoğraf Kabini: 4 Adım (Resimlerle)

Video: Otomatik Fotoğraf Kabini: 4 Adım (Resimlerle)

Video: Otomatik Fotoğraf Kabini: 4 Adım (Resimlerle)
Video: Şerit Takip Sistemi Kaza Anı 🚘 Lane Tracking System Accident ⚡️🆘⚠️⛔️ 2024, Temmuz
Anonim
Otomatik Fotoğraf Kabini
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. Raspberry pi kaynakları sayfasında bunun gibi projeleri araştırdım, bu projelerden bazıları python ile fiziksel hesaplama ve mikro bit selfie. Bunlardan biri ahududu pi kameranın nasıl kullanılacağını, diğeri ise ultrasonik mesafe sensörünün nasıl kullanılacağını gösterdi.

Adım 1: Malzemeler

Malzemeler
Malzemeler

Devremizi oluşturmaya başlamadan önce bazı malzemelere ihtiyacınız olacak:

1 x Ahududu Pi 3

1 x T-Ayakkabıcı

1 x Pi Kamera

1 x Ultrasonik Mesafe Sensörü

3 x RGB LED'ler

10 x 330 Ohm Dirençler

1 x 560 Ohm Direnç

5 x Farklı renkte kablo makarası

1 x Ekmek Tahtası

Adım 2: Devreyi İnşa Etmek

Devreyi İnşa Etmek
Devreyi İnşa Etmek
Devreyi İnşa Etmek
Devreyi İnşa Etmek
Devreyi İnşa Etmek
Devreyi İnşa Etmek
Devreyi İnşa Etmek
Devreyi İnşa Etmek

Devremi bağlamak için gittiğim yol bu:

1. Bu devreyi yapmak için Raspberry Pi kamerayı uygun sokete takmanız gerekir.

2. T-Cobbler'ı devre tahtasına takın.

3. Özel uzunlukta atlama kabloları kullanarak birini güç rayına ve diğerini toprak rayına bağlayın

4. Ultrasonik mesafe sensörünü takın ve 'vcc' bacağını güce, 'gnd'yi toprağa, 'trig'i bir GPIO pinine ve 'echo'yu 560 ohm'luk bir dirence bağlanan 330 ohm'luk bir rezistöre takın. toprağa ve bir GPIO pinine bağlı.

5. LED'lerin anodunu güce bağlayan devre tahtasına üç RGB LED'i yerleştirin ve LED'lerin rengini kontrol eden farklı bacakları 330 ohm dirençlere ve ardından GPIO pinlerine bağlayın.

Adım 3: Kod

Raspberry Pi'nin GPIO pinlerini kullanabilmesi için pinleri bir şeyler yapacak şekilde kodlamamız gerekir. Yaptığım kodu yapmak için python 3 IDLE kullandım. Yaptığım kod, çalışmak için gpiozero kitaplığının yanı sıra RPi. GPIO'yu da kullanıyor. Farklı renkler için prosedürler vardır ve ultrasonik mesafe sensörünü kullanarak mesafeyi hesaplayan bir fonksiyon vardır ve aralıkta bir şey olduğunda pi kamera önizlemesini açar ve LED'ler geri sayım yapar ve ardından bir resim çekilir.

İşte kullandığım kod:

picamera'dan PiCamera'yı gpiozero'dan içe aktarma Düğmesi, zamandan LED'i içe aktarma uyku içe aktarma GPIO içe aktarma süresi olarak RPi. GPIO'yu içe aktarma

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

g = [LED (16), LED (20), LED (21)] b = [LED (17), LED (27), LED (22)] düğmesi = Düğme(24) GPIO.setmode(GPIO. BCM) GPIO_TRIGGER = 19 GPIO_ECHO = 26 GPIO.setup(GPIO_TRIGGER, GPIO. OUT) GPIO.setup(GPIO_ECHO, GPIO. IN)

tanım kırmızı(x):

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

def kapalı(x):

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

def kapalı():

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()

def yeşil(x):

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

tanım mavi(x):

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

tanım çalıştır():

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

def mesafe():

GPIO.output(GPIO_TRIGGER, True) time.sleep(0.00001) GPIO.output(GPIO_TRIGGER, False) StartTime = time.time() StopTime = time.time() while GPIO.input(GPIO_ECHO) == 0: StartTime = time.time() while GPIO.input(GPIO_ECHO) == 1: StopTime = time.time() TimeElapsed = StopTime - StartTime mesafesi = (TimeElapsed *34300) / 2 dönüş mesafesi

kapalı()

while True: d = mesafe() if int(d) <= 30: kamera olarak PiCamera() ile: camera.start_preview() red(0) sleep(1) blue(1) sleep(1) green(2) sleep (1) kapalı() camera.capture('selfie.jpg') camera.stop_preview()

Önerilen: