PunyCam: מצלמה מבוססת סרבו ו-LDR

איך נראה העולם דרך עיניו של נגד תלוי-אור (LDR)? המצלמה PunyCam הלא-מרשימה שפיתחתי מספקת לנו את התשובה… בקצב איטי להחריד!

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

יצרתי מחלק מתח בסיסי עם נגד תלוי-אור ונגד רגיל של 10K. את ערך הנגד אפשר כמובן לשנות, אם יודעים מה טווח ההתנגדות של ה-LDR, כדי להתאים את הרגישות לרמות תאורה רצויות שונות. הרכיבים הולחמו לחתיכת Veroboard וסביבם הוצב קטע מקשית שתיה שחורה, כדי לסנן עד כמה שאפשר תאורה צדדית לא רלוונטית. העסק כולו הורכב על כן הפלסטיק, כמו קנה תותח, והפלט ממחלק המתח נכנס לפין אנלוגי בארדואינו – ששולט גם במנועי הסרבו (שמקבלים כמובן אספקת חשמל ממקור נפרד).

התוכנה בצד הארדואינו בסיסית למדי. ראשית הגדרתי גבולות מינימום ומקסימום לצירי X ו-Y. הקוד שולח ערכי X ו-Y בין הגבולות האלה למנועי הסרבו, כסריקה מלמעלה למטה בציר Y והלוך ושוב בציר X. בכל קואורדינטה, הקוד מחכה כעשר אלפיות שניה, קורא את המתח ממחלק המתח, ושולח למחשב ב-Serial את ערכי ה-X, ה-Y והמתח (מתורגם לסקאלה של 0-255). למען האמת, 10 אלפיות השניה אינן מספיקות כדי להבטיח דיוק מקסימלי מצד ה-LDR, אך אפילו כך התהליך הוא איטי במידה בלתי נסבלת כמעט.

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

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

האובייקט המצולם, מזווית הראיה של ה-PunyCam
האובייקט המצולם, במצלמה רגילה מזווית הראיה של ה-PunyCam

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

תמונה שצולמה בעזרת ה-PunyCam
תמונה שצולמה בעזרת ה-PunyCam

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

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

עכשיו הצלחתי להיזכר מה זה מזכיר לי. אותו רעיוןhttps://learn.adafruit.com/using-melexis-mlx90614-non-contact-sensors

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

אתה פשוט גאון!

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

מגניב!

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

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