Schlagwort: Hardware

Mein Computer ist für mich…

Bob Blume nimmt an einer (SPD-nahen) Blogparade zu Digitalen Themen teil. Man soll dabei Sätze zu Ende schreiben. Der zweite davon beginnt:

Mein Computer ist für mich…

Der Satz scheint davon auszugehen, dass ich nur einen Computer habe. Ich habe aber zwei, einen großen Laptop (2013) und ein kleines Laptop für unterwegs. Das große Laptop enthält verschiedene virtualisierte Computer, aber die zählen wohl nicht.

Ein alter Laptop (2005) steht auch noch ungenutzt im Regal. Macht drei.
Mein Android-Tablet, sind schon vier.
Der Arduino für die Schule. Fünf.
In der Uni gibt es auch noch einen Rechner, den ich als meinen betrachte.

Wobei… der Fernseher ist auch ein Computer, so richtig mit Internet. Der DVD-/Festplattenrekorder (ein Relikt) auch.

Die neue Küche piept nicht nur gerne mal, sondern ist auch voller Computer: Der Kühlschrank ist ein Computer, der Backofen, die Waschmaschine, die Spülmaschine auch. Bei den Kochplatten bin ich mir nicht sicher. Die Küchenwaage ist wohl keiner, aber sicher bin ich mir auch da nicht.

Was ist überhaupt ein Computer? Ein Ding, das rechnen und sich Sachen merken kann, und das man programmieren kann. Sekundär ist, wie leicht ich auf diese Rechen- und Programmiermöglichkeit Zugang habe. Am einfachsten geht das, wenn ich mit einem normierten Stecker eine Tastatur und einen Bildschirm anschließen kann, und wenn das Betriebssystem auf dem Computer dann eine nützliche Ausgabe über den Monitor liefert und Eingaben über die Tastatur annimmt. Wenn nicht… na, dann muss man vielleicht andere Geräte anklemmen und ein bisschen löten, aber ein Computer ist das trotzdem.

Halt, einen habe ich noch! Mein Drucker ist selbstverständlich auch ein Computer. Der Beweis: Man kann auf ihm Doom laufen lassen. (Video hier.) Das ist eine keinesfalls notwendige, aber absolut hinreichende Bedingung dafür, dass irgend etwas ein Computer ist. Tatsächlich ist das wohl mit die erste Spielerei, die irgendein Stück Hardware über sich ergehen lassen muss: Kann man darauf Doom laufen lassen?

Und mein Router ist ja auch ein Computer, fällt mir gerade ein.

Jeder USB-Stick – und überhaupt jedes USB-Gerät – ist auch ein eigener Computer. (Soll ich wirklich anfangen, die zu zählen?) Auf jedem USB-Stick ist ein Bereich, der dafür sorgt, dass der Stick etwas tut, wenn der USB-Stick eingesteckt wird, nämlich mindestens eine Verbindugn zwischen den Geräten herzustellen. An diesen Bereich kommt man als Nutzer normalerweise nicht ran. Aber vor einiger Zeit haben Entwickler gezeigt, dass das prinzipiell doch geht, und dass man in diesen Bereich auch Schadsoftware einspielen kann, der dann auf dem Rechner, in den der Stick eingesteckt wird, alles mögliche machen kann. Siehe WIRED, ganz aktuelle Sache.

Spätestens jetzt müsste man sich eigenlich fragen, was ein Computer eigentlich ist. Einen Computer kann man sich wie ein großes Patiencespiel vorstellen, mit vielen Karten. Mit dem Computer kann man alles berechnen, was überhaupt berechenbar ist. Mit einem etwas stupiden Patiencespiel auch: Es gibt einen Haufen Karten und dazu einen überraschend kleinen Satz von Spielregeln. Dann bringt man die Karten in eine Ausgangsposition und fängt an zu spielen. Irgendwann geht die Patience dann meist nicht mehr weiter, und aus der Lage der Karten – alle aufgebraucht? alle offen? wo verteilt? – kann man dann das Ergebnis der Berechnung ablesen, und zwar jeder beliebigen Berechnung. Das geht alles mit dem jeweils identischen kleinen Satz an Spielregeln. Wenn man das elektronisch macht und nicht mit Patiencekarten, dann ist das ein Computer.

Irgendwann stelle ich vielleicht diese Computer-Patience-Regeln vor. Eine beliebte Variante davon heißt “Turing-Maschine”.
Wenn ich vorher weiß, wie viele Karten beziehungsweise wie viel Platz auf dem Schreibtisch ich höchstens brauche, dann kann ich damit eine ganze Menge berechnen, aber doch nicht alles. Wenn ich nicht vorhersagen kann, wieviel Schreibtischplatz ich höchstens brauche, dann geht aber wirklich alles, was geht. Das heißt dann “turing-vollständig”. Manches geht dann zwar noch immer nicht, aber das gilt dann auch für den Elektronik-Computer.

Hier ist eine Liste von Programmen und Spielen von Zeug, die sich zufälligerweise als turing-vollständig herausgestellt haben: Accidentally Turing-Complete. Ziemlich technisch, aber das Kartenspiel Magic: The Gathering kenne ich halbwegs. Ja, innerhalb des Spiels kann man einen Computer simulieren und beliebige Berechnungen durchführen (Cory Doctorow dazu).

Lehrerspielzeug

Ich mag ja Lehrer-Spielzeug, und kriege jedes Jahr einen Katalog geschickt, weil ich da mal etwas bestellt habe. (Blankokarten, Holzwürfel, Flüssigkreide; das Nötigste halt.) Hier sind ein paar Sachen, die mir bei der Katalogdurchsicht aufgefallen sind:

  • Das Pädagogen-PfeichenPfeifchen “Vocatus” – eine Trillerfpeifepfeife. Richtig schön wäre es, wenn das so ein schriller, hoher Ton wäre, dass nur äh, Hunde, und, uh, Schüler das hören könnten.
  • Der Feng-Gong – ein schöner handgearbeitet Gong. Insgesamt etwa lyrischer Tonfall. Den letzten Satz: “Die Tasche untersützt den mobilen Einsatz” hätte man schlicht als: “Mit Tasche” wiedergeben können. Wenn man kein Verb braucht, muss man sich nicht künstlich nach einem Strecken.
  • Motivations-Tafeln: Das ist so eine Art bunte, magnetische Klassenliste an der Wand, mit einer Rennstrecke für kleine Pappschildchen. Wer seine Hausaufgaben gemacht hat, so stelle ich mir das vor, darf eins weiterrücken. Kann ich mir in der Mittelstufe auch gut vorstellen, ist aber vom Datenschutz her vielleicht problematisch.
  • Der Brillenhalter “Manneken Kiek”. Pfiffig und praktisch, wenn man die Brille mal nicht einfach so auf den Tisch legen will. Ich komme ganz gut ohne aus.
  • Der Schülerzähler ist schon eher etwas. So ein kleines Klickding, mit dem man schnell für jeden Schüler einmal klickt und danach die Zahl abliest.
  • Wirklich cool: Buzzer für Quiz-Spiele, batteriegetrieben. Auch mit Ton, dann hört man, wer als Erster draufgedrückt hat. Im 4er-Set “Tierstimmen” gibt es wohl Kuh, Hund, Pferd und Hahn.
  • Mein ewiger, nostalgischer Favorit: Magnetklebeband. Und das nur, um eine große Brettspiel-Landkarte an die Wand zu hängen und kleine Pappscheiben-Spielfigur auf die Magnetfolie zu kleben, um dann an der Wand Kingmaker zu spielen oder Circus Maximus.

Das ganze Spielzeug gibt es übrigens bei TimeTex (Webseite), anderswo sicher auch. Ich will keine Werbung machen dafür, bin auch nicht um Werbung gebeten worden, aber ich fand es erwähnenswert, was es so alles Nützliches und Unnützliches gibt.

— Angeboten wurde mir allerdings, etwas über http://www.mein-schulkalender.de/ zu schreiben. Das ist zumindest teilweise an Projekt, an dem auch Schüler beteiligt sind: Man kann sich dort seinen eigenen Lehrerkalender zusammenklicken und schicken lassen. Größe, Farbe, Titelbild ist konfigurierbar; fachspezifische Informationsbisschen am Wochenanfang, Feier- und Ferientage und eigene Termine – Geburtstage oder was auch immer – kann man sich auch gleich eintragen lassen. Selber habe ich aber eh noch nie mit solchen Papierkalendern gearbeitet.

Neuer Rechner (2013)

Meinen Rechner hatte ich mir 2008 gekauft. Klein, nicht teuer, ausreichend leistungsfähig, mäßige Grafikkarte. Brauchbar für alles außer Spiele, sobald ich das Windows Vista runtergemacht hatte. Diese Sommerferien wollte ich einen neuen Rechner, einen leistungsfähigen. Zusammenbauen habe ich ihn mir von einer Münchner Firma lassen. Und ich bin sehr zufrieden.

Mein neuer Rechner ist ein Laptop, und diesmal ein richtig ordentlicher. Eine gute Grafikkarte, vier Prozessoren, mehr RAM als ich je brauchen werde. Eine mittelgroße SSD-Festplatte für Betriebsystem und Programme, eine terabytegroße herkömmliche Platte für alle meine Daten – Dateien, Bilder, Schulkram, Musik, Filme. Das ist die Platte, von der ich regelmäßig Backups mache. Bei Keyboard und Maus habe ich meine alten behalten, die per Funk an einem gemeinsamen USB-Knubbel hängen.

Der Klapprechner wird hauptsächlich stationär verwendet, aber ich kann ihn jederzeit transportieren. Mein alter großer Monitor hängt dran, und weil mein Vater noch einen kleineren übrig hatte, habe ich den auch noch angeschlossen. Man gewöhnt sich sehr schnell an das Arbeiten mit zwei Monitoren, vor allem wenn man die besten Windowskürzel aller Zeiten benutzt: Win-Taste + Pfeiltasten. (Wenn ein Monitor angesteckt ist, sendet der Laptop das Bild nur auf diesen, wenn keiner da ist, an den laptopeigenen Bildschirm. Und beim Zuklappen des Rechners bleibt er natürlich an.) Leise ist der Rechner auch, die Lüftung geht nur sehr gelegentlich an.

Ganz am Anfang habe ich das schnelle Booten ausgeschaltet, damit ich überhaupt ins BIOS komme. Das Secure Boot war gar nicht erst eingeschaltet – das ist das Feature, das zur Zeit ja noch deaktiviert werden kann, in Zukunft aber dafür sorgen kann, dass man kein Linux parallel installieren kann. Oder kein Libre Office.
Dann habe ich mit ClassicShellBackup die dämliche Windows 8-Oberfläche umgangen, später VMware installiert und ein virtualisiertes Ubuntu aufgespielt. Das kann wunderbar parallel auf dem zweiten Monitor laufen, Geschwindigkeit kein Problem.

Auf die Idee mit dem Laptop hat mich Frau Rau gebracht. Ich habe nicht viel Platz auf und unter dem Schreibtisch – Kisten voller Comics, wer’s wissen will – und brauche keinen superschnellen Rechner. L.A.Noire und Half Life 2 laufen jedenfalls gut. Das Arbeiten macht gleich viel mehr Spaß.

rechner_2013

Für die Nachbarn, und so

Ich habe eine neue Ukulele, und zwar eine elektrische. Also nicht nur mit Tonabnehmer, dass man sie verstärken kann, sondern nur damit, und ganz ohne Klangkörper. Der Vorteil: Die Ukulele ist unverstärkt so leise, dass ich auch nachts damit üben kann und auch Frau Rau damit weniger auf die Nerven falle.

