Das espBASIC auf einem RP PicoW ist schnell genug, um ein Interface zu emulieren. Damit gestaltet sich eine Firmware für Compact Red Needle sehr einfach.
Ad hoc im Browser wenige Zeilen eingeben und schon reagiert ein PicoW wie ein CompuLAB - ein PC Interface - welches von der Multiplattform-Software Compact RN unterstützt wird. Der folgende Abschnitt stammt aus Kapitel 3.4.1 des Buches Messen, Steuern und Regeln mit RP2040 espBASIC.
USB-Interface RP2040 - Ausschnitt Kapitel 3.4.1
Ein Computer-Interface war lange Zeit ein Stück Hardware, welche über eine serielle Schnittstelle mit dem PC verbunden war und den Anwender in die Lage versetzte ohne Mikrocontroller-Kenntnisse Messungen und Steuerungen vorzunehmen. Lehrmittelfirmen, wie Leybold und modul-bus, vertrieben solche Interfaces als Cassy und CompuLab. Entsprechen-de Software war untere dem Namen CassyLab und Compact verfügbar. Die aktuelle Version von Compact nennt sich Edition Red Needle und ist für alle gängigen Desktop-Betriebssysteme frei erhältlich.
Prinzip Compact
Compact benutzt aktuelle Mikrocontroller als sogenanntes PC-Interface zum Messen und Steuern. Dabei besteht eine ständige Verbindung zwischen Gerät und PC. Die Verbindung erfolgt über USB-Kabel oder drahtlos über Bluetooth. Alle Aktionen gehen vom Computer und Compact aus. Das PC-Interface hat dabei die folgenden Eigenschaften, die vom jeweiligen Mikrocontroller emuliert werden.
- 2 Pins Analogeingänge
- 8 Digitale Eingänge
- 8 Digitale Ausgänge
- 2 Analogausgänge
Eine reale und praktische Umsetzung kann unterschiedlich ausfallen, je nach Preis und Bedarf, beginnend bei €4 für einen Pi Pico mit RP2040 ohne WiFi. Compact versucht durch bewusst begrenzt erscheinende Möglichkeiten die Konzentration auf das Wesentliche zu erhöhen. Als Beispiel sei die relativ niedrige 8 Bit Auflösung der Analog-Eingänge zu nennen, die dazu führt, dass Zahlen meist nur im Bereich von 0 bis 255 vorkommen, welche genau der Größe eines Bytes entsprechen, die Programmiersprache kennt somit auch nur einen Variablenspeicher für eine Ganzzahl.
Compact bietet zunächst eine Übersicht der Ein- und Ausgänge dieses Interfaces mit einigen angehängten Werkzeugen wie Zeitschreiber, XY-Schreiber, Logik-Schreiber und eine einfache Programmiermöglichkeit. Bei erkannter Hardware schaltet die Nadel automatisch um auf Rot.
Firmware in 14 Zeilen espBASIC für RP PicoW über USB
Um einen RP2040 als ein USB-Interface für Compact Red Needle zu verwenden steht auf dieser Seite eine entsprechende uf2-Datei zur Verfügung. Hier soll jedoch die Möglichkeit gezeigt werden, dass espBASIC in der Lage ist die Firmware für ein solches Interface bereit zu stellen. Das Programm wartet auf serielle Eingaben, die den RP2040 über die USB-Schnittstelle erreichen und reagiert entsprechend den Erwartungen von Compact Red Needle.
Quelltext im Browser und zum Kopieren: Quelltext pur
Bluetooth Firmware in espBASIC für RP PicoW über Bluetooth
Ändert man im obigen Listing der Firmware des USB-Interfaces für CompactRN an allen acht Stellen serial in serialBT, so funktioniert das alles auch drahtlos über die Bluetooth-Serial-Schnittstelle. Nach dem Start des Programms kann der PicoW gekoppelt werden. Danach steht eine neue serielle Schnittstelle bereit zwecks drahtloser Verbindung zu Compact.
Bootsel und LED Erweiterung für vorhandenene Hardware
Mit geringer Änderung ist es möglich sowohl den BOOTSEL-Taster als auch die grüne LED auf dem Board des PicoW einzubinden. Die digitale Ausgabe erfolgt, wenn das Byte 81 empfangen wird. Hier lässt sich die gewünschte Ausgabe in einer Variablen
i abgefangen und entsprechend untersuchen. Ist das niederwertige Bit 0 gesetzt, so wird zusätzlich die interene LED an GPIO 25 geschaltet.
Die digitalen Eingänge erfragt das Byte 211. An dieser Stelle erfolgt die Zwischenspeicherung in der Variablen d. Ist der BOOTSEL-Taster gedrückt, so wird Digitaleingang 7 ausgeschaltet.