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

סרסור המצלמה שלי: 14 שלבים (עם תמונות)
סרסור המצלמה שלי: 14 שלבים (עם תמונות)

וִידֵאוֹ: סרסור המצלמה שלי: 14 שלבים (עם תמונות)

וִידֵאוֹ: סרסור המצלמה שלי: 14 שלבים (עם תמונות)
וִידֵאוֹ: הגדרות המצלמה הטובות ביותר לאייפון ! 2024, נוֹבֶמבֶּר
Anonim
סרסור המצלמה שלי
סרסור המצלמה שלי

מכאן מגיע הפרויקט הזה.

לפני זמן מה חשבתי לצלם כמה זמני זמן. "אֵיך?" שאלתי את עצמי? התשובה הראשונה הייתה "טוב.. אתה פשוט מצלם משהו ומאיץ וזהו". אבל האם זה באמת כל כך פשוט? ראשית, אני רוצה להשתמש ב- DSLR שלי לשם כך, ול- Nikon D3100 שלי יש מגבלת זמן של 10 דקות לצילום וידאו. שנית, גם אם הייתה לי מצלמה ללא הגבלת זמן לצילום סרטונים, מה אם אני רוצה לעשות זמן טווח ארוך באמת, כמו 12 שעות? אני עושה סרטון 1080p באורך 12 שעות. אני בספק אם הסוללה תחזיק כל כך הרבה זמן וזה לא מאוד פרקטי, נכון? בסדר, חוצה "רעיון וידאו מצלם". טוב, אז יש תמונות. לצלם במצלמה במרווח זמן מסוים ולסיים עם מאות תמונות שאני מעבד באמצעות תוכנה ליצירת סרטון..?

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

שלב 1: אבל.. איך?

אבל איך?
אבל איך?

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

ניקון כבר ידעה שאתה רוצה שלט ואביזרים אחרים והם אמרו "בסדר, אנחנו נותנים להם את כל זה, אבל נכין נמל מיוחד כדי שנוכל להרוויח יותר כסף על האביזרים האלה", תתבייש לך ניקון. ליציאה הזו קוראים (במקרה שלי) MC-DC2, והדרך הזולה ביותר לשים עליה יד היא לקנות שחרור תריס מרחוק ב- eBay תמורת 2-3 $ ופשוט להשתמש בכבל.

*במצלמות אחרות, כמו Canon, יש שקע אוזניות פשוט 3.5 מ מ שמיועד לאותו שימוש, כך שתוכל להשתמש בכבל מרמקולים/אוזניות ישנות.

שלב 2: למד כיצד להפעיל את המצלמה

Image
Image
דרכים להפעיל
דרכים להפעיל

בכל אופן, הנה העסקה, לנמל יהיו 3 חיבורים שיהיו מענייננו (קרקע, פוקוס ותריס) ויהיו לך אלה בקצה הכבל שלך של התריס המרוחק שזה עתה קנית שזה עתה הרסת. שלושת החיבורים האלה חשובים לנו מכיוון שאם נקצר את הקרקע והפוקוס המצלמה תתמקד בדיוק כמו שאתה לוחץ על כפתור המיקוד ואז, בזמן שהחיבור נשאר, תוכל לקצר את הקרקע והתריס והמצלמה תצלם בדיוק כמו שלחצת על לחצן התריס במצלמה.

אתה יכול לבדוק זאת על ידי קיצור ממש של החוטים החיים בקצה הכבל כדי לזהות איזה חוט הוא. לאחר שתעשה זאת, לשם זיהוי קל יותר, נצבע אותם כך:

קרקע = שחור; מיקוד = לבן; תריס = אדום.

בסדר, עכשיו אנחנו צריכים ללמד את הארדואינו לעשות את זה בשבילנו.

שלב 3: דרכים להפעלה

Image
Image

הדבר הפשוט ביותר שאנו יכולים לומר לארדואינו לשלוח לעולם החיצוני הוא אות הפלט הדיגיטלי. אות זה יכול להיות גבוה (לוגי '1') או נמוך (לוגי '0'), ומכאן השם "דיגיטלי", או כאשר הוא הופך למשמעות הליבה שלו: 5V עבור HIGH לוגי, ו- 0V עבור LOW לוגי.

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

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

