Inhaltsverzeichnis:

CircuitPython mit einem Itsybitsy M4 Express 1: Einrichtung - Gunook
CircuitPython mit einem Itsybitsy M4 Express 1: Einrichtung - Gunook

Video: CircuitPython mit einem Itsybitsy M4 Express 1: Einrichtung - Gunook

Video: CircuitPython mit einem Itsybitsy M4 Express 1: Einrichtung - Gunook
Video: Feather M0 Bluetooth Setup with CircuitPython 2024, Juli
Anonim
CircuitPython mit einem Itsybitsy M4 Express 1: Setup
CircuitPython mit einem Itsybitsy M4 Express 1: Setup

Neu beim Codieren? Sie haben nur Scratch verwendet und möchten zu einer Textsprache übergehen, die einen einfachen Zugang zu Physical Computing mit LEDs, Schaltern, Displays und Sensoren bietet? Dann ist dies vielleicht das Richtige für Sie.

Ich habe bemerkt, dass diese Seite viele Instructables zum Codieren mit Arduinos mit der Arduino IDE enthält, aber nur sehr wenige über Python. Ich unterrichte seit 1968 Programmieren. (Damals nannten wir es Programmieren und benutzten FORTRAN IV mit Hollerith-Karten als Eingabe!) Seit diesen frühen Tagen habe ich viele verschiedene Sprachen mit Schülern (11 Jahre bis Erwachsene) verwendet, darunter LISP, Pascal und viele verschiedene Versionen auf BASIC.

In jüngerer Zeit haben viele Schulen in Großbritannien damit begonnen, Python im Unterricht zu verwenden, da die Schüler von der Blockcodierung mit Scratch oder ähnlichen zu Textanweisungen übergehen. Python ist wahrscheinlich ein einfacherer Schritt als die Verwendung der Arduino-IDE. CircuitPython-Code kann ausgeführt werden, indem der Code einfach auf dem Entwicklungsboard gespeichert wird, als ob es ein USB-Laufwerk wäre. Ich habe Python für Physical Computing mit 8- bis 11-Jährigen im Coding Club der Grundschule meiner Enkelin erfolgreich eingesetzt.

Ich habe mich aus folgenden Gründen entschieden, Itsybitsy M4 Express von Adafruit für diese Instructables zu verwenden:

  • Günstig – unter $15 (£15)
  • Einfach einzurichten und zu programmieren mit CircuitPython (eine Version von Python, ideal für Programmieranfänger)
  • Digitale Ein-/Ausgangspins - es macht großen Spaß mit Blinkies zu spielen
  • Analoge Pins – 12 Bit ADC und DAC – hohe Genauigkeit
  • Rote LED und RGB DotStar LEDs eingebaut
  • Treibt Neopixel direkt an
  • I2C und SPI unterstützt – für Sensoren und Displays
  • Große Auswahl an Treibern in der umfangreichen Bibliothek
  • Schnell und leistungsstark - ultraschneller ATSAMD51 Cortex M4-Prozessor mit 120 MHz
  • Viel Speicher - 2 MB SPI-Flash-Speicher für CircuitPython-Code oder Datendateien
  • Großartige Unterstützung von Adafruit mit vollständiger Dokumentation, Anleitungen und einem Internet-Hilfeforum
  • Benötigt nur einen alten Laptop oder Computer – kein dedizierter Monitor, Tastatur, Netzteil oder Maus.
  • Benutzer können auf dem gleichen Board auf Arduino IDE konvertieren, sobald sie Erfahrung mit Python gesammelt haben.

Dieses erste Instructable erklärt, wie Sie Ihr Board einrichten und Ihre ersten Skripte ausführen.

Schritt 1: Was Sie brauchen, um loszulegen

Was Sie brauchen, um loszulegen
Was Sie brauchen, um loszulegen

Hardware:

  • Itsybitsy M4 Express (adafruit.com, Pimoroni.com)
  • microUSB-Kabel
  • Computer - ein alter Laptop reicht aus
  • Lötkolben
  • Lot
  • Steckbrett
  • Buchsenleiste (optional)

Software:

Mu-Editor

Laden Sie den Mu-Editor von https://codewith.mu. herunter

Installieren Sie es auf Ihrem Computer. Sehr einfach mit vollständigen Anweisungen auf der Website.

Schritt 2: Überprüfen Sie, ob CircuitPython installiert ist

Überprüfen Sie, ob CircuitPython installiert ist
Überprüfen Sie, ob CircuitPython installiert ist

Öffnen Sie den Datei-Explorer auf Ihrem Computer.

Stecken Sie das kleine Ende des USB-Kabels in den Anschluss am Itsybitsy.

Stecken Sie das andere Ende des Kabels in einen USB-Port Ihres Computers.

Sie sollten ein neues Laufwerk namens CIRCUITPY sehen. (Wenn nicht; dann gehen Sie zur UPDATE-Seite.)

Doppelklicken Sie auf boot_out und Sie sollten eine Nachricht wie diese sehen:

Adafruit CircuitPython 3.1.1am 2018-11-02; Adafruit ItsyBitsy M4 Express mit samd51g19

Dies zeigt, dass Sie eine ältere Version von CircuitPython haben, da wir derzeit Version 4 verwenden. Dies ist vorerst in Ordnung, wir werden die Version später aktualisieren. Adafruit verbessert CircuitPython regelmäßig und veröffentlicht Updates. Diese Updates sind sehr einfach zu installieren.

Navigieren Sie zu Ihrem Dokumentenordner und erstellen Sie darin einen neuen Ordner namens Code-with-Mu.

Starten Sie den Mu-Editor

Schritt 3: Verwenden des Mu-Editors für Ihr erstes Programm

Verwenden des Mu-Editors für Ihr erstes Programm
Verwenden des Mu-Editors für Ihr erstes Programm

Klicken Sie oben im Editor auf das Seriensymbol. Dies sollte das REPL-Fenster am unteren Bildschirmrand öffnen. In der unteren linken Ecke sollte Adafruit stehen. Mu hat erkannt, dass ein CircuitPython-Board an den Computer angeschlossen wurde.

Wir können jetzt unser erstes Programm oder Skript schreiben. Klicken Sie mit der Maus in das obere Fenster und geben Sie Folgendes ein:

print("Hallo Welt!")

Klicken Sie auf das Symbol Speichern. Wählen Sie das CIRCUITPY-Laufwerk aus. Geben Sie main.py in das Titelfeld ein und klicken Sie auf die Schaltfläche Speichern.

Das macht viel aus. Ihr Skript wird unter dem Namen "main.py" auf Ihrem Itsybitsy gespeichert. Jede Datei mit diesem Namen wird sofort vom Board ausgeführt. Die Ausgabe der print-Anweisung erscheint im unteren REPL-Fenster.

Bearbeiten Sie die Programmzeile, um:

print("\nHallo, Coder!") und klicken Sie auf das Speichern-Symbol.

Versuchen Sie, einige ähnliche print-Anweisungen hinzuzufügen, und führen Sie Ihren neuen Code aus.

Beobachten Sie Ihre Itsybitsey, während Sie ein Skript hochladen. Der grün blinkende DotStar wird ROT, während das Skript gespeichert wird und kehrt zu GRÜN zurück.

Machen wir einen Fehler, um zu sehen, was passiert. Löschen Sie einfach das letzte Anführungszeichen und führen Sie das Skript erneut aus. Der Editor zeigt den Fehler an und die Ausgabe zeigt die Art des Fehlers – Syntax – und die Zeilennummer an, um Ihnen bei der Behebung des Fehlers zu helfen. Der DotStar zeigt den Fehler durch Farbwechsel an. Mehr dazu in einem späteren Abschnitt.

Korrigieren Sie den Fehler und führen Sie das Skript erneut aus.

Wir müssen unser Skript jetzt an einem sicheren Ort speichern, damit wir es später verwenden können.

Doppelklicken Sie auf die Registerkarte über Ihrem Skript. Navigieren Sie zu Ihrem Dokumenten-Code-with-Mu-Ordner und speichern Sie Ihr Skript dort unter einem nützlichen Dateinamen wie FirstProg.py. Beachten Sie, dass der Dateiname und der Pfad am unteren Rand des Editors blinken.

Schritt 4: Ihr zweites Skript - Blink

Dein zweites Skript - Blink
Dein zweites Skript - Blink

Geben Sie das Skript ein, speichern Sie es in CIRCUITPY als main.py und klicken Sie auf Ja, um das vorherige main.py zu ersetzen.

(Verwenden Sie beim Speichern in ItsyBitsy immer den Dateinamen main.py für Ihr Skript. CircuitPython führt dann sofort das neue Skript aus.)

Was das Skript macht:

  • Importiert Bibliotheken für die Pin-Namen auf der Platine, die Zeit zur Steuerung von Verzögerungen und die Steuerung der digitalen Pins,
  • Richtet Pin 13 ein, um Spannungen an die rote LED auf der Platine auszugeben
  • Führt eine Endlosschleife aus, um die LED ein- und auszuschalten
  • Wartet auf kurze Verzögerungen, damit die LED blinkt.

Das Skript enthält viele Kommentare, um zu erklären, was vor sich geht. Kommentare beginnen mit einem '#'-Zeichen. Sie sind für den menschlichen Gebrauch gedacht, um Sie an Ihre damaligen Gedanken zu erinnern. Gute Skripte haben viele Kommentare.

  1. Versuchen Sie, die Werte in den sleep()-Anweisungen zu ändern.
  2. Lassen Sie die LED zweimal so lange an, wie sie aus ist.
  3. Was passiert, wenn die Verzögerungen sehr kurz sind? (0,001 Sekunden)

Doppelklicken Sie auf den Tab über Ihrem Skript und speichern Sie es unter dem Namen Blink.py in Ihrem Code-with-Mu-Ordner.

Schritt 5: Aktualisieren Sie Ihre Version von CircuitPython

Aktualisieren Ihrer Version von CircuitPython
Aktualisieren Ihrer Version von CircuitPython

Navigieren Sie im Internet zu https://circuitpython.org/downloads. Klicken Sie auf das Bild des Itsybitsy M4 Express (Nicht die M0-Version).

Klicken Sie auf die violette Schaltfläche, um die. UF2-Datei herunterzuladen.

Starten Sie den Datei-Explorer und suchen Sie die. UF2-Datei

Verbinden Sie Ihren Itsybitsy M4 Express mit dem USB-Anschluss und suchen Sie sein Laufwerk - CIRCUITPY

Doppelklicken Sie auf den kleinen Reset-Button und der Dateiname sollte sich von CIRCUITPY in ITSYM4BOOT ändern. Sie müssen recht schnell doppelklicken.

Ziehen Sie die UF2-Datei und legen Sie sie auf dem ITSYM4BOOT-Laufwerk ab. Die UF2-Datei wird auf das IBM4-Board kopiert und der Laufwerksname wird an CIRCUITPY zurückgegeben.

Wählen Sie das Laufwerk CIRCUITPY aus und doppelklicken Sie auf die Datei boot_out.

Sie können die neue Versionsnummer lesen, um zu überprüfen, ob sie aktualisiert wurde.

Erstellen Sie auf dem CIRCUITPY-Laufwerk einen neuen Ordner namens lib. Wir werden dies in späteren Instructables benötigen, um Treiber für Sensoren und Displays zu halten.

Starten Sie den Mu-Editor neu. Laden Sie Ihre main.py-Datei vom IBM4 und speichern Sie sie wieder auf dem IBM4. Die rote LED sollte anfangen zu blinken.

Wenn Sie einmal auf die Reset-Schaltfläche klicken, wird das geladene main.py-Skript neu gestartet.

Schritt 6: Die REPL

Die REPL
Die REPL

Das Fenster am unteren Rand des Editors, ein- und ausgeschaltet mit dem Serial-Icon, ist weit mehr als nur ein Druckfenster.

„Eine Read-Eval-Print-Schleife (REPL), auch als interaktive Top-Level- oder Sprachshell bezeichnet, ist eine einfache, interaktive Computerprogrammierumgebung, die einzelne Benutzereingaben (dh einzelne Ausdrücke) entgegennimmt, sie auswertet und das Ergebnis zurückgibt an den Benutzer; ein in einer REPL-Umgebung geschriebenes Programm wird stückweise ausgeführt. (Google)

Grundsätzlich, wenn Sie eine einzelne Python-Anweisung in die REPL schreiben, wird sie sofort ausgeführt. Lass es uns versuchen.

Klicken Sie mit der Maus in das REPL-Fenster.

Halten Sie beim Ausführen Ihres Skripts die Taste gedrückt und tippen Sie auf (STRG-C). Dadurch wird Ihr Skript angehalten.

Tippen Sie auf eine beliebige Taste, um die REPL einzugeben, und eine Eingabeaufforderung „>>>“wird angezeigt.

Typ in Druck (4 + 100)

Sofort kommt die Antwort zurück 104

Schauen Sie sich das Bild an und probieren Sie einige von Ihnen aus. (Versuchen Sie +, -, *, /, // und %)

Versuche dies:

>> Brett importieren

>> dir(board)

['_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']

>>

Dies ist eine Liste der Pin-Namen, die auf der IBM4-Platine verfügbar sind

Um mit einem sanften Neustart zum Normalzustand zurückzukehren, geben Sie einfach STRG-D ein und main.py startet neu.

Trennen Sie Ihr Board

Werfen Sie das CIRCUITPY-Laufwerk immer aus, bevor Sie die Verbindung zum Computer trennen. Ziehen Sie es niemals heraus, während es Daten überträgt.

Schritt 7: Anziehen der Beine

Die Beine anziehen
Die Beine anziehen
Die Beine anziehen
Die Beine anziehen

Die Stiftleisten sind zu lang für die Platine, also schnappen / schneiden Sie 2 davon auf die richtige Länge.

Schieben Sie sie in ein Steckbrett, legen Sie die IBM4 darauf und löten Sie sie an. Stellen Sie sicher, dass das Board richtig ausgerichtet ist! (Chip oben)

Legen Sie keine männlichen Header über die Oberseite. Ich verwende einen Streifen von 5 Buchsenleisten über der Oberseite, damit ich alle Stifte verwenden kann. Verwenden Sie einen Schraubstock, um den Kopfleistenstreifen in der Nähe der Schnittstelle festzuhalten. Verwenden Sie eine scharfe Bügelsäge, um die Mitte eines Lochs zu schneiden - der Messingverbinder fällt beim Schneiden heraus. Feilen Sie die Schnittkante, um ein sauberes Finish zu erzielen - keine Nut..

Das Anlöten der Pins ist nicht schwierig. Schauen Sie sich die Arduino- und Elektronikkurse an, wenn Sie noch nie einen Lötkolben verwendet haben. Wenn Sie in der Lage sind, zu löten, können Sie langlebige Versionen Ihrer Projekte auf Streifenplatinen erstellen und dann das Steckbrett wiederverwenden.

Um eine Überhitzung der Platine zu verhindern, schlage ich vor, dass Sie nicht eine Seite nach unten und dann die andere nach oben löten. Lücken lassen und später ausfüllen. dh Pins 10, RX, 2, A3, RS, BAT, 9, MI ……etc

Schritt 8: CircuitPython RGB-Statusleuchte - um Ihnen zu helfen, die Fehler zu finden

CircuitPython RGB-Statusleuchte - hilft Ihnen, die Fehler zu finden
CircuitPython RGB-Statusleuchte - hilft Ihnen, die Fehler zu finden

ItsyBitsy M4 Express und viele andere M0- und M4-Boards verfügen alle über eine einzelne NeoPixel- oder DotStar-RGB-LED auf der Platine, die den Status von CircuitPython anzeigt. Hier ist es zwischen (C) und Pin A0.

Hier ist, was die Farben und das Blinken bedeuten:

  • konstant GRÜN: code.py (oder code.txt, main.py oder main.txt) wird ausgeführt
  • pulsierendes GRÜN: code.py (etc.) ist fertig oder existiert nicht
  • konstant GELB beim Start: (4.0.0-alpha.5 und neuer) CircuitPython wartet auf einen Reset, um anzuzeigen, dass es im abgesicherten Modus starten soll
  • pulsierendes GELB: Circuit Python befindet sich im abgesicherten Modus: Es ist abgestürzt und neu gestartet
  • konstant WEISS: REPL läuft
  • konstant BLAU: boot.py läuft

Farben mit mehrfachem Blinken im Anschluss zeigen eine Python-Ausnahme an und geben dann die Zeilennummer des Fehlers an. Die Farbe des ersten Blinkens zeigt die Art des Fehlers an:

  • GRÜN: Einrückungsfehler
  • CYAN: SyntaxError
  • WEISS: NameError
  • ORANGE: OSError
  • LILA: ValueError
  • GELB: anderer Fehler

Es folgt ein Blinken, das die Zeilennummer einschließlich des Stellenwerts anzeigt. WEISSE Blitze sind die Tausender-Stellen, BLAU sind die Hunderter-Stellen, GELB sind die Zehner-Stellen und CYAN sind die eigenen. So würde beispielsweise ein Fehler in Zeile 32 dreimal GELB und dann zweimal CYAN blinken. Nullen werden durch eine extra lange dunkle Lücke angezeigt.

Diese sind ziemlich schwer zu zählen. Lassen Sie beim Entwickeln eines Skripts immer das REPL-Fenster geöffnet und die Fehlermeldungen in englischer Sprache erscheinen dort.

Schritt 9: Nach vorne schauen - zu Ihnen

Ich freue mich - auf dich
Ich freue mich - auf dich

Als ich dieses Instructable anfing, erwartete ich, dass es das erste einer Serie ist, die CircuitPython und Physical Computing erforscht. Mein Plan für den nächsten ist es, grundlegende Ein- und Ausgaben mit Arithmetik, LEDs, Schaltern, Potentiometern und Eingabeanweisungen abzudecken. Außerdem werden Schleifenmethoden und Listen (Arrays) behandelt.

Bevor ich es schreibe, bitte ich um Feedback, damit ich es auf das Publikum zuschneiden kann.

Die Art von Dingen, die ich gerne wissen würde, sind:

  • Stimmt das Tempo?
  • Sind die Details zu viel, zu wenig oder ungefähr richtig?
  • Möchten Sie ein paar Übungsübungen?

Zu dir hinüber.

Empfohlen: