תוכן עניינים:

תקשורת סדרתית של Arduino ו- Python - תצוגת לוח מקשים: 4 שלבים
תקשורת סדרתית של Arduino ו- Python - תצוגת לוח מקשים: 4 שלבים

וִידֵאוֹ: תקשורת סדרתית של Arduino ו- Python - תצוגת לוח מקשים: 4 שלבים

וִידֵאוֹ: תקשורת סדרתית של Arduino ו- Python - תצוגת לוח מקשים: 4 שלבים
וִידֵאוֹ: Using BTS7960 BTN8982TA PWM H Bridge motor controller module with Arduino library 2024, נוֹבֶמבֶּר
Anonim
תקשורת סדרתית של Arduino ו- Python - תצוגת לוח מקשים
תקשורת סדרתית של Arduino ו- Python - תצוגת לוח מקשים

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

שלב 1: התקנת תוכנה

הורדת תוכנה
הורדת תוכנה
  1. הורד והתקן את Arduino ->
  2. הורד והתקן את Python 2.7 ->
  3. הורד את ספריית Python "pyserial -2.7.tar.gz" ->
  4. שחרר את הרכיב pyserial-2.7.tar.gz
  5. פתח את הטרמינל והקלד:

cd /users/"Your-User-Account"/Downloads/pyserial-2.7

sudo python setup.py להתקין

התקנת תוכנה מוכנה!

שלב 2: חיווט

תִיוּל
תִיוּל
תִיוּל
תִיוּל
תִיוּל
תִיוּל
תִיוּל
תִיוּל
  1. ארדואינו אונו
  2. לוח מקשים Sparkfun 12 כפתורים

החיווט מתבצע ללא נגדים חיצוניים, במקום זאת השתמשתי במנגדי הפעימה הפנימיים של המיקרו-בקר (נגדי Pullup פנימיים של Arduino יש ערך של 20K-Ohm עד 50K-Ohm)

כדי להפעיל את הנגדים הפנימיים של Pullup, הגדר את INPUT-Pins HIGH בקוד

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

שלב 3: קוד ארדואינו

קוד ארדואינו
קוד ארדואינו
  • ראשית אנו מגדירים צ'ארס-מטריקס למפתחות
  • לוח המקשים משתמש במחברי מתג רגילים המסודרים ב -4 שורות (סיכות 7, 2, 3 ו -5) ו -3 עמודות (סיכות 6, 8 ו -4), מוגדרות כ- rowPins ו- colPins של מערכים.
  • פונקציית ההתקנה ()

    • פתח את השער הטורי עם Serial.begin ();
    • הגדר עמודות כ- OUTPUT-Pins HIGH
    • הפעל את נגדי Pullup, כדי לבצע שורות קבועות כ- INPUT-Pins HIGH;
  • הפונקציה getkey ()

    • הגדר כל שורה נמוכה ובדוק אם אחת העמודות נמוכה. בגלל ה Pullup-Resistors כל השורות HIGH עד שמפתח אחד נדחק כלפי מטה. המקש שנדחק יוצר אות LOW ב- PIN INPUT. LOW זה מציין את המפתח שנדחק בשורה ועמודה זו
    • המתן עד שהמפתח ישוחרר ויחזיר את התו של מפת המפתחות-Array או 0 אם לא נלחץ מפתח
    • השתמש בעיכוב (debounceTime) כדי לייצב את האות

שלב 4: קוד Python_2.7

קוד Python_2.7
קוד Python_2.7
  • ייבא את הספרייה הסידרית
  • הגדר משתנה מחובר = FALSE, מאוחר יותר משתנה זה משמש כדי לבדוק אם החיבור הטורי זמין או לא
  • פתח את הנמל הסידורי עם serial. Serial ("שם הנמל הסידורי שלך", baud)

    • כדי לקבל את שם היציאה הטורית שלך לחץ על -> כלים/יציאה טורית ב- Arduino IDLE
    • השידור צריך להיות זהה לקוד הארדואינו
  • תוך זמן קצר בדיקת לולאה אם החיבור זמין או לא קורא את האות הטורי והגדרת המשתנה מחובר = TRUE, הוא לולאה עד שהוא מקבל חיבור טורי
  • לאחר החיבור קרא את הסידרה בלולאת זמן והכנס קלט זה למשתנה חדש "var"
  • סגור את הנמל עם ser.close ()

מוּמלָץ: