איך גורמים לארדואינו (או לכל מיקרו-בקר, לצורך העניין) לבצע יותר מפעולה אחת בו-זמנית? למשל, איך עושים שהארדואינו גם יהבהב בנורית LED בקצב קבוע, גם יקרא נתונים בזמן אמת מחיישן מרחק וגם יגיב להם בשינוי צליל ברמקול בלי שהפעולות יפריעו זו לזו?
בתור מי שתכנת עוד בימי DOS העליזים, התשובה היתה לי כל כך מובנת מאליה, שלא שמתי לב בכלל שיש כאן שאלה. אך מכיוון שהנושא עלה באופן בלתי-תלוי מספר פעמים, ברור שזה לא באמת מובן מאליו – והפוסט הנוכחי נועד להסיר את הערפל מהעניין הבסיסי-אך-מסתורי הזה.
לוח הארדואינו הכחול (בדרך כלל) איתו אנו עובדים הוא, ברובו המכריע, רק ציוד היקפי עבור הרכיב החשוב באמת: המיקרו-בקר, הלא הוא הג'וק מרובה הרגליים ששוכן בלב הלוח ומנהל את הכל. את הג'וק הזה אפשר להחליף אם הוא נשרף, ואפשר גם לשלוף אותו מהארדואינו האהוב והמוכר ולשתול אותו במעגל אחר לגמרי, בו יעבוד כמיקרו-בקר ייעודי.
היום הגיעו אליי שני הג'וקים שמימין בתמונה – מסוג ATMega328-PU בתצורת DIP (זו עם הרגליים הארוכות שאפשר לדחוף לתוך מטריצה). אלו הם מיקרו-בקרים מאותה משפחה שמשמשת בארדואינו Uno ו-Duemilanove, ובעיקרון אפשר להחליף בעזרתם את הג'וק שהגיע עם הארדואינו. אבל כדי לגרום לזה לעבוד, צריך היה לבצע עוד שלב בדרך: צריבה של Bootloader. מה זה Bootloader ואיך צורבים אותו?
פוסט זה עוסק בטכניקה כל כך בסיסית וחשובה, שהוא צריך היה להופיע כאן בבלוג כבר מזמן. אם למדתם על ארדואינו מתוך ספר או מקור מסודר אחר, סביר להניח שאתם כבר מכירים את הנושא. לעומת זאת, אם מקור המידע שלכם הוא הבלוג הזה, אז קבלו את התנצלותי – ובואו ניגש מיד לעניין!
הפרויקט הראשון שמתארח ב"בייט הלבן" הוא Boozo the Smile – חיישן אלכוהול בנשיפה עם תצוגה יוצאת דופן. פרויקט זה תוכנן ובוצע בפסח האחרון על ידי אוריאל גיא, האיש שעומד גם מאחורי הפרויקט השאפתני Giant Pong. לפני התיאורים וההסברים, בואו נראה את Boozo בפעולה:
[עדכון, אפריל 2013: הרשומה הבאה כבר לא רלוונטית, מכיוון שהמקום הנכון להצגת הפרויקטים שלכם הוא פורום הפרויקטים באתר makers.co.il [עדכון: האתר כבר לא קיים במתכונתו המקורית]. להתראות שם!]
בלוג "הבייט הלבן" פותח את שעריו לפרויקטי הארדואינו/מיקרו-בקרים שלכם! השלמתם את הפרויקט העצמאי הראשון שלכם? פיתחתם מעגל שעושה משהו מקורי באמת? המצאתם פתרון מדהים לבעיה נפוצה? הבמה שלכם!
פרסום פרויקטים חיצוניים ב"בייט הלבן" מיועד לקהילת המפתחים החובבים, בכל רמות הידע והניסיון, כמקור נוסף לרעיונות, שיטות ושיתוף מידע באופן כללי. לכן, כדי לתת לכל פרויקט את מלוא הכבוד ולהפיק ממנו את המקסימום לטובת הכלל, הנה הכללים:
מבין כל התחביבים הטכניים/טכנולוגיים שאדם יכול לבחור לעצמו, תכנות הוא אחד הזולים, אם לא הזול ביותר. מחשב הרי כבר יש בכל בית, סביבות פיתוח מורידים בחינם, ומדריכים ועזרה אונליין אפשר לקבל מיידית ובחופשיות דרך האינטרנט – שנמצאת גם כן בכל בית. אלקטרוניקה, לעומת זאת (וכאן נדבר ספציפית על ארדואינו), מחייבת את החובב להשיג רכיבים פיזיים וזה עולה כסף.
אז כמה, בעצם, זה עולה? איפה תחביב כזה עומד בהשוואה, נניח, לגיימינג או לטיסנאות? בפוסט זה אנסה לתת מספר הערכות גסות עבור מי ששוקל אם להיכנס לתחום (או מנסה לשכנע את ההורים לקנות לו…) – והקוראים שכבר עברו את התהליך מוזמנים לתרום מידע מנסיונם האישי.
לא, האקרים גרמניים לא השתלטו על הבלוג – פשוט חזרתי מחופשה קצרה באירופה. עם הטאבלט הבסיסי וחיבור האינטרנט הקלוש ברוב המקומות, לא יכולתי לעשות הרבה יותר מאשר לראות ולאשר תגובות חדשות לפוסטים – אבל אל תדאגו, זה לא שהיו חסרים דברים אחרים לראות ולעשות… 😉
בגלל התחייבויות אחרות בעולם האמיתי, הבלוג ייצא בקרוב לחופשה קצרה (באמת קצרה, לא לדאוג). אני אנצל את ההודעה הזו כדי לדבר קצת על העתיד – טוב, לא העתיד בהא הידיעה, אלא פשוט העתיד של הבלוג. ראשית, הנה דברים שנשארו פתוחים ושאני אשלים כשהבלוג יחזור לפעילות. אם יש משהו שהזכרתי בעבר ושכחתי, אל תהססו להזכיר לי:
עקב בקשת הקהל (וכאילו שחסרים לי פרויקטים אחרים להשלים), החלטתי לפתוח בפרויקט ארדואינו נוסף: Readuino, קורא הספרים האלקטרוני. המטרה היא לא ליצור מתחרה ל-Kindle של אמאזון אלא פשוט להדגים, באמצעות יישום בעל משמעות, טכניקות ועבודה עם כרטיסי SD.
בהתחשב במורכבות "מאחורי הקלעים" של העבודה עם מערכת קבצים, השילוב בין ארדואינו לקורא הכרטיסים הוא פשוט להפליא; אבל הפשטות הזו היא יחסית, ויש כמה דברים שצריך להבין ולהפנים לפני שאפשר להתחרע על נפח הזיכרון העצום שהכרטיסים הללו מעניקים. בפוסט זה נכסה, מאד בקצרה, את חומר הרקע החיוני, וניצור יישום ארדואינו ראשוני שמציג רשימה של הקבצים שנמצאים בתיקיה הראשית בכרטיס SD. מוכנים?
אם להאמין לשמועות, דגם חדש של ארדואינו – Arduino Leonardo – עומד להופיע בשוק בקרוב מאד. האם הוא טוב יותר מדגמי Duemilanove ו-Uno? כן. האם שווה לחכות לו? לא. איך זה יכול להיות?