Բովանդակություն:

Ավտոմատ Photobooth: 4 քայլ (նկարներով)
Ավտոմատ Photobooth: 4 քայլ (նկարներով)

Video: Ավտոմատ Photobooth: 4 քայլ (նկարներով)

Video: Ավտոմատ Photobooth: 4 քայլ (նկարներով)
Video: Generate Studio Quality Realistic Photos By Kohya LoRA Stable Diffusion Training - Full Tutorial 2024, Նոյեմբեր
Anonim
Ավտոմատացված Photobooth
Ավտոմատացված Photobooth

Սա ձեզ ցույց կտա, թե ինչպես կարելի է պատրաստել ավտոմատ լուսանկարչական տաղավար ՝ օգտագործելով ազնվամորի պի, ուլտրաձայնային հեռավորության սենսոր և մի քանի այլ աքսեսուարներ: Ես ուզում էի անել մի նախագիծ, որն օգտագործում էր և՛ բարդ սարքավորում, և՛ բարդ ծրագիր: Ես նման նախագծեր եմ ուսումնասիրել ազնվամորու pi ռեսուրսների էջում, այս նախագծերից մի քանիսը ֆիզիկական հաշվարկ են պիթոնի հետ և միկրո բիթային սելֆի: Դրանցից մեկը ցույց տվեց, թե ինչպես օգտագործել ազնվամորի pi տեսախցիկը, իսկ մյուսը ցույց տվեց, թե ինչպես օգտագործել ուլտրաձայնային հեռավորության սենսորը:

Քայլ 1: Նյութեր

Նյութեր
Նյութեր

Նախքան մեր սխեմայի կառուցումը սկսելը ձեզ հարկավոր են որոշ նյութեր.

1 x Ազնվամորի Pi 3

1 x T-Cobbler

1 x Pi տեսախցիկ

1 x Ուլտրաձայնային հեռավորության սենսոր

3 x RGB LED

10 x 330 Օմ ռեզիստորներ

1 x 560 Օմ ռեզիստոր

5 x Տարբեր գույնի մալուխների կծիկ

1 x Breadboard

Քայլ 2. Շրջանի կառուցում

Շրջանի կառուցում
Շրջանի կառուցում
Շրջանի կառուցում
Շրջանի կառուցում
Շրջանի կառուցում
Շրջանի կառուցում
Շրջանի կառուցում
Շրջանի կառուցում

Սա այն ճանապարհն է, որով ես անցել եմ իմ միացումը միացնելու համար.

1. Այս միացումն իրականացնելու համար կցանկանայիք միացնել Raspberry Pi տեսախցիկը համապատասխան վարդակից

2. Միացրեք T-Cobbler- ը հացատախտակին:

3. Օգտագործելով սովորական երկարության թռիչքային մալուխներ `միացրեք հոսանքի ռելսին, իսկ մեկը` գետնին

4. Միացրեք ուլտրաձայնային հեռավորության սենսորը և միացրեք «vcc» ոտքը հոսանքի մեջ, «gnd» - ը գետնին, «trig» - ը GPIO- ի քորոցին, իսկ «echo» - ն ՝ 330 ohms ռեզիստորի, որը միանում է 560 ohms ռեզիստորին: որը միացված է գետնին և GPIO կապին:

5. Տեղադրեք երեք RGB LED- ները տախտակի վրա, LED- ների անոդը միացնելով հոսանքին և միացրեք LED- ների գույնը վերահսկող տարբեր ոտքերը 330 ohms դիմադրիչներին, այնուհետև GPIO կապումներին:

Քայլ 3: Կոդ

Որպեսզի Raspberry Pi- ն օգտագործի GPIO կապերը, մենք պետք է ծածկագրենք կապերը ՝ ինչ -որ բան անելու համար: Իմ ստեղծած կոդը օգտագործելու համար օգտագործեցի python 3 IDLE: Իմ ստեղծած ծածկագիրը գործածելու համար օգտագործում է RPi. GPIO, ինչպես նաև gpiozero գրադարանը: Կան ընթացակարգեր տարբեր գույների համար, և կա մի գործառույթ, որը հաշվարկում է հեռավորությունը ուլտրաձայնային հեռավորության սենսորի միջոցով, և երբ ինչ -որ բան գտնվում է տիրույթում, այն կբացի pi տեսախցիկի նախադիտումը, իսկ LED- ները կհաշվեն, իսկ հետո նկարվում է:

Ահա այն կոդը, որը ես օգտագործել եմ.

picamera ներմուծումից PiCamera- ից gpiozero ներմուծման կոճակ, LED ժամանակից ներմուծման քնի ներմուծում

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

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

def կանաչ (x):

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

def կապույտ (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.putput (GPIO_TRIGGER, False) StartTime = time.time () StopTime = time.time () while GPIO.input (GPIO_ECHO) == 0: StartTime = time.time () մինչ GPIO.input (GPIO_ECHO) == 1: StopTime = time.time () TimeElapsed = StopTime - StartTime հեռավորություն = (TimeElapsed *34300) / 2 վերադարձի հեռավորություն

անջատված ()

իսկ True: d = հեռավորությունը () եթե int (d) <= 30: PiCamera- ով () որպես տեսախցիկ. camera.start_preview () կարմիր (0) քուն (1) կապույտ (1) քուն (1) կանաչ (2) քուն (1) անջատված () camera.capture ('selfie.jpg') camera.stop_preview ()

Խորհուրդ ենք տալիս: