ארדואינו
אַרְדוּאִינוֹ (מאיטלקית Arduino) הוא מיקרו-בקר בעל מעגל מודפס יחיד (Single Board MicroController), עם סביבת פיתוח משולבת (IDE) ברישיון קוד פתוח, אשר מטרתה ליצור סביבה נוחה וזולה לפיתוח פרויקטים המשלבים תוכנה עם רכיבי אלקטרוניקה.
לארדואינו קהילת משתמשים גדולה ומדריכים מקוונים המסייעים להוריד את חסם הכניסה לתחום הפיתוח המשלב חומרה ותוכנה.
תוכן עניינים |
רכיבי הארדואינו[עריכה]
חומרה[עריכה]
רכיב החומרה העיקרי על המעגל המודפס של הארדואינו הוא מיקרובקר בן 8 סיביות מסדרת AVR של חברת ATMEL, אשר מבצע את התוכנה ומכיל זיכרון הבזק (Flash Memory) לאיחסונה.
לארדואינו גרסאות חומרה שונות למטרות שונות. לדוגמה, ה-LilyPad הוא לוח ארדואינו בעיצוב דק הניתן לקיפול, שניתן לתופרו לתוך בגד.
המעגל המודפס מכיל, כמעט תמיד, בנוסף:
- בקר USB וחיבור USB, המשמש לטעינת התוכנה, וכמקור מתח אפשרי
- מייצב מתח עם ערך של 5 וולט ושקע לכבל חשמלי
- 14 פינים (ולפעמים יותר) לחיבורי רגשים (Sensors) או התקני חומרה אחרים
-
- 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", יש צורך לרכוש רישיון, אשר הכנסותיו משמשות לקידום פרויקטי ארדואינו[6], ולעמוד בדרישות איכות.
בפועל, קיימים בשוק, לוחות משני הסוגים הנ"ל.
שימושים לדוגמה[עריכה]
ישנם פרויקטים רבים ומגוונים שעשו שימוש בארדואינו.
להלן כמה דוגמאות:
- מנעול לדלת הנפתח בנקישה סודית[7][8]
- רובוט הפותר קובייה הונגרית[9]
- שלט רחוק אוניברסלי[10]
- אוסצילוסקופ קוד פתוח[11]
ראו גם[עריכה]
- סביבת MSP430
- מערכת משובצת מחשב
לקריאה נוספת[עריכה]
- ריכוז הספרים על ארדואינו (אנגלית) באתר ArduinoBooks
קישורים חיצוניים[עריכה]
- מדריך עברי לארדואינו באתר HWZone
- קבוצת חובבי ארדואינו בישראל (עברית)
- האתר הרשמי של ארדואינו (אנגלית)
- קהילת משתמשי ארדואינו (אנגלית)
הערות שוליים[עריכה]
- ^ http://arduino.cc/en/Main/ArduinoWiFiShield
- ^ http://www.arduino.cc/en/Main/ArduinoEthernetShield
- ^ http://arduino.cc/en/Main/ArduinoMotorShieldR3
- ^ http://shieldlist.org/sparkfun/can-bus
- ^ http://arduino.cc/en/Main/FAQ
- ^ http://arduino.cc/en/Main/FAQ
- ^ http://arduino.cc/forum/index.php/topic,45675.0.html
- ^ http://www.youtube.com/watch?v=7sbjAbEvQkI
- ^ http://theneuralbit.com/rubiks/theplan.html
- ^ http://www.zovirl.com/2008/11/12/building-a-universal-remote-with-an-arduino/
- ^ http://code.google.com/p/xoscillo/