ukulele
Rocktile Frame Silent Ukulele

An einen Verstärker habe ich sie noch nie angeschlossen, der übliche 6,3mm-Klinkensteckereingang dafür ist natürlich da. Für zwischendurch kann man auch einfach den Kopfhörer vom Handy anstecken (3,5mm) und kriegt den Sound dann dorthin. Rauscht etwas und erfordert eine Batterie, ist aber praktisch für unterwegs.

Der Klang ist so mäßig. Elektrisch oder leise halt; ich vermisse schon den Klang einer richtigen Ukulele. Und die A-Saite (die höchste also), die ich bei meinen Schlagtechniken besonders oft brauche, klingt irgendwie dünner als bei meinen anderen Ukulelen.

Von Anfang an hat mich die Ukulele an etwas erinnert, aber ich kam nicht darauf. Ein großer Flaschenöffner? Ein Schlüssel? Dann wusste ich es: Den Zodiac Key des Superschurken Scorpio, bald danach auch der ganzen Superschurkenkartells Zodiac. Hier einer davon aus Avengers Nr. 72:

ukulele_zodiac ukulele_zodiac_original

Der Digi-Comp II

Unsere Fachschaft Informatik hat sich – mit Geld vom Elternbeirat – den Digi-Comp II gekauft:

digi-comp

Das ist ein Computer, ganz aus Holz. Also gut: Es ist kein Computer, sondern ein Rechner, der vor allem multiplizieren und addieren kann. Aber das mit dem Holz stimmt. Betrieben wird er mit kleinen Metallmurmeln.

Im Prinzip kann der Digi-Comp Rechnungen vom Typ x * y + z ausführen, also etwa: 5 * 3 + 20 (gibt 35).
Wenn man nur addieren will, rechnet man einfach x * 1 + z, also etwa: 5 * 1 + 20 (gibt 25); wenn man nur multiplizieren will, setzt man z auf 0.

Diese drei Werte x, y und z stellt man am Rechner in den drei Registern ein:

digi-comp_register

Im Moment ist links 1+2+0 eingestellt, also 3.
In der Mitte steht 0+0+0+8, also 8.
Und im rechten Register stehen lauter Nullen, also 0.
Der Rechner ist also bereit, 3*8+0 zu rechnen.

Das rechte Register heißt auch Akkumulator. In dem wird nach und nach hochgezählt, bis am Schluss das richtige Ergebnis dort angezeigt wird. Gerechnet wird nämlich nach folgendem Prinzip:

Aus der Eingabeeinstellung:
 3 * 8 + 0
wird nach vier Kugeldurchgängen:
 2 * 8 + 8
wird nach weiteren vier Kugeldurchgängen:
 1 * 8 + 16
wird nach weiteren vier Kugeldurchgängen:
 0 * 8 + 24
– und dann bleibt der Rechner stehen. Das Ergebnis – 24 – kann man im Akkumulator ablesen.

Das Herzstück der Maschine sind drei Flipflops oben, an denen eine herunterrollende Kugel am Anfang vorbei muss. Je nach deren Einstellung gibt es vier Wege, die die Kugel nehmen kann:

digi-comp_zyklus

  • Im Startzustand nimmt die Kugel den schwarzen Weg; sie verringert dabei das linke Register um 1 und erhöht das Akkumulator-Register um – ja, das hängt vom Schalter M4 ab, der für das vierte Bit (also 0 oder 8) des Multiplikanden steht: der leitet die Kugel entweder zum Ausgang weiter oder lässt sie weiter zum Akkumulator rollen, den sie dann um 8 erhöht (weil sie an der Stelle eingeleitet wird, wo das vierte Bit im Akkumulator steht).
  • Danach haben die Flipflops eine andere Stellung, die nächste Kugel nimmt den rosafarbenen Weg; sie erhöht das Akkumulator-Register um – ja, das hängt vom Schalter M2 ab, der für das zweite Bit (also 0 oder 2) des Multiplikanden steht: der leitet die Kugel entweder zum Ausgang weiter oder lässt sie weiter zum Akkumulator rollen, den sie dann um 2 erhöht (weil sie an der Stelle eingeleitet wird, wo das zweite Bit im Akkumulator steht).
  • Danach haben die Flipflops eine andere Stellung, die nächste Kugel nimmt den blauen Weg; sie erhöht das Akkumulator-Register um 0 oder 4, je nach dem entsprechenden Bit im Multiplikand.
  • Danach haben die Flipflops eine andere Stellung, die nächste Kugel nimmt den grünen Weg; sie erhöht das Akkumulator-Register um 0 oder 1, je nach dem entsprechenden Bit im Multiplikand.
  • Danach haben die Flipflops wieder die Ausgangsstellung. Wenn der Multiplikator, also das linke Register, auf 0 steht, ist die Rechnung beendet und die Kugeln rollen direkt durch nach unten.

Die vier Kugeldurchgänge braucht es deshalb, weil bei jeder Kugel nur ein Bit des Multiplikanden zum entsprechenden Bit des Akkumulators dazugezählt wird, und das Multplikanden-Register ist 4 Bit groß. Erst nach vier Kugeln ist der volle Registerinhalt zum Akkumulator addiert worden.

digi-comp

Division und SUbtraktion sind durch Berechnung des Zweierkomplements möglich, für das es eine Einstellung gibt. Außerdem kann man die Anzahl der durchrollenden Kugeln berechnen lassen (pro Kugel wird der Akkumulator um 1 hochgezählt, die anderen Register spielen keine Rolle). Sehr spannend ist auch einfach nur das binäre Hochzählen, wie der Übertrag da mechansich gelöst ist. Ein schönes Spielzeug.

Mehr über den Digi-Comp II steht hier. Angefangen hat er als Lernmittel aus den 1960er Jahren, seit einem halben Jahr gibt es einen etwas modernisierten Nachbau davon – leider ist es recht umständlich und teuer, sich den aus den USA zu besorgen.

Beispielrechnung 3 x 11:

Der Arduino: Mein neuer Computer

Sommerzeit ist Hardwarezeit, Teil 2: Ich bin alles andere als ein Elektrolurch. (Fachausdruck von Frau Rau. Fachausdruck vermittelt durch Frau Rau.) Gebt mir die theoretische Informatik, gebt mir Datenstrukturen, gebt mir Informatik und Gesellschaft – technische Informatik war dagegen nie das meine, ich komme entschieden nicht aus der Physik, so wie andere Informatiklehrer, und hatte auch nie das Bedürfnis, mir einen Rechner selber zusammenzuschrauben. Also, nur ein bisschen.

Schon in der Schule war mir das mit der Stärke und der Spannung nie so ganz klar, sehr zum Leidwesen meines technisch versierten Vaters. Dabei hatte ich einen Elektronik-Baukasten, wohl Anfang der 1980er Jahre, mit Alarmanlage und Hupe und Morsetaste und Potentiometer. (Leider kein Bild gefunden, schade. Es war kein Kosmos-Set, soviel weiß ich noch.)

Als mir aber angeboten wurde, dieses Buch zu rezensieren:

Maik Schmidt, Arduino. Ein schneller Einstieg in die Microcontroller-Entwicklung (Amazon) – weiter unten mehr dazu

– da nahm ich das zum Anlass, doch mal etwas elektronischer zu werden. Und jetzt habe ich einen ganzen neuen Computer im Haus, einen Arduino Uno:


(Nachtrag, wegegen besorgter Hinweise: Das Bild des Schlüssels habe ich vorher natürlich manipuliert.)

Wie man hoffentlich sieht, ist dieser Computer recht klein, aber trotzdem ein mehr oder weniger vollständiges Gerät. Kostet auch nur um die 25 Euro. Die verschiedenen Rechner der Arduino-Serie sind speziell für Nichttechniker gedacht, etwa für Künstler, die computergesteuerte bewegliche Plastiken schaffen wollen und dazu einen Minicomputer brauchen, den sie in die Plastik einbauen. Die Hardware und Software dazu sind open source.

Der Mikrocontroller ist dabei das Teil am Gerät, das die Arbeit macht: Er enthält nicht nur den Prozessor (der rechnet, Daten hin- und herschiebt und Programmcode ausführt), sondern auch weitere Steuerungselemente und Arbeitsspeicher, die im heimischen PC auf separate Bauteile aufgeteilt sind. Ein Computer im Kleinen.

Außerdem braucht auch ein kleiner Computer Strom. Der kommt über den Stromanschluss oder über das USB-Kabel, das dazu an einem Rechner oder einem Steckdosenadapter steckt und den Rechner mit den nötigen 5 V Spannung versorgt (und einem halben Ampere Stärke).

Und dann gibt es noch die Ein- und Ausgabepins oben. Das sind sozusagen Augen, Ohren, Mund und Hände des Rechners. Ohne die würden wir nichts davon mitkriegen, wenn der Rechner rechnet.
Man kann jeden Pin als Ausgabe deklarieren, dann kann das Programm an diesen Pin 5 V schicken (einschalten) oder 0 V (ausschalten). Und an diesem Pin kann zum Beispiel eine Leuchtdiode stecken, die dann angeht oder ausgeht.
Oder man deklariert einen Pin als Eingang, dann kann das Programm an diesem Programm überprüfen, ob Spannung anliegt. Und an diesem Pin kann zum Beispiel ein Schalter stecken. Dann schreibt man ein Programm, das immer wieder den Eingangspin auf Spannung überprüft, und wenn dort welche liegt (also der Schalter gedrückt ist), sendet das Programm wiederum Spannung an den Ausgabepin, so dass dort die Diode leuchtet. Schon hat man ein kleines Maschinchen – zugegeben ein so einfaches, dass man dafür keinen Rechner bräuchte.

An diese und die analogen Pins kann man Servomotoren hängen, Leuchtdioden, Summer, Temperaturfühler und Beschleunigungsmesser und alles mögliche sonst. Wie Captain Hook, wenn der statt seiner Hakenhand alle möglichen Küchenutensilien anstecken könnte.

Das Zeug muss man natürlich erst haben. Ich bin dem Rat des Buches gefolgt und habe für unter 70 Euro eine Einsteigerbox gekauft – mit dem Arduino Uno als Rechner und einem Haufen von Käbelchen, Widerständen, Relais, Transistor, Summer, Servomotor, Druckknöpfen, Potentiometer, Temperatur-, Licht- und Neigungssensor. Ich komme mir schon extrem technisch vor. Das letzte Mal Widerstände gelötet habe ich vor fünfundzwanzig Jahren (ein selbstgebasteltes Mikrophon für die Mundharmonika, lange Geschichte); glücklicherweise muss man zumindest für die Einsteigerspielereien mit dem Arduino nichts löten, sondern kann alle Teile bequem einstecken.


das Fritzing Starter Kit

Das Buch von Maik Schmidt enthält als Projekte unter anderem: Einen Zufallswürfel; das Übersetzen von vom PC gesendeten Text in Morsesignale; Entfernungsmessung mit Ultraschallsensor; das Anschließen eines Wii-Nunchucks; eine Universalfernbedienung. Für mich als Einsteiger eine Nummer zu groß, aber die einfachen Projekte kann ich. Als Nächstes möchte ich alleine etwas ganz Simples ausprobieren: eine Ampel, die man per Knopfdruck weiterschaltet. Dazu muss ich nur eine rote, grüne und gelbe Diode (durch Widerstände geschützt) und einen Schalter an beliebige Pins stecken. Und das mit der Masse, das muss ich noch kapieren, Das Programm, das die Ein- und Ausgabepins dann ampelmäßig steuert, ist dann wieder ganz einfach – ganz der Zehntklassstoff.

Das Buch erklärt nicht die Programmiersprache C++, man sollte sich also etwas damit auskennen, oder zumindest mit Java, das ist recht ähnlich. Die Entwicklungsumgebung nimmt einem dabei viel Arbeit ab. Über die serielle Schnittstelle kann der PC mit anderen Sprachen (Java, JavaScript, Processing, Python) mit dem Arduino kommunizieren.
Das Buch ist für Einsteiger mit einigem Grundwissen geeignet. Ich weiß nicht, was es sonst an Arduino-Büchern gibt; viele, nehme ich an, und online gibt es auch jede Menge Anleitungen. Ich werde jedenfalls nach und nach die Modelle im Buch ausprobieren, soweit ich die Bauteile dazu habe.


Anhang 1: Die Programmierung

Programmiert wird ein Arduino so: Man installiert die Arduino-Entwicklungsumgebung auf dem Rechner. Die ist abgeleitet von und ganz ähnlich aufgebaut wie Processing (Blogeintrag). Man schreibt in dieser Entwicklungsumgebung ein einfaches Programm in der Sprache C++, zum Beispiel dieses:

int pin = 13;

void setup() {
 pinMode(pin, OUTPUT);
}

void loop() {
 digitalWrite(pin, HIGH);
 delay(1000);
 digitalWrite(pin, LOW);
 delay(1000);
}

Beim Aufruf eines Processing- oder Arduino-Progamms wird immer zuerst die setup-Methode einmal ausgeführt, in der hier der Pin Nr. 13 auf OUTPUT gesetzt wird. Das heißt, an diesen Steckplatz sendet das Programm Signale. Dort steckt später zum Beispiel eine Diode.
Die loop-Methode wird dagegen nicht nur einmal, sondern ständig ausgeführt. Zuerst wird an den 13er-Pin ein HIGH-Signal gesendet (5 V), dann eine Sekunde gewartet, dann ein LOW-Signal (0 V), dann wieder eine Sekunde gewartet. Und das immer wieder.

Wenn das Programm geschrieben ist, wird es in den Speicher des Arduino übertragen. Dort bleibt es, bis es irgendwann mal durch ein anderes Programm überschrieben wird. Sobald der Arduino Strom kriegt, lädt ein Bootloader das Programm und startet es – in unserem Fall wird Pin 13 abwechselnd mit einem HIGH- und einem LOW-Signal versorgt. Wenn an Pin 13 dann auch tatsächlich zum Beispiel eine Diode hängt, wird sie blinken.

Tatsächlich versteht unser kleiner Arduino keine so hochentwickelte Sprache wie C++. Die passt da ja gar nicht rein, das wird doch wohl jeder einsehen. Also wird der Progammcode erst einmal übersetzt in eine viel einfachere, primitivere Sprache, die der Arduino-Mikrocontroller dann auch wirklich versteht. Das heißt “kompilieren”, und es ist also gar nicht das C++-Programm, das an den Arduino-Prozessor übertragen wird, sondern der kompilierte Programmcode. Das heißt auch Maschinensprache, und wer will, kann die Maschinensprache oder die Vorstufe dazu, Assembler, gleich selber schreiben, ohne über C++ gehen zu müssen. Dann sieht ein Programm so aus:

LDI R16,2 ; lade die Zahl 2 in Register Nr. 16
MOV R1,R16 ; kopiere den Inhalt von Register Nr. 16 nach Nr. 1

Hier gibt es Tutorien dazu, Und das ist dann auch Stoff der 12. Jahrgangsstufe. Denn nicht nur der Arduino-Prozessor versteht kein C++, das gilt genauso – aber vielleicht weniger nachvollziehbar – für den Prozessor im PC und jedem anderen Rechner. Die verstehen alle nur ihre eigene Maschinensprache.


Anhang 2: Die Ampel

Das ist meine Ampelmaschine. Ich habe dazu nur ein Projekt im Buch minimal abgewandelt… uh, andersfarbige Dioden genommen und einen anderen Schalter eingebaut.

Diese Konstruktion kann Eingaben von außen über einen Schalter entgegennehmen, und über drei Dioden nach außen Ausgaben senden. Was sie mit diesen Möglichkeiten anstellt, liegt am Programm, das Ein- und Ausgabe steuert. Zufallsleuchten, Blinklicht, Ampelschaltung, oder die Berechnung einer komplizierten Formel (grün für ja, rot für nein).

Ist das Informatik? Für mich ist es eher, uh, Elektrolurcherei. Schon mal, weil der Druckknopf nicht so idealisiert funktioniert wie in einer Simulation, sondern mechanisch ist und beim Drucken eine Zeitlang nachschwingt, und das Programm sich darauf einstellen muss.
Die Elektrolurcherei ist aber auch dringend nötig bei mir. Inzwischen weiß ich halbwegs, was Masse ist! Durch das Stecken von Kabeln und das Schreiben von Programmen eigens für die gebastelte Maschine (statt einer Simulation davon auf dem PC) bekommt man vielleicht auch mehr Gespür dafür, was ein Computer eigentlich macht. Ich will schauen, ob ich nächstes Jahr Gelegenheit finde, das mit Schülern auszuprobieren.

Scannerstift C-Pen

Sommerzeit ist Hardwarezeit, Teil 1: Schon vor einiger Zeit habe ich ein Prüfexemplar des C-Pen 3.5 geschickt bekommen. (Ich kriege gelegentlich solche Angebote, winke zuerst fast immer ab, und lasse mich danach fast immer überreden.) Den Stift gibt es ab 130 €, Vorgängerversionen sind etwas billiger, trotzdem ist das ganze eher teuer.

Dazu wird zuerst die C-Span-Software auf dem Rechner installiert; lief problemlos, also ohne unnütze Zusatzsoftware und ohne sich in den Autostarter zu drängeln, wie ich das von anderen Programmen kenne. Wenn der Rechner kein Bluetooth hat, so wie meiner, steckt man das mitgelieferte Bluetooth-Modul in einen freien USB-Slot, dann sind Stift und Rechner kabellos verbunden.

Dann fährt man mit dem textmarkergroßen Stift über die Textzeile, die man scannen möchte, und der Text wird im aktiven Fenster an der Stelle eingefügt, an der sich gerade der Cursor befindet – Textverarbeitung, Wordpress, was auch immer. Die Texterkennung ist sehr gut, sowohl bei Deutsch wie auch bei Englisch.

Man scannt immer zeilenweise, und nach jeder Zeile braucht der Stift eine Sekunde, bis der Text übertragen ist und man die nächste Zeile beginnen kann (signalisiert durch ein Klickgeräusch). Das ist etwas langsamer, als man eigentlich möchte, aber man passt sich da rasch an. Nachbearbeitung erfordern gelegentlich die Zeilenumbrüche, obwohl das Programm in der Regel auch Worttrennungen richtig zusammenführt. Geht auch bei kursiver Zeitungsschrift, funktioniert aber nicht bei iPad.

Lohnt sich das Werkzeug? Nur wenn der Rechner eh immer an und der Stift griffbereit am Tisch liegt. Das ist bei mir beides der Fall. Wenn man eine Zeile aus einem Buch oder der Zeitung im Rechner möchte, ist man schneller, wenn man sie abtippt. Bei ganzen Seiten nimmt man natürlich den Scanner. Für einen Absatz oder so ist der Stift besser – aber für den Preis muss das schon sehr, sehr oft vorkommen, damit sich das lohnt. Für ein Büro mit mehreren Leuten aber eine gute Idee.