- עמוד זה הוא חלק מהמדריך לפונקציות ארדואינו -
ספריית הארדואינו Servo מספקת מספר פונקציות לתפעול נוח של עד 12 מנועי סרבו (או 48, בלוח ארדואינו Mega). כל מנוע סרבו מנוהל בנפרד, בחיבור לפין פלט נפרד בארדואינו, ובאמצעות מופע נפרד של אובייקט התוכנה Servo (ראו בקוד בדוגמאות).
כדי להשתמש בספריה זו, חובה לכלול אותה בתחילת הקוד, כך:
#include <Servo.h>
שימו לב: השם Servo (עם S גדולה) מציין את שם המחלקה הכללית (class) שמוגדרת בספרייה, ולא אובייקט ספציפי. כדי להפעיל מנוע סרבו, יש ליצור מופע (instance) של המחלקה הזו בקוד ולעבוד איתו. ראו בדוגמאות של הפונקציות השונות – קישורים למטה.
חשוב מאד: אסור לספק חשמל למנועים, ובכלל זה מנועי סרבו, דרך פיני קלט/פלט כלשהם של לוח הארדואינו. גם אם מדובר במנוע קטן וחלש במיוחד, שהארדואינו מסוגל עקרונית לספק לו די זרם, מוטב לנקוט זהירות מונעת ולדאוג לאספקת חשמל חיצונית. הספריה Servo מספקת אך ורק את אות הבקרה הדרוש לתפעול מנועי הסרבו.
אותות הבקרה למנועי סרבו אינם אותות PWM רגילים, ואינם מוגבלים לפיני הפלט ה"אנלוגי" של הארדואינו. עם זאת, הפקתם ברוב לוחות הארדואינו מסתמכת על טיימר 1 של המיקרו-בקר, והדבר יגרום לשיבוש בפלט ה-PWM שמשויך לטיימר זה. בארדואינו Uno ולוחות אחרים שמבוססים על ATmega328, מדובר ב-PWM של פינים 9 ו-10. בארדואינו Mega, שיבושי PWM מסוימים יתחילו בהפעלה של למעלה מ-12 מנועי סרבו.
פונקציות
- הצמדת אובייקט סרבו לפין והפעלתו – Servo.attach
- כתיבת ערך לסרבו – Servo.write
- קריאת ערך סרבו (משוער, לא משוב אמתי) – Servo.read
- תזמון “ידני” של אות הבקרה – Servo.writeMicroseconds
- קריאת משך הפולס באות הבקרה – Servo.readMicroseconds
- בדיקה האם אובייקט סרבו פועל – Servo.attached
- השבתת אובייקט סרבו – Servo.detach