Мазмуну:

Автоматташтырылган Photobooth: 4 кадам (сүрөттөр менен)
Автоматташтырылган Photobooth: 4 кадам (сүрөттөр менен)

Video: Автоматташтырылган Photobooth: 4 кадам (сүрөттөр менен)

Video: Автоматташтырылган Photobooth: 4 кадам (сүрөттөр менен)
Video: RULES OF SURVIVAL AVOID YELLOW SNOW 2024, Ноябрь
Anonim
Автоматташтырылган Photobooth
Автоматташтырылган Photobooth

Бул сизге малина пи, УЗИ аралык сенсорун жана башка бир нече аксессуарларды колдонуп автоматташтырылган фотостендди кантип жасоону көрсөтөт. Мен татаал аппаратты да, татаал программаны да колдонгон долбоорду жасагым келди. Мен мындай долбоорлорду малина pi ресурстары барагынан изилдедим, бул долбоорлордун айрымдары python менен физикалык эсептөө жана микроби селфи. Алардын бири малина пи камерасын кантип колдонууну, экинчиси УЗИ аралык сенсорун кантип колдонууну көрсөткөн.

1 -кадам: материалдар

Материалдар
Материалдар

Биз өзүбүздүн схеманы кураардан мурун сизге бир нече материалдар керек болот:

1 x Raspberry Pi 3

1 x T-Cobbler

1 x Pi Камера

1 x Ultrasonic Distance Sensor

3 x RGB LED

10 x 330 Ом резисторлору

1 x 560 Ом резистору

5 х ар кандай түстөгү кабелдер

1 х нан тактасы

2 -кадам: Цирктин курулушу

Цирктин курулушу
Цирктин курулушу
Цирктин курулушу
Цирктин курулушу
Цирктин курулушу
Цирктин курулушу
Цирктин курулушу
Цирктин курулушу

Бул менин схемамды туташтырган жол:

1. Бул схеманы жасоо үчүн Raspberry Pi камерасын тиешелүү розеткага туташтыргыңыз келет

2. T-Cobblerди нан тактасына сайыңыз.

3. Ыңгайлаштырылган узундуктагы кабельдерди колдонуп, бирин электр темир жолуна, бирин жер темир жолуна туташтырыңыз

4. УЗИ аралык сенсорун туташтырып, 'vcc' бутун бийликке, 'gnd' жерге, 'trig' GPIO пинге, жана 'echo' 530 ohms каршылыгына туташкан 330 ohms каршылыгына туташтырыңыз. бул жерге жана GPIO пинге туташкан.

5. Үч RGB светодиодун анодду кубаттуулукка туташтыруучу панелдин ичине коюп, LEDдин түсүн башкарган ар кандай буттарды 330 омдук резисторго, анан GPIO казыктарына туташтырыңыз.

3 -кадам: Кодекс

Raspberry Pi GPIO казыктарын колдонушу үчүн, биз бир нерсе кылуу үчүн казыктарды коддошубуз керек. Мен жасаган кодду жасоо үчүн мен python 3 IDLE колдондум. Мен жасаган код иштеши үчүн RPi. GPIO жана gpiozero китепканасын колдонот. Ар кандай түстөр үчүн процедуралар бар жана аралыкты УЗИ сенсорунун жардамы менен эсептөөчү функция бар, ал эми диапазондо бир нерсе болгондо pi камеранын алдын ала көрүнүшүн ачат, ал эми светодиоддор артка санайт, анан сүрөт тартылат.

Мына мен колдонгон код:

пикамерадан импорттон PiCamerafrom gpiozero импорттоо баскычы, LED импорттук убактысынан импорттук уйку импорту RPi. GPIO катары GPIO импорт убактысы

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

g = [LED (16), LED (20), LED (21)] b = [LED (17), LED (27), LED (22)] баскычы = Баскыч (24) GPIO.setmode (GPIO. BCM) GPIO_TRIGGER = 19 GPIO_ECHO = 26 GPIO. жөндөө (GPIO_TRIGGER, GPIO. OUT) GPIO.setup (GPIO_ECHO, GPIO. IN)

Def кызыл (x):

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

өчүрүү (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].он () g [2].он () б [2].он ()

жашыл Def (x):

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

ачык көк (x):

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

def run ():

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

def расстояние ():

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 расстояние = (TimeElapsed *34300) / 2 кайтуу аралыгы

өчүрүү ()

while True: d = расстояние () if int (d) <= 30: PiCamera () камера катары: camera.start_preview () кызыл (0) уйку (1) көк (1) уйку (1) жашыл (2) уйку (1) өчүрүү () camera.capture ('selfie.jpg') camera.stop_preview ()

Сунушталууда: