Die 60 Jahre alte Methode, Nullen und Einsen zwischen zwei Computern zu übertragen, funktioniert auch mit Licht. Wie bei einer Lichtschranke wird jedes Bit als `Licht an` oder `Licht aus` übertragen.
LED als Sender und Fototransistor als Empfänger sind aber an verschiedene Computer angeschlossen. Geeignet sind alle Controller, die LED und Fototransistor ansteuern können. Dazu gehören Calliope und sämtliche fischertechnik Controller. Damit können Bytes zwischen verschiedenen Systemen übertragen werden, die sonst nicht kompatibel sind.
Die hier beschriebenen Programme übertragen 7-Bit ASCII Zeichen. Für die Eingabe von Text beim Sender und die Ausgabe / Anzeige beim Empfänger haben die Controller unterschiedliche Möglichkeiten. Für die Ansteuerung von Tastaturen und Displays sind für alle Controller (I²C)-Erweiterungen verfügbar. Die Erweiterung Modem kümmert sich nur um die Übertragung von Text-Zeichen, nicht um die Ein- und Ausgabe.
Die ASCII Codierung der Buchstaben, Ziffern und sonstigen Zeichen steht in der
Codetabelle.
Die 128 Zeichen mit dem Code 0 bis 127 werden in 7 Bit = 7 Nullen oder Einsen codiert.
Das achte Bit ist beim ASCII Code immer 0.
Zum Beispiel wird der Buchstabe `K` codiert in `(0)1 0 0 1 0 1 1`.
Diese 7 Bit werden einzeln gesendet, das letzte Bit (LSb) zuerst.
Im folgenden Bild stehen die 7 gelben Bits (umgekehrt) `1 1 0 1 0 0 1` b0 bis b6 für das Zeichen `K`.
Ist die dicke schwarze Linie unten (Idle) bedeutet das `Licht aus`, oben `Licht an`. Der Abstand zwischen den dünnen Linien ist die Zeit, wie lange das Licht für ein Bit an oder aus ist.
Wenn nichts übertragen wird, ist das Licht aus. Jedes Zeichen beginnt mit Licht an (grünes Start-Bit). Dann folgen die 7 (gelben) Daten-Bits b0 bis b6. Das (lila) Parity-Bit erkennt Übertragungsfehler. Das (rote) Stop-Bit schaltet das Licht wieder aus.
Das Parity-Bit wird so gesetzt, dass die Anzahl Einsen eine gerade Zahl ergibt.
Beim `K` sind 4 Einsen (b0 b1 b3 b6) vorhanden, Parity ist 0.
Beim `L` `(0)1 0 0 1 1 0 0` ← (im Bild umgekehrt) ← `0 0 1 1 0 0 1` sind 3 Einsen vorhanden, Parity ist 1.
(3 ist keine gerade Zahl, aber 4).
Bei `Licht an` erkennt der Empfänger den Beginn einer Übertragung. Nach einer halben Taktzeit beginnt er die 10 Bit immer in der Mitte abzutasten. So werden kleine Unterschiede zwischen den Controllern ausgeglichen. Man nennt das asynchron.
Pro ASCII Zeichen werden immer 10 Bit übertragen. Die Pause zwischen den Zeichen kann beliebig lang sein. Der Empfänger erkennt an Start-, Parity- und Stop-Bit, ob das Zeichen gültig ist. Und decodiert die 7 Daten-Bit wieder zu einem ASCII Zeichen.

Bild von RS-232 – Wikipedia
Auf dem Bild sind drei verschiedene Controller: Calliope, fischertechnik BTSmart Controller und fischertechnik TXT 4.0 Controller. Auf den schwarzen Platten sind je eine Lichtschranken-LED und ein Fortotransistor. Die Teile sind z. B. im fischertechnik Calliope Baukasten enthalten.
Die 9V LED am Calliope mit 3V betreiben reicht nicht. Dafür wurde eine helle 3V LED mit E10 Fassung verwendet. Der Fototransistor am Calliope funktioniert an den Ecken P0 bis P3, am rechten Grove aber nicht stabil. Grund ist, dass dort der Pull-Up Widerstand fehlt. Ein 100kOhm Widerstand gegen +3V wurde in das Spezial Kabel integriert.
Der BTSmart Controller (rechts) muss immer mit der App ROBO Pro Coding gekoppelt sein, damit er funktioniert. Am Besten über Bluetooth. In der App ist ein Bedienfeld konfiguriert. Das wird auf dem Bildschirm angezeigt, wenn das Programm gestartet ist. Ein Steuerelement (Control) zur Eingabe von Text ist nicht vorhanden. Deshalb wurde mit dem Schieberegler eine Schreibmaschine gebaut. So kann man gleich richtig praktisch lernen, wie Zeichen codiert werden.
Die schwarzen Platten mit LED (Sender) und Fototransistor (Empfänger) werden mit der gelben Bauplatte so gehalten, dass sie sich genau gegenüber stehen. Den Abstand kann man austesten.
Am Calliope ist über I²C ein Display und eine Tastatur angeschlossen. Damit kann der Text geschrieben werden, der gesendet werden soll oder empfangen wurde. Die Tastatur funktioniert nur, wenn die 3V Batterie voll ist. Besser geht es mit Strom über das USB Kabel.
Hinweis: Die Datenübertragung mit Licht funktioniert natürlich auch mit zwei Calliope oder zwei BTSmart Controllern, in beide Richtungen.
Hier sind TXT 4.0 Controller und BTSmart Controller gekoppelt.
Der TXT 4.0 Controller speichert das Programm und funktioniert dann auch ohne Verbindung zur App. Auf dem Touch-Display existiert auch ein Control zur Texteingabe. Das kann mit einem Finger bedient werden - oder mit der Maus. (Die ist auf dem oberen Bild und wurde hier vergessen.)
Natürlich können auch TXT 4.0 Controller und Calliope mit Licht gekoppelt werden. Hier ist mal ein Keypad angeschlossen. Damit können nur Ziffernfolgen gesendet werden. Die 3V Batterie ist auch hier ein Problem und deshalb eine Powerbank angeschlossen.