תקשורת בין פייתון לארדואינו UNO על סדרה מאפשרת לך לשלוט בחומרה באמצעות סקריפטים של פייתון או לשלוח נתונים מהארדואינו לפייתון לעיבוד. מדריך זה ינחה אתכם באמצעות הגדרה ושימוש בפיתון כדי לתקשר עם Arduino UNO על חיבור סדרתי.
מה תצטרך
- ארדואינו אונו עם כבל USB
- Python המותקן במחשב שלך (גרסה 3.x מומלץ)
- Arduino IDE מותקן
- ספרייה לתקשורת סדרתית של פייתון (למשל,
pyserial
)
שלב 1: התקן תוכנה נדרשת
1. התקן את פייתון
אם לא מותקנת פייתון, הורד אותו מ python.org ועקוב אחר הוראות ההתקנה.
2. התקן את ה- Arduino IDE
הורד והתקן את ה- Arduino IDE מ Arduino.cc.
3. התקן את הספרייה Pyserial
Pyserial נדרש לפייתון לתקשר על יציאות סדרתיות. התקן אותו באמצעות הפקודה הבאה:
שלב 2: כתוב והעלה את קוד Arduino
הארדואינו ישלח ויקבל נתונים על יציאת הסדרה. להלן סקיצה דוגמה:
קוד ארדואינו
- פתח את IDE Arduino.
- הדבק את הקוד לעיל בעורך.
- בחר את הנכון לוּחַ וכן נָמָל מתחת ל כְּלֵי עֲבוֹדָה תַפרִיט.
- נְקִישָׁה העלה להעלות את הקוד ל- Arduino UNO.
שלב 3: כתוב את קוד הפיתון
להלן דוגמה לתסריט פייתון לתקשר עם הארדואינו:
קוד פייתון
שלב 4: בדוק את ההתקנה
- חבר את Arduino למחשב שלך באמצעות USB.
- מצא את נמל הארדואינו:
- ב- Windows: בדוק את היציאה במנהל ההתקנים (למשל, COM3).
- ב- MacOS/Linux: השתמש ב
ls /dev/tty.*
פקודה למציאת היציאה הנכונה (למשל,/dev/ttyUSB0
).
- עדכן את
port
ערך בתסריט Python כדי להתאים את יציאת הארדואינו שלך. - הפעל את סקריפט Python באמצעות הפקודה:
- שימו לב לתקשורת בין פייתון לארדואינו בטרמינל ובמוניטור הסדרתי.
יישומים של תקשורת Python-arduino
- אוטומציה של משימות חומרה (למשל, הפעלת נוריות LED, שליטה על מנועים)
- רישום נתוני חיישן לקובץ או בסיס נתונים
- יצירת GUIS מותאמת אישית לפרויקטים של Arduino באמצעות ספריות Python כמו Tkinter או PYQT
- שילוב ארדואינו עם פלטפורמות IoT
פתרון בעיות
-
אין קשר לארדואינו:
- ודא כי היציאה הנכונה מוגדרת בסקריפט Python.
- ודא ששיעור Baud תואם את סקיצת Arduino.
-
אין תגובה מארדואינו:
- הוסף עיכוב לאחר פתיחת החיבור הסדרתי (
time.sleep(2)
). - ודא שהארדואינו לא משמש תוכנית אחרת (למשל, צג סדרתי ב- Arduino IDE).
- הוסף עיכוב לאחר פתיחת החיבור הסדרתי (
-
Unicodedecodeerror:
- בדוק את קידוד הנתונים שנשלחו/מתקבלים. לְהִשְׁתַמֵשׁ
.decode(errors='ignore')
במידת הצורך.
- בדוק את קידוד הנתונים שנשלחו/מתקבלים. לְהִשְׁתַמֵשׁ
מַסְקָנָה
הגדרת בהצלחה תקשורת בין פייתון לארדואינו אונו על סדרה. זה פותח אפשרויות אינסופיות לשילוב הספריות החזקות של פייתון עם יכולות החומרה של ארדואינו. התנסו עוד יותר על ידי הוספת חיישנים, מנועים או יצירת GUIS מבוסס פיתון לפרויקטים שלכם!