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

CircuitPython עם M4 Express Itsybitsy 1: התקנה: 9 שלבים
CircuitPython עם M4 Express Itsybitsy 1: התקנה: 9 שלבים

וִידֵאוֹ: CircuitPython עם M4 Express Itsybitsy 1: התקנה: 9 שלבים

וִידֵאוֹ: CircuitPython עם M4 Express Itsybitsy 1: התקנה: 9 שלבים
וִידֵאוֹ: Motor Shield בקצרה 2024, יולי
Anonim
CircuitPython עם Itsybitsy M4 Express 1: התקנה
CircuitPython עם Itsybitsy M4 Express 1: התקנה

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

שמתי לב כי אתר זה מכיל הוראות רבות על קידוד עם Arduinos באמצעות Arduino IDE אך מעט מאוד על Python. אני מלמד קידוד מאז 1968. (אז קראנו לזה תכנות והשתמשנו ב- FORTRAN IV עם כרטיסי הולרית לקלט!) מאז אותם ימים מוקדמים השתמשתי בשפות רבות ושונות עם סטודנטים (11 שנים עד מבוגרים) כולל LISP, פסקל ורבים גרסאות שונות ב- BASIC.

לאחרונה בתי ספר רבים בבריטניה החלו להשתמש בפייתון בשיעוריהם כאשר תלמידים עושים את המעבר מקידוד 'בלוק' עם Scratch או דומה להצהרות טקסט. Python הוא כנראה שלב קל יותר מאשר השימוש ב- Arduino IDE. ניתן להפעיל את קוד CircuitPython על ידי שמירת הקוד בלוח הפיתוח כאילו היה כונן USB. השתמשתי בהצלחה בפייתון למחשוב פיזי עם ילדים בגילאי 8 עד 11 במועדון הקידוד של בית הספר היסודי של נכדתי.

