Metainformationen zur Seite
  •  

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
computer:raspberrypi:mit_arduino_koppeln [2013/07/22 21:31]
ristigl
computer:raspberrypi:mit_arduino_koppeln [2018/03/16 21:11] (aktuell)
Zeile 1: Zeile 1:
 ====== RaspberryPi mit Arduino koppeln ====== ====== RaspberryPi mit Arduino koppeln ======
 +Um den Arduino mit dem Raspberry Pi zu verbinden muss man lediglich die TX-Leitung des Pis mit der RX-Leitung des Arduinos und jeweils die Masseleitung miteinander verbinden.
 +
 +{{ :​computer:​raspberrypi:​serielle_kommunikation_steckplatine.png |}}
  
 ===== Arduino ===== ===== Arduino =====
-Auf der Arduino-Seite reicht folgendes kleines Programm aus, um Daten zu empfangen, die an der seriellen Schnittstelle ankommen:+Auf der Arduino-Seite reicht folgendes kleines Programm aus, um Daten zu empfangen, die an der seriellen Schnittstelle ankommen ​(dabei darf die Datenleitung während des Programmierens **nicht** mit dem Pi verbunden sein!):
  
-<​code>​+<​code ​cpp>
 int i = 0;                          // for incoming serial data int i = 0;                          // for incoming serial data
 void setup() { void setup() {
Zeile 19: Zeile 22:
  
  
-Raspberry Pi:+===== Raspberry Pi ===== 
 +Zuerst muss man die serielle Schnittstelle für die eigene Nutzung freischaufeln (zuvor diente die Schnittstelle,​ um dort Terminals zu betreiben.)
 <​code>​ <​code>​
 sudo nano /​etc/​inittab sudo nano /​etc/​inittab
Zeile 39: Zeile 43:
 folgende Zeilen auskommentieren:​ folgende Zeilen auskommentieren:​
 <​code>​ <​code>​
-console=ttyAMA0,​115200 ​und kgdboc=ttyAMA0,​115200+... 
 +console=ttyAMA0,​115200 
 +... 
 +kgdboc=ttyAMA0,​115200 
 +... 
 +</​code>​ 
 + 
 +Für das Programm braucht man noch Python-Bibliotheken,​ die man schnell installiert:​ 
 +<​code>​ 
 +apt-get install python-pip 
 +pip install pyserial 
 +</​code>​ 
 + 
 +Anschließend den Raspberry Pi neu starten: 
 +<​code>​ 
 +sudo reboot 
 +</​code>​ 
 + 
 + 
 +Das nachfolgende Programm übergibt abwechselnd 0 und 255 an den Arduino: 
 +<code python>​ 
 +import serial 
 +import time 
 + 
 +delay = 0.5 
 +comunicacion = serial.Serial('/​dev/​ttyAMA0',​9600) 
 +comunicacion.close() 
 +comunicacion.open() 
 + 
 +while True: 
 +    comunicacion.write(chr(0)) 
 +    time.sleep(delay) 
 +    comunicacion.write(chr(255)) 
 +    time.sleep(delay)
 </​code>​ </​code>​