Ich arbeite an einem Roboter mit einem Arduino Uno R3 und wollte die Fähigkeit haben, den Arduino drahtlos zu steuern, wie das Stoppen des Arduino, ohne jedes Mal den Netzstecker ziehen zu müssen.
Ich möchte wissen, wie ich meinen Raspberry Pi am sichersten mit dem Arduino verbinden kann, ohne dass die Gefahr besteht, dass die Spannung in die eine oder andere Richtung geht.
Ich habe mir die Verwendung von i2c und Serial angesehen (siehe folgende Seiten): http://blog.oscarliang.net/raspberry-pi-arduino-connected-i2c/ & http://blog.oscarliang.net/connect-raspberry-pi- und-arduino-usb-kabel / . Ich muss noch USB nachschlagen. Der Grund, warum ich diese Frage stelle, ist, dass auf dem i2c-Post steht, dass ich auf die Spannungsdifferenz achten soll:
Wie funktioniert es? Ist es sicher?
Der Raspberry Pi läuft mit 3,3 Volt, während der Arduino mit 5 Volt läuft. Es gibt Tutorials, die die Verwendung eines Pegelumsetzers für die I2C-Kommunikation vorschlagen. Dies wird NICHT benötigt, wenn der Raspberry Pi als "Master" und der Arduino als "Slave" ausgeführt wird.
Wie kann ich das RPi sicher als Master und das Arduino als Slave verbinden?
Antworten:
Absolut sicher wäre Bluetooth serial. Mit einem unterstützten USB-Dongle auf dem Raspberry Pi und so etwas wie einem Bluefruit EZ-Link auf dem Arduino können Sie den Arduino ohne physische Verbindung vom Raspberry Pi aus programmieren und steuern.
Das nächstbeste wäre wahrscheinlich über USB. Es gibt ein "Standard" -Protokoll ( Firmata ) für die Interaktion mit Arduino und Sensoren, aber es ist möglicherweise nicht ideal für die Robotik.
quelle
Die kurze Antwort auf Ihre Frage, wie Sie das RPi sicher mit einem Arduino verbinden können, finden Sie in der Tat unter dem ersten Link, den Sie gepostet haben: http://blog.oscarliang.net/raspberry-pi-arduino-connected-i2c/ . Ich habe die dort angegebene Methode mit großem Erfolg und ohne Beschädigung von Bauteilen angewendet.
Ihre Frage legt jedoch nahe, dass Sie dieser Methode nicht vertrauen, und ich denke, der Schlüssel zum Vertrauen liegt darin, zu verstehen, warum sie sicher ist. Dies wird in dem Absatz nach dem von Ihnen zitierten erläutert, aber möglicherweise mit zu vielen Details. Der Schlüssel ist das Fehlen eines "Pull-Up" -Widerstandes beim 5V Arduino. Ohne sie ist die einzige Spannungsversorgung das 3,3-V-RPi, das glücklicherweise hoch genug ist, um vom Arduino erkannt zu werden.
quelle
Wenn Sie Ihren USB-Port Ihres Rpi nicht schonen möchten, können Sie GPIO Serial verwenden, um mit Ihrem Arduino zu kommunizieren. Es gibt ein großartiges Tutorial von Conor O'Neill zum Verbinden von Rpi mit einem Arduino Pro Mini. Die Vorgehensweise ist bei Ihrem Arduino Uno gleich.
Sie benötigen lediglich einen LLC (Logic Level Converter), um diese beiden Geräte verbinden zu können. Wie Sie bereits erwähnt haben, werden diese Geräte mit unterschiedlichen Spannungspegeln betrieben.
quelle