- Bedarf
- Installation von PyFirmata in Arduino mit Raspberry Pi
- Code Erklärung
- Fading LED auf Arduino mit pyFirmata
Raspberry Pi und Arduino sind zwar zwei unterschiedliche Hardware in Bezug auf ihre Anwendungen und Struktur, aber beide werden als zwei konkurrierende Open Source-Hardwareplattformen betrachtet. Beide haben eine sehr starke Gemeinschaft und Unterstützung. Heute werden wir die Dinge leicht ändern und Ihnen zeigen, wie wir beide nutzen können. Wenn Sie sowohl Arduino- als auch Raspberry-Pi-Boards haben, zeigt Ihnen dieser Artikel, wie Sie Raspberry-Pi und Python zur Steuerung des Arduino verwenden.
Wir werden die PyFirmata-Firmware verwenden, um Arduino mithilfe des Raspberry Pi-Python-Skripts Befehle zu erteilen. PyFirmata ist im Grunde ein vorgefertigtes Bibliothekspaket eines Python-Programms, das in Arduino installiert werden kann, um die serielle Kommunikation zwischen einem Python-Skript auf einem beliebigen Computer und einem Arduino zu ermöglichen. Dieses Python-Paket ermöglicht den Zugriff auf das Lesen und Schreiben eines beliebigen Pins auf dem Arduino. Also hier werden wir Python-Programm auf Arduino mit Raspberry Pi ausführen.
In diesem Tutorial werden wir diese Bibliothek nutzen und diese in unserem Arduino-Board verwenden, um Arduino mit Raspberry Pi zu steuern.
Bedarf
- Raspberry Pi mit installiertem Raspbian-Betriebssystem
- Arduino Uno oder ein anderes Arduino-Board
- Arduino USB-Kabel
- LED
In diesem Tutorial verwende ich einen externen Monitor mit einem HDMI-Kabel, um eine Verbindung mit Raspberry Pi herzustellen. Wenn Sie keinen Monitor haben, können Sie den SSH-Client (Putty) oder den VNC-Server verwenden, um über einen Laptop oder Computer eine Verbindung zu Raspberry pi herzustellen. Wenn Sie Schwierigkeiten haben, folgen Sie unserem Leitfaden Starren mit Himbeer-Pi.
Installation von PyFirmata in Arduino mit Raspberry Pi
Um die PyFirmata-Firmware in Arduino hochzuladen, müssen wir die Arduino IDE in Raspberry Pi installieren. Führen Sie zur Installation die folgenden Schritte aus:
Schritt 1: - Verbinden Sie den Raspberry Pi mit dem Internet. Öffnen Sie das Befehlsterminal, geben Sie den folgenden Befehl ein und drücken Sie die Eingabetaste
sudo apt - get - y installiere arduino python - serial mercurial
Warten Sie einige Minuten, es wird einige Zeit dauern. Dieser Befehl installiert die Arduino IDE in Ihrem Raspberry Pi.
Schritt 2: - Jetzt installieren wir pyFirmata-Dateien mit dem angegebenen Github:
Git- Klon https://github.com/tino/pyFirmata
Führen Sie dann den folgenden Befehl aus:
cd pyFirmata sudo python setup.py installieren
Schritt 3: - Wir haben alle erforderlichen Dateien und Setups installiert.
Verbinden Sie nun Ihr Arduino-Board mit einem USB-Kabel mit Raspberry Pi und starten Sie die Arduino IDE, indem Sie arduino in das Terminalfenster eingeben.
Schritt 4: - Geben Sie dann lsusb Befehl zu überprüfen, ob Arduino mit dem Raspberry Pi verbunden ist.
Gehen Sie in Arduino IDE zu Tools und wählen Sie Ihr Board und Ihren seriellen Port aus.
Schritt 5: - Laden Sie die PyFirmata-Firmware auf das Arduino hoch, indem Sie auf Datei -> Beispiele -> Firmata -> Standard-Firmata klicken und dann auf die Schaltfläche Hochladen klicken. Wie nachfolgend dargestellt.
Wir haben die pyFirmata-Firmware erfolgreich auf dem Arduino-Board installiert. Jetzt können wir unser Arduino mit Raspberry Pi steuern.
Zur Demonstration blinken und blenden wir eine LED auf dem Arduino, indem wir Python-Codes in Raspberry Pi schreiben.
Code Erklärung
Zum Codieren sollten Sie zum besseren Verständnis die Dokumentation von pyFirmata lesen. Wir werden pyFirmata-Funktionen verwenden, um unseren Code zu schreiben. Sie finden die pyFirmata-Dokumentation unter folgendem Link.
Beginnen wir also mit dem Schreiben des Codes
Öffnen Sie Ihren bevorzugten Texteditor auf dem Raspberry Pi und importieren Sie die pyFirmata-Bibliothek.
Pyfirmata importieren
Definieren Sie den Pin am Arduino, um die LED anzuschließen
led_pin = 9
Nun müssen wir seriellen Port Namen schreiben, auf dem Arduino - Board verbunden ist mit pyfirmata.Arduino () Funktion und dann eine Instanz, indem Port bei der Zuweisung von Bord variabel.
board = pyfirmata.Arduino ("/ dev / ttyACM0") print "Code läuft"
In während Schleife macht geführt Stift hoch und niedrig Verwendung board.digital.write () Funktion und gib Verzögerung unter Verwendung board.pass_time () Funktion.
während True: board.digital.write (0) board.pass_time (1) board.digital.write (1) board.pass_time (1)
Unser Code ist fertig. Speichern Sie diesen Code, indem Sie dem Dateinamen die Erweiterung .py hinzufügen .
Öffnen Sie das Befehlsterminal und geben Sie python blink.py ein , um den Code auf der Arduino- Karte auszuführen. Stellen Sie sicher, dass Ihre Arduino-Karte über ein USB-Kabel mit Ihrer Raspberry Pi-Karte verbunden ist.
Jetzt können Sie die blinkende LED auf der Arduino-Platine sehen.
Der vollständige Code zum Blinken der LED mit pyFirmata ist am Ende angegeben.
Fading LED auf Arduino mit pyFirmata
Jetzt schreiben wir Code zum Ausblenden der LED, um Sie mit den pyFirmata-Funktionen vertraut zu machen. Dieser Code ist einfach wie der vorherige. Sie müssen zwei für Schleifen verwenden, eine zum Erhöhen der Helligkeit und eine zum Verringern der Helligkeit.
In diesem Code haben wir die Pins auf unterschiedliche Weise definiert, wie led = board.get_pin ('d: 9: p'), wobei d digitaler Pin bedeutet . Dies ist eine Funktion der pyFirmata-Bibliothek. Lesen Sie die Dokumentation für weitere Details.
Der vollständige Code für das Fading der LED mit pyFirmata ist am Ende angegeben.
Jetzt können Sie Ihrem System weitere Sensoren hinzufügen und es kühler machen, unsere anderen Arduino-Projekte überprüfen und versuchen, sie mit Raspberry Pi und Python-Skript zu erstellen.