Sternenhimmel
Total Page:16
File Type:pdf, Size:1020Kb
Sternenhimmel Daniela Huber Ebenböckstraße 10 81241 München 089/97392937, Deutschland [email protected] Abstract In dem Projekt „Sternenhimmel“ geht es darum, sich die 12 Tierkreiszeichen der Sternbilder einzeln anzuschauen. Die Sterne werden durch LEDs verkörpert, die an einem schwarzen Regenschirm angebracht wurden. Über eine Eingabe am Laptop und die Verarbeitung der Eingabe mittels eines Arduino Mega, ist es möglich, zwischen den einzelnen Sternbildern zu wechseln und auch Informationen zu jedem Stern zu erhalten. Categories and Subject Descriptors • Human-centered computing~Information visualization General Terms Design, Experimentieren und Performance. Keywords „Innovativer Regenschirm“ – „Sternenkunde unter dem Regenschirm“ 1. Motivation Das Thema hat mich sehr interessiert, da ich mir ein Projekt mit LEDs vorgestellt hatte, die man in irgendeiner Weise über das Arduino Mega steuern kann. Eine gute Gelegenheit hierfür bietet die Darstellung von Sternenhimmeln, wie es auch schon in verschiedenen Einrichtungen wie z.B. Schwimmbädern oder Museen der Fall ist. 2. Verwandte Arbeiten Bei den verwandten Arbeiten sind LED-Sternenhimmel zu nennen, die man kaufen kann, um sie in der Wohnung an der Decke anzubringen. Außerdem verwandt zu meinem Thema sind die LED-Sternenhimmel in verschiedenen Schwimmbädern beispielsweise über Ruhebecken, um sich zu entspannen. Auch für den Innenbereich eines Autos gibt es schon Sternenhimmel aus LEDs zum Anbringen. Eine sehr eng verwandte Arbeit ist der Regenschirm mit eingezeichneten Sternbildern, welcher jedoch keine LEDs beinhaltet. Quelle: unterwegs-magazin.de Quelle: planetarium-hamburg.de Des Weiteren gibt es auch schon Schirme mit integrierten Lichtern, bei denen hingegen keine Sternbilder aufgezeigt, oder sogar ausgewählt werden können. Meine Arbeit verbindet nun die beiden genannten Regenschirmbeispiele und fügt noch die Funktionen hinzu, zwischen den einzelnen Sternbildern zu wechseln und sich Informationen zu den einzelnen Sternen anzeigen zu lassen. 3. Anwendungsszenario und Use Cases 3.1. Anwendungsszenario Sternenhimmel Der Benutzer soll mit Hilfe des Serial Monitor der Entwicklungsumgebung von Arduino den Sternenhimmel steuern können. Durch verschiedene Eingaben kann entweder ein Sternbild in seiner Gesamtheit, oder nur ein einzelner Stern ausgewählt werden. Wählt man nur einen einzelnen Stern aus, so werden Informationen wie dessen Name und Entfernung ausgegeben. Der Schirm kann dabei sowohl in der Hand gehalten, als auch auf einem Tisch etc. abgelegt werden. 3.2. Use Cases Voraussetzung: Arduino Entwicklungsumgebung und Serial Montior sind geöffnet, Programm wurde auf den Arduino geladen Use Case 1: Ziel: ein bestimmtes Sternbild anzeigen lassen Akteure: aktiver Benutzer Bedienablauf: Nutzer gibt den jeweiligen Buchstaben am Computer ein und bestätigt die Eingabe -> Sternbild leuchtet Use Case 2: Ziel: Informationsausgabe zu einzelnen Sternen starten Akteure: aktiver Benutzer Bedienablauf: Nutzer wird gefragt, ob er Informationen erhalten möchte und bestätigt dies mit der Eingabe „Y“ für „Yes“. Er startet die Informationsausgabe mit der Eingabe von „2“ -> erster Stern des Sternbildes leuchtet alleine und seine Informationen werden auf dem Serial Monitor ausgegeben Use Case 3: Ziel: Zwischen den einzelnen Sternen eines Sternbildes wechseln Akteure: aktiver Benutzer Bedienablauf: Nutzer kann durch Eingabe von „2“(nächster Stern) und „1“(vorheriger Stern) zwischen den Sternen wechseln -> aktueller Stern leuchtet und seine Informationen werden ausgegeben 4. Entwurf eines Prototyps 4.1. Technologie Für die Bereitstellung der Masseleitung sind magnetoelektrische Schalter (Relais) im Einsatz. Ich habe die Relais gewählt, da ich von Problemen bei der Masseschaltung mit Transistoren gehört hatte und der Verkabelungsaufwand bei einem Decoder höher gewesen wäre. Mit einem Decoder hätte ich zu jeder LED ein Kabel benötigt, was auf 110 Kabel und eine Masseleitung hinausgelaufen wäre, welche alle zu dem Schirm geführt hätten. Mit den Relais, mit denen ich in gewisser Weise auch eine Dekodierung erzeugt habe, benötige ich jedoch nun nur 14 + 12 Kabel, die zum Schirm hinführen. Im Programm selbst habe ich char-Arrays für die Sterninformationen benutzt, da String-Arrays einen sehr großen Arbeitsspeicher benötigt hätten, welchen der Arduino nicht zur Verfügung hatte. 4.2. Konzeptueller Aufbau des Prototypen 4.2.1. Server Als Server dient der Arduino (Mega 2560), auf welchem das Sternenhimmelprogramm mit allen nötigen Hintergrunddaten gespeichert wird. 4.2.2. Client Auf der Client-Seite steht der Laptop mit dem Serial Monitor der Arduino- Entwicklungsumgebung und die Tastatur des Laptops. Über die Tastatur und den Serial Monitor werden die Informationen über ein USB-Kabel an den Arduino geschickt, welcher sie auswertet und die digitalen Pins schaltet. 5. Implementierung 5.1. Hard- und Softwareumgebung Hardware: Arduino Mega, zwei 8er Relais-Module, 110 LEDs inkl. Widerständen, 12 Bananenstecker, Schaltlitzen 0,14mm², Laptop Software: Betriebssystem: Windows 7 Entwicklungsumgebung: Arduino Entwicklungsumgebung Version 1.0.4. Programmiersprache: C/C++ Entwicklungsmethode: - zunächst Programmieren eines „Grundcodes“ der verschieden LEDs ansteuern kann - Schalten über die Relais, da die Ausgänge des Arduino nicht für alle 110 LEDs ausreichen - Verbinden von Relais mit LEDs und Programm - Tests nur mit den ersten LEDs jedes Sternbildes, anschließend den zweiten LEDs, usw. 5.2. Kern der Implementierung Das Programm läuft folgendermaßen ab: Zunächst werden alle Informationen zu Sternbildern und Sternen in Arrays gespeichert. Dabei besitzt jedes Sternbild ein eigenes Array für die Sterninformationen. Alle Pins, die für das Programm notwendig sind, werden als „Output“ definiert. Zunächst erscheint der Starttext auf dem Display und alle Sternzeicheninformationen werden ausgegeben. Die Eingabe des Benutzers wird in eine Variable gespeichert. Wenn die Eingabe einer der Buchstaben a-l ist, wird das aktuelle Sternbild gesetzt. Alle Pins der LEDs werden auf HIGH geschaltet, da für eine Sternbildauswahl alle LEDs des Sternbildes leuchten sollen. Klickt der Benutzer nun auf „Y“, so wird die Informationsausgabe für die Sterne aktiviert und der erste Stern auf null gesetzt. Mit den Tasten „1“ und „2“ kann man nun zwischen den Sternen hin und herschalten. Je nachdem, welche Taste geklickt wird, wird der aktuelle Stern entweder um 1 erhöht oder um 1 erniedrigt. Möchte man den nächsten Stern ansehen, obwohl schon der letzte vorhandene Stern eines Sternbildes ausgewählt ist, so springt man automatisch wieder zum ersten Stern. Das Gleiche passiert in der anderen Richtung. Nun wird erneut geprüft, welches Sternbild aktuell ausgewählt ist, sodass das richtige Array für die Informationsausgabe angesteuert werden kann. Je nach ausgewähltem Stern, werden nun Bayer-Bezeichnung, Name und Entfernung des Sternes ausgegeben. Damit der jeweils richtige Stern nun auch in dem Schirm leuchtet, wird der Pin des aktuellen Sterns auf HIGH, alle anderen Pins der Sterne auf LOW gesetzt. Ebenso wird der Pin des aktuellen Sternbildes auf HIGH und alle anderen auf LOW gesetzt. So leuchtet nur ein einzelner Stern eines Sternbildes. Den gesamten Code mit Inline-Kommentaren finden Sie auch im Anhang. 5.3. Umfang des Prototypen Von meinem Konzept und meinen Vorstellungen des Projektes konnte ich alle notwendigen Programmteile implementieren und auch handwerklich umsetzen. Wozu ich nicht mehr gekommen bin, ist die Gestaltung einer schönen Benutzeroberfläche. 6. Evaluation 6.1. Ziele der Evaluation und Methodik Das Ziel meiner Evaluation bestand darin zu testen, ob und wie gut ein Benutzer mit dem Sternenhimmel-Regenschirm zurecht kommt und wie verständlich die Anweisungen zur Ausführung formuliert sind. Dazu bat ich mehrere Personen, den Schirm zu testen und beobachtete das Vorgehen der Testpersonen. 6.2. Durchführung der Evaluation Jede Testperson musste vor dem Laptop Platz nehmen, um den Schirm zu testen. Dieser lag dazu auf dem Boden, oder wurde von einer anderen Person gehalten. Die Testpersonen wurden ohne jegliche Erklärung mit dem Starttext der Anwendung konfrontiert und sollten nach den erscheinenden Anweisungen handeln. Alle Testpersonen hatten keine Probleme den Schirm über die Tastatur zu bedienen und den Anweisungen zu folgen. Teilweise war es jedoch schwierig für die Testpersonen gleichzeitig auf den Bildschirm und den Sternenhimmel mit den aufleuchtenden Sternen zu achten. 6.3. Interpretation der Evaluationsergebnisse Das Problem der Testpersonen gleichzeitig auf den Monitor und die LEDs im Schirm zu achten, entsteht vermutlich durch die Tatsache, dass Laptop und Regenschirm relativ weit voneinander entfernt sind und man ständig den Kopf drehen muss, um einerseits die Informationen und andererseits die leuchtenden LEDs zu sehen. Das Problem könnte gelöst werden, indem man als Ausgabe- und Steuerungsmedium nicht den Laptop, sondern ein kleineres mobiles Gerät wie beispielsweise ein kleines Display mit Eingabefeldern verwendet. Außerdem kann die Übersichtlichkeit und Bedienfreundlichkeit durch ein gestalterisch aufgewertetes Benutzerinterface verbessert werden. 7. Zusammenfassung 7.1. Erzielte Ergebnisse Die vorliegende Studienaufgabe beschäftigte sich mit der Umsetzung eines Sternenhimmels mit Stern- und Sternbildauswahl in einem Regenschirm. Dazu wurden zunächst die wichtigsten Use Cases für das Projekt definiert, sowie Recherchen zu dem Thema angestellt. Das Projekt besteht dabei aus den Bestandteilen Regenschirm, Laptop und