דברים חדשים: מצלמת VC0706

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

מודול המצלמה
מודול המצלמה

מה זה עושה

מודול המצלמה הזה, שעולה כ-$40 לפני משלוח, יכול לשמש כמצלמה עצמאית לווידאו בזמן אמת (NTSC, מונוכרום). מה שמעניין יותר, לפחות מבחינת השילוב עם מיקרו-בקרים, הוא שהמודול מסוגל גם לצלם סטילס בצבע ברזולוציה של עד 640 על 480 פיקסלים, לשמור את התמונה האחרונה בזיכרון פנימי בפורמט jpeg – ולהעביר את נתוני התמונה הזו לפי דרישה בחיבור TTL טורי, או במונחי ארדואינו – Serial. בנוסף, המצלמה מזהה תנועה ומרימה "דגל" שאפשר לקרוא גם כן באמצעות החיבור הטורי.

מודול המצלמה, צד אחורי
מודול המצלמה, צד אחורי

למה זה טוב

כל זה לא באמת עוזר למי שרוצה לשלב יכולת צילום בפרוייקטים עצמאיים (Stand-alone), מכיוון שלארדואינו אין מספיק זיכרון וכוח עיבוד כדי לפענח את פורמט jpeg ולעשות משהו שימושי עם התמונות הללו. לכל היותר, הוא יכול לאחסן אותן על כרטיס SD שייאסף וייקרא במחשב במועד מאוחר יותר.

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

חסרונות

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

תמונה שצולמה בחדר שמואר באור יום (לא ישיר) בלבד

תמונה שצולמה בחדר שמואר באור יום (לא ישיר) בלבד. המשטח במציאות לבן כמעט לגמרי.

כברירת מחדל, המצלמה מעבירה את הנתונים ב-Serial בקצב של 38,400 ביטים לשניה, והדבר מתבצע ב"חבילות" של 32 בייט בכל פעם. בתיאוריה אפשר להגדיל את שני הפרמטרים הללו, אך התיעוד בקוד הספריה ובאתר Adafruit מזהיר מפני חוסר יציבות ואפילו פגיעה פוטנציאלית בשבב המצלמה. במילים אחרות, אתם לא רוצים לנסות משחקים כאלה עם מצלמה שעולה ארבעים דולר. אם לוקחים בחשבון שתמונה טיפוסית "שוקלת" כמה עשרות קילובייט, יוצא שזמן השידור של תמונה אחת יכול להתארך לעשרים שניות ואף יותר, בהתאם לרזולוציה ולרמת הדחיסה (על חשבון האיכות כמובן).

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

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

שימו לב, המודול מקבל מתח של 5V, אבל התקשורת הסריאלית מתבצעת דווקא ב-3.3V, מה שמחייב להעביר את קו התקשורת מהארדואינו למצלמה (זה שנכנס ל-RX של מודול המצלמה) דרך מחלק מתח מתאים.

יתרונות

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

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

בחושך (אור חלש ממסך המחשב בלבד)
בחושך (אור חלש ממסך המחשב בלבד)

לסיכום

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

להרשמה
הודע לי על
2 Comments
מהכי חדשה
מהכי ישנה לפי הצבעות
Inline Feedbacks
הראה את כל התגובות

כבר עדיף raspberry pi אם רוצים להתעסק עם מצלמה ועיבוד תמונה, לא?