אם להאמין לשמועות, דגם חדש של ארדואינו – Arduino Leonardo – עומד להופיע בשוק בקרוב מאד. האם הוא טוב יותר מדגמי Duemilanove ו-Uno? כן. האם שווה לחכות לו? לא. איך זה יכול להיות?
מי שעוקב אחר האתרים הישראליים שמוכרים לוחות ארדואינו כבר שמע את החדשות: בעוד ימים ספורים אמורים מפתחי הארדואינו להכריז על דגם חדש בשם "לאונרדו", שדומה חיצונית ל-Uno, אך עם מיקרו-בקר אחר ומספר יכולות משופרות. מה זה אומר מבחינתנו החובבים? חפרתי מעט במקורות המידע ברשת וזה מה שהצלחתי להבין:
לאונרדו בהקשרו
לוח לאונרדו הוא לא "היורש של Uno": ה-Uno נשאר מוצר הדגל הבסיסי של הסדרה. למעשה, הוא נקרא Uno ("אחד" באיטלקית) לא סתם כי זה שם יפה, אלא כי זוהי הגרסה הסופית הרשמית הראשונה, שהגיעה מלווה בגרסה 1.0 של סביבת הפיתוח.
הלאונרדו, לעומת זאת, יצטרף לרשימה הארוכה של וריאנטים, כגון Mega, Nano ו-Lilypad, שמיועדים לצרכי פיתוח ספציפיים. אפרופו, מתחילות להגיע שמועות גם על Arduino Due ("שניים") – מפלצת בתצורת Mega עם מיקרו-קונטרולר 32 ביט במהירות 96 מגהרץ, 256 קילובייט זכרון Flash ועוד כל מיני. גם ה-Due לא אמור להחליף את ה-Uno אלא להוות מוצר מקביל עבור מפתחים מתקדמים ופרויקטים עם דרישות גדולות במיוחד.
מה מיוחד בלאונרדו?
מבחינת המפרט הטכני, לאונרדו כמעט זהה לגרסת ה-Uno האחרונה. בקטע של התכנות, ההבדל העיקרי הוא שבלאונרדו, המיקרו-קונטרולר מטפל בתקשורת ה-USB עם המחשב בעצמו, ולא בתיווך של ג'וק נוסף, מה שכנראה מונע התנגשויות בין התקשורת הזו לבין התקשורת הטורית בפינים 0 ו-1.
הייחוד הוא בתצורה הפיזית השטוחה, שמבוססת על רכיבי SMD (שטוחים ועבור רובנו גם פחות נוחים להלחמה – Surface-Mount Devices), על חיבור USB דק יותר (מיני?) ועל חיבורי פינים אופציונליים – שורות החיבורים השחורים הבולטים מגיעות בנפרד ולא חייבים להתקין אותן.
כל זה אמור להפוך את הלאונרדו לקצת יותר זול מה-Uno, ומתאים להתקנה בתוך פרויקטים "כבדים", שקרובים יותר למוצר סופי מאשר לאבטיפוס. הוא יוכל לשמש בלי בעיה גם את החובבים, אם כי יהיה קשה יותר להחליף את המיקרו-קונטרולר אם וכאשר יישרף.
זה טוב ליהודים?
הדבר החשוב ביותר לזכור הוא שהארדואינו, על שלל הגרסאות שלו, מיועד לחובבים. לא חסרים בשוק מיקרו-קונטרולרים חזקים ומשוכללים הרבה יותר: היתרון של הארדואינו הוא שאפשר להתחיל לעבוד איתו מיד, בלי ידע מעמיק בחומרה או בתכנות, ובתקציב שגם הדור הצעיר יכול לעמוד בו. לכן, ככל שהלוח זול יותר ופחות מוגבל (למשל בקטע של פינים 0 ו-1 שהוזכרו), כך עדיף. במובן זה, הלאונרדו הוא צעד מבורך.
מצד שני, אסור לשכוח גם את ההקשר הרחב יותר של הארדואינו – התנועה של האקינג חומרה, להבין איך דברים עובדים מבפנים, לשנות, להתאים ולהמציא דרכים חדשות להשתמש בחומרים קיימים. מהבחינה הזו, לעמוד כמו פאן-בויז ולהזיל ריר על מפרט שיש בו 0.5 קילובייט נוספים של זכרון Flash כאילו היה מדובר בדגם האייפון החדש קצת מפספס את המטרה, ומי שמרגיש שהוא מפסיד משהו ושהוא נשאר מאחור כי יש לו רק Duemilanove ולא את הדגם הכי חדש ונוצץ… ובכן, אולי הוא פשוט לא בחר את התחביב הנכון.
נ.ב.
מכיוון שהמיקרו-קונטרולר של הלאונרדו (ATmega32u4) שונה מזה של ה-Uno, נוצרות מספר בעיות של תאימות קוד כאשר עובדים עם סביבת הפיתוח הרגילה של ארדואינו. לדוגמה, יש דיווחים על כך שפסיקות לא עובדות כמו שצריך בלאונרדו. אין ספק שהנושא יטופל בגרסה הבאה של סביבת הפיתוח, אך זו טרם יצאה לאוויר העולם, וכדאי להיות מודעים לזה.
מה שלי הכי קרץ בו זה שנראה שיחסית קל לגרום לו להזדהות כמו HID Device או כל התקן USB אחר וכך ליצור פרוייקטים כמו מקלדות\בקרים\עכברים מקוריים למחשב. חוץ מזה הוא לא נותן הרבה חוץ מהמחיר הזול יותר.
כעת אני קצת יודע במה מדובר…
כלומר, זוהי ווריאציה של הuno שמתאימה יותר לשימושים טיפה שונים, כמו אבות טיפוס מתקדמים וכד'?
כן. אם הבנתי נכון ושורות החיבורים אכן מגיעות להלחמה בנפרד, זה יכול להיות בעייתי למי שאף פעם לא החזיק מלחם ביד – אבל חוץ מזה, הלאונרדו יתאים בהחלט גם לשימושים של מתחילים.
עידן יש לוח עם ATmega32u4 ועם bootloader לאונרדו אשר מאפשר שימוש בחפצים יומיומים כמקשים…. http://web.media.mit.edu/~silver/makeymakey
a href="http://web.media.mit.edu/~silver/makeymakey"
יש מצב אתה מסביר איך ליצור את זה על ארדואינו אחר…. יכול לשדרג כל פרויקט…
_____ היקר, לפחות תשתמש בכינוי ומייל בדוי קבועים, אחרת אני אצטרך לאשר כל תגובה בנפרד…
בפטנט הזה יש שני אלמנטים: השימוש בחפצים כמתגים, שזה יחסית פשוט (שים לב שהם משתמשים רק בחפצים מוליכים, רטובים וכו') – והאינטראקציה עם המחשב בתפקיד עכבר, מקלדת וכו', שזה קצת יותר מסובך. בגרסה האחרונה של ה-Uno כבר יש חומרה שמטפלת בדברים כאלה – ואם לא, תמיד אפשר לעשות האקינג למקלדת או עכבר רגילים 🙂