ארדוינו למתחילים

ארדוינו למתחילים 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

>  נסה לנחש מה עושה התוכנית.

הרץ את התוכנית ובדוק אם היא מתנהגת כמצופה.

הערה: ניתן לחבר לחצן לארדוינו גם ללא נגד וכך לפשט את המעגל.
כדי שזה יעבוד:

  1. יש להגדיר את פין הכניסה כ INPUT_PULLUP  (כניסה עם נגד פנימי ל – 5V).
  2. יש לחבר את נקודה 1 של הלחצן לארקה ואת הנקודה השניה אל רגל המעבד.
  3. כשהלחצן לחוץ התוכנה תקרא אפס, כשמשוחרר תקרא אחד.

תרגיל 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,…בקצב של מספר לשנייה.

זו היא דרך להציג תוצאות חישוב או ערך שמדד חישן. מבלי להתקין תצוגה.

למידע מתקדם יותר ראו פה

כתיבת תגובה