אז נשתמש במצלמת האופקט כך: אנו אומרים ל- Arduino שלנו לשלוח HIGH דיגיטלי על אחד אם זה סיכות דיגיטליות, האות הזה הוא כמעט 5V שיניע את הנורית בתוך הפלט והפוטוטרנזיסטור שבתוכו "יהיה קצר". זה מסופי פלט כאשר הוא מזהה את האור הזה, ולהיפך, הוא "ינתק" את המסופים שלו מכיוון שאין אור מהנורית כאשר אנו שולחים LOW דיגיטלי דרך הארדואינו.

למעשה, זה אומר: אחד הפינים הדיגיטליים של הארדואינו מחובר לסיכת ANODE של המצמד, ה- GND של ארדואינו מחובר ל- CATHODE, ה- GND של המצלמה מחובר ל- EMITTER ו- FOCUS (או SHUTTER) לקולקטור. עיין בגיליון הנתונים של המצמד האופטי שבו אתה משתמש כדי למצוא את הסיכות האלה שלך. אני משתמש ב- 4N35 כדי שתוכל לעקוב אחר הסכמטי שלי בעיוורון אם לא באמת אכפת לך ממה שקורה בתוך המצלמה האופטוקולה. מיותר לציין שנזדקק לשניים כאלו מאחר שעלינו לשלוט הן במוקד המצלמה והן בתריס.

מכיוון שראינו איך זה עובד, עם פוטוטרנזיסטור ביציאה, מדוע שלא ננסה זאת אך ורק עם טרנזיסטור NPN פשוט. הפעם נביא את האות הדיגיטלי ישירות (לרוחב הנגד) לבסיס הטרנזיסטור ונחבר הן את ה- GND של המצלמה והן של Arduino לפולט ולמיקוד/תריס המצלמה לאספן הטרנזיסטור.

שוב, נזדקק לשניים כאלו מכיוון שאנו שולטים בשני אותות. אני משתמש ב- BC547B ותוכל בעצם להשתמש בכל NPN לשם כך מכיוון שהזרם עליו אנו שולטים הוא מיליאמפר אחד.

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

שלב 4: כתיבת הקוד להפעלה

Image
Image
כתיבת הקוד להפעלה
כתיבת הקוד להפעלה

כפי שאמרנו קודם, נשתמש בסיכות הדיגיטליות של הארדואינו לאיתות. ה- Arduino יכול להשתמש בשניהם לקריאת נתונים ממנו, או לכתיבה אליו, כך שהדבר הראשון שעלינו לעשות ציין בפונקציית ההתקנה () שנשתמש בשניים מהסיכות הדיגיטליות של Arduino עבור הפלט כך:

pinMode (FOCUS_PIN, OUTPUT);

pinMode (SHUTTER_PIN, OUTPUT);

שבו ניתן להגדיר FOCUS_PIN ו- SHUTTER_PIN עם "#define NAME value" או כאינט לפני הפונקציה setup () מכיוון שתוכל לשנות את הסיכה כך שיהיה קל יותר לשנות את הערך בנקודה אחת בלבד ולא בקוד כולו לאחר מכן.

הדבר הבא שנעשה הוא לכתוב פונקציה טריגר () שתעשה בדיוק את זה כאשר היא מופעלת. רק אצרף תמונה עם הקוד. כל מה שאתה צריך לדעת הוא כי תחילה אנו מחזיקים את ה- FOCUS_PIN ב- HIGH למשך פרק זמן מסוים מכיוון שעלינו לחכות עד שהמצלמה תתמקד בנושא שאנו מצביעים עליו ולאחר מכן רק לרגע (בעוד FOCUS_PIN עדיין גבוה) שים את SHUTTER_PIN על HIGH רק כדי לצלם.

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

שלב 5: מרווח כיתה {};

Image
Image
מניפולציה של המרווח באמצעות ארדואינו
מניפולציה של המרווח באמצעות ארדואינו

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

לולאת חלל () {

עיכוב (מרווח); הדק(); }

אני רוצה להיות מסוגל לשנות את המרווח הזה מ, נניח, 5 שניות עד 20-30 דקות אולי. והנה הבעיה, אם אני רוצה לשנות את זה מ -5 עד 16 או כל מה שביניהם אשתמש בתוספת של 1s, כאשר עבור כל בקשה שלי להגדיל את המרווח, המרווח יגדל ל- 1s. זה נהדר, אבל מה אם אני רוצה לעבור בין 5 ל -5 דקות? זה ייקח לי 295 בקשות לכך במרווחים של 1 אז אני כמובן צריך להגדיל את ערך התוספת למשהו גדול יותר, ואני צריך להגדיר על איזה ערך מרווח מדויק (סף) לשנות את התוספת. יישמתי את זה:

5s-60s: תוספת של 1s; 60s-300s: תוספת של 10s; 300s-3600s: תוספת של 60s;

אבל כתבתי את המחלקה הזו כך שהיא ניתנת להתאמה, כך שתוכל להגדיר ספים ותוספות משלך (הכל מופיע בקובץ.h כדי שתדע היכן לשנות אילו ערכים).

הדוגמה שנתתי למניפולציה של המרווח נעשית כמובן במחשב PC, כעת עלינו להעביר אותה ל- Arduino. כל המחלקה הזו, אינטרוול, מוכנסת בתוך קובץ כותרת אחד המשמש לאחסון הצהרות והגדרות (לא ממש, אבל ניתן לעשות זאת בדוגמה זו מבלי לפגוע) במחלקה/בפונקציות שלנו. כדי להציג את קובץ הכותרת הזה לקוד ה- arduino שלנו, אנו משתמשים ב- "#include" Interval.h "" (הקבצים חייבים להיות באותה ספרייה), מה שמוודא שנוכל להשתמש בפונקציות המוגדרות בקובץ הכותרת בקוד הראשי שלנו.

שלב 6: מניפולציה של המרווח דרך ארדואינו

Image
Image
מניפולציה של המרווח באמצעות ארדואינו
מניפולציה של המרווח באמצעות ארדואינו
מניפולציה של המרווח באמצעות ארדואינו
מניפולציה של המרווח באמצעות ארדואינו

כעת אנו רוצים להיות מסוגלים לשנות את ערך המרווח, להגדיל או להקטין אותו. אז זה שני דברים אז נשתמש בשני אותות דיגיטליים הנשלטים על ידי שני כפתורים. אנו נקרא שוב ושוב את הערכים על הסיכות הדיגיטליות שהקצנו לכפתורים וננתח את הערכים האלה לפונקציית checkButtons (int, int); מה שיגדיל את המרווח אם תלחץ על הלחצן "למעלה" ויוריד את המרווח אם הכפתור "למטה". כמו כן, אם תלחץ על שני הכפתורים הוא ישנה את ערך המיקוד המשתנה השולט אם להתמקד בעת ההפעלה או לא.

חלק מהקוד ((millis () - prevBtnPress)> = debounceTime) משמש לביטול. כמו שכתבתי את זה, זה אומר שאני רושם את הלחיצה הראשונה על הכפתור עם משתנה בוליאני btnPressed וזוכר את הזמן שזה קרה. מאשר אני מחכה לפרק זמן מסוים (debounceTime) ואם הכפתור עדיין נלחץ אני מגיב. הוא גם מבצע "הפסקה" בין כל לחיצה נוספת על הכפתור, כך שהוא ימנע לחיצות מרובות במקומות שאין.

ולבסוף, עם:

if ((millis () - prevTrigger) / 1000> = interval.getVal ()) {

prevTrigger = מיליס (); הדק(); }

ראשית אנו בודקים אם משך הזמן בין ההפעלה האחרונה (prevTrigger) לזמן הנוכחי (מילי ()) (הכל מחולק ב- 1000 מכיוון שהוא באלפיות השנייה והמרווח בשניות) שווה או גדול מהמרווח אנו רוצים, ואם כן אנו זוכרים את השעה הנוכחית כפעם האחרונה שהפעלנו את המצלמה ולאחר מכן הפעילו אותה.

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

שלב 7: הצגת המרווח

Image
Image
הצגת המרווח
הצגת המרווח
הצגת המרווח
הצגת המרווח
הצגת המרווח
הצגת המרווח

כאן אנו מציגים את התצוגה. השתמשתי במודול בן 4 הספרות שמונע על ידי TM1637 מכיוון שאני צריך להשתמש בו רק להצגת זמן ותו לא. הדרך הקלה ביותר להשתמש במודולים אלה שנעשו עבור Arduino היא להשתמש עבורם ספריות שכבר נוצרו. באתר Arduino יש דף המתאר את שבב TM1673 וקישור לספרייה מוצעת. הורדתי את הספרייה הזו ויש שתי דרכים בהן תוכל להציג את הספריות האלה ל- Arduino IDE:

  1. מתוכנת Arduino עבור אל סקיצה> כלול ספרייה> הוסף ספריית ZIP ואתר את קובץ ה- zip שהורדת זה עתה.
  2. אתה יכול לעשות את מה שהארדואינו עושה באופן ידני ופשוט לפתוח את הספרייה בתיקיה שבה הארדואינו מאחסן ספריות, ב- Windows: C: / Users / Username / Documents / Arduino / libraries \.

לאחר שכללת את הספרייה עליך לקרוא את קובץ "ReadMe" שבו תמצא את הסיכום של מה שהפונקציות השונות עושות. לפעמים זה לא מספיק, כך שתרצה להעמיק קצת ולחקור את קבצי הכותרות שבהם תוכל לראות כיצד הפונקציות מיושמות ומה הן דורשות כארגומנטים קלט. וכמובן שהדרך הטובה ביותר להבין מה הספרייה מסוגלת לה בדרך כלל מציעה דוגמה שתוכל להריץ מתוכנת Arduino דרך קובץ> דוגמאות> שם ספרייה> שם דוגמה. ספרייה זו מציעה דוגמה אחת שאני ממליץ לך להריץ על הצג שלך רק כדי לראות אם התצוגה שלך פועלת כראוי, ואני ממליץ לך לשנות את הקוד שאתה רואה בדוגמא ולראות בעצמך מה כל פונקציה עושה וכיצד התצוגה מגיבה אליו. זה. עשיתי את זה וזה מה שהבנתי:

הוא משתמש ב -4 מספרים שלמים ללא סימן של 8 סיביות לכל ספרה (0bB7, B6, B5, B4, B3, B2, B1, B0). וכל אחד מאותם סיביות B6-B0 משמשים לכל קטע של ספרה מסוימת ואם הסיבית היא 1 הקטע הנשלט על ידיו נדלק. מספרים שלמים אלה מאוחסנים במערך הנקרא data . הגדרת סיביות אלה לתצוגה מתבצעת על ידי display.setSegments (נתונים); או שאתה יכול לגשת באופן טבעי לכל אחת מהספרות במיוחד ולהגדיר אותן באופן ידני (data [0] = 0b01111001) או שאתה יכול להשתמש בפונקציה encdeDigit (int); והמיר את הספרה שאתה שולח אותה לפי סיביות (data [0] = display.encodeDigit (3));. ביט B7 משמש רק את הספרה השנייה, או נתונים [1], להפעלת המעי הגס.

מכיוון שכתבתי את הפונקציות במכשפה בכיתה INTERVAL, בהן אני יכול לקבל ספרות מסוימות של המרווח בצורה של M1M0: S1S0, שם M מייצג דקות ו- S למשך שניות, טבעי שאשתמש ב- codedDigitFunction (int); להצגת המרווח כך:

displayInterval () {

data [0] = display.encodeDigit (interval.getM1 ()); נתונים [1] = 0x80 | display.encodeDigit (interval.getM0 ()); data [2] = display.encodeDigit (interval.getS1 ()); data [3] = display.encodeDigit (interval.getS0 ()); display.setSegments (נתונים); }

עכשיו, בכל פעם שאני צריך להציג את המרווח על הצג, אני יכול לקרוא לפונקציה displayInterval ().

