ארדוינו למתחילים ATMEGA328 קוד תוכנית
*** חומר עזר למורה ***
הפינים במעבד ATMEGA328
החיבורים של כרטיס ראדוינו אונו
שפת ארדוינו מבוססת על שפת C
אפשר לומר שזוהי שפת C מורחבת.
כשכותבים קוד [תוכנית] לארדוינו יש לכלול לפחות 2 פינקציות:
- הראשונה setup
- השניה loop
ראו בתוכנית ראשונה.
קוד ארדוינו יכול לכלול פונקציות נוספת ומקומם יהיה מעל לפונקציה setup.
סביבת העבודה של ארדוינו
כדי לכתוב תוכנית ארדוינו וכדי להריץ אותה נצטרך להתקין את ה IDE של ארדוינו
שלבים:
- מתקינים את ה IDE של ארדוינו
- מריצים את ה IDE של ארדוינו
- מקלידים קוד
- בוחרים סוג כרטיס, מפתח וכו
- מבצעים קומפילציה
- מבצעים העלאה – עם סיום ההעלאה התוכנית תתחיל לרוץ
הליך ביצוע קוד תוכנית ארדוינו
setup מתבצעת פעם אחת לפני ה loop
פונקציה loop מבצעת את הקוד שמוכל בה מספר אינסופי של פעמים.
ראו תרשים
שימו לב
כל קו קלט/פלט [IO] של המעבד יכול להיות מוגדר כ:
OUTPUT – מוצא
INPUT – כניסה שאסור להשאיר לא מחוברת
INPUT_PULLUP – כניסה עם נגד פנימי ל – 5V
תוכנית ראשונה
הבהוב לד מובנה שעל הכרטיס.
על הכרטיס מולחם LED כך שהוא פעיל בגבוהה,
לכן הפקודה (digitalWrite(LED, HIGH תדליק את הLED
הפקודה (digitalWrite(LED, LOW תכבה אותו.
על פי התוכנה הלד דולק שנייה וכבוי שנייה, מכאן זמן המחזור הוא 2שניות
ניסוי 1
הקלד את התוכנית וודא שהלד דולק שנייה אחת וכבוי שנייה אחת.
ניסוי 2
שנה את התוכנית כך שהלד יהיה דולק 4 שניות וכבוי שנייה אחת.
ניסוי 3
נסה לקצר את הזמנים כך שהלד יהבהב מהר ככל האפשר, אבל שניתן יהיה להבחין בהבהוב.
ניסוי 4
> חבר את הלחצן והנגד כמתואר פה
> הקלד את תוכנית 2
> נסה לנחש מה עושה התוכנית.
הרץ את התוכנית ובדוק אם היא מתנהגת כמצופה.
הערה: ניתן לחבר לחצן לארדוינו גם ללא נגד וכך לפשט את המעגל.
כדי שזה יעבוד:
- יש להגדיר את פין הכניסה כ INPUT_PULLUP (כניסה עם נגד פנימי ל – 5V).
- יש לחבר את נקודה 1 של הלחצן לארקה ואת הנקודה השניה אל רגל המעבד.
- כשהלחצן לחוץ התוכנה תקרא אפס, כשמשוחרר תקרא אחד.
תרגיל 5
שנה את התוכנית כך שלחיצה תכבה את ה – LED במקום להדליק אותו.
תרגיל 6
נתונה התוכנית
נסה לפענח מה עושה התוכנית.
הרץ את התוכנית ובדוק אם היא מתנהגת כמצופה.
תרגיל 7
נסה לשנות את תוכנית 1 כך שתיצור 10 הבהובים מהירים וא"כ 6 הבהובים איטיים
! יש להשתמש בלולאות.
תרגיל 8
נסה לשנות את תוכנית 1 כך שתיצור הבהובים במהירות הולכת ועולה.
כשהגעת לקצב מקסימאלי יש להתחיל שוב מהבהוב איטי.
! יש להשתמש בלולאות.
תרגיל 9
הוסף לחצן נוסף [ לפין 3 ]
כתוב תוכנית:
א. המדליקה את הלד על פי פונקציה AND [הלד דולק רק אם שני הלחצנים לחוצים].
ב. המדליקה את הלד על פי פונקציה OR [הלד דולק רק אם לפחות מאחד הלחצנים לחוץ].
א. המדליקה את הלד על פי פונקציה NOT
—- ניתן להשתמש באותו שלד תוכנית.
—- על שערים ראו פה https://youtu.be/mjRWxPFg694
תרגיל 10
לחצן 2 = מהיר יותר, לחצן 3 = איטי יותר
כתוב תוכנית המאפשרת להגביר ולהקטין את קצב ההבהוב על פי הלחיצות.
כשאין לחיצה ההבהוב ימשיך באותו קצב.
תרגיל 11
הוסף לחצן נוסף [ לפין 3 ]
כתוב תוכנית:. המדליקה את הלד על פי פונקציה XOR [הלד דולק רק אO אחד משני הלחצנים לחוצים, אבל לא שניהם.
תרגיל 12
שימוש ב UART
על כרטיס ארדוינו אונו נמצא חיבור USB דרכו ניתן להעביר למחשב נתונים דרך ה – UART של המעבד
תוכנית דוגמא לשימוש ב – UART
הקלד את הקוד וטען אותו למעבד
פתח "מסך סיריאלי" מתוך תפריט "כלים" הגדר אותו לקצב של 9600BPS
התוצאה הצפויה היא ספירה של 0,1,2,3,…בקצב של מספר לשנייה.
זו היא דרך להציג תוצאות חישוב או ערך שמדד חישן. מבלי להתקין תצוגה.