BannerbildBannerbild
  • Link zur Seite versenden
  • Ansicht zum Drucken öffnen
 

Raspberry Pi mit Java programmieren

Raspberry Pi mit Java programmieren

Der Raspberry Pi ist ein Einplatinencomputer, der von der britischen Raspberry Pi Foundation entwickelt wurde. Der Rechner enthält ein Ein-Chip-System von Broadcom mit einem ARM-Mikroprozessor, die Grundfläche der Platine entspricht etwa den Abmessungen einer Kreditkarte. Der Raspberry Pi kam Anfang 2012 auf den Markt; sein großer Markterfolg wird teils als Revival des bis dahin weitgehend bedeutungslos gewordenen Heimcomputers zum Programmieren und Experimentieren angesehen. Der im Vergleich zu üblichen Personal Computern sehr einfach aufgebaute Rechner wurde von der Stiftung mit dem Ziel entwickelt, jungen Menschen den Erwerb von Programmier- und Hardware­kenntnissen zu erleichtern. Entsprechend niedrig wurde der Verkaufspreis angesetzt, der je nach Modell nur etwa 5 bis 35 USD beträgt.
 

csm_Raspberry_Pi_2_Model_B_6c7f13000b

 

 Legoroboter 

Legoroboter mit dem Raspberry Pi steuern

Hier finden Sie eine ausführliche Dokumentation aus einem Schülerprojekt (zwei Schüler der E1) zur Programmierung eines Legoroboters. Von der Installation des Betriebssystems, über notwendige Tools bis zur Sensorprogrammierung auf dem Rasperry Pi finden Sie hier eine komplette Dokumentation für dieses Projekt.

 

 

GPIO-Ports

Die GPIO-Ports des  Raspberry Pi lassen  sich recht einfach mit Pi4J programmieren. Auf der Homepage von Pi4J [http://pi4j.com/] finden Sie ausführliche Anleitungen zur Installation von Pi4J und viele gute Beispiel-Programme.


Da die Entwicklung von Java Programmen auf dem Pi sehr umständlich ist, ist es besser auf dem PC zu programmieren (z.B. mit Eclipse) und anschließend die Dateien (mit z.B. WinSCP) auf den Pi zu übertragen. 

 

Hier finden Sie Beispielprogramme zu:

  • GPIO-Ausgänge schalten (Lauflicht)

  • GPIO-Eingänge abfragen

  • I2C -Rasp-Info

  • I2C-Bus: PCF8574-Porterweiterungsbaustein

  • I2C-Bus: PCF8591 -A/D-Wandler

csm_GPIO_Lauflicht_klein_893228d247

GPIO-Ausgänge schalten (Lauflicht)

GPIO-Eingänge abfragen

Der I2C-Bus

Der I2C-Bus ist ein Zweidraht-Bus, der von Philips entwickelt wurde. Außer der Versorgungsspannung und einer Masseleitung besitzt der Bus die beiden Leitungen SDA und SCL.  Über die SDA-Leitungen (= serial data) werden die eigentlichen Daten seriell (nacheinander) übertragen. Die SCL-Leitung (serial clock) gibt den Takt vor. Bausteine für den I2C-Bus sind für wenig Geld zu bekommen und eignen sich auch deshalb gut zum Experimentieren. Hier werden Programme für die Porterweiterungsbausteine (PCF8574 und  MCP23017) sowie den A/D-Wandler PCF8591 vorgestellt.

 PCF8574 

 

Adressierung der Bausteine

 Adressierung der Bausteine

 

 Die hier beschriebenen PCF-Bausteine haben 3 Adress-Pins (A0,A1,A2), die man beliebig auf HIGH oder LOW setzen kann. Hierdurch können bis zu 8 Bausteine einer Sorte an einen I2C-Bus anschließen und adressieren. Mit dem Porterweiterungsbaustein PCF8574 käme man dann auf auf 64 Ports (8 Bausteine mit jeweils 8 Ports). Zusätzlich gibt es diesen Baustein aber noch mit unterschiedlichen Grundadressen (PCF8574, PCF8574A, ..), wodurch noch mehr Ports an einem I2C-Bus möglich werden.

 

I2C auf dem Raspberry

Zunächst müssen Sie den I2C-Bus auf dem Raspberry Pi aktivieren.

Eine gute Anleitung finden Sie [hier]

 

Sie müssen die Blackliste bearbeiten:

sudo nano /etc/modprobe.d/raspi-blacklist.conf

Raute vor Zeilen einfügen:

#blacklist spi-bcm2708 
#blacklist i2c-bcm2708

 

Mit dem Befehl i2cdetect -y 1 bzw. i2cdetect -y 0 können Sie herausfinden, welche I2C-Bausteine aktuell am Raspberry Pi angeschlossen sind.

pi@RasPi ~/Desktop i2cdetect -y 1

 

I2C-Bus: PCF8574 Quelltext(Lauflicht)

I2C-Bus: PCF8591 Quelltext

Weitere Informationen