2022
HOME

Compact für Arduino & Co - Multiplattform
Compact Red Needle Edition
Messen, Steuern und Regeln auf einfachste Art und Weise mit der Roten Nadel Version

Compact ist ein Mess- und Steuerprogramm für sogenannte PC-Interfaces, die seriell (USB) mit dem Computer verbunden sind. Compact in der Version 1.8 nennt sich Red Needle und unterstützt die aktuellen Mikrocontroller Arduino, Raspberry Pi Pico mit RP2040 und Digispark in besonderer Weise. Die Edition Rote Nadel ist für verschiedene Plattformen bzw. Betriebssyteme nativ verfügbar.

WindowsLinuxRaspberry OSmacOS

Compact Übersicht
Red Needle auf Linux und einem Dark-Theme - entwickelt unter Zorin OS Live

Compact Übersicht
Red Needle auf Windows - entwickelt unter Zorin OS Live

Der Einstieg mit einem Arduino Uno R3 (ab 8 Euro) sollte innerhalb weniger Sekunden möglich sein, da Compact den erforderlichen vorbereiteten Arduino-Sketch selber hochladen kann. Damit entfällt jegliche Zusatzsoftware. Ein Szenario wäre also:

  • Beschaffen eines Arduino Uno R3 mit zugehörendem USB-Kabel
  • Herunterladen des Zip-Archivs mit Compact Red Needle (ab 1.8)
  • Entpacken des Archivs in einem beliebigen Verzeichnis
  • Programm aufrufen bzw.ausführen
  • Arduino mit PC verbinden und hinzu gekommene Schnittstelle anklicken
  • Zum Tab "Compact" wechseln und Schaltfläche "Arduino einrichten" drücken

Nach wenigen Sekunden sollten rote Nadeln signalisieren, dass der Arduino Messwerte liefert. Mit Klick auf Digitalausgang 3 sollte die interne LED des Arduino an Pin 13 schaltbar sein. Ein Wettbewerb wäre die Zeitaufnahme zwischen Erstkontakt mit dem Arduino und dem ersten Aufleuchten der LED.

Sollte die Übertragung zum Einrichten des Arduino Uno unerwartet fehlschlagen, so kann der benötigte Sketch auch mit dem Win-Programm XLoader übertragen werden.

Andere Mikrocontroller werden auf dem sonst üblichen Weg mit dem entsprechenden Programm bestückt. Ein Arduino Nano oder ein Digispark benutzen oft die sogenannte Arduino IDE, der Pi-Pico kann auch mit MicroPython als Interface fungieren.

Der Tab "Ein-/Ausgänge" gibt einen schnellen Überblick. Die beiden Analog-Eingänge entsprechen am Arduino A0 und A1, die Digitaleingänge sind in unbeschalteten Zustand "1", so dass sie mit einem Taster nur noch mit GND verbunden werden müssen, um den Zustand zu wechseln. Die acht Digital-Ausgänge lassen sich per Button schalten. Hinweise zu den Anschlüssen erscheinen beim Verweilen des Mauszeigers über den Schaltern. Das Programm lässt auch nur über die Tastatur bedienen.


Hardware Emulation

Compact ÜbersichtCompact wurde entwickelt für ein Interface, welches eine Zeit lang unter dem Namen CompuLAB verfügbar war und im Bildungsbereich Verwendung fand. Der Sketch im aktuellen Mikrocontroller sorgt dafür, dass sich seine Hardware so verhält, als wäre nebenstehendes Interface angeschlossen.

  • 2 analoge Eingänge mit 8 Bit-Auflösung
  • 8 digitale Eingänge
  • 8 digitale Ausgänge

und einem USB-Anschluss zur Datenübertragung und zur Spannungsversorgung. Dies alles ist mit dem weit verbreiteten Arduino ohne Weiteres zu verwirklichen.

Der von Compact übertragene Sketch verwendet die Verschaltung entsprechend der links abgebildeten Fritzing-Skizze. Diese Anschlüsse werden in Compact alsTooltips im Tab Ein-/Ausgänge angezeigt, wenn die Maus diese überfährt.

Die Digital-Eingänge liegen an D2 bis D9 und die beiden Analog-Eingänge A und B an A0 und A1 des Arduino. Die Digital-Ausgänge beginnen bei D10 und verwenden die Leitungen A2 bis A5 als Ausgänge.

Somit ist Bit 0 am Arduino der Digital-Ausgang D10 und die eingebaute LED an Pin13 reagiert auf Bit 3.

Der Sketch legt die Digital-Eingänge so an, dass ein offener Eingang einer logischen 1 entspricht und eine Verbindung zur Masse oder Gnd mit Taster oder Drahtbrücke eine logische 0 am Eingang liefert.

Bei einem Arduino dient Bit 0 bzw. D10 auch als PWM-Ausgang in der erweiterten Darstellung oder Programmierung. Details findet man im Buch Messen, Steuern und regeln mit Arduino und Compact.



Auch der 4-€-Raspberry Pi Pico als CompuLAB aus den Kapiteln 4.8 und 6.8 des Buches MSR mit MicroPython und RP2040 funktioniert bisher problemfrei.

Neu in 2023: Mit der Datei sketch_CLAB_v3_Pico.ino.uf2 im Archiv CLAB_v3_Pico.zip (55kB) kann ein Pico oder Pico W einfach zum CompuLAB werden, so dass alles auch auf einfachste Weise mit diesen Mikrokontrollern funktioniert. Dazu verbindet man den Pico per USB mit dem PC bei gedrücktem BOOTSEL-Button des Boards. Durch das Kopieren der uf2-Datei auf das nun erscheinende Laufwerk wird das Betriebssystem übertragen. Nach Abschluss der Übertragung meldet sich der Pico als Laufwerk ab und in Compact Red Needle erscheint eine neue serielle Schnittstelle. Der Pico kann nun als Mess-Interface verwendet werden. Ein Klick auf die analogen Anzeigen schaltet Compact in den 3,3 Volt-Modus.

Pins am Pico und Pico W bei dieser Version:

Digitale Ausgänge 0,1,2,3,4,5,6,7 an Pin 1,2,4,5,6,7,9,10
Digitale Eingänge 0,1,2,3,4,5,6,7 an Pin 11,12,14,15,16,17,18,20
Analog-Eingang A/B Pin 31/32
PWM Pin 1

Soll der "kleinste Arduino der Welt", ein Digispark, verwendert werden, so findet man das entsprechende Listing bereits in der 2017 erschienen Ausgabe des Buches Messen Steuern Regeln mit Samrtphone und Tablet.

Weitere Mikrocontoller als Arduino oder CompuLab-Ersatz auf dieser Seite:


Software Konzept
Compact startet mit der Übersicht im Simulationsmodus. Dabei ändern sich die beiden analogen Eingänge mit leicht unterschiedlicher Schwinung bzw. Frequenz. Die aktuell verfügbaren Schnittstellen erscheinen dynamisch im unteren Bereich. Bei entsprechend ausgewählter Schnittstelle kann die Schaltfläche "Seriell verbinden" den Kontakt mit der angeschlossenen Hardware beginnen und reale Messwerte liefern.

Die Verwendung der Ein- und Ausgänge unterstützt Compact zusätzlich mit

  • YT-Schreiber - Darstellung der Analogwerte über der Zeit
  • XY-Schreiber - Darstellung der beiden Eingänge in jeweiliger Abhängigkeit
  • Bit-Schreiber - Logig-Analysator für die digitalen Eingänge
  • Programm - Einfacher Interpreter zum Messen und Steuern mit einer Hand voll Befehlen

Compact Red Needle entspricht in seinen Möglichkeiten überwiegend in Bedienung und Programmierung CompactDefinition, wobei nur zwei analoge Eingänge verfügbar sind.

Der Programmierteil ist in seinem Umfang bewusst reduziert. Es gibt nur einen einzigen Speicherplatz mit dem Namen Zahl, der Werte von 0 bis 255 annehmen kann. Auch gibt es nur eine Wiederholungs-Art (Schleife) und eine Art der Verzweigung. Programme lassen sich mit F5 von jedem Tab aus starten und anhalten, wodurch zum Beispiel programmierbare Kennlinienschreiber (XY) möglich sind.

Besonderheiten in dieser Version: Unterstützung eines analogen Ausgangs, der in der Grundform nur ein PWM-Ausgang als Pin 10 des Arduino ist, ein Sketch für MCP-DAC (I²C) liegt im Archiv zu untenstehendem Buch. Das Programm unterstützt logische Operationen in der Variablen Zahl. Die Tasten-Kombinationen des zuschaltbaren Programm-Menüs funktionieren in jedem Tab. Bei gedrückter Steuerungs-Taste Strg beim seriellen Verbinden werden originale Interfaces wie Sios und CompuLAB erkannt. Durch die manuelle Verbindung gelingt nun auch die oft etwas eigensinnige Verbindung über Bluetooth - zum Beispiel über Arduino mit HC-06.

Es macht Spaß mit einem Raspberry Pi Zero W - Mini-Computer über Bluetooth mit dem Arduino in Compact zu Messen, während der Bildschirm mit Bedienung auf dem Handy oder Tablet oder PC über einen VNC-Client erfolgt.


Hardware Erweiterung

Unter Linux funktioniert alles wie unter Windows, allerdings kann Compact Red Needle auch ohne obige Micro-Controller nur mit I²C-Komponenten betrieben werden. Einige dieser Bausteine werden sofort erkannt und ersetzten den Sinulationsmodus. Als analoge Eingänge erkennt die Software am eingestellten Bus ADS1115, PCF8591 und einen Lux-Sensor, analoge Ausgaben über PCF8591 und MCP, sowie digitale Ein-und Ausgaben mittels PCF8574. In einer INI-Datei lassen sich die jeweiligen Adressen ändern. Bei Raspberry Pi Computern erfolgt der Anschluss über den Header, bei einem PC kann eine VGA- oder HDMI-Buchse als Anschluss dienen. Dies funktioniert z. B. mit einem Acer TravelMate 5742 am VGA-Anschluss problemlos.


Download als fertig kompiliertes Programm bzw. lauffähige App

Ein Zip-Archiv mit der ausführbaren Datei und einigen Programmbeispielen steht als Download zur Verfügung.

. Windows Raspberry OS Linux macOS
no hard-
Raspian 64 Bit
ware
XP bis Win 11
ab Pi Zero
Zorin 32/64
available

Grau: Der Quelltext konnte mangels zur Verfügung gestellter Hardware bisher nicht übersetzt werden.


XLoader für Windows zur Übertragung vorkompilierter Sketche ohne Arduino IDE

Sollte die Übertagung zum einmaligen Einrichten des Arduino über Compact Red Needle unerwartet fehlschlagen, so stehen fertig kompilierte HEX-Dateien bereit, die mit dem Programm XLoader übertragen werden können. XLoader ist frei kopierbar von z. B. der Seite github (extern). Der Standard-Sketch und die beiden Varianten für den analogen Ausgang und den Servo-Motor liegen vorkompiliert und als Quelltext für einen Arduino Uno R3 vor.

. XLoader Raspberry OS Linux macOS macOS


MSR mit Arduino & Compact Buch
Die Möglichkeiten von Compact Red Needle im Zusammenhang mit Praxis und Theorie am eigenen Schreibtisch beschreibt ein Taschenbuch mit Erläuterungen, Beispielen und theoretischen Hintergründen. Eine Übersicht:
  • Einführung
  • Compact ohne Hardware: Simulation
  • Compact und Arduino als Interface 
  • Analoge Grundlagen
  • Sensoren und Verstärker
  • Digitaltechnik
  • Erweiterte Hardware
  • Compact und Linux
  • Anhang

Versionen und Varianten von Compact

Compact gibt es bereits in verschiedenen Varianten:

Das Konzept kam auch unter dem etwas unglücklich gewählten Namen Doit in Schulen zum Einsatz.

Mehr Software

.
Startseite Bücher Software Digital RTV Musik Kontakt

Für Inhalt und weitere Verzweigung externer Links sind die Betreiber der dortigen Seiten verantwortlich - H.-J. Berndt