Zur Erinnerung: Beim Teil 1 dieses Workshops, der im Juni letzten Jahres stattfand, hatten die Teilnehmer bereits gelernt, wie man einfache Programme in der C-ähnlichen Programmiersprache des Arduino-Baukastens erstellt, compiliert und auf dem kleinen Experimentier-Board „Uno R3“ zum Laufen bringt. Der Umgang mit dem Versionsmanagement unterschiedlicher Softwarestände wurde vermittelt und ein für Kopfhöreranschluss erforderlicher Hardware-Adapter wurde mit dem Layoutprogramm KiCAD erstellt. Nachlesen kann man dies hier: https://darc-h24.de/?p=2782
Zum heutigen Teil 2 des Workshops erschienen deshalb alle Teilnehmer bestens vorbereitet:
Jeder hatte sein Experimentier-Board dabei, und die erforderlichen Softwarepakete wie Arduino, Visual Studio Code, Versionsmanagement GIT und Layoutprogramm KiCAD waren auf den mitgebrachten Notebooks sofort einsatzbereit.
Unser Tutor Pascal, DL7PNP, hatte eine handvoll der im Teil 1 des Workshops layouteten Adapter fertig bestückt und aufgebaut mitgebracht, mit denen wir unsere Arduino-Boards – plug & play – schnell um einen Kopfhöreranschluss erweitern konnten.
Dann ging es los: Zunächst wurden ein paar einfache „Progrämmchen“ wie Zähl-Routinen und Ausgabe von Textschleifen programmiert und deren Ausgabe über eine serielle Schnittstelle auf einen Ausgabe-Monitor getestet. Wir lernen, wie man ohne große Kenntnis der Syntax mit Hilfe der „Arduino Cheat Sheets“ oder direkt aus dem Internet schnell die erforderlichen Steuerbefehle abgreift und in den Programmentwurf einbringt. Ich komme hierbei schnell an meine Grenzen; das Denken in Programmier-Systematik ist mir noch nie leicht gefallen. Fast jeder von uns Schülern kämpft mit typischen Eingabefehlern, meistens Verstöße gegen die strengen Syntax-Vorgaben.
Nachdem jeder Teilnehmer diese Programmiervorgänge halbwegs sicher beherrschte, ging es an die nächste Übung, der Generierung von Morsezeichen. Mit Rücksicht auf die Komplexität beschränkten wir uns auf die Zeichenfolge „cq cq cq cq“. Kurze Diskussionen über die angenehmste Tonhöhe (wir einigten uns auf 650 Hz), Längen von „dits“ und „dahs“ und den Pausen dazwischen, und schnell waren unsere Zielvorstellungen mit ein paar Befehlen, Schleifen und and der richtigen Stelle gesetzten Klammern in funktionierenden Programmcode umgesetzt. Aus etlichen Kopfhörern ertönte ein mehr oder weniger korrektes „cq cq cq cq“.
Nebenbei vertiefen wir das Versions-Management mit dem Programm GIT. Beim Programmieren eines Einplatinen-Rechners sind Hardware-Kenntnisse unerläßlich. Wir lernen, das man zur einfachen Programmierung eines Morsezeichen-Generators wissen muß, das die Ausgabe-Pins 9, 10 und 11 des Experimentier-Boards mit PWM-Generatoren verbunden sind, was den erforderlichen Programm-Code-Aufwand minimiert. Die Hardware-Kenntnisse aus unserem Amateurfunk-Hobby sind eine wertvolle Hilfe beim Verstehen des Arduino-Boards und seiner Ein- und Ausgänge.
Fazit des heutigen Workshops:
Nach insgesamt zwei Samstag-Nachmittagen unter Anleitung von Pascal sollten wir Teilnehmer in der Lage sein, mit Arduino- oder ähnlicher Hardware ein Bastelprojekt zumindest halbwegs erfolgreich anzugehen, auch wenn der Umgang mit der Programmier-Syntax und den Tools zunächst vermutlich noch etwas holprig sein wird.
Mein persönliches Fazit:
Ein guter Programmierer war ich noch nie und werde es auch nicht mehr werden. Aber ich konnte mein noch vorhandenes Programmierwissen aus Studienzeiten und den ersten Berufsjahren mit dem heute üblichen abgleichen und feststellen, das die Grundlagen immer noch die gleichen wie in den 80er Jahren sind. Insofern fiel mir dieser „Wiedereinstieg“ auch nicht schwer.
Herzlichen Dank an Pascal und an alle Teilnehmer für den interessanten Nachmittag!
73,
Christian, DL1OD