פרסומת

לוח מעגל ארדואינובפעם האחרונה שעזבתי אותך לאחר הקמה תחילת העבודה עם ערכת Starter Arduino שלך - התקנת דרייברים והגדרת הלוח והיציאהאז קנית לעצמך ערכת מתנע של ארדואינו, ואולי גם כמה רכיבים מגניבים אקראיים אחרים - מה עכשיו? איך בעצם מתחילים עם תכנות הדבר הארדואינו הזה? איך אתה מגדיר את זה ... קרא עוד Arduino שלך לעבוד עם Mac או Windows, והעלית אפליקציית בדיקה פשוטה שהבהבה את נורית הלוח. היום אני הולך להסביר את הקוד שהעלית, את מבנה תוכנת Arduino וקצת יותר על הקטעים האלקטרוניים בלוח עצמו.

מאמר זה הוא חלק מבוא לסדרת ארדואינו. שאר המאמרים בסדרה עד כה הם:

  • מה זה ארדואינו ומה אפשר לעשות עם זה מה זה ארדואינו ומה אתה יכול לעשות עם זה?הארדואינו הוא מכשיר אלקטרוניקה קטן ומדהים, אבל אם מעולם לא השתמשת במכשיר כזה לפני כן, מה בדיוק הם ומה אתה יכול לעשות עם מכשיר אחד? קרא עוד ?
  • מהי ערכת מתנע של Arduino ומה היא מכילה? מה כלול בערכת Starter Arduino? [MakeUseOf מסביר]הצגתי בעבר את חומרת המקור הפתוח של Arduino כאן ב- MakeUseOf, אבל אתה זקוק ליותר מסתם הארדואינו בפועל כדי לבנות מזה משהו ולמעשה להתחיל. ערכות המתנע של ארדואינו הן ... קרא עוד
  • instagram viewer
  • רכיבים מגניבים יותר לקנות עם ערכת המתנע שלך 8 רכיבים מגניבים יותר לפרויקטים של Arduino שלךאז אתם חושבים להשיג ערכת מתנע של ארדואינו, אבל תוהה אם כמה נוריות LED ונגדים בסיסיים אכן יספיקו לכם כדי להיות עסוקים לסוף השבוע? כנראה שלא. הנה עוד 8 ... קרא עוד
  • תחילת העבודה עם ערכת Starter Arduino שלך - התקנת דרייברים והגדרת הלוח והיציאה תחילת העבודה עם ערכת Starter Arduino שלך - התקנת דרייברים והגדרת הלוח והיציאהאז קנית לעצמך ערכת מתנע של ארדואינו, ואולי גם כמה רכיבים מגניבים אקראיים אחרים - מה עכשיו? איך בעצם מתחילים עם תכנות הדבר הארדואינו הזה? איך אתה מגדיר את זה ... קרא עוד

החומרה

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

להלן תרשים מוגדל להתייחס אליו:

לוח מעגל ארדואינו
  • בחלקו העליון ישנם 14 סיכות כניסה / יציאה דיגיטליות (ממוספרות 0-13). אלה הם הסיכות המגוונות ביותר בארדואינו שלכם ויכולים לתפקד כקלט או פלט, ויהוו את ליבת הפרויקטים שלכם. דיגיטלי פירושו שהאות שאותו סיכות אלו יכולות לכתוב או לקרוא יהיה מופעל או כבוי.
  • 6 מאותם סיכות דיגיטליות, המסומנות על ידי שלט העגל ~ מסוגלים לעשות את מה שזה נקרא אפנון רוחב הדופק. אני לא מהנדס חשמל ולכן לא אבכה את עצמי בהסברתי על המדע שמאחורי זה, אלא לך ולך זה אומר שאנחנו יכולים לספק מגוון של רמות פלט - למשל, עמעום נורית LED או הנעה של מנוע משתנה מהירויות.
  • פין 13 מיוחד בכך שיש לו LED מובנה. זה לנוחיות ולמטרות בדיקה בלבד באמת. אתה יכול להשתמש בנורת LED זו על גבי הלוח, כפי שעשית באפליקציית הדוגמה של Blink, פשוט על ידי פלט לפין 13 - או שהוא יכול לשמש כפינים קלט / פלט סטנדרטיים.
  • בצד ימין למטה 6 סיכות קלט אנלוגיות. אלה יקראו את הערך של חיישנים אנלוגיים כגון מטר אור או נגדים משתנים.
  • בפינה השמאלית התחתונה לצד סיכות הקלט האנלוגי נמצאים סיכות חשמל. היחידים שאתה באמת צריך לדאוג להם הם קווי הכוח היבשתיים (GND), 3.3v ו- 5v קווי חשמל.
  • לבסוף, המתג היחיד שנמצא על הארדואינו הוא מתג לאיפוס. זה יפעיל מחדש את כל התוכניות שיש לזכרו.
  • לארדואינו יש כמות קבועה של זיכרון, ואם התוכנית שלך גדולה מדי, המהדר ייתן לך שגיאה.

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

כל תוכנית Arduino מורכבת משתי פונקציות לפחות (אם אינך יודע מהי פונקציה, הקפד לקרוא את הדרכת תכנות בסיסית, חלק ב '- הצהרות פונקציה ובקרה היסודות המוחלטים של תכנות למתחילים (חלק ב ')בחלק 2 של המדריך למתחילים המוחלט שלנו לתכנות, אעסוק ביסודות של פונקציות, ערכי החזרה, לולאות ומצבים. וודא שקראתם את חלק 1 לפני שתתמודדו עם זה, שם הסברתי את… קרא עוד , ו חלק 1 בו דנו במשתנים היסודות של תכנות מחשבים 101 - משתנים וסוגי נתוניםלאחר שהצגתי ודיברתי מעט על תכנות מונחה עצמים לפני והיכן הדובדבן שלה מגיע, חשבתי שהגיע הזמן שנעבור את היסודות המוחלטים של תכנות באופן ספציפי שאינו שפה דרך. בית המלון מתפאר ב ... קרא עוד לפני שתמשיך).

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

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

להלן תרשים מצבים מהיר להמחשה:

לוח מעגל ארדואינו

בחינת תוכנית הבלינק

התבונן אחורה בקוד התוכנית Blink וזיהה את פונקציות ההתקנה והלולאה.

הנה ההתקנה:

הגדרת ביטול () { // לאתחל את הסיכה הדיגיטלית כפלט. // לפין 13 יש נורית LED המחוברת ברוב לוחות Arduino: pinMode (13, OUTPUT); }

הקווים שמתחילים // הם פשוט הערות כדי להסביר את הקוד לקורא אנושי, והם לא מועלים לארדואינו. כך שלמעשה, יש רק שורה אחת של קוד הגדרה באפליקציית Arduino הספציפית הזו. בשורה זו נאמר "הגדר סיכה 13 למצב פלט". 13, זכור, הוא ה- LED המובנה.

ואז יש את הלולאה:

לולאת חלל () { digitalWrite (13, HIGH); // הפעל את הנורית. עיכוב (1000); // חכה שנייה. digitalWrite (13, נמוך); // כבה את ה- LED. עיכוב (1000); // חכה שנייה. }

ההערות בסוף כל שורת קוד מסבירות את תפקודן די טוב. HIGH and LOW מתייחסים למצב ON ו- OFF של פלט דיגיטלי - במקרה שלנו הנורית. אתה יכול למעשה לכתוב או להפסיק גם את הקוד, שניהם נרדפים (כמו גם 0 וגם 1). עיכוב אומר לארדואינו לחכות קצת, במקרה זה 1000 אלפיות השנייה (או שנייה אחת).

לבסוף, הערה על שפת התכנות הנהוגה כאן. שימו לב שלפונקציות ההתקנה וגם של הלולאה יש את המילה בטל לפניהם. זו מילה מיוחדת ל שום דברכי הפונקציה לא מחזיר דבר כאשר זה נקרא - הוא פשוט מריץ את הקוד הכלול בתוכו. לעת עתה, בואו נשאיר זאת בזה שנאמר כי גוש הקוד של הפונקציה סגור על ידי פלטות מתולתלות {}, ושכל שורת קוד חייבת להסתיים ב: חצי-מעי גס.

נסה לשנות איכשהו את התוכנית הבסיסית על ידי שינוי ערכי העיכוב המדויקים למשהו גדול או קטן יותר. ראה כמה קטן אתה יכול להוריד את זה לפני שההבהב כבר לא מורגש. ברר איזה ערך לשנות כדי לגרום לו להמשיך למשך זמן רב יותר, או להישאר במצב ארוך יותר. נסה להוסיף עוד הצהרות דיגיטליות ודיחוי לפונקציית הלולאה כדי ליצור דפוס מהבהב מורכב יותר כמו קוד מורס ל- SOS. אם יש לך זמזם, נסה לחבר אותו לפינים 13 ול- GND (רמז: החוט האדום הולך ל 13, שחור לאדמה).

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

ג'יימס הוא בעל תואר ראשון בבינה מלאכותית, והוא מוסמך CompTIA A + ו- Network +. הוא המפתח הראשי של MakeUseOf, ומבלה את זמנו הפנוי במשחקי פיינטבול VR ומשחקי לוח. הוא בנה מחשבים אישיים מאז שהיה ילד.