Πίνακας περιεχομένων:

CircuitPython With Itsybitsy M4 Express 1: Ρύθμιση: 9 βήματα
CircuitPython With Itsybitsy M4 Express 1: Ρύθμιση: 9 βήματα

Βίντεο: CircuitPython With Itsybitsy M4 Express 1: Ρύθμιση: 9 βήματα

Βίντεο: CircuitPython With Itsybitsy M4 Express 1: Ρύθμιση: 9 βήματα
Βίντεο: Itsy Bitsy Circuit Python - First Program 2024, Ιούλιος
Anonim
CircuitPython With Itsybitsy M4 Express 1: Setup
CircuitPython With Itsybitsy M4 Express 1: Setup

Είστε νέοι στην κωδικοποίηση; Χρησιμοποιείτε μόνο το Scratch και θέλετε να προχωρήσετε σε μια γλώσσα κειμένου που παρέχει εύκολη πρόσβαση στον Φυσικό υπολογισμό με LED, διακόπτες, οθόνες και αισθητήρες; Τότε αυτό μπορεί να είναι για εσάς.

Παρατήρησα ότι αυτός ο ιστότοπος περιέχει πολλές οδηγίες σχετικά με την κωδικοποίηση με το Arduinos χρησιμοποιώντας το Arduino IDE, αλλά πολύ λίγα για την Python. Διδάσκω κωδικοποίηση από το 1968. (Τότε το λέγαμε προγραμματισμό και χρησιμοποιούσαμε FORTRAN IV με κάρτες Hollerith για είσοδο!) Από εκείνες τις πρώτες μέρες χρησιμοποιούσα πολλές διαφορετικές γλώσσες με μαθητές (11 ετών έως ενήλικες) συμπεριλαμβανομένων των LISP, Pascal και πολλών διαφορετικές εκδόσεις στο BASIC.

Πιο πρόσφατα πολλά σχολεία στο Ηνωμένο Βασίλειο έχουν αρχίσει να χρησιμοποιούν την Python στα μαθήματά τους καθώς οι μαθητές κάνουν τη μετάβαση από την κωδικοποίηση «μπλοκ» με το Scratch ή παρόμοιες με τις δηλώσεις κειμένου. Η Python είναι πιθανότατα ένα πιο εύκολο βήμα από τη χρήση του Arduino IDE. Ο κώδικας CircuitPython μπορεί να εκτελεστεί απλά αποθηκεύοντας τον κώδικα στην πλακέτα ανάπτυξης σαν να ήταν μια μονάδα USB. Έχω χρησιμοποιήσει με επιτυχία την Python για Φυσικό Υπολογισμό με παιδιά ηλικίας 8 έως 11 ετών στο Coding Club του δημοτικού σχολείου της εγγονής μου.

Αποφάσισα να χρησιμοποιήσω το Itsybitsy M4 Express της Adafruit για αυτούς τους οδηγούς για τους ακόλουθους λόγους:

  • Φθηνό - κάτω από 15 $ (15 £)
  • Εύκολη ρύθμιση και προγραμματισμός με το CircuitPython (μια έκδοση της Python ιδανική για όσους είναι νέοι στην κωδικοποίηση)
  • Digitalηφιακές ακίδες εισόδου/εξόδου - είναι πολύ διασκεδαστικό να παίζετε με τα Blinkies
  • Αναλογικές ακίδες - 12 bit ADC και DAC - υψηλή ακρίβεια
  • Ενσωματωμένα κόκκινα LED και RGB DotStar LED
  • Οδηγεί απευθείας τα Neopixels
  • Υποστηρίζονται I2C και SPI - για αισθητήρες και οθόνες
  • Μεγάλη γκάμα προγραμμάτων οδήγησης στην εκτενή βιβλιοθήκη
  • Γρήγορος και ισχυρός - εξαιρετικά γρήγορος επεξεργαστής ATSAMD51 Cortex M4 που λειτουργεί στα 120 MHz
  • Άφθονη μνήμη - 2MB μνήμης Flash SPI για κώδικα CircuitPython ή αρχεία δεδομένων
  • Μεγάλη υποστήριξη από την Adafruit με πλήρη τεκμηρίωση, οδηγούς και ένα φόρουμ βοήθειας στο Διαδίκτυο
  • Χρειάζεται μόνο έναν παλιό φορητό υπολογιστή ή υπολογιστή - χωρίς αποκλειστική οθόνη, πληκτρολόγιο, τροφοδοτικό ή ποντίκι.
  • Ο χρήστης μπορεί να μετατραπεί σε Arduino IDE, στον ίδιο πίνακα, μόλις αποκτήσει εμπειρία με την Python.

