Raspberry Pi mit Arduino verbinden
By admin, Oktober 16th, 2012,in Arduino, Arduino Workshops, Promo, Raspberry Pi, Raspberry Pi Tutorials, Roboter, Workshops | 7 Comments »
Heute werden wir den Raspberry Pi mit einem Arduino verbinden, um in den vollen Genuss aller Möglichkeiten, dieser beiden Zwerge zu kommen.
Dazu benötigen wir folgendes:
- 1x Raspberry Pi
- 1x Arduino Uno oder ähnliches Modell
- 1x LED
- 1x USB Kabel zum Verbinden
Ich habe es ja nun geschafft die Webcam mit meinem Raspberry Pi auszulesen und einen Stream ins Netz zu stellen. Da mein Roboter aber von einem Ardunio angetrieben wird, muss ich mir also überlegen, wie ich die beiden sinnvoll miteinander verbinde, um beide Funktionen zu kombinieren.
Dazu habe ich mir überlegt, dass ich mit einem kleinen Programm beginne. Sinnvoll erscheint mir eine Verbindung per USB, da wir dafür keine zusätzlichen Adapter oder irgendwelches Material benötigen. Also habe ich eines meiner bereits vorhandenen Bluetooth Test Programme genommen und auf den Arduino gespielt.
Arduino Script:
* Bluetooth Test Script
* by robosphere.de
*/
char value;
int ledpin = 13;
void setup()
{
pinMode(ledpin, OUTPUT); // connected LED at Pin13
Serial.begin(115200); // start communication at 115200bps
}
void loop()
{
if( Serial.available() ) // if connection is set
{;}
value = Serial.read(); // read serial input
if( value == '0' )
{
digitalWrite(ledpin, LOW); // turns LED off
Serial.println("LED off");
}
if( value == '1' )
{
digitalWrite(ledpin, HIGH); // turns LED on
Serial.println("LED on");
}
}
Nun habe ich den Raspberry Pi mit dem Arduino verbunden. Um herauszufinden, welche USB Schnittstelle die richtige ist, habe ich vorher ls /dev/tty*
asugeführt, dann den Arduino eingesteckt und wieder ls /dev/tty*
. In meinem Fall ist ttyACM0 erschienen.
Jetzt auf der Konsole mit dem Arduino verbinden:
Nun kann ich über Eingabe von 0 und 1 die LED an und ausschalten. Das ist ja schonmal ein Anfang. Die genaue Beschreibung dieses Programmes findet ihr im Arduino Bluetooth Tutorial. Verbindung ist also erfolgreich hergestellt.
Da ich ja später über einen Webserver den Webcam Stream auslesen möchte, bietet sich PHP als Programmiersprache an, da ich dann direkt neben dem Stream Kontrollbuttons einbauen kann, die dann die Funktionen des Arduino Roboters steuern. Hier habe ich schon ein paar Scripte versucht, aber bin noch zu keinem zufriedenstellenden Ergebnis gekommen.
Mehr in Kürze.
[…] beginnen wir mal von vorn. Vor kurzem habe ich euch gezeigt, wie man mit dem Raspberry Pi eine Verbindung zum Arduino über USB […]
Schau dir mal Firmata an. Damit können sämtliche Pins vom Arduino per Serial angesteuert werden.
Firmata sieht cool aus. Werde ich beim nächsten Schritt mal versuchen. Danke für die Info 🙂
Hallo,
hast du eine Idee warum bei mir
screen /dev/ttyACM0 115200
nicht geht.
Es kommt nur: bash: screen: Kommando nicht gefunden
kann man auch einen Grafischenbutton mit pyton ertsellen um die LED zu steuern wo zb an,aus drauf steht?
und könnte man damit jedes programm nutzen?
Hallo Bernd,
Versuch mal apt-get install screen
LG Moritz
Bernd du musst screen noch installieren
sudo apt get screen