ארדואינו
תוכן עניינים
ארדואינו (Arduino, במקור מאיטלקית) הוא מיקרו בקר בקוד פתוח שפותח בעיקר לאומנים ומעצבים ומאפשר חיבור בין העולם הפיזי לבין יכולות של מחשב.
ארדואינו עשה מהפכה בעולם המיקרו בקרים בכך שהוזיל מאוד את העלות של הרכיבים והפך את השימוש בהם לפשוט בהרבה. מכיוון שהוא יועד במקור לאומנים ולא לאנשים טכנולוגים השימוש בו פעמים רבות פשוט גם ללא הבנה עמוקה של עולם החשמל והאלקטרוניקה.
ארדואינו יכול להתייחס לשלושה חלקים עיקריים:
-
חומרה – מעגל מודפס עם מיקרו בקר עליו שניתן לתכנת אותו ולחבר עליו אמצעי קלט ופלט שונים
-
סביבת פיתוח – סביבת פיתוח המופעלת על המחשב ובעזרתה מתכנתים את המיקרו בקר
-
קהילת מפתחים – קהילה אינטרנטית ברובה של מפתחי דוגמאות קוד ורכיבים לשימוש עם ארדואינו.
חומרה
ארדואינו הוא מעגל מודפס יחיד עם מיקרו בקר בן 8 סיביות מסדרת AVR של חברת ATMEL הרץ במהירות שעון של 16MHZׁ.
לארדואינו יש חיבורים (פינים) לחיבור רכיבי חומרה שונים. ישנם מספר סוגי פינים:
-
פינים דיגיטליים – פינים שיכולים לקרוא מידע דיגיטלי (on/off) ו/או לכתוב מידע דיגיטלי.
-
פינים אנלוגיים – פינים היכולים לקרוא מידע אנלוגי בדיוק של 10 ביט (מספר בין 0 ל-1023).
-
פינים PWM – המסוגלים להוציא גל PWM לצרכים שונים.
-
פינים לתקשורת I2C – לחיבור רכיבים שעובדים עם פרוטוקול התקשורת I2C.
-
פינים לתקשורת SPI – לחיבור רכיבים שעובדים עם פרוטוקול התקשורת SPI.
-
פינים לתקשורת סיראלית.
-
פינים המאפשרים interrupts (“הפרעה” לפעולת הקוד כאשר ערך הפין משתנה ברמת החומרה).
הערה – חלק גדול מהפינים משמשים לכמה סוגים.
בנוסף, רוב לוחות הארדואינו יגיע עם הרכיבים הבאים:
-
רכיב תקשורת סיראלי וחיבור USB – לתקשורת עם המחשב.
-
חיבור plug חשמלי ומייצב מתח – לחיבור חשמל שלא דרך המחשב.
סוגי לוחות ארדואינו
-
Arduino Uno – המומלץ ביותר למתחילים. מגיע עם 13 פינים דיגיטליים ו-5 פינים אנלוגיים. רוב דוגמאות הקוד למתחילים מיועדות לארדואינו אונו. מחיר – מקורי 23 דולר, סיני – 10 דולר
-
Arduino Mega – לוח גדול וחזק יותר מהאונו. מגיע עם 54 פינים דיגיטלים ו-16 פינים אנלוגיים. משמש לפרויקטים גדולים ומורכבים יחסית (לדוגמא – מדפסות תלת ממד בקוד פתוח משתמשות לרוב בו). לרוב הפרויקטים אין צורך בכל היכולות שלו. מחיר – מקורי 45 דולר, סיני – 15 דולר
-
Arduino Nano – ארדואינו קטן יחסית בעל אותו מיקרו בקר כמו האונו ולכן אותו מספר פינים. בלי חיבור למתח חשמלי ובלי מייצב מתח. עם חיבור לתקשורת סיראלית עם המחשב. פשוט יכול לעבוד איתו והוא קטן יחסית
-
Arduino proMini – ארדואינו קטן יחסית וקצת יותר מוגבל מהאונו. מגיע בלי רכיב לתקשורת עם המחשב, ולכן צריך להשתמש ב-FTDI בשביל לתכנת אותו. לא למתחילים
מכיוון שארדואינו הוא בקוד פתוח כל התוכניות שלו הם בקוד פתוח ולכן כל אחד יכול לייצר לעצמו לוח ארדואינו ואף למכור אותו. ולכן יצרנים רבים מרחבי העולם, ובעיקר מסין, מייצרים לוחות תואמים (compatible) במחירים זולים יותר מהמקורי.
סביבת פיתוח ותוכנה
לארדואינו יש סביבת פיתוח אותה ניתן להוריד מהאתר הרשמי של הפרויקט. הסביבה עצמה היא בקוד פתוח ולכן גם חינמית. הגרסא הנוכחית היא arduino IDE 1.0.5. לאחר כתיבת (או הורדת דוגמת) הקוד הסביבה מאפשר לצרוב את הקוד למיקרו בקר. יש לחבר את הארדואינו למחשב, לוודא שהמחשב זיהה את הלוח ונתן לו חיבור סיראלי (מסומן כ- COM עם מספר כלשהו). לבחור את הלוח הנכון תחת Tools→board ואת החיבור הסיראלי הנכון ואז ללחוץ על Upload.
קוד ארדואינו נכתב בשפת C או ++C ועובר preprocessing. בריצת התוכנית יש שתי פונקציות עיקריות:
-
Setup – פונקציה שרצה פעם אחת בהתחלה, לרוב מיועדת בעיקר להגדרות ואתחולים.
-
Loop – פונקציה שרצה בלולאה אין סופית.
בנוסף יש פונקציות רבות המיועדות לארדואינו שמקלות על התכנות ומאפשרות קליטת מידע והוצאת מידע בפשטות יחסית.
תוספות shields
לעתים קרובות נרצה להוסיף לארדואינו יכולות נוספות, אחת הדרכים לעשות זאת היא להשתמש בלוח המתיישב על כל הפינים של הארדואינו ונותן אפשרויות נוספות מבחינת חומרה ו/או תוכנה. דוגמאות:
-
Ethernet Shield – לחיבור לכבל אינטרנט.
-
wifi Shield – לחיבור אל-חוטי לאינטרנט.
-
GSM Shield – לחיבור לרשת הסלולרית (לצורך קבלת ושליחת SMS לרוב).
-
GPS Shield – לקבלת מיקום מדויק בקואורדינטות על פני הגלובוס.
-
Motor Shield – לחיבור מנועי DC.
-
Prototype Shield – תוסף המאפשר בניית מעגל באופן קומפקטי ופשוט על הארדואינו.
בנוסף יש תוספים רבים שניתם לחבר לארדואינו אך לא כ- shieldים. לרוב התוספים יש יצרן סיני המאפשר קנייה יותר זולה, אך בחלקם יש לעתים תקלות רבות יותר מאשר בקניית מקורי.