כיצד לתכנת ולשלוט בארדואינו באמצעות פייתון

כיצד לתכנת ולשלוט בארדואינו באמצעות פייתון

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





להתחבר לרשת אבל אין אינטרנט

אין תחושה טובה יותר משילוב של שני דברים מגניבים. למרבה הצער, אי אפשר לתכנת Arduino ישירות עם פייתון, מכיוון שללוחות אין אפשרות לפרשנות משולבת של השפה. מה שכן אפשרי הוא שליטה ישירה על USB באמצעות תוכנית פייתון.





מאמר זה יראה לך כיצד להגדיר UNO Arduino (אם כי כל לוח תואם Arduino יכול לעבוד כאן) כדי להיות מתוכנת ונשלט משורת הפקודה באמצעות תוכניות Python. מדריך זה נכתב עבור Windows 10, אך פועל גם עבור Mac ו- Linux. אתה יכול אפילו להשתמש בזרימת עבודה זו כדי לשלוט בארדואינו ישירות מ- Raspberry Pi לחוויה האולטימטיבית של DIY-down.





הגדרת ה- Arduino שלך לפייתון

עבור הפרויקט של היום נשתמש ב- Arduino Uno, יחד עם ממשק pyFirmata עבור Python. אתה יכול להשתמש כמעט בכל לוח תואם Arduino בשביל זה, אם כי בזמן הכתיבה רק Uno, Mega, Due ו- Nano של Arduino נתמכים על ידי ממשק pyFfirmata. אם אתה כבר גורו של פייתון, תוכל להוסיף תמיכת לוח משלך ל- pyFirmata - הקפד לעדכן את GitHub שלהם אם כן!

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



חבר את לוח ה- Arduino שלך ופתח את ה- IDE. וודא שבחרת את הלוח והיציאה הנכונים ב- כלים תַפרִיט. טען את StandardFirmata שרטוט לדוגמה והעלה אותו ללוח. זה יאפשר לך לשלוט על Arduino ישירות כל עוד הוא מחובר למחשב באמצעות USB. בתנאי שהסקיצה תעלה ללוח שלך ללא טעויות, אתה מוכן להמשיך הלאה.

בקרת פייתון ושורת הפקודה

אנו נשתמש ב- Python 3.4 לשליטה בארדואינו, מכיוון שהמודול שתתקין מציין זאת כגרסה התואמת העדכנית ביותר. כל גרסה לפני זה אמורה לפעול כשורה, ודווחים שגרסאות מאוחרות יותר פועלות. אתה יכול להוריד את Python 3.4 עבור Windows 10 מתוך קרן תוכנת פייתון אֲתַר. אם אתה רוצה להריץ מספר גרסאות של Python, המדריך שלנו לסביבות וירטואליות של Python יוכל לעזור לך.





לאחר שהתקנת את פייתון, נרצה להוסיף אותו למשתנה PATH של המערכת שלך. זה יאפשר לנו להריץ את קוד Python ישירות משורת הפקודה מבלי שנצטרך להיות בספרייה שבה הותקן. תוכל לעשות זאת על ידי פתיחת לוח בקרה , מחפש אחר סביבה ולחץ על ערוך את משתני סביבת המערכת . בתחתית החלון בחר משתני סביבה . זה יביא את החלון הזה:

אם אתה כבר רואה נָתִיב ברשימה, לחץ על ערוך והוסף את פִּיתוֹן ו פייתון/סקריפטים מַדרִיך. אם אין לך משתנה PATH, לחץ על חדש והוסף אותו. שים לב ש- Python הותקן ישירות ב- C: פה. אם התקנת אותו במקום אחר תצטרך לשנות אותו כך שיבטא זאת. לחץ על אישור בחזרה בשרשרת החלונות, ואתה כמעט מוכן לשלוט בארדואינו שלך עם פייתון!





גריז הקסם

תזדקק לחלק אחרון של הפאזל בכדי לגרום לפייתון לדבר יפה עם הארדואינו שלנו. זה בא בצורה של ממשק Python שנקרא pyFirmata . הממשק הזה, שנוצר על ידי Tino de Bruijn הוא זמין להורדה מ- github, אם כי תוכל להתקין אותו ישירות משורת הפקודה על ידי הקלדה:

pip install pyfirmata

בהכל טוב, הוא אמור להתקין ולהיראות כך:

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

גורם לזה לקרות

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

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

ראשית, תרצה לייבא את מה שאתה צריך מתוך pyFirmata מודול, יחד עם ה- Python הסטנדרטי זְמַן מודול.

איך לגרום לחסימת מישהו מ- Facebook
from pyfirmata import Arduino, util
import time

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

בדוק באיזו יציאת COM אתה משתמש ב- Arduino IDE והזן אותו בקוד שלך כמשתנה גלשן .

board = Arduino('COM3')

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

loopTimes = input('How many times would you like the LED to blink: ')
print('Blinking ' + loopTimes + ' times.')

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

for x in range(int(loopTimes)):
board.digital[13].write(1)
time.sleep(0.2)
board.digital[13].write(0)
time.sleep(0.2)

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

שמור את הסקריפט שלך ופתח את שורת הפקודה .

אורות מהבהבים וגילויים אחרים

הכל מוכן ללכת, כל שעליך לעשות הוא לנווט למקום בו נמצא התסריט ולהריץ אותו. עשה זאת על ידי הקלדה cd [נתיב לספריית התסריט] ולאחר מכן להקליד python blink.py .

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

פלט התוכנית אמור להיראות כך:

ברגע שאתה לוחץ על enter לאחר מספר המצמוצים שבחרת, ה- Arduino אמור לבצע את ההזמנות שלך.

התחלות קטנות

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

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

כיצד לגבות סימניות של גוגל כרום

כדי להפוך אותו לחוויית ה- DIY האולטימטיבית, למה לא בנה תיבת NAS משלך ולהשתמש בו גם לשליטה במכשירי החשמל שלך? תארו לעצמכם כמה מגניב יהיה ללחוץ על play בשרת ה- Plex שלכם ולגרום לאורות לכבות את עצמם באופן אוטומטי!

האם אתה כבר שולט בארדואינו באמצעות פייתון? האם יש דרכים עוקפות להפליא שעדיין איננו יודעים עליהן? יידע אותנו בסעיף ההערות למטה!

לַחֲלוֹק לַחֲלוֹק צִיוּץ אימייל 5 טיפים להטעין את מכונות הלינוקס של VirtualBox

נמאס לכם מהביצועים הגרועים שמציעות מכונות וירטואליות? הנה מה שאתה צריך לעשות כדי לשפר את ביצועי VirtualBox שלך.

קרא הבא
נושאים קשורים
  • עשה זאת בעצמך
  • תִכנוּת
  • ארדואינו
  • בית אוטומטי
  • פִּיתוֹן
על הסופר איאן באקלי(פורסמו 216 מאמרים)

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

עוד מאת איאן באקלי

הירשם לניוזלטר שלנו

הצטרף לניוזלטר שלנו לקבלת טיפים, סקירות, ספרים אלקטרוניים בחינם ומבצעים בלעדיים!

לחצו כאן להרשמה