החלטתי להשתמש ב- Itsybitsy M4 Express של Adafruit למטרות הוראה אלה מהסיבות הבאות:

  • לא יקר - מתחת ל -15 $ (15 ליש"ט)
  • קל להתקנה ולתכנות עם CircuitPython (גרסה של Python אידיאלית עבור אלה החדשים בקידוד)
  • סיכות קלט/יציאה דיגיטליות - כיף גדול לשחק עם Blinkies
  • סיכות אנלוגיות - ADC ו- DAC 12 ביט - דיוק גבוה
  • נורות LED אדומות ו- RGB DotStar מובנות
  • מפעיל את Neopixels ישירות
  • I2C ו- SPI נתמכים - לחיישנים ולצגים
  • מגוון רחב של נהגים בספרייה הנרחבת
  • מהיר וחזק - מעבד ATSAMD51 Cortex M4 מהיר במיוחד הפועל במהירות 120 מגהרץ
  • הרבה זיכרון - 2MB של זיכרון SPI Flash עבור קוד CircuitPython או קבצי נתונים
  • תמיכה מצוינת של Adafruit עם תיעוד מלא, מדריכים ופורום עזרה באינטרנט
  • דרוש רק מחשב נייד או מחשב ישן - ללא צג ייעודי, מקלדת, ספק כוח או עכבר.
  • המשתמש יכול להמיר ל- Arduino IDE, על אותו לוח, לאחר שהם צברו ניסיון עם Python.

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

שלב 1: מה שאתה צריך כדי להתחיל

מה שאתה צריך כדי להתחיל
מה שאתה צריך כדי להתחיל

חוּמרָה:

  • Itsybitsy M4 Express (adafruit.com, Pimoroni.com)
  • כבל microUSB
  • מחשב - מחשב נייד ישן יספיק
  • מלחם
  • לְרַתֵך
  • לוח לחם
  • רצועת כותרת נקבה (אופציונלי)

תוֹכנָה:

עורך מו

הורד את עורך Mu מ-

התקן אותו במחשב שלך. קל מאוד עם הוראות מלאות באתר.

שלב 2: בדוק ש- CircuitPython מותקן

בדוק ש- CircuitPython מותקן
בדוק ש- CircuitPython מותקן

פתח את סייר הקבצים במחשב שלך.

חבר את הקצה הקטן של כבל ה- USB למחבר ב- Itsybitsy.

חבר את הקצה השני של הכבל ליציאת USB במחשב שלך.

אתה אמור לראות כונן חדש שמופיע בשם CIRCUITPY. (אם לא; המשך לדף UPDATE.)

לחץ פעמיים boot_out ותראה הודעה כזו:

מעגל AdafruitPython 3.1.1 ב 2018-11-02; Adafruit ItsyBitsy M4 Express עם samd51g19

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

נווט אל תיקיית המסמכים שלך וצור בתוכה תיקייה חדשה בשם Code-with-Mu.

הפעל את עורך מו

שלב 3: שימוש בעורך Mu לתוכנית הראשונה שלך

שימוש בעורך Mu לתוכנית הראשונה שלך
שימוש בעורך Mu לתוכנית הראשונה שלך

לחץ על הסמל הסידורי בראש העורך. זה אמור לפתוח את חלון REPL בתחתית המסך. בפינה השמאלית התחתונה צריך לומר Adafruit. מו זיהה כי לוח CircuitPython מחובר למחשב.

כעת נוכל לכתוב את התוכנית או התסריט הראשון שלנו. לחץ על העכבר בחלון העליון והקלד:

הדפס ("שלום, עולם!")

לחץ על הסמל שמור. בחר בכונן CIRCUITPY. הקלד main.py בתיבת הכותרת ולחץ על הלחצן שמור.

זה עושה הרבה מאוד. התסריט שלך נשמר ב- Itsybitsy שלך בשם "main.py". כל קובץ בשם זה מבוצע באופן מיידי על ידי הלוח. הפלט מהצהרת ההדפסה מופיע בחלון התחתון של REPL.

ערוך את שורת התוכנית ל:

הדפס ("\ n שלום, מקודד!") ולחץ על הסמל שמור.

נסה להוסיף כמה הצהרות הדפסה דומות והפעל את הקוד החדש שלך.

צפה ב- Itsybitsey שלך בזמן שאתה מעלה סקריפט. DotStar הירוק המהבהב הופך לאדום בזמן שהסקריפט נשמר וחוזר ל- GREEN.

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

תקן את הטעות והפעל את התסריט שוב.

כעת עלינו לשמור את התסריט שלנו במקום בטוח כדי שנוכל להשתמש בו מאוחר יותר.

לחץ פעמיים על הכרטיסייה שמעל הסקריפט שלך. נווט לתיקיית Code-with-Mu של המסמכים שלך ושמור שם את הסקריפט שלך עם שם קובץ שימושי כגון FirstProg.py. שימו לב שם הקובץ והנתיב מהבהבים בתחתית העורך.

שלב 4: הסקריפט השני שלך - מהבהב

התסריט השני שלך - מהבהב
התסריט השני שלך - מהבהב

הקלד את הסקריפט, שמור אותו ב- CIRCUITPY כ- main.py ולחץ על כן כדי להחליף את main.py הקודם.

(השתמש תמיד בשם הקובץ main.py עבור הסקריפט שלך בעת השמירה ב- ItsyBitsy שלך. CircuitPython מפעיל מיד את הסקריפט החדש).

מה התסריט עושה:

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

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

  1. נסה לשנות את הערכים בהצהרות השינה ().
  2. שמור את הנורית דולקת כפולה כל עוד היא כבויה.
  3. מה קורה אם העיכובים קצרים מאוד? (0.001 שניות)

לחץ פעמיים על הכרטיסייה שמעל הסקריפט ושמור בשם Blink.py בתיקיית Code-with-Mu שלך.

שלב 5: עדכון גרסת CircuitPython שלך

מעדכן את גרסת CircuitPython שלך
מעדכן את גרסת CircuitPython שלך

נווט אל https://circuitpython.org/downloads באינטרנט. לחץ על התמונה של ה- Itsybitsy M4 Express (לא גרסת M0).

לחץ על הכפתור הסגול להורדת קובץ ה- UF2.

הפעל את סייר הקבצים ואתר את קובץ ה- UF2

חבר את ה- Itsybitsy M4 Express שלך ליציאת ה- USB ואתר את הכונן שלו - CIRCUITPY

לחץ פעמיים על כפתור האיפוס הקטן ושם הקובץ אמור להשתנות ל- ITSYM4BOOT מ- CIRCUITPY. עליך ללחוץ פעמיים די מהר.

גרור את קובץ UF2 ושחרר אותו בכונן ITSYM4BOOT. קובץ UF2 יועתק ללוח IBM4 ושם הכונן יחזור ל- CIRCUITPY.

בחר בכונן CIRCUITPY ולחץ פעמיים על קובץ boot_out.

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

צור תיקייה חדשה בכונן CIRCUITPY בשם lib. נזדקק לזה במדריך מאוחר יותר בכדי להחזיק מנהלי התקנים לחיישנים ולצגים.

הפעל מחדש את עורך Mu. טען את קובץ main.py שלך מה- IBM4 ושמור אותו בחזרה ל- IBM4. הנורית האדומה אמורה להתחיל להבהב.

אם תלחץ לחיצה אחת על כפתור האיפוס הוא יפעיל מחדש את הסקריפט main.py הטעון.

שלב 6: REPL

ה- REPL
ה- REPL

החלון בתחתית העורך, מופעל וכיבוי באמצעות הסמל הסידורי, הוא הרבה יותר מסתם חלון הדפסה.

"לולאת קריאה-הערכה-הדפסה (REPL), המכונה גם מעטפת אינטראקטיבית או שפה, היא סביבת תכנות מחשבים אינטראקטיבית פשוטה שלוקחת קלט משתמש יחיד (כלומר ביטויים בודדים), מעריכה אותם ומחזירה את התוצאה למשתמש; תוכנית שנכתבת בסביבת REPL מתבצעת באופן חלק. " (גוגל)

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

לחץ על העכבר בחלון REPL.

בזמן הפעלת הסקריפט החזק את המקש והקש על (CTRL-C). זה עוצר את התסריט שלך.

הקש על מקש כלשהו כדי להיכנס ל- REPL ותופיע הודעת '>>>'.

הקלד בהדפסה (4 + 100)

מיד חוזרת התשובה 104

תסתכל על התמונה ונסה כמה מכם. (נסה +, -, *, /, // ו- %)

נסה את זה:

>> לוח יבוא

>> dir (לוח)

['_class_', 'A0', 'A1', 'A2', 'A3', 'A4', 'A5', 'APA102_MOSI', 'APA102_SCK', 'D0', 'D1', 'D10', ' D11 ',' D12 ',' D13 ',' D2 ',' D3 ',' D4 ',' D5 ',' D7 ',' D9 ',' I2C ',' MISO ',' MOSI ',' RX ', 'SCK', 'SCL', 'SDA', 'SPI', 'TX', 'UART']

>>

זוהי רשימה של שמות הסיכות הזמינים בלוח IBM4

כדי לחזור לשגרה עם הפעלה מחדש רכה פשוט הקלד CTRL-D ו- main.py מופעל מחדש.

ניתוק הלוח שלך

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

שלב 7: הרמת רגליים

לשים את הרגליים
לשים את הרגליים
לשים את הרגליים
לשים את הרגליים

הכותרות הגבריות ארוכות מדי ללוח אז הצמד/גזור 2 מהן לאורך הנכון.

דחוף אותם לתוך לוח לחם, הנח את ה- IBM4 מעל והלחם אותם. וודא שהלוח הוא הדרך הנכונה למעלה! (שבב למעלה)

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

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

כדי לסייע במניעת התחממות יתר של הלוח, אני מציע לך לא להלחם בצד אחד ואז להעלות את הצד השני. השאירו פערים ומלאו אחר כך. כלומר סיכות 10, RX, 2, A3, RS, BAT, 9, MI …… וכו '

שלב 8: נורית סטטוס RGB של CircuitPython - כדי לעזור לך למצוא את השגיאות

נורית סטטוס RGB של CircuitPython - כדי לעזור לך למצוא את השגיאות
נורית סטטוס RGB של CircuitPython - כדי לעזור לך למצוא את השגיאות

ל ItsyBitsy M4 Express ולוחות M0 ו- M4 רבים אחרים יש כל לוח LED NeoPixel או DotStar RGB המעיד על הסטטוס של CircuitPython. כאן הוא בין (C) לסיכה A0.

להלן המשמעות של הצבעים והמצמוץ:

  • ירוק יציב: code.py (או code.txt, main.py או main.txt) פועל
  • פועם ירוק: code.py (וכו ') הסתיים או אינו קיים
  • צהוב יציב בעת ההפעלה: (4.0.0-alpha.5 ואילך) CircuitPython ממתין לאיפוס שיצביע על כך שהוא צריך להתחיל במצב בטוח
  • פועם צהוב: מעגל פייתון נמצא במצב בטוח: הוא התרסק והופעל מחדש
  • יציב לבן: REPL פועל
  • כחול יציב: boot.py פועל

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

  • ירוק: כניסה לשגיאה
  • CYAN: SyntaxError
  • לבן: שם שגיאה
  • כתום: OSError
  • סגול: ValueError
  • צהוב: שגיאה אחרת

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

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

שלב 9: הסתכלות קדימה - אליך

מבט קדימה - אלייך
מבט קדימה - אלייך

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

לפני שאני כותב אותו אני מבקש קצת משוב, כדי שאוכל להתאים אותו לקהל.

סוג הדברים שהייתי רוצה לדעת הם:

  • האם הקצב בסדר?
  • האם הפירוט יותר מדי, מעט מדי או צודק?
  • האם תרצה תרגילים?

אליך.

מוּמלָץ: