תוכן עניינים:

פוטובוט אוטומטית: 4 שלבים (עם תמונות)
פוטובוט אוטומטית: 4 שלבים (עם תמונות)

וִידֵאוֹ: פוטובוט אוטומטית: 4 שלבים (עם תמונות)

וִידֵאוֹ: פוטובוט אוטומטית: 4 שלבים (עם תמונות)
וִידֵאוֹ: עמדת צילום לאירועים - אטרקציה הפקות 2024, נוֹבֶמבֶּר
Anonim
פוטובוט אוטומטית
פוטובוט אוטומטית

זה יראה לך כיצד ליצור תא צילום אוטומטי באמצעות פטל פאי, חיישן מרחק קולי ועוד כמה אביזרים. רציתי לעשות פרויקט שמשתמש גם בחומרה מתוחכמת וגם בתוכנית מתוחכמת. חקרתי פרויקטים כאלה בדף משאבי pi פטל, חלק מהפרויקטים האלה הם מחשוב פיזי עם פייתון, ומיקרו ביט סלפי. אחד מאלה הראה כיצד להשתמש במצלמת הפטל פטל והשני הראה כיצד להשתמש בחיישן המרחק הקולי.

שלב 1: חומרים

חומרים
חומרים

לפני שנתחיל לבנות את המעגל שלנו תזדקק לכמה חומרים:

1 x פטל פטל 3

1 x T-Cobbler

1 x מצלמת פי

1 x חיישן מרחק קולי

3 x נוריות RGB

נגדי 10 x 330 אוהם

התנגדות 1 x 560 אוהם

5 x סליל של כבלים בצבעים שונים

1 x לוח לחם

שלב 2: בניית המעגל

בניית המעגל
בניית המעגל
בניית המעגל
בניית המעגל
בניית המעגל
בניית המעגל
בניית המעגל
בניית המעגל

זו הדרך שבה התחברתי למעגל שלי:

1. כדי ליצור מעגל זה תרצה לחבר את מצלמת ה- Raspberry Pi לשקע המתאים

2. חבר את ה- C-Cobbler ללוח הלחם.

3. באמצעות כבלי מגשר באורך מותאם אישית חבר אחד למסילת הכוח ואחד למעקה הקרקע

4. חבר את חיישן המרחק הקולי וחבר את רגל ה- vcc לחשמל, את ה- "gnd" לאדמה, "הטריג" לתוך סיכת GPIO ואת ה"הד "לנגד 330 אוהם המתחבר לנגד 560 אוהם. שמחובר לקרקע וסיכת GPIO.

5. שים את שלושת נוריות ה- RGB על לוח הלוח המשובץ המחבר את האנודה של הלדים לחשמל, וחבר את הרגליים השונות השולטות בצבע הנורות לנגדים של 330 אוהם ולאחר מכן לסיכות GPIO.

שלב 3: הקוד

על מנת שה- Raspberry Pi ישתמש בסיכות GPIO, נצטרך לקודד את הפינים כדי לעשות משהו. כדי ליצור את הקוד שיצרתי השתמשתי ב- python 3 IDLE. הקוד שהכנתי משתמש ב- RPi. GPIO כמו גם בספריית gpiozero כדי לתפקד. יש נהלים לצבעים השונים וישנה פונקציה שמחשבת את המרחק באמצעות חיישן המרחק הקולי וכאשר יש משהו בטווח היא תפתח את תצוגת התצוגה המקדימה של מצלמת ה- pi והנוריות יספרו לאחור ואז תצטלם.

להלן הקוד בו השתמשתי:

מ picamera יבוא 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.setup (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 ():

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 () בעוד GPIO.input (GPIO_ECHO) == 0: StartTime = time.time () בעוד GPIO.input (GPIO_ECHO) == 1: StopTime = time.time () TimeElapsed = StopTime - מרחק StartTime = (TimeElapsed *34300) / 2 מרחק החזרה

כבוי()

בעוד נכון: d = מרחק () אם int (d) <= 30: עם PiCamera () כמצלמה: camera.start_preview () אדום (0) שינה (1) כחול (1) שינה (1) ירוק (2) שינה (1) כבוי () camera.capture ('selfie.jpg') camera.stop_preview ()

מוּמלָץ: