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

נסה את הכלי שלנו לביטול בעיות





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



קוד: עבור נורית מובנית פשוט על סיכה 13 של ARDUINO BOARD כברירת מחדל, הוא מתוכנן למצמץ לעיתים קרובות ב 50 מילי שניות, כיוון שבתיאור זה יופיע ASM (אלפיות השנייה).

/ * ראשון פשוט
תוכנית על Arudino מאת JACKFRANKO * /



int l = 13
//where l is pin 13void setup(){ pinMode
(l,OUTPUT) }void loop() { digitalWrite
(l,HIGH) delay(50) digitalWrite
(l,LOW) delay(50)}

הערה: ככל שאנו לומדים תכנות לוח Arduino UNO R3 אם אינך מתכנת או מעצב או חובב, כסטודנט עליך להתחיל מהיסודות.

הדבר הראשון הוא להבין את Arduino Uno R3 על ידי קבלת ערכה הזמינה בחנויות מקוונות.

תיאור :

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

/ * ראשון פשוט

תוכנית על Arudino מאת JACKFRANKO * / השורה הבאה int l = 13

// איפה שאני סיכה 13

זהו חלק הצהרת התוכנית בו אנו נכריז על המספר השלם עם הפקודה 'int' ואחריו האלף-בית הקטן L השווה ל- 13 והסתיים בנקודה-פסיק ואז לאחר קו נטוי כפול '//' וקצת טקסט.

כאן נתנו פקודה 'int' שלרוב אנו אומרים מספר שלם וקטן L השווה ל- 13 וסיימנו בנקודה-פסיק כאן אמרנו למהדר שהערך 'l' שווה ל- 13 שנמצא בסיכה מספר. שלוש עשרה בלוח הארדואינו, כאן 'l' הוא רק ערך שמוגדר להצמיד מספר 13, ש- 'l' איננו שום פונקציה או סקריפט למהדר, אלא עלינו להפוך את הקוד לידידותי קצת כי 'l' ב פרויקט זה הוא קיצור של LED.

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

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

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

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

void setup(){ pinMode
(l,OUTPUT) }

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

כאן pinMode היא פונקציה המיועדת למספר השלם l כ- OUTPUT.

מכאן ש- l מיועד להצמיד מספר 13 על מהדר הארדואינו יבין שסיכה מספר 13 נקראת l ו- l היא סיכה מס '13 אם נשים 13 במקום l אחרי פונקציית PinMode
כפלט הוא יתחשב גם ב 13 וגם ב- l.

אם נמחק int l = 13 זה לא יתחשב באלף-בית l וזה יתן לך שגיאה. כאן קבענו סיכה
לא 13 שהוא אלפבית l כפלט, זה תמיד כתוב באותיות גדולות כמו OUTPUT והפונקציה pinmode נכתבת ב pinMode מתחילה באות קטנה ללא רווח, מצב מילה אחר מתחיל באותיות רישיות שמובנות על ידי המהדר שהוא תלוי רישיות.

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

void loop() { digitalWrite
(l,HIGH) delay(50) digitalWrite
(l,LOW) delay(50)}

כאן הכרזנו על מספר שלם l ל- HIGH עם הפונקציה digitalWrite. הצהרה זו digitalWrite תהפוך את המספר השלם l HIGH פירושו מתי עַל זה יסתובב עַל סיכה מס '13 בלוח Arduino כפי שהצהרנו סיכה מס' 13 היא l המופרדת בפסיק בסוגריים העקומה.
הנה אחרי שאמרנו כי עיכוב (50) הצהרה זו תחשב זמן ב- ms (אלפיות השנייה) כאשר 1000ms שווה לשנייה אחת. בתוכנית זו אני רוצה שההובלה שלי תבהב 20 פעם בחישוב מתמטי שני
נתן לי ערך 50 שנסגר בסוגריים.

המשמעות היא שמתחת לקטע הלולאה השורה הראשונה תדליק את הנורית שלי הממוקמת בסיכה מספר 13 ותמתין ל 5 ms. אם לא נתנו פונקציה נוספת לולאה בכיבוי הנורית היא תישאר דולקת.

למרות שאמרנו את העיכוב הזה למשך 50 מ '. אז נתנו פקודה לכבות את הנורית
ב digitalWrite (l, LOW) לאחר הצהרה זו הצהרה נורית לא תיכבה מכיוון שהלולאה אינה שלמה ללא עיכוב (50) ראשית אנו מדליקים את ה- LED ואז מחכים ל- 50ms ואז מכבים את ה- LED ואז מחכים ל- 50ms כדי להשלים את הלולאה האחת שתשחק למשך זמן רב כל עוד הארדואינו מופעל. זה יופעל ויכבה את הוביל שלך בסיכה לא
13 למשך 20 פעמים בשניות.




קודם: מעגל ממסר DC Solid State DC עם MOSFET הבא: מעגל בקר מוטורי לאחור של חממה