*שימו לב ל "0x80 |…" בנתונים [1]. הוא משמש כדי להבטיח שהסיביה B7 של הנתונים [1] היא תמיד 1 כך שהמעי הגס נדלק.

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

שלב 8: הרכבת הכל ביחד

לשים את הכל ביחד
לשים את הכל ביחד

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

הוספתי מנורת דו-צבעית, (אדום וירוק, קתודה נפוצה) שתדליק ירוק בזמן ההדק () והיא תדליק אדום יחד עם התצוגה אם המיקוד מופעל והוא יישאר כבוי אם המיקוד הוא כבוי.

כמו כן, נעבור לארדואינו קטן עוד יותר, Pro Mini.

שלב 9: הוספת דבר אחרון

הוספת דבר אחרון
הוספת דבר אחרון
הוספת דבר אחרון
הוספת דבר אחרון
הוספת דבר אחרון
הוספת דבר אחרון

עד כה.. יצרנו רק אינטרוולומטר. שימושי, אבל אנחנו יכולים להשתפר.

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

ראשית, כיצד נזהה שהצמדנו את החיישן?

החיישנים בהם נשתמש/מייצר יצטרכו כולם שלושה חוטים המחברים אותם לארדואינו (Vcc, GND, Signal). המשמעות היא שנוכל להשתמש בשקע אודיו 3.5 מ"מ כשקע כניסה לחיישן. ואיך זה פותר את הבעיה שלנו? ובכן, ישנם סוגים של שקע 3.5 מ"מ "עם מתג" הכולל סיכות המקוצרות לפינים של המחבר אם אין בהם מחבר זכר, והם מתנתקים כשיש מחבר קיים. זה אומר שיש לנו את המידע המבוסס על נוכחות החיישן. אשתמש בנגד הנפתח כפי שמוצג (הסיכה הדיגיטלית תקרא HIGH ללא החיישן, ו- LOW עם החיישן המצורף) בתמונה או שתוכל גם להצמיד לסיכה הדיגיטלית לסיכה של המחבר שהיא בדרך כלל מחובר לקרקע ומגדיר את הסיכה הדיגיטלית כ- INPUT_PULLUP, היא תעבוד לשני הכיוונים. אז עכשיו עלינו לשנות את הקוד כך שהוא יעשה את כל מה שכתבנו עד כה רק אם החיישן אינו קיים, או כאשר הסיכה הדיגיטלית היא גבוהה. גם שיניתי אותו כך שהוא יראה על המסך "SENS" במקום המרווח שהוא חסר תועלת במצב זה, אך ההתמקדות עדיין רלוונטית עבורנו. אנו נשמור על הפונקציונליות של החלפת המיקוד בלחיצת שני הכפתורים ו מציג את מצב המיקוד דרך הלד האדום.

מה בעצם עושה החיישן?

כל מה שהוא צריך לעשות הוא לשים 5V על סיכת האות שלה כשאנחנו רוצים להפעיל את המצלמה. המשמעות היא שנזדקק לסיכה דיגיטלית נוספת של הארדואינו שתבדוק את מצב הסיכה הזו וכאשר היא תירשם HIGH, כל מה שהיא צריכה לעשות הוא להתקשר לפונקציית ההדק () והמצלמה תצלם תמונה. הדוגמה הקלה ביותר, וזו שבה נשתמש כדי לבדוק אם זה עובד, היא כפתור פשוט עם נגד נפתח. חבר את הכפתור בין ה- Vcc של החיישן לבין סיכת האות והוסף נגד בין סיכת האות ל- GND, כך סיכת האות תהיה ב- GND כאשר הכפתור לא נלחץ מכיוון שאין זרם זורם דרך הנגד, וכאשר הכפתור נלחץ אנו שמים את סיכת האות ישירות על HIG והארדואינו קורא את זה ומפעיל את המצלמה.

עם זה סיכמנו את כתיבת הקוד.

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

שלב 10: מכיל את הבלגן

מכיל את הבלגן
מכיל את הבלגן
מכיל את הבלגן
מכיל את הבלגן
מכיל את הבלגן
מכיל את הבלגן
מכיל את הבלגן
מכיל את הבלגן

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

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

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

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

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

