- חומרים נדרשים:
- התקנת פייתון במחשב שלך:
- קבלת PySerial בפייתון:
- התוכנית הראשונה שלנו לפייתון של ארדואינו:
- בקרת LED עם פייתון וארדואינו:
ארדואינו תמיד הייתה פלטפורמת למידה / פיתוח עוצמתית וקלה לשימוש בכל הנוגע לפיתוח חומרה בקוד פתוח. בעולם המודרני של ימינו, כל חומרה מופעלת על ידי שפת תכנות למטרות כלליות ברמה גבוהה כדי להפוך אותה ליעילה יותר וידידותית למשתמש. שפה אחת כזו היא פייתון. פייתון היא שפת תכנות פרשנית, מונחית עצמים, ברמה גבוהה עם סמנטיקה דינמית עם מבנים מובנים ברמה גבוהה, בשילוב עם הקלדה דינמית וקישור דינמי, הופכים אותה לאטרקטיבית מאוד עבור פיתוח יישומים מהיר.
שילוב הכוח של Arduino ו- Python יפתח דלתות להרבה אפשרויות שכן לפייתון יש תפוקה מוגברת עם יכולתו לתקשר עם פלטפורמות אחרות כמו openCV, Matlab וכו '. אז במדריך זה נלמד כיצד אנו יכולים להתקין פיתון במחשב שלנו. וכיצד להשתמש בו עם Arduino לצורך החלפת נורית ה- LED של Arduino.
אז בואו נתחיל….
חומרים נדרשים:
- Arduino Uno (או כל לוח Arduino)
- מחשב עם חיבור לאינטרנט
התקנת פייתון במחשב שלך:
ברור שהצעד הראשון במדריך זה יהיה התקנת Python במחשב שלנו. השלבים המוזכרים להלן חלים רק על משתמשי Windows המריצים מערכת הפעלה של 32 סיביות או 64 סיביות. הליך ההתקנה עבור MAC ו- Linux שונה.
- לחץ על 32 סיביות Python-2.7.9 וזה יתקין את ה- Python IDLE של 32 סיביות במחשב שלך. אל תוריד את גרסת ה- 64 סיביות או את הגרסאות המעודכנות מכיוון שהן אינן מספקות תמיכה בספריות Arduino שלנו. גם אם המחשב שלך פועל על 64 סיביות אתה יכול להשתמש בפייתון 32 סיביות עצמו.
- פתח את קובץ ה- exe שהורד ופעל לפי ההוראות. אל תשנה את הספרייה בה מותקן הפיתון. זה יהיה C: \ Python27 כברירת מחדל ולהשאיר אותו ככזה.
- בזמן ההתקנה אתה עשוי לקבל אזהרה מהאנטי-וירוס שלך (אם קיים) במקרה זה לחץ על אפשר.
זהו !, פיתון מותקן בהצלחה במחשב שלנו. באפשרותך לאמת זאת על ידי חיפוש "Python IDLE" בתיבת החיפוש של Windows ופתיחתו.
כאשר נפתח אתה אמור לקבל את המסך הבא. חלון זה נקרא מעטפת פייתון ואנו נתייחס אליו כ"מעטפת פייתון "מעתה.
מסך זה נקרא מעטפת פייתון. אתה יכול לקודד ישירות כאן ולקבל את הפלט באותו מסך או ליצור קובץ חדש ולכתוב שם את התוכנית ולאמת את התוכנית כאן. בהמשך ניכנס לפרטים של יצירת תוכנית פיתון, לעת עתה נבדוק אם פיתון עובד.
לשם כך, פשוט הקלד " הדפס (1 + 1) " ולחץ על Enter. אתה אמור לראות את התוצאה מודפסת כפי שמוצג להלן.
קבלת PySerial בפייתון:
השלב הבא הוא התקנת pyserial. PySerial הוא מודול API של Python המשמש לקריאה וכתיבה של נתונים טוריים ל- Arduino או לכל מיקרו-בקר אחר.
לחץ על חלונות Pyserial להורדת PySerial. ההורדה המתקבלת תהיה קובץ exe שניתן להתקין ישירות. אל תשנה הגדרה כלשהי במהלך ההתקנה. השאר את זה לספריית ברירת המחדל ולהגדרות ברירת המחדל.
עכשיו, בואו נבדוק אם PySerial מותקן כהלכה. לשם כך, פתח שוב את פייתון מעטפת והקלד
יבוא סידורי . אם הספרייה הותקנה בהצלחה, אתה לא אמור לקבל הודעות שגיאה כפי שמוצג בתמונה למטה. אם תקבל שגיאות פרסם אותן בסעיף ההערות וננסה לפתור אותה.
הדרכה זו מניחה שאתה מכיר את Arduino ויש לך ניסיון בהעלאת פרויקטים ל- Arduino. אז בואו נקפוץ ישירות לתוכנית הפיתון שלנו. אם אתה מתחיל עם Arduino בדוק את פרויקטי Arduino שלנו והתחל מ- LED מהבהב עם Arduino.
התוכנית הראשונה שלנו לפייתון של ארדואינו:
כאמור קודם נשליט על ה- LED המובנה של לוח Arduino באמצעות סקריפט Python. נתחיל בקוד הארדואינו.
תוכנית לארדואינו:
התוכנית המלאה להדרכת פיתון זו של ארדואינו ניתנת בסוף עמוד זה. קרא עוד כדי לדעת איך זה עובד.
בתוך פונקציית ההתקנה אנו מאתחלים את התקשורת הסדרתית בקצב שידור של 9600 ומכריזים שנשתמש במובנה המובנה כפלט ונפוך אותו נמוך במהלך תחילת התוכנית. שלחנו גם הודעת קבלת פנים לפייתון באמצעות הדפסה סדרתית כמוצג להלן:
הגדרת חלל () {Serial.begin (9600); // אתחל את COM הטורי ב- 9600 baMrate pinMode (LED_BUILTIN, OUTPUT); // הפוך את פין ה- LED (13) לפלט digitalWrite (LED_BUILTIN, LOW); Serial.println ("היי! אני ארדואינו"); }
בתוך פונקציית הלולאה , אנו קוראים כל הנתונים המגיעים באופן סדרתי ומקצים את הערך למשתנה "נתונים". כעת בהתבסס על ערך המשתנה הזה ("נתונים") אנו מחליפים את המוביל המובנה כפי שמוצג להלן.
loop loop () {while (Serial.available ()) {data = Serial.read (); } אם (data == '1') digitalWrite (LED_BUILTIN, HIGH); אחרת אם (data == '0') digitalWrite (LED_BUILTIN, LOW); }
תוכנית לפייתון:
תוכנית הפיתון המלאה עבור הדרכה זו ניתנת בסוף עמוד זה. קרא עוד כדי לדעת לכתוב ולהשתמש בו.
- פתח את מעטפת ה- Python שלך (Python IDLE) ולחץ על קובץ-> חדש
- פעולה זו תפתח קובץ טקסט חדש שבו תוכל להקליד את התוכנית שלך.
- לפני שאנחנו מקלידים משהו אפשר לשמור את הקובץ, על ידי Ctrl + S. הקלד שם כלשהו ולחץ על שמור. זה יחסוך לך את הקובץ באופן אוטומטי בסיומת ".py".
- כעת הקלד את התוכנית או הדבק את קוד הפיתון שניתן בסוף עמוד זה. ההסבר לכך ניתן להלן ולבסוף להריץ את התוכנית.
בתוכנית שלנו הצעד הראשון יהיה לייבא את ספריית הסדרה והזמן. הספרייה הסדרתית כאמור קודם תשמש לקריאה וכתיבה של נתונים סדרתיים וספריית הזמן תשמש ליצירת עיכובים בתכנית שלנו. ניתן לייבא שתי ספריות אלה לתכנית שלנו באמצעות שתי השורות הבאות:
ייבא #Serial סידורי המיובא לזמן ייבוא תקשורתי # נדרש להשתמש בפונקציות עיכוב
השלב הבא יהיה לאתחל אובייקט סדרתי באמצעות הספרייה הסדרתית שלנו. בתוכנית זו שמנו את האובייקט הסדרתי שלנו כ- "ArduinoSerial" . בשורה זו עלינו להזכיר את שם יציאת ה- COM אליה מחובר הארדואינו ובאיזה קצב שידור הוא פועל כמוצג להלן.
ArduinoSerial = serial.Serial ('com18', 9600)
הערה: חשוב מאוד להזכיר את שם יציאת ה- COM הנכון. ניתן למצוא אותו באמצעות מנהל ההתקנים במחשב שלך.
ברגע שהאובייקט הסדרתי מאותחל עלינו להחזיק את התוכנית למשך שתי שניות כדי ליצור את התקשורת הסדרתית. ניתן לעשות זאת באמצעות השורה הבאה:
זמן. שינה (2)
עכשיו אנחנו יכולים לקרוא או לכתוב כל דבר מ / אל לוח הארדואינו שלנו.
השורה הבאה תקרא כל מה שמגיע מארדואינו ותדפיס אותו על חלון המעטפת
- הדפס ArduinoSerial.readline ()
ניתן גם להקצות את הערך למשתנה ולהשתמש בו לצורך חישובים.
השורה הבאה תכתוב את ערך הפרמטר ללוח Arduino.
ArduinoSerial.write ('1')
שורה זו תכתוב '1' לארדואינו. אתה יכול לשלוח כל דבר החל מעשרונים ועד מחרוזות באמצעות אותה שורה.
עכשיו, כשחוזרים לתכנית שלנו, בתוך הלולאה האינסופית, יש לנו את השורות הבאות
var = raw_input () #get קלט מהדפסת המשתמש "הזנת", var # הדפס את הקלט לאישור אם (var == '1'): # אם הערך הוא 1 ArduinoSerial.write ('1') # send 1 זמן הדפסה ("נורית נורית מופעלת"). שינה (1) אם (var == '0'): # אם הערך הוא 0 זמן ArduinoSerial.write ('0') # שלח 0 הדפסה ("נורית כבויה"). שינה (1)
השורה var = raw_input תקבל כל ערך שיוקלד בסקריפט Shell ותקצה ערך זה למשתנה var .
בהמשך, אם הערך הוא 1 הוא ידפיס '1' סדרתי לארדואינו ואם 0 הוא ידפיס '0' באופן סדרתי לארדואינו. את הקוד בתכנית Arduino שלנו (שנדון לעיל) נעביר את ה- LED על בסיס הערך שהתקבל.
לאחר סיום התוכנית השלמה התסריט שלך אמור להראות בערך כך למטה
כעת לחץ על הפעלה -> הפעל מודול או לחץ על F5 זה עשוי לבקש ממך לשמור את התוכנית ואז יפעיל אותה.
בקרת LED עם פייתון וארדואינו:
העבודה של פרויקט זה די קדימה. העלה את התוכנית לארדואינו שלך וודא שהיא מחוברת לאותו יציאת COM כפי שהוזכר בתוכנית הפיתון. ואז הפעל את תוכנית פייתון כאמור לעיל.
פעולה זו תשיק סקריפט פגז פיתון כמוצג להלן. החלון משמאל הוא חלון המעטפת המציג את הפלט והחלון מימין הוא התסריט המציג את התוכנית.
כפי שאתה יכול לראות את המחרוזת "היי! אני ארדואינו" שהוזן בתוכנית הארדואינו מתקבל על ידי הפייתון ומוצג על חלון הקליפה שלו.
כאשר חלון המעטפת מבקש להזין ערכים, אנו יכולים להזין 0 או 1. אם אנו שולחים 1 נורית הנורית בלוח הארדואינו תידלק ואם נשלח 0 נורית הנורית בלוח הארדואינו שלנו תכבה. מציג חיבור בהצלחה בין תוכנית Arduino שלנו לפייתון.
ישנן שתי תוכניות המופיעות למטה, אחת שתעלה ותופעל מארדוינו והשנייה תופעל מ- Python Shell ב- Windows.
מקווה שהבנת את הפרויקט והצלחת לגרום לו לעבוד. אם לא, פרסם את בעייתך בתגובה למטה ואשמח לעזור לך. בפרויקט הבא שלנו נלמד מה עוד אפשר לעשות מגניב עם פייתון וארדואינו על ידי חקירה מעמיקה במודולי פיתון אחרים כמו Vpython, gamepython וכו '. עד אז הישאר מכוון….