ארדואינו

מיקרו-בקר וסביבת פיתוח משולבת ברישיון קוד פתוח

אַרְדוּאִינוֹאיטלקית: Arduino) הוא מיקרו-בקר בעל מעגל מודפס יחיד (Single Board MicroController), עם סביבת פיתוח משולבת (IDE) ברישיון קוד פתוח, אשר מטרתה ליצור סביבה נוחה וזולה לפיתוח פרויקטים המשלבים תוכנה עם רכיבי אלקטרוניקה.

ארדואינו גרסת Duemilanove

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

היסטוריהעריכה

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

רכיבי הארדואינועריכה

חומרהעריכה

רכיב החומרה העיקרי על המעגל המודפס של הארדואינו הוא מיקרובקר בן 8 סיביות מסדרת AVR של חברת ATMEL, אשר מריץ את התוכנה ומכיל זיכרון הבזק (Flash Memory) לאחסונה.

 
לוח Lilypad ארדואינו מ-2007

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

המעגל המודפס מכיל בנוסף, כמעט תמיד:

  • 6 פינים מתוכם מסוגלים לקבל קלט אנלוגי בדיוק של 10 ביט
  • 6 פינים מתוכם מסוגלים לייצר Pulse-Width Modulated Signal

תוכנהעריכה

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

מפתח ארדואינו מתבקש לממש לפחות שתי פונקציות:

  • פונקציית אתחול, שתתבצע כאשר הארדואינו מקבל חשמל.
  • פונקציית לולאה, אשר מתבצעת מיד אחרי פונקציית האתחול בלולאה אינסופית.

אחת מתוכניות הדוגמה של ארדואינו גורמת להבהוב של נורית LED המחוברת לפין מס' 13:

#define LED_PIN 13

void setup () {
 pinMode (LED_PIN, OUTPUT); // הגדרת יציאה מס' 13 כפלט, או ספקית מתח
}

void loop () {
 digitalWrite (LED_PIN, HIGH); // הדלקת הנורית על ידי אספקת מתח ליציאה
 delay (1000); // המתנה של שנייה או 1000 מילישניות
 digitalWrite (LED_PIN, LOW); // כיבוי הנורית על ידי הפסקת המתח ליציאה
 delay (1000); // המתנה של שנייה
}

סביבת הפיתוח עצמה פותחה בשפת Java, וכך מתאפשרת הרצתה על מערכות הפעלה שונות כגון Windows, לינוקס, ו-OSX.

לוחות הרחבהעריכה

 
ארדואינו עם לוח הרחבה למנועים

יצרנים שונים בנו לוחות הרחבה רבים לארדואינו (Arduino Shields) שמרחיבים את יכולותיו. את הלוחות מרכיבים על מערך הפינים של הארדואינו, וניתן אף להרכיב לוחות זה על גבי זה.

להלן מספר דוגמאות ללוחות הרחבה:

  • לוח הרחבה לרשת אלחוטית[1]
  • לוח הרחבה לרשת מקומית[2]
  • לוח הרחבה להפעלת מנועים[3]
  • לוח הרחבה להתקן ופרוטוקול CAN-BUS, פרוטוקול המשמש לתקשורת עם מחשב הרכב[4]

רישויעריכה

תרשימי הבנייה של הארדואינו פתוחים ומוגנים ברישיון קוד פתוח. מותר לבנות ולמכור לוחות ארדואינו, ולכנותם 'תואמי ארדואינו'[5].

ברם, על מנת להשתמש במותג "Arduino", יש צורך לרכוש רישיון שהכנסותיו משמשות לקידום פרויקטי ארדואינו[5], ולעמוד בדרישות איכות.

בפועל, קיימים בשוק לוחות משני הסוגים הנ"ל.

רכיבים המתקשרים עם הארדואינועריכה

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

להלן מספר רכיבים לדוגמה:

  • לד {Led}
  • מנוע סרוו {Servo Motor}
  • מנוע מתח ישר {DC Motor}
  • חיישן לזיהוי אלכוהול
  • חיישן מרחק אולטרסוניק {Ultrasonic Sensor}
  • חיישן לזיהוי מים
  • תצוגת LCD
  • תצוגת שבעת המקטעים (אנ')

שימושים לדוגמהעריכה

ישנם פרויקטים רבים ומגוונים שעשו שימוש בארדואינו.

להלן כמה דוגמאות:

ראו גםעריכה

לקריאה נוספתעריכה

קישורים חיצונייםעריכה

  מדיה וקבצים בנושא ארדואינו בוויקישיתוף

הערות שולייםעריכה

  1. ^ 404 Not Found, store.arduino.cc
  2. ^ Arduino Ethernet Shield 2 | Arduino Official Store, store.arduino.cc
  3. ^ Arduino Motor Shield Rev3 | Arduino Official Store, store.arduino.cc
  4. ^ Arduino Shield List: Sparkfun CAN-Bus Shield, shieldlist.org
  5. ^ 1 2 http://arduino.cc/en/Main/FAQ
  6. ^ Arduino "secret knock" door opener, נבדק ב-2021-04-17
  7. ^ Building a Universal Remote with an Arduino, www.zovirl.com
  8. ^ Google Code Archive - Long-term storage for Google Code Project Hosting., code.google.com