שלב 11: Sens0rs

Image
Image
Sens0rs
Sens0rs

הבה נבחן דרכים ליישום החיישן.

אז לחיישן יהיה מתח האספקה של 5V, והוא יצטרך להיות מסוגל לספק סיכה גבוהה דיגיטלית על סיכת האות שלו כאשר נרצה להפעיל את המצלמה. הדבר הראשון שעלה לי בראש הוא חיישן תנועה, PIR ליתר דיוק. ישנם מודולים שנמכרים עבור Arduino עם החיישן הזה ועושים בדיוק מה שאנחנו רוצים. הם מופעלים על 5V ויש להם סיכת פלט שעליה הם מכניסים 5V כשהם מופעלים, אנחנו רק צריכים לחבר את הפינים שלה לשקע אודיו 3.5 מ מ ואנחנו יכולים להתחבר ישירות ללוח. דבר אחד שחשוב לציין הוא שהחיישן הזה צריך זמן להתחמם ולהתחיל לעבוד כמו שצריך, אל תצפה שהוא יעבוד כמו שצריך ברגע שתחבר אותו לחשבון, תן לו קצת זמן ולאחר מכן הגדר אותו וכל מה שחיים נכנס לתוכו. טווח יפעיל את המצלמה.

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

שלב 12: PoweeEeEer

PoweeEeEer
PoweeEeEer
PoweeEeEer
PoweeEeEer

אני חושב שהדרך הקלה ביותר להפעיל את הדבר הזה היא באמצעות בנק חשמל, ולא חיצונית. נשמור על הפונקציונליות של טעינת הטלפון שלנו או כל דבר אחר ונשלוט על הזרם הנוכחי ללוח באמצעות מתג. נאתר את הפינים של מחבר ה- USB הפלט בלוח המעגלים בבנק החשמל שהם חוטי GND ו- Vcc (5V) וחוטי הלחמה ישירות עליהם ומשם לתוך הלוח שלנו.

שלב 13: מעטפת.. די

מארז.. די
מארז.. די
מארז.. די
מארז.. די
מארז.. די
מארז.. די

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

די הפכתי את החורים הנוראים לפחות נוראיים על ידי שכבת החלק העליון של קרטון דק שבו חתכתי חורים סבירים יותר לרכיבים ו.. זה עדיין נורא אבל קל יותר בעיני לדעתי.

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

שלב 14: סיים

Image
Image
סְנַפִּיר
סְנַפִּיר

סיימתי, אבל הנה כמה דברים שהייתי עושה אחרת:

השתמש בשקעי שמע באיכות טובה יותר של 3.5 מ מ. אלה שהשתמשתי בהם נוטים לקצר את הטרמינלים בזמן הכנסת או משיכה של השקע מה שגורם לקצר את האספקה ובכך לאפס את הארדואינו או שהוא פשוט מייצר טריגרים מזויפים. אמרתי את זה בשלב הקודם אבל אני אגיד את זה שוב.. אל תלחם את לוח ה- Arduino ללא כותרות/שקע, זה פשוט הופך כל סוג של פתרון בעיות או העלאת קוד חדש וכן הלאה להרבה יותר קשה. אני גם חושב שיש לו סימן לד שהדבר דולק היה שימושי כי לעתים קרובות אני לא יכול לדעת בלי ללחוץ על הכפתור מכיוון שהתצוגה נכבית. והדבר האחרון, פונקציית הפסקה. אני מתאר לעצמי שזה שימושי כאשר למשל כאשר אתה מחבר את חיישן ה- PIR, מכיוון שהוא זקוק לזמן להתחמם, או שפשוט כשאתה מזיז אותו אתה לא רוצה שהוא יופעל כך שתוכל פשוט להשהות הכל, אבל אתה יכול גם פשוט לסובב מחוץ למצלמה אז.. מה שלא יהיה.

דבר מסודר נוסף הוא להדק אותו על החצובה מכיוון שסביר להניח שהוא ישמש שם.

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

מוּמלָץ: