Lokdecoder 1

Zunächst kurz zum Stand der Dinge: Seit heute sind die vier Solarpaneele auf eine eigenartige Weise, aber korrekt auf dem Dach mit der Altanlage kombiniert. Man sieht recht wenig von außen und der Aufbau
müsste auch stürmisches Wetter verkraften können, wie die Altanlage seit 16 Jahren.
Das hat aber nur indirekt mit unserem Modellbau-Projekt zu tun. Dort hat sich inzwischen eine Reihe festgesetzt, die für Anfänger/innen im Modellbau gedacht ist. Allerdings hat sie sich sehr viel schneller
fortentwickelt, als wir es am Anfang geplant hatten.
Wir sind da an einem Punkt, wo die Mobile Station 2 möglichst viele Loks und sogar Straßenfahrzeuge steuern soll. Allerdings leeren die dazu nötigen Lokdecoder das Portemonnaie rascher, als alle anderen
Tipps, die Startpackung vielleicht ausgenommen.
Die Lösung wäre unser Eigenbau-Lokdecoder, aber bei dem hat unser Vorgang des Auslesens schon einmal bitter versagt. Also ein neuer Versuch, diesmal unsere weiterentwickelte Zusammenarbeit mit
ChatGPT weidlich ausnutzend.
Der erste Versuch geht auch prompt schief, denn wir haben ihm zunächst die alte Auswertung am Arduino geschickt und er hat die Nullen als Präambel moniert, vermutlich ein Fehler im Programm. Bedeutete:
Den Versuch neu aufbauen, diesmal aber mit unserem Hantek-Oszilloskop am Computer.
Wir können hier schon sagen, das hat sich gelohnt. Wir haben also die von der Mobile Station 2 gesendeten Nullen und Einsen wie früher ausgezählt und ChatGPT mitgeteilt. Die Ki hat das dann mit Hilfe des
mitgesendeten XOR überprüft und es kam vor, dass wir nachbessern mussten.
1111111111111111111111
0
00001010
0
10100000
0
10101010
So sah dann die Auszählung eines Blocks aus. Als ersten hatten wir natürlich keinen mit Lokadresse, Fahrtrichtung und Geschwindigkeit erwischt. Erst der zweite Block brachte in dieser Richtung ein
Ergebnis:
1111111111111111111111
0
00001111
0
00111111
0
11011100
0
11101100
Schon wenn sich die Zahlenfolgen nach jeweils acht Bit nicht durch eine Null teilen lassen, weiß man, dass man falsch ausgelesen hat. Und warum ist dieser Block jetzt länger als der erste? Das
Vorkommen der 00111111 (63) bedeutet einen nachfolgenden 128-Fahrstufen-Geschwindigkeitsbefehl.
Wir haben auf diese Art insgesamt vier Blöcke aus dem Oszilloskop herausgelesen und sie durch ChatGPT analysieren lassen, immer unter der Maßgabe, es unserem Lokdecoder so einfach wie möglich zu
machen. Der stürzt sich auf Adresse, Fahrrichtung und Geschwindigkeit und wertet die gegebenenfalls aus.
Und was ist der Clou vom Ganzen: ChatGPT war sich plötzlich sicher, uns ein möglichst einfaches Programm schreiben zu können, das alle diese Fähigkeiten hat und sich hoffentlich nicht nur auf den
Arduino, sondern auch in den ATtiny speichern lässt.
Wir haben das Angebot natürlich dankend angenommen und sind gespannt, ob es im skizzierten Sinn zuverlässig funktioniert. Sobald die Kollektoren angeschlossen und in Funktion gebracht sind, werden wir
es probieren.
|