Αυτό το πρώτο Instructable εξηγεί πώς να ρυθμίσετε τον πίνακα και να εκτελέσετε τα πρώτα σας σενάρια.

Βήμα 1: Τι χρειάζεστε για να ξεκινήσετε

Τι χρειάζεστε για να ξεκινήσετε
Τι χρειάζεστε για να ξεκινήσετε

Σκεύη, εξαρτήματα:

  • Itsybitsy M4 Express (adafruit.com, Pimoroni.com)
  • καλώδιο microUSB
  • Υπολογιστής - ένας παλιός φορητός υπολογιστής θα κάνει
  • Συγκολλητικό σίδερο
  • Κόλλα μετάλλων
  • Breadboard
  • Γυναικεία ταινία κεφαλίδας (προαιρετικό)

Λογισμικό:

Mu Editor

Κατεβάστε το πρόγραμμα επεξεργασίας Mu από τη διεύθυνση

Εγκαταστήστε τον στον υπολογιστή σας. Πολύ εύκολο με πλήρεις οδηγίες στον ιστότοπο.

Βήμα 2: Ελέγξτε ότι είναι εγκατεστημένο το CircuitPython

Ελέγξτε ότι είναι εγκατεστημένο το CircuitPython
Ελέγξτε ότι είναι εγκατεστημένο το CircuitPython

Ανοίξτε την Εξερεύνηση αρχείων στον υπολογιστή σας.

Συνδέστε το μικρό άκρο του καλωδίου USB στην υποδοχή στο Itsybitsy.

Συνδέστε το άλλο άκρο του καλωδίου σε μια θύρα USB του υπολογιστή σας.

Θα πρέπει να δείτε να εμφανίζεται μια νέα μονάδα δίσκου που ονομάζεται CIRCUITPY. (Εάν όχι, τότε συνεχίστε στη σελίδα ΕΝΗΜΕΡΩΣΗ.)

Κάντε διπλό κλικ boot_out και θα δείτε ένα μήνυμα σαν αυτό:

Adafruit CircuitPython 3.1.1 στις 2018-11-02 Adafruit ItsyBitsy M4 Express με samd51g19

Αυτό δείχνει ότι έχετε παλαιότερη έκδοση του CircuitPython, όπως είμαστε αυτήν την περίοδο στην έκδοση 4. Αυτό θα είναι εντάξει προς το παρόν, θα ενημερώσουμε την έκδοση αργότερα. Το Adafruit βελτιώνει συχνά το CircuitPython και δημοσιεύει ενημερώσεις. Αυτές οι ενημερώσεις είναι πολύ εύκολες στην εγκατάσταση.

Μεταβείτε στο φάκελο εγγράφων σας και δημιουργήστε έναν νέο φάκελο που ονομάζεται Code-with-Mu μέσα σε αυτόν.

Ξεκινήστε το πρόγραμμα επεξεργασίας Mu

Βήμα 3: Χρήση του προγράμματος επεξεργασίας Mu για το πρώτο σας πρόγραμμα

Χρησιμοποιώντας το πρόγραμμα επεξεργασίας Mu για το πρώτο σας πρόγραμμα
Χρησιμοποιώντας το πρόγραμμα επεξεργασίας Mu για το πρώτο σας πρόγραμμα

Κάντε κλικ στο εικονίδιο Serial στο επάνω μέρος του προγράμματος επεξεργασίας. Αυτό θα πρέπει να ανοίξει το παράθυρο REPL στο κάτω μέρος της οθόνης. Στην κάτω αριστερή γωνία θα πρέπει να γράφει Adafruit. Ο Mu έχει αναγνωρίσει ότι ένας πίνακας CircuitPython έχει συνδεθεί με τον υπολογιστή.

Τώρα μπορούμε να γράψουμε το πρώτο μας πρόγραμμα ή σενάριο. Κάντε κλικ στο ποντίκι στο επάνω παράθυρο και πληκτρολογήστε:

εκτύπωση ("Hello, World!")

Κάντε κλικ στο εικονίδιο Αποθήκευση. Επιλέξτε τη μονάδα CIRCUITPY. Πληκτρολογήστε main.py στο πλαίσιο τίτλου και κάντε κλικ στο κουμπί Αποθήκευση.

Αυτό κάνει πολλά. Το σενάριό σας αποθηκεύεται στο Itsybitsy με το όνομα "main.py". Οποιοδήποτε αρχείο με αυτό το όνομα εκτελείται αμέσως από τον πίνακα. Η έξοδος από τη δήλωση εκτύπωσης εμφανίζεται στο κάτω παράθυρο REPL.

Επεξεργαστείτε τη γραμμή προγράμματος στο:

εκτυπώστε ("\ nΓεια, κωδικοποιητής!") και κάντε κλικ στο εικονίδιο Αποθήκευση.

Προσπαθήστε να προσθέσετε μερικές παρόμοιες δηλώσεις εκτύπωσης και εκτελέστε τον νέο σας κώδικα.

Παρακολουθήστε το Itsybitsey καθώς ανεβάζετε ένα σενάριο. Το πράσινο που αναβοσβήνει DotStar πηγαίνει ΚΟΚΚΙΝΟ ενώ το σενάριο αποθηκεύεται και επιστρέφει στο ΠΡΑΣΙΝΟ.

Ας κάνουμε ένα λάθος για να δούμε τι θα συμβεί. Απλώς διαγράψτε τον τελικό χαρακτήρα προσφοράς και εκτελέστε ξανά το σενάριο. Ο επεξεργαστής υποδεικνύει το σφάλμα και η έξοδος υποδεικνύει τον τύπο σφάλματος - σύνταξη - και τον αριθμό γραμμής - για να σας βοηθήσει να διορθώσετε το σφάλμα. Το DotStar υποδεικνύει το σφάλμα αλλάζοντας χρώμα. Περισσότερα για αυτό σε μεταγενέστερη ενότητα.

Διορθώστε το λάθος και εκτελέστε ξανά το σενάριο.

Τώρα πρέπει να αποθηκεύσουμε το σενάριό μας κάπου ασφαλές, ώστε να μπορούμε να το χρησιμοποιήσουμε αργότερα.

Κάντε διπλό κλικ στην καρτέλα πάνω από το σενάριό σας. Μεταβείτε στον φάκελο εγγράφων σας Code-with-Mu και αποθηκεύστε το σενάριό σας εκεί με ένα χρήσιμο όνομα αρχείου όπως το FirstProg.py. Σημειώστε ότι το όνομα και η διαδρομή του αρχείου αναβοσβήνουν στο κάτω μέρος του προγράμματος επεξεργασίας.

Βήμα 4: Το δεύτερο σενάριό σας - Αναβοσβήνει

Το δεύτερο σενάριό σας - Αναβοσβήνει
Το δεύτερο σενάριό σας - Αναβοσβήνει

Πληκτρολογήστε το σενάριο, αποθηκεύστε το στο CIRCUITPY ως main.py και κάντε κλικ στο Ναι για να αντικαταστήσετε το προηγούμενο main.py.

(Χρησιμοποιείτε πάντα το όνομα αρχείου main.py για το σενάριό σας κατά την αποθήκευση στο ItsyBitsy. Το CircuitPython εκτελεί αμέσως το νέο σενάριο.)

Τι κάνει το σενάριο:

  • Εισάγει βιβλιοθήκες για τα ονόματα καρφιτσών στον πίνακα, χρόνο για τον έλεγχο των καθυστερήσεων και τον έλεγχο ψηφιακών ακίδων,
  • Ρυθμίζει τον πείρο 13 για να εξάγει τάσεις στο κόκκινο LED του σκάφους
  • Εκτελεί έναν ατελείωτο βρόχο για να ενεργοποιήσετε και να απενεργοποιήσετε το LED
  • Περιμένει σύντομες καθυστερήσεις, ώστε να αναβοσβήνει η λυχνία LED.

Το σενάριο έχει πολλά σχόλια για να εξηγήσει τι συμβαίνει. Τα σχόλια ξεκινούν με χαρακτήρα "#". Είναι για ανθρώπινη χρήση για να σας υπενθυμίσουν τη σκέψη σας εκείνη τη στιγμή. Τα καλά σενάρια έχουν πολλά σχόλια.

  1. Δοκιμάστε να αλλάξετε τις τιμές στις προτάσεις ύπνου ().
  2. Κρατήστε το LED αναμμένο για δύο φορές όσο είναι σβηστό.
  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. Θα το χρειαστούμε σε μεταγενέστερα Instructables για να κρατήσουμε προγράμματα οδήγησης για αισθητήρες και οθόνες.

Επανεκκινήστε τον επεξεργαστή Mu. Φορτώστε το αρχείο main.py από το IBM4 και αποθηκεύστε το ξανά στο IBM4. Το κόκκινο LED πρέπει να αρχίσει να αναβοσβήνει.

Εάν κάνετε απλό κλικ στο κουμπί επαναφοράς, θα επανεκκινήσει το φορτωμένο σενάριο main.py.

Βήμα 6: Η REPL

Η ΑΝΑΠΑΡΑΓΩΓΗ
Η ΑΝΑΠΑΡΑΓΩΓΗ

Το παράθυρο στο κάτω μέρος του προγράμματος επεξεργασίας, ενεργοποιημένο και απενεργοποιημένο με το εικονίδιο Serial, είναι πολύ περισσότερο από ένα παράθυρο εκτύπωσης.

"Ένας βρόχος ανάγνωσης-εκτύπωσης (REPL), που ονομάζεται επίσης διαδραστικό κάλυμμα ανώτερου επιπέδου ή γλώσσας, είναι ένα απλό, διαδραστικό περιβάλλον προγραμματισμού υπολογιστών που λαμβάνει εισόδους ενός χρήστη (δηλαδή, μεμονωμένες εκφράσεις), τους αξιολογεί και επιστρέφει το αποτέλεσμα στον χρήστη · ένα πρόγραμμα γραμμένο σε περιβάλλον REPL εκτελείται κατά τμήματα. " (Google)

Βασικά, εάν γράψετε μια μόνο δήλωση python στο 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 από αυτές στο σωστό μήκος.

Σπρώξτε τα σε ένα breadboard, τοποθετήστε το IBM4 από πάνω και κολλήστε τα. Βεβαιωθείτε ότι ο πίνακας είναι ο σωστός τρόπος! (Τσιπ από πάνω)

Μην τοποθετείτε αντρικές κεφαλίδες στην κορυφή. Χρησιμοποιώ μια λωρίδα 5 γυναικείων κεφαλίδων στην κορυφή, ώστε να μπορώ να χρησιμοποιήσω όλες τις καρφίτσες. Χρησιμοποιήστε ένα καπάκι για να κρατήσετε τη λωρίδα της κεφαλίδας σταθερά, κοντά στο σημείο κοπής. Χρησιμοποιήστε ένα αιχμηρό πριόνι για να κόψετε το κέντρο μιας τρύπας - ο σύνδεσμος από ορείχαλκο θα πέσει καθώς κόβετε. Αρχειοθετήστε την κομμένη άκρη για να κάνετε ένα καθαρό φινίρισμα - χωρίς αυλάκι..

Η συγκόλληση στις καρφίτσες δεν είναι δύσκολη. Κοιτάξτε τα μαθήματα Arduino και Electronics αν δεν έχετε χρησιμοποιήσει ποτέ κολλητήρι. Η ικανότητα συγκόλλησης σημαίνει ότι μπορείτε να φτιάξετε προσεγμένες μακροχρόνιες εκδόσεις των έργων σας σε λωρίδες και στη συνέχεια να επαναχρησιμοποιήσετε το breadboard.

Για να αποφύγετε την υπερθέρμανση της σανίδας, προτείνω να μην κολλήσετε τη μία πλευρά και μετά την άλλη. Αφήστε κενά και συμπληρώστε αργότερα. δηλαδή καρφίτσες 10, RX, 2, A3, RS, BAT, 9, MI …… κλπ

Βήμα 8: CircuitPython RGB Status Light - για να σας βοηθήσει να βρείτε τα σφάλματα

CircuitPython RGB Status Light - για να σας βοηθήσει να βρείτε τα σφάλματα
CircuitPython RGB Status Light - για να σας βοηθήσει να βρείτε τα σφάλματα

Το ItsyBitsy M4 Express και πολλοί άλλοι πίνακες M0 και M4 διαθέτουν ένα μόνο NeoPixel ή DotStar RGB LED στον πίνακα που υποδεικνύει την κατάσταση του CircuitPython. Εδώ βρίσκεται μεταξύ του (C) και του πείρου A0.

Δείτε τι σημαίνουν τα χρώματα και το αναβοσβήνει:

  • σταθερό ΠΡΑΣΙΝΟ: τρέχει το code.py (ή code.txt, main.py ή main.txt)
  • παλμών ΠΡΑΣΙΝΟ: code.py (κ.λπ.) έχει τελειώσει ή δεν υπάρχει
  • σταθερό ΚΙΤΡΙΝΟ κατά την εκκίνηση: (4.0.0-alpha.5 και νεότερο) Το CircuitPython περιμένει μια επαναφορά για να δείξει ότι πρέπει να ξεκινήσει σε ασφαλή λειτουργία
  • χτυπάει ΚΙΤΡΙΝΟ: Το κύκλωμα Python είναι σε ασφαλή λειτουργία: συνετρίβη και επανεκκινήθηκε
  • σταθερή ΛΕΥΚΗ: Λειτουργεί η ΑΠΑΝΤΗΣΗ
  • σταθερό ΜΠΛΕ: τρέχει το boot.py

Τα χρώματα με πολλαπλές αναλαμπές παρακάτω υποδεικνύουν μια εξαίρεση Python και στη συνέχεια υποδεικνύουν τον αριθμό γραμμής του σφάλματος. Το χρώμα του πρώτου φλας υποδεικνύει τον τύπο σφάλματος:

  • ΠΡΑΣΙΝΟ: ΕσοχήΣφάλμα
  • CYAN: SyntaxError
  • ΛΕΥΚΟ: NameError
  • ΠΟΡΤΟΚΑΛΙ: OSError
  • ΜΟΡΦΟΣ: ValueError
  • ΚΙΤΡΙΝΟ: άλλο σφάλμα

Ακολουθούν αναβοσβήματα που υποδεικνύουν τον αριθμό γραμμής, συμπεριλαμβανομένης της τιμής θέσης. Τα ΛΕΥΚΑ φλας είναι χιλιάδες, τα ΜΠΛΕ είναι εκατοντάδες, τα ΚΙΤΡΙΝΑ είναι δεκάδες και το CYAN είναι το μέρος κάποιου. Έτσι, για παράδειγμα, ένα σφάλμα στη γραμμή 32 θα αναβοσβήνει ΚΙΤΡΙΝΟ τρεις φορές και στη συνέχεια CYAN δύο φορές. Τα μηδενικά υποδεικνύονται από ένα πολύ μεγάλο σκοτεινό κενό.

Αυτά είναι αρκετά δύσκολο να μετρηθούν. Να έχετε πάντα ανοιχτό το παράθυρο REPL κατά την ανάπτυξη ενός σεναρίου και εκεί θα εμφανίζονται μηνύματα σφάλματος, στα Αγγλικά.

Βήμα 9: Κοιτάζοντας μπροστά - προς εσάς

Κοιτάζοντας μπροστά - σε εσάς
Κοιτάζοντας μπροστά - σε εσάς

Όταν ξεκίνησα αυτό το Instructable περίμενα ότι θα ήταν το πρώτο από μια σειρά που εξερευνούσε το CircuitPython και το Physical Computing. Το σχέδιό μου για το επόμενο είναι να καλύψω τη βασική είσοδο και έξοδο με αριθμητικά, LED, διακόπτες, ποτενσιόμετρα και δηλώσεις εισόδου. Θα καλύψει επίσης μεθόδους και λίστες (πίνακες).

Πριν το γράψω ζητώ κάποια ανατροφοδότηση, ώστε να μπορέσω να το προσαρμόσω στο κοινό.

Τα πράγματα που θα ήθελα να μάθω είναι:

  • Είναι ο ρυθμός εντάξει;
  • Είναι οι λεπτομέρειες πάρα πολλές, πολύ λίγες ή περίπου σωστές;
  • Θα θέλατε κάποιες ασκήσεις εξάσκησης;

Προς εσένα.

Συνιστάται: