Lauflicht (Programmiersprache Java)



Du solltest Dir unbedingt erst dieses Experiment ansehen!

In Erweiterung des einfachen LED-Blinkens, hier zwei Varianten für ein Lauflicht, das alle 17 GPIO-Pins (meines Raspberry Pi 1 Modell B) benutzt. Wenn Du einen Raspberry mit mehr GPIO-Pins besitzt, kannst Du die Quelltexte leicht anpassen.


Die Schaltung:

Wir bauen folgende Schaltung auf:




Du kannst jeden Pin mit so einer LED beschalten, der nicht mit "5V", "3V3" oder "GND" beschriftet ist.

Alle LEDs zeigen mit ihrer Kathode zu je einem GPIO-Pin. Ein 220 Ohm Widerstand kommt von 3.3V und ist mit allen Anoden verbunden.

Ich weiß natürlich auch nicht, welchen Raspberry Du benutzt.
Du könntest z. B. hier nachsehen.


Zum Programmieren benutzen wir in diesem Projekt die Sprache Java.

Falls Java noch nicht auf Deinem Raspi installiert ist, kannt Du dies in einem Terminal tun mit:
           sudo apt-get update && sudo apt-get install oracle-java7-jdk


Das Programm

Du erstellst mit einem Editor (nano, leafpad) oder einer Entwicklungsumgebung (geany) Deiner Wahl folgendes Programm:

public class Lauflicht {

	public static void main(String[] args) throws Exception {

		Runtime.getRuntime().exec("sudo gpio export 9 out");
		Runtime.getRuntime().exec("sudo gpio export 10 out");
		Runtime.getRuntime().exec("sudo gpio export 11 out");

		while (true) {

			Runtime.getRuntime().exec("sudo gpio -g write 9 0"); 
			Thread.sleep(100);
			Runtime.getRuntime().exec("sudo gpio -g write 9 1"); 

			Runtime.getRuntime().exec("sudo gpio -g write 10 0"); 
			Thread.sleep(100);
			Runtime.getRuntime().exec("sudo gpio -g write 10 1"); 

			Runtime.getRuntime().exec("sudo gpio -g write 11 0"); 
			Thread.sleep(100);
			Runtime.getRuntime().exec("sudo gpio -g write 11 1"); 

		}
	}
}
		

... und speicherst es unter dem Namen "Lauflicht.java" ab.

Kompilieren kannst Du es in einem Terminal mit: javac Lauflicht.java

Starten kannst Du es mit: java Lauflicht

Du musst nicht root sein!




Eigentlich haben wir hier Java nur dazu benutzt, um die aus diesem Experiment bekannten Terminalbefehle auszuführen.
Es geht auch eleganter: schau mal hier nach. Dieses Pi4J-Projekt gibt uns einfachere Java-Befehle zum Steuern der GPIO.