In unserer Gesellschaft ist nach wie vor der eindruck stark verbreitet, dass sich die Informatik vor allem mit Desktop-Computern und entsprechender Büro-Software befassen. Dabei wird häufig übersehen, wie sehr die Steuerung von Geräten, die unseren Alltag begleiten, inzwischen von Infformatiksystemen realisiert wird.
Seit einigen Jahren existieren verschiedene Möglichkeiten, zu geringen Kosten und mit geringen Vorkenntnissen eigene kleine Experimente zu eingebetteten Informatiksystemen zu entwickeln, darunter die LEGO MINDSTORMS Robotik-Baukästen, Pico- oder Scratchboards und die vielseitig einsetzbaren und bei kreativen Bastlern sehr populären Arduino-Boards. Im Folgenden finden sich ein paar kleine Ideen. Zum Einstieg in die Programmierung eines Arduinos mit S4A habe ich eine kleine Anleitung erstellt (getting started with Arduino and S4A).
Das folgende Video zeigt die Implementierung einer Ampel mit abwechselnden Grünphasen. Das Projekt wurde mit einerm Arduino Uno realisiert, der mit Scratch4Arduino (S4A) programmiert wurde:
Quellcode:
TrafficLight.sb
(Screenshot
von
TrafficLight.sb),
Schaltung alsFritzing-Datei
(Screenshot
der Schaltung)
Das folgende Video zeigt die Implementierung einer Bedarfsampel für Fußgänger, die nur geschaltet wird, wenn ein Fußgänger den entsprechenden Schalter betätigt. Das Projekt wurde mit einerm Arduino Uno realisiert, der mit Scratch4Arduino (S4A) programmiert wurde:
Quellcode:
TrafficLightForPedestrianCrossing.sb
(Screenshot
von TrafficLightForPedestrianCrossing.sb),
Schaltung
alsFritzing-Datei,
(Screenshot der Schaltung)
Ich habe den Game-Klassiker Pong in zwei Versionen realisiert: Zum einen werden die Balken über an einen Arduino Uno angeschlossene Potentiometer, in der zweiten Variante an einen LEGO MINDSTORMS NXT Roboter angeschlossene in die Motoren des NXTs integrierte Rotationssensoren gesteuert.
Das folgende Video zeigt eine Implementation von Pong, bei der die Balken links und rechts mit einem Potentiometer gesteuert werden, das an ein Arduino Uno Board angeschlossen ist. Der aktuelle Widerstand der Potentiometer wird von einem Scratch4Arduino-Skript wiederholt ermittelt und für die Balken-Objekte als Variablenwert zur Verfügung stellt:
Quellcode: PongArduino.sb (Screenshots der Skripte Arduino, LeftBar, RightBar, Ball)
Das folgende Video zeigt eine Implementation von Pong, bei der die Balken links und rechts mit den Motor-Bausteinen eines LEGO Mindstorms NXT Roboters gesteuert werden. Die Gradzahl, um die der Motor aktuell gedreht ist, wird von einem Enchanting-Skript ermittelt, das die Werte an die Scratch-Implementation von Pong weiterleitet. Im Gegensatz zu Scratch4Arduino muss beim Einsatz von Enchanting das eigentliche Spiel in einem separaten Scratch-Projekt realisiert werden, das die Variablenwerte des Enchantingprojekts als "entfernte Sensorwerten" übernimmt, da das Enchanting-Script selbst später auf dem NXT-Baustein selbst läuft.
Quellcode:
Pong.chant
(Screenshot),
PongNXT.sb
(Screenshot
Skript Ball, Screenshot Skript LeftBar)
Unter Verwendung der LeJOS-Bibliotheken zur Programmierung von LEGO Mindstorms NXT-Robotern mit Java und RFID-Chips habe ich eine Zugangskontrolle realisiert:
Quellcode: AccessControl.java
Das folgende Video zeigt, wie das Mikrophon eines Picoboards verwendet wird, um die Entwicklung der Lautstärke über die Zeit mittels der Turtle-Funktionen von Scratch in einem Graphen darzustellen. Die Lautstärke des abgespielten Samples lässt sich dabei über den Regler des Picoboards einstellen.
Quellcode: VolumeGraph.sb (Screenshot von Volumepgraph.sb)
![]() |
Das Projekt Eieruhr wird realisiert, indem eine JavaScript-Funktion in Sekunden-Intervallen durch Manipulation der CSS-Eigenschaft transform die Grafik eines Zeigers vor dem Uhrblatt dreht. |
Die beiden 3D-Browsergames Sublife und Murmansk wurde mit VRML, JavaScript und HTML realisiert. Zum Betrachten der Welten ist die Installation eines VRML-Browserplugins wie BS Contact erforderlich.
![]() |
SubLife - Tauchen Sie ein in das mystische Tunnelsystem einer Untergrundbahn, deren Fahrstühle zu merkwürdigen Orten führen. Sammeln Sie dabei wertvolle Informationen um das SubLife-Quizz zu lösen. |
|
![]() |
Murmansk - genießen Sie ein aufregendes Abenteuer un einem verlassenen russischen U-Boot-Hafen. Sammeln Sie dabei Punkte um auf die Highscore-Liste zu kommen! |
![]() |
QueueStackPro - ein Java-Applelt zur Demonstration der zwei bedeutsamsten verketteten Datenstrukturen zur Verwaltung von Mengen: Schlange (Queue) und Stapel (Stack). |
![]() |
Concert - ein Java-Applet zur Demonstration von Syncronisation als Realisierung gegenseitigen Ausschlusses (mutual exclusion) in einer verteilten Anwendung. |
created 16.11.2000, last change 27.03.2016 |
|