Raspberry Pi und Arduino sind die beiden beliebtesten Open Source-Boards in der Electronics Community. Sie sind nicht nur bei Elektronikingenieuren beliebt, sondern auch bei Schülern und Hobbyisten aufgrund ihrer Leichtigkeit und Einfachheit. Sogar einige Leute haben gerade angefangen, Elektronik wegen Raspberry Pi und Arduino zu mögen. Diese Boards haben große Fähigkeiten und man kann sehr komplizierte HiFi-Projekte in wenigen einfachen Schritten und mit wenig Programmierung erstellen.
Wir haben eine Reihe von Arduino-Projekten und -Tutorials erstellt, von sehr einfachen bis zu komplizierten. Wir haben auch eine Reihe von Raspberry Pi-Tutorials erstellt, in denen jeder von Grund auf lernen kann. Dies ist ein kleiner Beitrag für die Electronics Community von unserer Seite, und dieses Portal hat sich als hervorragende Lernressource für die Elektronik erwiesen. Heute bringen wir diese beiden großartigen Boards zusammen, indem wir Arduino mit Raspberry Pi verbinden.
In diesem Tutorial werden wir eine serielle Kommunikation zwischen Raspberry Pi und Arduino Uno herstellen. PI hat nur 26 GPIO-Pins und keine ADC-Kanäle. Wenn wir also Projekte wie 3D-Drucker ausführen, kann PI nicht alle Interaktionen alleine ausführen. Wir brauchen also mehr Ausgangspins und zusätzliche Funktionen. Um PI mehr Funktionen hinzuzufügen, stellen wir eine Kommunikation zwischen PI und UNO her. Damit können wir alle Funktionen von UNO als PI-Funktionen nutzen.
Arduino ist eine große Plattform für die Projektentwicklung mit vielen Boards wie Arduino Uno, Arduino Pro Mini, Arduino Due usw. Es handelt sich um ATMEGA-Controller-basierte Boards, die für Elektronikingenieure und Hobbyisten entwickelt wurden. Es gibt zwar viele Boards auf der Arduino-Plattform, aber Arduino Uno erhielt viele Anerkennung für seine einfache Durchführung von Projekten. Eine Arduino-basierte Programmentwicklungsumgebung ist eine einfache Möglichkeit, das Programm im Vergleich zu anderen zu schreiben.
Erforderliche Komponenten:
Hier verwenden wir Raspberry Pi 2 Model B mit Raspbian Jessie OS und Arduino Uno. Alle grundlegenden Hardware- und Softwareanforderungen in Bezug auf Raspberry Pi wurden bereits erläutert. Weitere Informationen finden Sie in der Einführung zu Raspberry Pi.
- Verbindungsstifte
- 220Ω oder 1KΩ Widerstand (2 Stück)
- LED
- Taste
Schaltungserklärung:
Wie im obigen Schaltplan gezeigt, verbinden wir UNO mit einem USB-Kabel mit dem PI USB-Anschluss. Es gibt vier USB-Anschlüsse für PI; Sie können es mit einem von ihnen verbinden. Eine Taste ist angeschlossen, um die serielle Kommunikation zu initialisieren, und eine LED (blinkt), um anzuzeigen, dass Daten gesendet werden.
Arbeits- und Programmiererklärung:
Arduino Uno Teil:
Zuerst programmieren wir die UNO, Schließen Sie das UNO zuerst an den PC an und schreiben Sie dann das Programm (Abschnitt Code prüfen unten) in die Arduino IDE-Software und laden Sie das Programm auf das UNO hoch. Trennen Sie dann die UNO vom PC. Schließen Sie das UNO nach dem Programmieren an den PI an und verbinden Sie eine LED und eine Taste mit dem UNO, wie im Schaltplan gezeigt.
Jetzt initialisiert das Programm hier die serielle Kommunikation der UNO. Wenn wir die an die UNO angeschlossene Taste drücken, sendet die UNO nur wenige Zeichen seriell über den USB-Anschluss an den PI. Die am PI angebrachte LED blinkt, um die gesendeten Zeichen anzuzeigen.
Raspberry Pi Teil:
Danach müssen wir ein Programm für PI schreiben (Abschnitt Code prüfen unten), damit diese Daten von UNO gesendet werden. Dazu müssen wir einige der unten angegebenen Befehle verstehen.
Wir werden serielle Dateien aus der Bibliothek importieren. Mit dieser Funktion können wir Daten seriell oder über einen USB-Anschluss senden oder empfangen.
Seriennummer importieren
Jetzt müssen wir den Geräteport und die Bitrate angeben, damit der PI die Daten von UNO fehlerfrei empfängt. Der folgende Befehl besagt, dass wir die serielle Kommunikation von 9600 Bit pro Sekunde am ACM0-Port aktivieren.
ser = serial.Serial ('/ dev / ttyACM0', 9600)
Um herauszufinden, an welchen Port die UNO angeschlossen ist, gehen Sie zum Terminal von PI und geben Sie ein
ls / dev / tty *
Sie haben die Liste aller angeschlossenen Geräte auf PI. Verbinden Sie nun den Arduino Uno mit einem USB-Kabel mit Raspberry Pi und geben Sie den Befehl erneut ein. Sie können den UNO-angeschlossenen Port leicht anhand der angezeigten Liste identifizieren.
Der folgende Befehl wird als Forever-Schleife verwendet. Mit diesem Befehl werden die Anweisungen in dieser Schleife kontinuierlich ausgeführt.
Während 1:
Nach dem seriellen Empfang der Daten werden die Zeichen auf dem Bildschirm von PI angezeigt.
print (ser.readline ())
Nachdem die an die UNO angehängte Schaltfläche gedrückt wurde, werden Zeichen auf dem PI-Bildschirm gedruckt. Daher haben wir einen grundlegenden Kommunikations-Handshake zwischen Raspberry Pi und Arduino eingerichtet.