כשקיבלתי את ג'וב הארדואינו הראשון שלי (פרטים עוד יבואו), קיבלתי גם ערמה קטנה של רכיבים ומעגלים שמהם הוא צריך להיבנות. מבין כל אלה, מה שתפס את עיני במיוחד היה לוח הארדואינו עצמו:
הלקוח הבטיח לי שהמוכר (האינטרנטי) הבטיח לו שמדובר בלוח תואם Uno. לאור השילוב התמוה של רכיבי SMD ו-Through Hole, והגודל הלא-סטנדרטי של המעגל המודפס – הוא ארוך קצת יותר מארדואינו רגיל, אם כי ריווח חיבורי הפינים זהה – לא הייתי מתפלא אם הוא לא היה תואם שום דבר.
החששות, כמובן, התגמדו לעומת הסקרנות, וברגע שהגעתי הביתה התחלתי לשחק עם הלוח כדי לבדוק במה באמת מדובר. כשחיברתי אותו לסוללת 9V הוא האיר בנורית ה-Power הכתומה. הצלחה! שלפתי את תקע הסוללה החוצה וחיברתי אותו ל-USB כדי לבדוק איך הוא מגיב לתכנות… וכלום, אין אור ואין תגובה.
בבדיקה זריזה של הלוח איתרתי את הסיבה. רואים, בתמונה למעלה, את הבליטה השחורה המוזרה משמאל לכניסת ה-USB? זהו "ג'אמפר", גשר זעיר שמחבר חשמלית בין שני פינים. הוא ישב על שניים מתוך שלושה פינים, שסומנו בקוד EXT/USB. כלומר, הג'אמפר הזה משמש כבורר ידני בין מקורות המתח לארדואינו – חיצוני (סוללה, מטען) או USB. הלוחות המודרניים יודעים לבצע את הבחירה הזו לבד, וזו היתה עוד סיבה לחשוד שהלוח הזה לא תואם Uno, בלשון המעטה. העברתי את הג'אמפר לזוג הפינים שסומן USB, כמו בתמונה למטה (רק לחוץ עד הסוף, כמובן) והוא הגיב לחיבור למחשב. מעולה, אפשר להתחיל לתכנת!
מונחה על ידי אותה אינטואיציה חריפה, בחרתי בסביבת הפיתוח ישר בלוח Duemilanove ולא ב-Uno. כתבתי תוכנית Blink בסיסית, לחצתי על העלאה ו… קדחת. סביבת הפיתוח כותבת Uploading וזהו, כלום לא קורה. שלפתי את זכוכית המגדלת, הדלקתי את האור הגדול שבסלון וניסיתי לפענח את הכיתוב המחוק-כמעט-לגמרי שעל השבב המרכזי. נו, מה? ATmega168.
לא שיש לי משהו עקרוני נגד הדגם הזה, וכשהגדרתי בסביבת הפיתוח את הלוח Arduino Duecimila or Duemilanove w/ ATmega168 התוכנה עלתה ועבדה, אבל כעת צצה בעיה חדשה. התוכנית שהייתי צריך לכתוב לפרויקט הזה כללה את הספריה SD לקריאה וכתיבה מכרטיסי זכרון, וזו ספריה גדולה וכבדה למדי. כך נתקלתי, לראשונה, בשגיאה של חוסר מקום על השבב:
נגד זה לא היה הרבה מה לעשות. הקישור שבהודעת השגיאה לא באמת עזר לי לצמצם את גודל התוכנית, ולא היתה לי שום כוונה לחתוך קוד מיותר בעצמי מהספריה הזו. סיכמתי עם הלקוח שאתן לו אחד מה-Duemilanove הסיניים שלי תמורת המוצג המוזיאוני הזה – הוא בסדר גמור לשימושים אחרים, כמובן – והתחלתי לעבוד על הפרויקט עצמו. המשך יבוא…
נ.ב. מסקרנות, חיפשתי את הארדואינו הזה ברשת, וגיליתי שמדובר במשובט ממוצא תאילנדי. סתם, שתדעו.
ואו, מעניין איזה עוד שיבוטים מעניינים ומוזרים אפשר למצוא אצל הסיניים האלה…
אולי תעשה כתבה על זה?
עד שאאסוף מספיק חומר, כבר ייצאו מאה חדשים… אבל אם תיפול עוד תגלית כזו לידיים שלי, אני מבטיח לכתוב עליה. אפרופו, יש וריאנט אחד שמצא חן בעיניי מאד: Ruggeduino, הארדואינו שאי אפשר לשרוף בטעות 🙂
http://ruggedcircuits.com/html/ruggeduino.html