Um spannende IP12 Projekte zu realisieren, wird eine Vielzahl von unterschiedlichen Hardwarekomponenten verwendet. Damit die Studierenden nicht zu viel Zeit benötigen,
die einzelnen Komponenten auszuwählen und in einer Java Umgebung anzusprechen, sollen sie auf einen Hardwarekatalog zurückgreifen können. Dieser Katalog ist eine
Sammlung von gängigen Elementen wie zum Beispiel Schalter, LED, Motoren oder Displays, welche von ein Raspberry Pi angesteuert werden können.
Schlüsselbegriffe
Raspberry Pi, Java, Pi4J
Zielsetzung
In diesem Projekt geht es darum, ein Hardwarekatalog zu erstellen welche gängige Elemente für einfache ArcadeGames und beliebte BoardGames bereitstellen.
Zudem sollen zwei Projekte, ein Photobooth und ein Theremin, mit dem Hardwarekatalog realisiert werden können. Für die einzelnen
Komponenten aus dem Katalog sind folgende Eckpunkte definiert:
Eine Beschreibung der prinzipiellen Funktionsweise
Ein Layout der Verdrahtung
Eine Softwarekomponente zur Ansteuerung
Eine Beispielanwendung
Eine weitere Produktidee
Die Softwarekomponente ist eine Java Klasse, welche die Interaktion mit dem Element realisiert. Sie baut auf der zweiten Version der Pi4J Library auf.
Für eine einfache Erweiterung des Kataloges soll bei der Programmierung auf folgende Punkte geachtet werden:
Gemeinsame Eigenschaften oder Funktionen von Hardwarekomponenten sollen in geeigneten Basisklassen zusammengefasst werden.
Gleiche Funktionen in unterschiedlichen Komponenten sollen so weit wie möglich in Helper-klassen zusammengefasst werden.
Die Komponenten sollen so weit als möglich Herstellerunabhängig programmiert werden.
Als eine zentrale Hilfestellung sollen der Katalog sowie die beiden Beispielprojekte auf der Webpage Pi4J ausführlich dokumentiert und beschrieben werden.
Ausgangslage
In der Projektschiene IP12 werden seit 2 Jahren Raspberry Pis eingesetzt. Mit diesen Rechnern werden BoardGames,
mit einer Vielzahl von Sensoren und Aktuatoren, ArcadeGames mit der Gaming Library FXGL und Natural Games mit Bilderkennung
via JavaCV realisiert. Bei der Programmierung wird dabei ein 100% Java Ansatz verfolgt. Für einen vereinfachten Einstieg in die
Problematik wurde in den vergangenen IP5 Projekten diverse ausführliche Tutorials mit entsprechenden Codebeispielen erstellt.
Ergebnisse
Für gängige Komponenten wie zum Beispiel eine LED, ein Button, ein Servomotor, ein Potentiometer und für viele weitere Komponenten wurde einzelne Java Klassen erstellt, welche in einem Katalog zusammen gefasst sind. Zudem wurde zu jeder
Komponente eine Applikation programmiert, welche die Basisfunktionalität der Komponente in einem Beispiel erklärt. Weitere Informationen zu den Komponenten können auf der Website Pi4J nachgelesen werden.
Auf dieser Seite wird nicht nur erklärt wie die Java Komponenten funktioniert, sondern auch wie die elektrische Verdrahtung gemacht werden muss.
Als zusätzliche Hilfe wurde ein Werkzeugkoffer mit den wichtigsten Werkzeugen und Utensilien zusammen gestellt welche die Studierenden verwenden können, um ihre Projekte zusammen zu bauen.