הארה תכניות העשרה בעמ - הכרות עם הארדואינו




 
  ביצוע תשלומים
  הרשמה לניוזלטר
  יצירת קשר
  הארה בפייסבוק
 








 
הכרות בקר ארדואינו

מה זה ארדואינו ?

ארדואינו  - שמה של החברה שמייצרת את הלוחות, ישנם דגמים רבים של ארדואינו (UNO, MEGA,  (…NANOלכולם מטרה זהה, אבל לכל
אחד מהם יש חומרה ויכולות אחרות. פרוייקט הארדואינו הוא פרוייקט open source, כלומר האנשים שפיתחו אותו משחררים את כל תרשימי
בניה שלו לציבור הרחב וכל אחד שמעוניינים לבנות אחד יכול – כתוצאה מכך ישנם הרבה חברות שמייצרות חיקויים שונים של הארדואינו
שעובדים בדיוק כמו המקור.

ארדואינו הוא למעשה מיקרו-מחשב קטן מאוד, שניתן לתכנת אותו כדי שיבצע מגוון רחב של משימות. 
 
הארדואינו עצמו הוא לוח קטן, גודלו כמו כרטיס אשראי בערך, ועליו מורכב המיקרו-בקר המרכזי שמעבד את התוכנה, יש לו זיכרון
פנימי לאחסון נתונים וקוד, ויש לו חיבורים שאפשר לחבר אליהם רכיבים שונים כמו לדים, לחצנים, חיישנים, מנועים ועוד. כל מה שצריך
על מנת לתכנת את הארדואינו, זה לחבר אותו למחשב באמצעות כבל USB, ואז לכתוב תוכנית בסביבת הפיתוח של הארדואינו. השפה
המרכזית לכתיבת תוכניות היא שפת C‎ או C++‎.
 
אחרי שמעלים את הקוד לארדואינו, הוא יכול לפעול כמערכת עצמאית לחלוטין ללא המחשב, למשל לקרוא נתונים מחיישנים ולהפעיל מנועים
או ממסרים בהתאם לקוד שנכתב. ישנן אפשרויות רבות לשימושים שאפשר לעשות עם ארדואינו - בקרה ואוטומציה של מערכות שונות, יצירת
רובוטים קטנים, מדידה ואיסוף נתונים מחיישנים, ועוד המון דברים אחרים.
 
בקיצור, זוהי פלטפורמת חומרה ותוכנה פשוטה, זולה ונפוצה מאוד ליצירת מערכות אלקטרוניות מתוכנתות אוטונומיות מגוונות לכל מיני שימושים.



מה ההבדל בין קלט לפלט? אילו רכיבים ניתן לחבר לבקר הארדואינו?

ארדואינו מאפשר חיבור של רכיבים חיצוניים שונים אליו, שחלקם משמשים כקלט וחלקם כפלט.
 
קלט (Input) - רכיבים ששולחים נתונים אל הארדואינו:
 
- לחצנים - כאשר לוחצים עליהם הם שולחים אות לארדואינו
- חיישנים - למשל חיישני טמפרטורה, אור, לחות וכד' - שולחים מדידות לארדואינו
- אנקודרים - חיישנים המודדים מיקום/זווית ושולחים לארדואינו
- מודולים אלחוטיים - למשל מודול WiFi או Bluetooth המקבל נתונים אלחוטית
 
פלט (Output)- רכיבים שהארדואינו שולט בהם ומפעיל אותם:
 
- LED - ניתן להדליק/כבות דיודות פולטות אור
- רמקולים וזמזמים - להשמיע צלילים
- מנועים - לשלוט במהירות וכיוון הסיבוב
- ממסרים - להפעיל מעגלים חשמליים חיצוניים
- מסכי LCD - להציג טקסט ותמונות
- מודולים אלחוטיים - לשלוח נתונים אלחוטית 
 
כך שבעצם יש רכיבי קלט ששולחים מידע לארדואינו, 
ופלט שהארדואינו מפעיל ושולט בהם בהתאם לתוכנה.

סרטון הסבר, מה זה ארדואינו?


התקנת - Arduino IDE

על מנת שנוכל לעבוד עם לוח הארדואינו לכתוב לו קוד ולהעלות את הקוד לבקר אנו צריכים להתקין על המחשב שלנו את התוכנה -
Arduino IDE. את התוכנה ניתן להוריד מהאתר של ארדואינו תחת הלשונית תוכנות - קישור כאן. נבחר את הגרסא שמתאימה
למערכת ההפעלה של המחשב שלנו, נוריד את התוכנה ונתקין אותה.


כעת נפתח קוד לדוגמא. הקוד נקרא blink נלחץ על file --> exsamples --> basics --> blink.


מדובר בקוד פשוט שמטרתו לגרום לנורת הלד בלוח הארדואינו.

נעבוד על הקוד שורה שורה ונראה מה הוא עושה


הסבר מפורט של כל שורה בקוד:

  • הערות (Comments): הטקסטים המתחילים ב-// הם הערות שנועדו להסביר את הקוד. הם אינם משפיעים על ביצוע התוכנית ומשמשים לתיעוד והבהרה.
  • הפונקציה setup(): זוהי פונקציה מיוחדת בארדואינו שרצה פעם אחת בלבד כאשר הלוח מופעל או מאופס. משתמשים בה כדי להגדיר הגדרות התחלתיות, כמו הגדרת פינים כקלט או פלט, אתחול תקשורת סריאלית ועוד.
  • pinMode(13, OUTPUT);: הפונקציה pinMode מגדירה את מצב הפעולה של פין מסוים. במקרה זה, פין 13 מוגדר כפלט (OUTPUT), מכיוון שנרצה לשלוט על נורית LED המחוברת אליו.
  • הפונקציה loop(): זוהי פונקציה נוספת בארדואינו שרצה בלולאה אינסופית לאחר סיום הפונקציה setup(). כל מה שנכתב בתוך loop() יחזור על עצמו שוב ושוב כל עוד הלוח פועל.
  • digitalWrite(13, HIGH);: הפונקציה digitalWrite משמשת לכתיבת ערך דיגיטלי (HIGH או LOW) לפין שהוגדר כפלט. במקרה זה, הגדרת פין 13 ל-HIGH תגרום להדלקת ה-LED המחוברת אליו.
  • delay(1000);: הפונקציה delay משהה את ביצוע התוכנית למשך זמן מסוים הנמדד במילישניות. כאן, התוכנית מושהית למשך 1000 מילישניות, כלומר שנייה אחת, מה שגורם ל-LED להישאר דולקת למשך זמן זה.
  • digitalWrite(13, LOW);: הגדרת פין 13 ל-LOW תכבה את ה-LED.
  • delay(1000);: השהיה נוספת של שנייה אחת לפני שהלולאה מתחילה מחדש, מה שגורם ל-LED להישאר כבויה למשך שנייה.

לאחר שהבנו את הקוד נעלה את הקוד לבקר. נבחר את הלוח המתאים ארדואינו UNO ולאחר מכאן נבחר את הפורט COM של אותו לוח.
 
 
לבסוף נלחץ על כפתור החץ ימינה כדי להעלות את הקוד לבקר.
כעת נורת הלד בלוח הארדואינו אמורה להבהב.

אתגר

1.שנו את הקוד כך שקצב ההבהוב יהיה איטי יותר למשל כל שלוש שניות הנורה תדלק או תכבה.

פתרון

2. נחליף בקוד את המספר 1000 למספר 3000 - בשתי הנקודות בקוד.

פקודות ארדואינו נפוצות

מקרא של הפקודות השונות שנשתמש בהם בהמשך הקורס ומה כל אחת עושה.

pinMode(pin, mode)

הפונקציה pinMode משמשת להגדרת מצב הפעולה של פין ספציפי בלוח הארדואינו, כקלט (INPUT) או כפלט (OUTPUT).
יש לקרוא לפונקציה זו בתוך פונקציית setup() כדי להגדיר את מצב הפינים לפני השימוש בהם.

פרמטרים:

  • pin: מספר הפין שברצונך להגדיר.
  • mode: המצב של הפין: INPUT, OUTPUT, או INPUT_PULLUP.

digitalWrite(pin, value)

הפונקציה digitalWrite משמשת לכתיבת ערך דיגיטלי (HIGH או LOW) לפין שהוגדר כפלט. כאשר הפין במצב HIGH,
המתח עליו יהיה 5V, ובמצב LOW המתח יהיה 0V.

פרמטרים:

  • pin: מספר הפין שאליו כותבים.
  • value: הערך לכתיבה: HIGH או LOW.

digitalRead(pin)

הפונקציה digitalRead משמשת לקריאת הערך הדיגיטלי (HIGH או LOW) מפין שהוגדר כקלט. משתמשים בה כדי לבדוק
את מצבם של חיישנים או כפתורים המחוברים לפינים הדיגיטליים.

פרמטרים:

  • pin: מספר הפין שממנו קוראים.

analogRead(pin)

הפונקציה analogRead משמשת לקריאת ערך אנלוגי מפין אנלוגי (A0-A5 בלוחות רבים). היא ממירה את המתח האנלוגי
הנקלט לערך דיגיטלי בין 0 ל-1023, בהתאם למתח הקלט (בדרך כלל 0 עד 5 וולט).

פרמטרים:

  • pin: מספר הפין האנלוגי שממנו קוראים (למשל, A0).

analogWrite(pin, value)

הפונקציה analogWrite משמשת לכתיבת ערך PWM (מודולציית רוחב פולס) לפין דיגיטלי התומך ב-PWM. זה מאפשר
שליטה בעוצמת נורות LED, מהירות מנועים ועוד.

פרמטרים:

  • pin: מספר הפין שאליו כותבים.
  • value: ערך ה-PWM בין 0 (כבוי) ל-255 (מלא).

delay(milliseconds)

הפונקציה delay משהה את ביצוע התוכנית למשך זמן מוגדר במילישניות. היא שימושית כאשר יש צורך בהמתנה בין פעולות,
כמו הבהוב נורת LED.

פרמטרים:

  • milliseconds: משך ההשהיה במילישניות.

Serial.begin(baudRate)

הפונקציה Serial.begin מתחילה תקשורת סריאלית בין הארדואינו למחשב או להתקנים אחרים בקצב באוד מוגדר.
יש לקרוא לפונקציה זו בתוך setup() לפני שימוש בפונקציות סריאליות אחרות.

פרמטרים:

  • baudRate: קצב התקשורת בבאוד (למשל, 9600).

Serial.print(data)

הפונקציה Serial.print מדפיסה נתונים לפורט הסריאלי ללא ירידת שורה בסיום.
היא שימושית להצגת מידע או נתונים למחשב דרך ה-Serial Monitor.

פרמטרים:

  • data: הנתונים להדפסה (טקסט, מספרים, משתנים וכו').

Serial.println(data)

הפונקציה Serial.println מדפיסה נתונים לפורט הסריאלי עם ירידת שורה בסיום.
היא שימושית להצגת מידע או נתונים למחשב דרך ה-Serial Monitor, כאשר כל קריאה מופיעה בשורה חדשה.

פרמטרים:

  • data: הנתונים להדפסה (טקסט, מספרים, משתנים וכו').

tone(pin, frequency, duration)

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

פרמטרים:
  • pin: מספר הפין הדיגיטלי שעליו יופק הצליל.
  • frequency: תדר הצליל בהרצים (Hz).
  • duration (אופציונלי): משך הזמן שבו יופק הצליל, במילישניות



[חזרה למעלה]       [הוספה למועדפים]       [מפת האתר]       [יצירת קשר]
עיצוב וביצוע: חיפושית מולטימדיה
לייבסיטי - בניית אתרים