- Erforderliche Materialien:
- Installieren von Python auf Ihrem Computer:
- PySerial in Python herunterladen:
- Unser erstes Arduino Python Programm:
- LED mit Python und Arduino steuern:
Arduino war schon immer eine leistungsstarke und einfach zu bedienende Lern- / Entwicklungsplattform, wenn es um die Entwicklung von Open Source-Hardware geht. In der heutigen modernen Welt wird jede Hardware von einer allgemeinen Allzweck-Programmiersprache angetrieben, um sie effektiver und benutzerfreundlicher zu machen. Eine solche Sprache ist Python. Python ist eine interpretierte, objektorientierte Programmiersprache auf hoher Ebene mit dynamischer Semantik und integrierten Datenstrukturen auf hoher Ebene. In Kombination mit dynamischer Typisierung und dynamischer Bindung ist Python für die schnelle Anwendungsentwicklung sehr attraktiv.
Die Kombination der Leistung von Arduino und Python eröffnet viele Möglichkeiten, da Python eine erhöhte Produktivität aufweist und mit anderen Plattformen wie openCV, Matlab usw. interagieren kann. In diesem Tutorial erfahren Sie, wie wir Python auf unserem Computer installieren können und wie man es mit Arduino verwendet, um die integrierte LED von Arduino umzuschalten.
Also lasst uns anfangen….
Erforderliche Materialien:
- Arduino Uno (oder ein beliebiges Arduino-Board)
- Computer mit Internetverbindung
Installieren von Python auf Ihrem Computer:
Der erste Schritt in diesem Tutorial wäre natürlich die Installation von Python auf unserem Computer. Die unten genannten Schritte gelten nur für Windows-Benutzer, die entweder ein 32-Bit- oder ein 64-Bit-Betriebssystem ausführen. Das Installationsverfahren für MAC und Linux ist unterschiedlich.
- Klicken Sie auf 32-Bit-Python-2.7.9. Dadurch wird der 32-Bit-Python-IDLE auf Ihrem Computer installiert. Laden Sie die 64-Bit-Version oder aktualisierte Versionen nicht herunter, da sie unsere Arduino-Bibliotheken nicht unterstützen. Selbst wenn Ihr Computer mit 64-Bit betrieben wird, können Sie 32-Bit-Python selbst verwenden.
- Öffnen Sie die heruntergeladene exe-Datei und befolgen Sie die Anweisungen. Ändern Sie nicht das Verzeichnis, in dem die Python installiert wird. Es ist standardmäßig C: \ Python27 und belässt es als solches.
- Während der Installation erhalten Sie möglicherweise eine Warnung von Ihrem Antivirenprogramm (falls vorhanden). Klicken Sie in diesem Fall auf Zulassen.
Das ist es!, Python wurde erfolgreich auf unserem Computer installiert. Sie können dies überprüfen, indem Sie im Windows- Suchfeld nach „Python IDLE“ suchen und es öffnen.
Nach dem Öffnen sollte der folgende Bildschirm angezeigt werden. Dieses Fenster heißt Python-Shell und wird ab sofort als " Python-Shell " bezeichnet.
Dieser Bildschirm wird als Python-Shell bezeichnet. Sie können hier direkt codieren und die Ausgabe auf demselben Bildschirm abrufen oder eine neue Datei erstellen und das Programm dort schreiben und das Programm hier überprüfen. Wir werden später auf die Details der Erstellung eines Python-Programms eingehen. Lassen Sie uns zunächst überprüfen, ob Python funktioniert.
Geben Sie dazu einfach " print (1 + 1) " ein und drücken Sie die Eingabetaste. Sie sollten sehen, dass das Ergebnis wie unten gezeigt gedruckt wird.
PySerial in Python herunterladen:
Der nächste Schritt ist die Installation von Pyserial. PySerial ist ein Python-API-Modul, mit dem serielle Daten gelesen und in Arduino oder einen anderen Mikrocontroller geschrieben werden.
Klicken Sie auf Pyserial Windows, um PySerial herunterzuladen. Der resultierende Download ist eine exe-Datei, die direkt installiert werden kann. Ändern Sie während der Installation keine Einstellungen. Überlassen Sie es dem Standardverzeichnis und den Standardeinstellungen.
Lassen Sie uns nun überprüfen, ob PySerial ordnungsgemäß installiert ist. Öffnen Sie dazu die Python-Shell erneut und geben Sie ein
Seriennummer importieren . Wenn die Bibliothek erfolgreich installiert wurde, sollten keine Fehlermeldungen angezeigt werden (siehe Abbildung unten). Wenn Sie Fehler erhalten, posten Sie diese im Kommentarbereich und wir werden versuchen, sie zu beheben.
In diesem Tutorial wird davon ausgegangen, dass Sie mit Arduino vertraut sind und Erfahrung im Hochladen von Projekten auf Arduino haben. Lassen Sie uns also direkt in unser Python-Programm springen. Wenn Sie ein Anfänger mit Arduino sind, überprüfen Sie unsere Arduino-Projekte und beginnen Sie mit dem LED-Blinken mit Arduino.
Unser erstes Arduino Python Programm:
Wie bereits erwähnt, werden wir die eingebaute Arduino-Board-LED mithilfe des Python-Skripts steuern. Beginnen wir mit dem Arduino-Code.
Programm für Arduino:
Das vollständige Programm für dieses Arduino Python-Tutorial finden Sie am Ende dieser Seite. Lesen Sie weiter, um zu erfahren, wie es funktioniert.
Innerhalb der Setup- Funktion initialisieren wir die serielle Kommunikation mit einer Baudrate von 9600 und erklären, dass wir die eingebaute LED als Ausgang verwenden und sie beim Programmstart auf niedrig stellen. Wir haben auch eine Willkommensnachricht per seriellem Druck an Python gesendet, wie unten gezeigt:
void setup () {Serial.begin (9600); // serielle COM bei 9600 Baudrate initialisieren pinMode (LED_BUILTIN, OUTPUT); // mache den LED Pin (13) als Ausgang digitalWrite (LED_BUILTIN, LOW); Serial.println ("Hi!, Ich bin Arduino"); }}
Innerhalb der Schleife Funktion, lesen wir die Daten unabhängig, die in Reihe kommt und den Wert der Variablen zugewiesen wird „Daten“. Basierend auf dem Wert dieser Variablen ("Daten") schalten wir nun die eingebaute LED um, wie unten gezeigt.
void loop () {while (Serial.available ()) {data = Serial.read (); } if (data == '1') digitalWrite (LED_BUILTIN, HIGH); sonst wenn (data == '0') digitalWrite (LED_BUILTIN, LOW); }}
Programm für Python:
Das vollständige Python-Programm für dieses Tutorial finden Sie am Ende dieser Seite. Lesen Sie weiter, um zu wissen, wie man dasselbe schreibt und verwendet.
- Öffnen Sie Ihre Python-Shell (Python IDLE) und klicken Sie auf Datei-> Neu
- Dadurch wird eine neue Textdatei geöffnet, in die Sie Ihr Programm eingeben können.
- Bevor wir etwas eingeben, können Sie die Datei mit Strg + S speichern. Geben Sie einen beliebigen Namen ein und klicken Sie auf Speichern. Dadurch wird Ihre Datei automatisch in der Erweiterung ".py" gespeichert.
- Geben Sie nun das Programm ein oder fügen Sie den am Ende dieser Seite angegebenen Python-Code ein. Die Erklärung dafür ist unten angegeben und führen Sie schließlich das Programm aus.
In unserem Programm besteht der erste Schritt darin, die Serien- und Zeitbibliothek zu importieren. Die zuvor erwähnte serielle Bibliothek wird zum Lesen und Schreiben serieller Daten verwendet, und die Zeitbibliothek wird zum Erstellen von Verzögerungen in unserem Programm verwendet. Diese beiden Bibliotheken können mit den folgenden zwei Zeilen in unser Programm importiert werden:
Seriennummer importieren #Serial für die Importzeit der seriellen Kommunikation importiert #Erforderlich für die Verwendung von Verzögerungsfunktionen
Der nächste Schritt wäre die Initialisierung eines seriellen Objekts mithilfe unserer seriellen Bibliothek. In diesem Programm haben wir unser serielles Objekt als "ArduinoSerial" bezeichnet . In dieser Zeile müssen wir den Namen des COM-Ports angeben, an den unser Arduino angeschlossen ist, und mit welcher Baudrate er wie unten gezeigt arbeitet.
ArduinoSerial = serial.Serial ('com18', 9600)
Hinweis: Es ist sehr wichtig, den richtigen COM-Portnamen anzugeben. Sie können es mithilfe des Geräte-Managers auf Ihrem Computer finden.
Sobald das serielle Objekt initialisiert ist, sollten wir das Programm zwei Sekunden lang halten, damit die serielle Kommunikation hergestellt werden kann. Dies kann mithilfe der folgenden Zeile erfolgen:
time.sleep (2)
Jetzt können wir alles von / zu unserem Arduino Board lesen oder schreiben.
In der folgenden Zeile wird alles gelesen, was von Arduino kommt, und es wird im Shell-Fenster gedruckt
drucke ArduinoSerial.readline ()
Sie können den Wert auch einer Variablen zuweisen und für Berechnungen verwenden.
In der folgenden Zeile wird der Wert des Parameters auf das Arduino Board geschrieben.
ArduinoSerial.write ('1')
Diese Zeile schreibt '1' in das Arduino. Sie können alles von Dezimalstellen bis zu Zeichenfolgen mit derselben Zeile senden.
Wenn wir nun zu unserem Programm zurückkehren, haben wir innerhalb der Endlos-while-Schleife die folgenden Zeilen
var = raw_input () #get Eingabe vom Benutzerdruck "Sie haben eingegeben", var #druck die Eingabe zur Bestätigung, wenn (var == '1'): #wenn der Wert 1 ist ArduinoSerial.write ('1') #send 1 print ("LED leuchtet") time.sleep (1) if (var == '0'): #wenn der Wert 0 ist ArduinoSerial.write ('0') #send 0 print ("LED aus") Zeit.sleep (1)
Die Zeile var = raw_input erhält jeden Wert, der in das Shell-Skript eingegeben wird, und weist diesen Wert der Variablen var zu .
Wenn der Wert später 1 ist, wird '1' seriell nach Arduino gedruckt, und wenn 0, wird '0' seriell nach Arduino gedruckt. Mit dem Code in unserem Arduino-Programm (siehe oben) schalten wir die LED basierend auf dem empfangenen Wert um.
Sobald das gesamte Programm fertig ist, sollte Ihr Skript ungefähr so aussehen
Jetzt auf Ausführen klicken -> Run Module oder drücken Sie F5, dies könnte Sie bitten, das Programm zu speichern und dann wird es zu starten.
LED mit Python und Arduino steuern:
Die Arbeit dieses Projekts ist ziemlich einfach. Laden Sie das Programm auf Ihr Arduino hoch und stellen Sie sicher, dass es mit demselben COM-Port verbunden ist, wie im Python-Programm angegeben. Starten Sie dann das Python-Programm wie oben erwähnt.
Dadurch wird ein Python-Shell-Skript wie unten gezeigt gestartet. Das Fenster links ist das Shell-Fenster, das die Ausgabe zeigt, und das Fenster rechts ist das Skript, das das Programm zeigt.
Wie Sie sehen können, wird die im Arduino-Programm eingegebene Zeichenfolge "Hi!, I am Arduino" vom Python empfangen und in seinem Shell-Fenster angezeigt.
Wenn das Shell-Fenster zur Eingabe von Werten auffordert, können wir entweder 0 oder 1 eingeben. Wenn wir 1 senden, leuchtet die LED auf der Arduino-Karte und wenn wir 0 senden, erlischt die LED auf unserer Arduino-Karte. Zeigt eine erfolgreiche Verbindung zwischen unserem Arduino-Programm und Python.
Im Folgenden werden zwei Programme aufgeführt, von denen eines von Arduino hochgeladen und ausgeführt werden kann und das zweite von Python Shell unter Windows ausgeführt werden soll.
Ich hoffe, Sie haben das Projekt verstanden und konnten es zum Laufen bringen. Wenn nicht, posten Sie Ihr Problem im Kommentar unten und ich werde Ihnen gerne weiterhelfen. In unserem nächsten Projekt werden wir lernen, was mit Python und Arduino noch cool gemacht werden kann, indem wir uns eingehend mit anderen Python-Modulen wie Vpython, Gamepython usw. befassen. Bis dahin bleiben Sie dran….