Für Lehrer: Die Software

Hier wird die benötigte Software vorgestellt.

Vorausgesetzt wird, dass der Rechner die Box erkennt. Bluetooth ist unkritisch, aber für die (wohl in 95% der Fälle verwendete) Verbindung über USB braucht man manchmal Treiber.

Es gibt zum einen das Basisprogramm (SimpleProg, derzeit Version2). Mit diesem Programm arbeiten die Schüler. Es erfordert keine besondere Installation, benötigt aber eine aktuelle Java-Runtime.

Damit das Programm mit der Box reden kann, braucht diese eine spezielle Firmware. Auch diese wird hier vorgestellt und kann von der Seite geladen werden. Leiht man sich vorbereitete Boxen (z.B. vom LBZ) aus, braucht man sich darum nicht zu kümmern. Die Firmware ist dort bereits installiert.


Vorarbeiten

In der Box ist ein Arduino (UNO). Der muss vom Rechner erkannt werden. Hier lauern die meisten Probleme, die Software selbst benötigt keine spezielle Installation.

Windows

Windows braucht die Treiber aus dem Arduino-Paket. Das bekommt man von www.arduino.cc. Beim Einstöpseln erkennt Windows ein neues Gerät. Die Treiber werden von der Festplatte/USB-Stick aus dem Verzeichnis drivers (nicht FTDI) installiert.

Achtung, man muss nicht die ganze Entwicklungsumgebung installieren, es reichen die Treiber.

Linux

Bei manchen Linux-Versionen muss man den Benutzer der dialout-Gruppe hinzufügen.

Bei allem gilt jedoch: Keine Panik, wir kommen vorbei (naja, im Großraum Göttingen) und helfen. Wir arbeiten auch an bootfähigen USB-Sticks, die das Problem entschärfen.


In der Box ist ein Arduino verbaut. Somit kann man alles nehmen, was mit dem Arduino klarkommt. Das kann die klassische Arduino-Umgebung sein, grafische Aufsätze wie Ardublock o.ä. Scratch4Arduino ist etwas komplizierter, weil dort die Ausgänge fest zugeordnet sind. Hier müsste man etwas Arbeit zur Anpassung investieren. Wir raten deshalb ab.

Wir empfehlen ausdrücklich unsere eigene Software (ja, etwas Werbung muss sein). Es wurde viel Aufwand in einfache Technik investiert, also muss auch die Software einfach sein. Auf der folgenden Seite wird diese beschrieben. Wie S4A braucht auch diese eine spezielle Firmware für den Arduino.

Da Arduino und Computer über ein einfaches Protokoll kommunizieren, sind natürlich noch andere Umgebungen möglich.


SimpleProg

Unsere Software wurde SimpleProg getauft. Wir hoffen, dass die Programmierung wirklich einfach ist. Dafür wurde auf eine Menge verzichtet. Die Software wurde mit Processing entwickelt. Aktuell ist die Version 2. Unter Downloads findet man fertige Pakete und die Quelltexte für Processing3. Startet man die fertigen Pakete, so braucht man eine aktuelle Java-Umgebung. Alternativ kann man Processing installieren und das Programm von dort starten.

Verbindung

Beim ersten Bildschirm wählt man die Schnittstelle (COMx). Die neue Version unterstützt nun ein Anklopfen. Man sieht nur die Anschlüsse, an denen eine Box hängt. Das Bild unten stimmt also nicht mehr ganz. Man kann das Programm auch starten und die Box danach anschließen.

Der Hauptbildschirm

Die Oberfläche ist der Box nachempfunden. Die grüne Fahne startet das Programm, die Hand stoppt es. Wenn ein Programm läuft, dreht sich das Zahnrad. Das rote Kreuz setzt alle Ausgaben zurück, schaltet also alles aus. Mit dem Papierkorb wird das Programm gelöscht.

Sensorabfrage

Auf diesem Schirm kann man sich die aktuellen Werte der vier Sensoren anzeigen lassen. So kann man ermitteln, welche Zahlenwerte hell bzw. dunkel bedeuten. Für den ersten Test schließt man einfach einen Lichtsensor an, hält die Hand davor und beobachtet die Anzeige.

Wie man auf obigen Screenshot sieht, ist an Eingang 1 schon ein Sensor angeschlossen, der 23 liefert.

Fernsteuerung

Die Fernsteuerung ruft man auf, in dem man auf die Buttons unterhalb der Ausgabebuchsen klickt. Dort sieht man auch den aktuellen Wert.

In der Fernbedienung kann man festlegen, ob der Ausgang wie eine Lampe oder wie ein Lautsprecher verwendet werden soll.

Programmierung

Natürlich sollen auch einfache Programme geschrieben werden. Hierzu gibt es etwas mehr zu sagen, bitte scrollen Sie nach unten.

Laden und Speichern

Anders als Version 1 kann SimpleProg nun doch Programme laden und Speichern. Es gibt 6 Slots, die mit einer Farbe verknüpft sind.

Einstellungen

Das Programm hat auch einen Bildschirm für Einstellungen. Momentan ist unklar, ob wieder so viel Hardware wie in Version 1 unterstützt werden soll.


Simple Programmierung

Steuerprogramme laufen meist in einer Endlosschleife. Also wurde diese weggelassen. Weiterhin folgen die meisten Steuerbefehle einem “Wenn … Dann …”-Muster. Das Programmierfenster besteht aus einer Menge von Slots (derzeit 12). Jeder Slot kann eine Bedingung und einen Befehl aufnehmen. Eingestellt wird dies durch Anklicken. Für die Bedienung des Slot-Fensters gilt: Umschalten geschieht durch Anklicken des Buttons. Dann werden alle Möglichkeiten durchgeschaltet. Button, die dann nicht notwendig sind, werden automatisch versteckt. Zahlenwerte lassen sich ebenfalls durch Anklicken des zugehörigen Buttons ändern.

Im Screenshot sieht man schon, wie sich ein Befehl in der Liste zeigt.

Die einfachsten Befehle sind die, die immer ausgeführt werden. Hier klickt man bis IMMER und wählt unten die Aktion aus, hier z.B. das Einschalten der Lampe am ersten Ausgang.

Es gibt aber auch Befehle mit Bedingung: WENN BEDINGUNG DANN AKTION. Hier wird die Lampe 2 eingeschaltet, wenn der Wert an Eingang 1 größer 47 ist.

Relation

Momentan gibt es nur < und >. Gleichheit lohnt bei derartig empfindlichen Werten nicht und <= lässt sich immer ersetzen.

Verknüpfung

Eine BEDINGUNG kann aus einem oder zwei Tests bestehen. Gibt es zwei Tests, kann man diese mit UND bzw. ODER verknüpfen. Evtl. wird die Verknüpfung in einen “Expertenmodus” ausgelagert.

Ausgänge

Die Ausgänge sind nicht einzeln ansprechbar, sie sind immer mit Aktionen verbunden. Lampe 1 bezieht sich auf den Ausgang 1, Motor 1 dagegen auf den dritten Ausgang, weil dies der erste Motorausgang ist. Ton 1 bezieht sich ebenfalls auf Ausgang 1.

Befehle

Das ging zu schnell? Es gibt für die Schüler eine Hilfesektion zu ersten Schritten.


Die Firmware

Damit SimpleProg mit dem Arduino kommunizieren kann, braucht dieser eine Firmware. Dieses Programm muss vorher auf dem Arduino gespielt werden. Leiht man sich die Sets vom LBZ, so ist hier schon alles vorbereitet.

Die Firmware verwaltet einen eigenen kleinen Programmspeicher, so dass Programme nach dem Auschalten im Speicher verbleiben. Auch kümmert sich die Firmware darum, die Sensordaten zu liefern und Befehle sofort auszuführen, was für die Fernsteuerung notwendig ist.

Das Protokoll zur Kommunikation zwischen Computer und Arduino ist im Bereich für Programmierer beschrieben.

Firmware selbst aufspielen

Man kann die Firmware auf jeden Arduino Uno (u.ä.) aufspielen.

1. Man lädt sich die Umgebung von www.arduino.cc und installiert sie. Auch Linux-Usern, die normalerweise das Repository nutzen, empfehlen wir dies, wenn die Distribution nicht nagelneu ist.

2. Man lädt von dieser Seite die Firmware (aktuell AEA_Firmware3.ino) und speichert sie auf dem eigenen Computer.

3. Die Arduino-Umgebung muss den Arduino erkennen. Unter Windows muss evtl. der COM-Port nachgeschlagen werden (GeräteManager -> Anschlüsse).

4. Mit der Arduino-Umgebung lädt man die Firmware und überspielt sie.

Zum Überspielen dient der Pfeil links oben, im Menü Werkzeuge können Sie den Port und das Board einstellen.


Downloads

Das Projekt für Processing3: Download

Das Executable für Windows (64Bit): Download

Das Executable für Linux (64Bit): Download

Die Firmware für den Arduino: Download

Die 32-Bit-Versionen kann man mit Processing erstellen. Moc-User müssen ebenfalls Processing nehmen, das MacOS-Executables von Processing momentan nicht unterstützt werden. Processing selbst läuft aber noch auf dem Mac.


Zurück