สารบัญ:

โฟโต้บูธอัตโนมัติ: 4 ขั้นตอน (พร้อมรูปภาพ)
โฟโต้บูธอัตโนมัติ: 4 ขั้นตอน (พร้อมรูปภาพ)

วีดีโอ: โฟโต้บูธอัตโนมัติ: 4 ขั้นตอน (พร้อมรูปภาพ)

วีดีโอ: โฟโต้บูธอัตโนมัติ: 4 ขั้นตอน (พร้อมรูปภาพ)
วีดีโอ: Episode 39 : ที่สุดยุคนี้ Photo Booth by BOX 2024, พฤศจิกายน
Anonim
โฟโต้บูธอัตโนมัติ
โฟโต้บูธอัตโนมัติ

สิ่งนี้จะแสดงให้คุณเห็นถึงวิธีการสร้างบูธภาพถ่ายอัตโนมัติโดยใช้ Raspberry Pi เซ็นเซอร์วัดระยะด้วยคลื่นเสียงความถี่สูง และอุปกรณ์เสริมอื่นๆ อีกสองสามรายการ ฉันต้องการทำโครงการที่ใช้ทั้งฮาร์ดแวร์ที่ซับซ้อนและโปรแกรมที่มีความซับซ้อน ฉันค้นคว้าโปรเจ็กต์เช่นนี้ในหน้าทรัพยากร Raspberry pi บางโปรเจ็กต์เหล่านี้ใช้การคำนวณทางกายภาพด้วย python และไมโครบิตเซลฟี่ หนึ่งในนั้นแสดงให้เห็นวิธีการใช้กล้องราสเบอร์รี่ pi และอีกกล้องหนึ่งแสดงวิธีใช้เซ็นเซอร์วัดระยะด้วยคลื่นเสียงความถี่สูง

ขั้นตอนที่ 1: วัสดุ

วัสดุ
วัสดุ

ก่อนที่เราจะเริ่มสร้างวงจรของเรา คุณจะต้องมีวัสดุบางอย่าง:

1 x ราสเบอร์รี่ Pi 3

1 x T-Cobbler

1 x Pi กล้อง

1 x ระยะอัลตราโซนิก เซนเซอร์

ไฟ LED RGB 3 ดวง

ตัวต้านทาน 10 x 330 โอห์ม

ตัวต้านทาน 1 x 560 โอห์ม

5 x ม้วนสายไฟหลากสี

1 x เขียงหั่นขนม

ขั้นตอนที่ 2: สร้าง Circut

สร้างเซอร์กิต
สร้างเซอร์กิต
สร้างเซอร์กิต
สร้างเซอร์กิต
สร้างเซอร์กิต
สร้างเซอร์กิต
สร้างเซอร์กิต
สร้างเซอร์กิต

นี่คือวิธีที่ฉันเชื่อมต่อวงจรของฉัน:

1. ในการสร้างวงจรนี้ คุณจะต้องเสียบกล้อง Raspberry Pi เข้ากับซ็อกเก็ตที่เหมาะสม

2. เสียบ T-Cobbler เข้ากับเขียงหั่นขนม

3. ใช้สายจัมเปอร์ความยาวที่กำหนดเองเชื่อมต่อหนึ่งสายกับรางไฟฟ้าและอีกสายหนึ่งเข้ากับรางภาคพื้นดิน

4. เสียบเซ็นเซอร์วัดระยะทางอัลตราโซนิกและเสียบขา 'vcc' เข้ากับพลังงาน 'gnd' ลงในกราวด์ 'trig' ลงในพิน GPIO และ 'echo' ลงในตัวต้านทาน 330 โอห์มซึ่งเชื่อมต่อกับตัวต้านทาน 560 โอห์ม ที่เชื่อมต่อกับกราวด์และพิน GPIO

5. ใส่ไฟ LED RGB สามดวงบนเขียงหั่นขนมแบบอินไลน์ที่เชื่อมต่อขั้วบวกของ LED เข้ากับแหล่งจ่ายไฟ และเชื่อมต่อขาต่างๆ ที่ควบคุมสีของ LED เป็นตัวต้านทาน 330 โอห์ม จากนั้นจึงต่อกับพิน GPIO

ขั้นตอนที่ 3: รหัส

เพื่อให้ Raspberry Pi ใช้พิน GPIO เราจะต้องเข้ารหัสพินเพื่อทำบางสิ่ง ในการสร้างรหัสที่ฉันสร้างฉันใช้ python 3 IDLE รหัสที่ฉันสร้างใช้ RPi. GPIO และไลบรารี gpiozero เพื่อทำงาน มีขั้นตอนสำหรับสีต่างๆ และมีฟังก์ชันที่คำนวณระยะทางโดยใช้เซ็นเซอร์วัดระยะทางแบบอัลตราโซนิค และเมื่อมีบางอย่างอยู่ในระยะ จะเปิดการแสดงตัวอย่างกล้อง pi และไฟ LED จะนับถอยหลัง จากนั้นจึงถ่ายภาพ

นี่คือรหัสที่ฉันใช้:

จาก picamera นำเข้า ปุ่ม PiCamera จาก gpiozero นำเข้า LED จากเวลานำเข้า sleep นำเข้า 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.setup (GPIO_TRIGGER, GPIO. OUT) GPIO.setup (GPIO_ECHO, GPIO. IN)

def สีแดง (x):

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

def off(x):

r[x].on() ก[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() ก[x].off() b[x].on()

def สีน้ำเงิน (x):

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

def รัน ():

camera.capture('selfie.jpg') กล้อง.stop_preview()

ระยะ def ():

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 distance = (TimeElapsed *34300) / 2 ระยะทางกลับ

ปิด()

ในขณะที่ True: d = distance() if int(d) <= 30: โดย PiCamera() เป็นกล้อง: camera.start_preview() red(0) sleep(1) blue(1) sleep(1) green(2) sleep (1) ปิด() camera.capture('selfie.jpg') camera.stop_preview()

แนะนำ: