Wie man ein Arduino mit Python programmiert und steuert

Leider ist es unmöglich, ein Arduino direkt in Python zu programmieren, aber Sie können es über USB mit einem Python-Programm steuern. Hier ist wie.

Leider ist es unmöglich, ein Arduino direkt in Python zu programmieren, aber Sie können es über USB mit einem Python-Programm steuern.  Hier ist wie.
Werbung

Python hat die Programmierwelt im Sturm erobert. Neben dem Aufkommen dieser neuen Sprache florierte auch die DIY-Elektronikszene. Entwicklungsboards und Single-Board-Computer von Unternehmen wie Arduino Was ist Arduino und was können Sie damit machen? Was ist Arduino und was können Sie damit machen? Der Arduino ist ein bemerkenswertes kleines elektronisches Gerät, aber wenn Sie noch nie zuvor eines verwendet haben, was genau sind sie und was können Sie mit einem tun? Lesen Sie mehr und Raspberry Pi Raspberry Pi: Das inoffizielle Tutorial Raspberry Pi: Das inoffizielle Tutorial Ob Sie ein aktueller Pi-Besitzer sind, der mehr erfahren möchte oder ein potenzieller Besitzer dieses Kreditkartengeräts ist, ist dies kein Leitfaden, den Sie wollen vermissen. Read More hat die Art und Weise verändert, wie Menschen selbstgebraute Elektronik herstellen. Wäre es nicht toll, wenn Sie einen Arduino mit Python programmieren könnten?

Es gibt kein besseres Gefühl als zwei coole Dinge zu kombinieren. Leider ist es unmöglich, einen Arduino direkt mit Python zu programmieren, da die Boards keine Möglichkeit haben, die Sprache zu interpretieren. Was jedoch möglich ist, ist die direkte Kontrolle über USB mit einem Python-Programm.

Dieser Artikel wird Ihnen zeigen, wie Sie ein Arduino UNO (obwohl alle Arduino kompatiblen Board Arduino Ratgeber: Welches Board sollten Sie? Arduino Ratgeber: Welches Board sollten Sie? Es gibt so viele verschiedene Arten von Arduino Boards draußen, Es wäre dir verziehen, dass du verwirrt bist. Was solltest du für dein Projekt kaufen? Lass uns helfen, mit diesem Arduino-Einkaufsführer! Read More kann hier arbeiten), der über die Kommandozeile mit Python-Programmen programmiert und gesteuert wird. Dieses Tutorial ist für Windows 10 geschrieben, funktioniert aber auch für Mac und Linux. Sie können diesen Arbeitsablauf auch verwenden, um einen Arduino direkt von einem Himbeer Pi zu steuern. Home Automation Guide Mit Raspberry Pi und Arduino Home Automation Guide Mit Raspberry Pi und Arduino Der Heimautomatisierungsmarkt ist mit teuren Verbrauchersystemen überschwemmt, inkompatibel und kostspielig zu installieren . Wenn Sie einen Raspberry Pi und einen Arduino haben, können Sie im Grunde dasselbe erreichen ... Lesen Sie mehr für die ultimative Double-Down-DIY-Erfahrung.

Einrichten Ihres Arduino für Python

Für das heutige Projekt werden wir ein Arduino Uno zusammen mit der pyFirmata-Schnittstelle für Python verwenden. Sie können fast jedes Arduino-kompatible Board dafür verwenden, obwohl zum Zeitpunkt des Schreibens nur die Arduino Uno, Mega, Due und Nano von der pyFfirmata-Schnittstelle unterstützt werden. Wenn Sie bereits ein Python-Guru sind, können Sie pyFirmata Ihre eigene Board-Unterstützung hinzufügen - stellen Sie sicher, dass Sie ihren GitHub aktualisieren, wenn Sie dies tun!

programmieren und steuern Arduino mit Python

Wenn Sie noch nicht installiert haben, installieren Sie die Arduino IDE. Wenn Sie in der Welt der Mikrocontroller völlig neu sind, unser Einsteigerhandbuch zu Arduino Erste Schritte mit Arduino: Ein Anfängerhandbuch Erste Schritte mit Arduino: Ein Anfängerhandbuch Arduino ist eine Open-Source-Prototyping-Plattform für Elektronik, die auf flexibler, benutzerfreundlicher Hardware basiert und Software. Es richtet sich an Künstler, Designer, Bastler und alle, die interaktive Objekte oder Umgebungen erstellen möchten. Lesen Sie mehr wird Ihnen helfen, alles an seinem Platz zu bekommen.

Verbinde dein Arduino Board und öffne die IDE. Stellen Sie sicher, dass Sie im Menü Extras die richtige Karte und den richtigen Anschluss ausgewählt haben. Laden Sie die Beispielskizze StandardFirmata hoch und laden Sie sie auf die Karte hoch. Dadurch können Sie den Arduino direkt steuern, solange er über USB mit dem Computer verbunden ist. Wenn die Skizze fehlerfrei auf Ihr Board hochgeladen wird, können Sie weitermachen.

Python und Befehlszeilensteuerung

Wir werden Python 3.4 verwenden, um unser Arduino zu steuern, da das zu installierende Modul dies als die neueste kompatible Version angibt. Jede Version davor sollte funktionieren, und spätere Versionen wurden gemeldet, um zu funktionieren. Sie können Python 3.4 für Windows 10 von der Python Software Foundation-Website herunterladen. Wenn Sie mehrere Versionen von Python ausführen möchten, finden Sie in unserer Anleitung zu virtuellen Python-Umgebungen die Verwendung der virtuellen Python-Umgebung. Erfahren Sie, wie Sie die virtuelle Python-Umgebung verwenden. Ob Sie ein erfahrener Python-Entwickler sind oder gerade erst anfangen Die Einrichtung einer virtuellen Umgebung ist für jedes Python-Projekt unerlässlich. Read More wird Ihnen helfen können.

Sobald Sie Python installiert haben, möchten wir es der PATH-Variablen Ihres Systems hinzufügen. Dadurch können wir Python-Code direkt über die Befehlszeile ausführen, ohne sich in dem Verzeichnis zu befinden, in dem er installiert wurde. Dazu öffnen Sie die Systemsteuerung, suchen nach Umgebung und klicken auf Bearbeiten der Systemumgebungsvariablen . Am unteren Rand des Fensters wählen Sie Umgebungsvariablen . Dies wird dieses Fenster anzeigen:

programmieren und steuern Arduino mit Python

Wenn Sie in der Liste bereits PATH sehen, klicken Sie auf Bearbeiten und fügen Sie Ihr Python- und Python / Scripts- Verzeichnis hinzu. Wenn Sie keine PATH-Variable haben, klicken Sie auf Neu und fügen Sie sie hinzu. Beachten Sie, dass Python direkt in das C: \ hier installiert wurde. Wenn Sie es an anderer Stelle installiert haben, müssen Sie es entsprechend anpassen. Klicken Sie auf OK, um die Kette von Fenstern wieder zu schließen, und Sie sind fast bereit, Ihr Arduino mit Python zu steuern!

Das magische Fett

Du brauchst ein letztes Puzzleteil, um Python mit unserem Arduino zu unterhalten. Dies geschieht in Form einer Python-Schnittstelle namens pyFirmata . Diese von Tino de Bruijn erstellte Oberfläche kann von github heruntergeladen werden. Sie können sie jedoch direkt über die Befehlszeile installieren, indem Sie Folgendes eingeben:

pip install pyfirmata 

Alles gut, sollte es installieren und so aussehen:

programmieren und steuern Arduino mit Python

Wenn dies fehlschlägt, fügen Sie Python zum Abschnitt Umgebungsvariable hinzu und stellen Sie sicher, dass Sie den richtigen Pfad zu Ihrem Python-Verzeichnis angegeben haben.

Es passieren lassen

Jetzt ist alles eingerichtet, und Sie können ein Python-Programm für Ihr Arduino erstellen, um es zu testen. Öffnen Sie eine IDE Ihrer Wahl. Wir werden Eclipse 8 verwenden Die meisten nützlichen Tastaturkürzel für Anfänger Eclipse IDE-Benutzer 8 Die meisten nützlichen Tastaturkürzel für Anfänger Eclipse IDE-Benutzer Wie neulingfreundlich wie die Eclipse-IDE (Schnittstelle) ist, schuldest du es dir, diese Tastaturkürzel zu lernen. Read More heute, aber Sie könnten genauso gut jeden Texteditor verwenden Text Editoren vs. IDEs: Welches ist besser für Programmierer? Text Editoren vs. IDEs: Welche ist besser für Programmierer? Die Wahl zwischen einer erweiterten IDE und einem einfacheren Texteditor kann schwierig sein. Wir bieten einige Einblicke, die Ihnen helfen, diese Entscheidung zu treffen. Lesen Sie mehr, oder sogar eine IDE in der Cloud Codenovy IDE: Eine Online-IDE für Ruby, HTML, Java, Python und mehr Codenvy IDE: Eine Online-IDE für Ruby, HTML, Java, Python und mehr Lesen Sie weiter.

Erstellen Sie ein neues Skript und speichern Sie es als blink.py . Traditionell mit dem blinkenden Standard-LED-Programm arbeitend, werden Sie ein Programm erstellen, das den Benutzer auffordert, wie oft die LED vor dem Ausführen blinken soll. Es ist ein kurzes Programm, das Sie hier herunterladen können, wenn Sie direkt damit beginnen wollen, aber lasst uns es kaputt machen.

Zunächst möchten Sie das, was Sie benötigen, zusammen mit dem Python Time- Standardmodul aus dem pyFirmata- Modul importieren.

 from pyfirmata import Arduino, util import time 

Jetzt möchten Sie das Arduino Board einrichten. Dieser Artikel setzt voraus, dass Sie eine Arduino Uno- Karte verwenden, obwohl mehrere andere Arduino-Boards unterstützt werden. Einzelheiten zur Unterstützung an Bord finden Sie im pyFirmata github.

Überprüfen Sie, welchen COM-Anschluss Sie in der Arduino IDE verwenden, und geben Sie ihn als variablen Schaltkreis in Ihren Code ein.

 board = Arduino("COM3") 

Jetzt richten Sie die Benutzeraufforderung ein. Wer mit Python vertraut ist, erkennt hier alles. Sie drucken eine Frage über die Eingabefunktion auf den Bildschirm und speichern die Antwort als Variable. Sobald der Benutzer eine Nummer angegeben hat, meldet das Programm, wie oft die LED blinkt.

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

Um die LED so oft blinken zu lassen, verwenden Sie eine for-Schleife . Wenn Sie neu in Python sind 10 Grundlegende Python-Beispiele, die Ihnen helfen, schnell zu lernen 10 Grundlegende Python-Beispiele, die Ihnen helfen, schnell zu lernen Dieser Artikel mit grundlegenden Python-Beispielen richtet sich an diejenigen, die bereits Programmiererfahrung haben und einfach zu Python wechseln möchten wie möglich. Lesen Sie mehr, achten Sie auf die Einrückung, da die Leerzeichen im Gegensatz zu anderen Sprachen Teil der Syntax sind. Beachten Sie, dass Pin 13 die Onboard-LED für den Arduino Uno ist. Sie müssen dies ändern, wenn Ihr Board anders ist.

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

Sie werden die Variable loopTimes hier in eine Ganzzahl umwandeln, da die Eingabe des Benutzers automatisch als Zeichenfolge gespeichert wird. In dieser einfachen Demo gehen wir davon aus, dass der Benutzer einen numerischen Wert eingeben wird. Jeder andere Eintrag wie "acht" verursacht einen Fehler.

Speichern Sie Ihr Skript und öffnen Sie die Eingabeaufforderung .

Blinkende Lichter und andere Offenbarungen

Alles ist bereit zu gehen, alles, was Sie tun müssen, ist zu navigieren, wo das Skript ist und es ausführen. Geben Sie dazu cd [Pfad zum Verzeichnis des Skripts] ein und geben Sie dann python blink.py ein .

Alles in Ordnung, Ihr Programm startet mit einer leichten Verzögerung, wenn der Arduino initialisiert, Sie nach einer Nummer fragt und dann mit der integrierten LED blinkt.

Die Programmausgabe sollte so aussehen:

programmieren und steuern Arduino mit Python

Sobald Sie nach der von Ihnen gewählten Anzahl an Blinksignalen die Eingabetaste drücken, sollte der Arduino Ihre Bestellungen ausführen.

Kleine Anfänge

Dieses Projekt war ein Barebone-Start für die Kommunikation zwischen Python und einem Arduino-Board. Dieser Ansatz unterscheidet sich sehr vom üblichen Workflow beim Hochladen von Skripts auf das Arduino selbst, eröffnet jedoch eine völlig neue Art der Arbeit mit der Plattform, insbesondere wenn Ihnen die Programmiersprache Python gefällt.

Wenn Sie einen Linux-Server 12 beste Linux-Server-Betriebssysteme verwenden und wer sollte die 12 besten Linux-Server-Betriebssysteme verwenden und wer sollte einen Server bauen? Linux ist ideal und bietet in der Regel erweiterte Berechtigungen, erhöhte Flexibilität und Stabilität. Aber welchen solltest du wählen? Sehen Sie sich die 12 besten Linux-Server-Betriebssysteme an und wer sollte sie verwenden. Read More zu Hause, diese Art der Kommunikation mit Arduino-Boards könnte diesen Server zu einem vollwertigen DIY-Home-Automation-System erweitern. Durch die Kombination von Python-Skripten, die den Mikrocontroller mit einer DIY-Automatisierungsschaltung steuern Arduino Projektideen für ein automatisiertes Home Arduino-Projekt Ideen für ein automatisiertes Haus Wäre es nicht großartig, Ihr Gewächshaus zu bewässern, ohne Ihren Stuhl zu verlassen? Ein Arduino kann als Schlüsselkomponente einiger Hausautomationsprojekte eingesetzt werden - hier sind fünf! Lesen Sie weiter, Ihre NAS-Aufbewahrungsbox könnte eine ganze Reihe nützlicher Funktionen übernehmen.

Machen Sie Ihre eigene NAS-Box "Need Network Storage", um es zum ultimativen DIY-Erlebnis zu machen. Hier ist, wie Sie Ihre eigene NAS-Box erstellen Netzwerkspeicher benötigen? So bauen Sie Ihre eigene NAS-Box NAS steht für Network Attached Storage. Da Windows mit Geräten mit Netzwerkanschluss einfacher zu verwenden war und Hardware-Preise fielen, wurde dieser Begriff auf dem Verbrauchermarkt verwendet. Heute gibt es eine große Vielfalt ... Lesen Sie mehr und verwenden Sie es auch, um Ihre Geräte zu steuern? Stellen Sie sich vor, wie cool es wäre, Play auf Ihrem Plex zu drücken Ihr Guide To Plex - Das Awesome Media Center Ihr Guide zu Plex - Das Awesome Media Center Wenn Sie viele lokal gespeicherte Filme und TV-Shows haben, müssen Sie Plex installieren. Und dies ist die einzige Anleitung, um mit Plex zu beginnen, die Sie jemals lesen müssen. Lesen Sie mehr Server und lassen Sie die Lichter automatisch ausschalten!

Steuern Sie Arduino bereits mit Python? Gibt es erstaunliche Workarounds, von denen wir noch nichts wissen? Lass es uns im Kommentarbereich wissen!

In this article