zurück zum Artikel

PicAsSo-Adventskalender: Wir öffnen das erste Türchen

Michael Gaus, Miguel Köhnlein
Steckbrett-Aufbau des 1. Adventssonntags mit Nano-Axe-Board, LED und Piezo-Summer.

Zum ersten Türchen unseres Adventskalenders simulieren wir mit dem Picaxe eine Kerze und spielen ein Weihnachtslied. Aber welches? Probiere es aus.

Zum Einstieg in die Adventsbastelei nehmen wir das Nano-Axe-Board auf einem Steckbrett in Betrieb und statten es mit den ersten Bauteilen aus – einer LED, einem Piezo-Summer und einem Taster. Damit lässt sich schon für etwas weihnachtliche Stimmung sorgen. In unserem ersten Programm lassen wir die LED mit Pulsweitenmodulation und Zufallswerten wie eine Kerze aufflackern und spielen über den Summer ein vorprogrammiertes Lied ab.

Make PICAXE Special

Mehr zum Thema gibt es im Make: PICAXE Special.

Für alle Experimente unseres Adventskalenders [2] nutzen wir den 14-poligen Chip Picaxe-14M2, der auf das Nano-Axe-Board (exklusiv erhältlich im Heise Shop [3]) aufgesteckt wird. Er verfügt über 12 Pins, die als Ein- oder Ausgänge genutzt werden können: B.0 bis B.5 sowie C.0 bis C.5. Auf dem Schaltbild sind dies die innenliegenden Bezeichnungen. Die Bezeichnungen direkt an den Pinleisten entsprechen dem Aufdruck auf dem Nano-Axe-Board und kennzeichnen die Pins eines Picaxe-20M2 – der ebenfalls mit dem Board genutzt werden kann. Die Spannungsversorgung mit 5 Volt erfolgt (nach Aufbau der Schaltung) über den USB-Anschluss des Boards vom PC aus.

Schaltplan mit Nano-Axe-Board.

Schaltplan für den 1. Advent
PicAsSo-Adventskalender

Vier Türchen statt 24: Mit dem Nano-Axe-Board bauen wir vier Adventssonntage lang ein leuchtendes und klingendes Projekt zum Mitmachen.

Vor dem Start noch zwei Hinweise: Stecken Sie erst die Schaltung auf dem Breadboard zusammen, bevor sie das Board mit einem USB-Kabel mit dem PC verbinden. Außerdem empfehlen wir, einen USB-Hub zu verwenden: Sollte mal ein Kurzschluss passieren, schützt der Hub im Normalfall den PC vor Beschädigung.

Fritzing-Skizze des Aufbaus.

Skizze für den Aufbau

Die gelbe Leuchtdiode (LED1) wird mit dem Vorwiderstand (R1) am Pin B.2 des Picaxe-14M2 angeschlossen (Beschriftung B1 auf der Nano-Axe-Platine). Sie wird nicht unbedingt benötigt, denn an diesem Pin befindet sich auch die blaue LED des Boards. Wenn am Pin B.2 des 14M2 ein LOW-Pegel ausgegeben wird, leuchten daher beide LEDs. Weil wir eine flackernde Kerze simulieren möchten, passt aber die gelbe Farbe besser. Für die Soundausgabe benutzen wir einen kleinen Piezo-Summer, der an Pin B.1 (Beschriftung B0) und GND angeschlossen wird. Schließlich haben wir noch einen kleinen Taster verbaut (Pin C.4, Beschriftung C7) und gegen GND geschaltet. Den erforderlichen Pullup-Widerstand aktivieren wir in der Firmware des Picaxe.

[9]

Da wir die Schaltung an den nächsten Adventssonntagen schrittweise erweitern, empfiehlt es sich, die Verdrahtung auf dem Steckbrett wie gezeigt vorzunehmen. Dann bleibt genug Platz für die weiteren Bauteile. Die 5V-Versorgungsspannung, die das Nano-Axe-Board liefert, haben wir auf die obere rot markierte Reihe des Steckbretts gelegt. In der Skizze sind alle Verbindungsdrähte innerhalb des Steckboards zu 5V rot gezeichnet. In den beiden blau markierten Reihen liegt GND an und die zugehörigen Verbindungsdrähte sind blau markiert.

Für die nächsten Schritte nutzen wir den Picaxe-Editor 6. Falls noch nicht vorhanden, kann man die Software hier herunterladen [10]. Eine Anleitung für die Installation ist im Make Picaxe-Special zu finden. Das von uns vorbereitete Beispielprogramm kann hier heruntergeladen werden [11] . Nach dem Öffnen laden wir über den Button Öffnen das Beispielprogramm (picasso_1_candle.bas) in den Editor. Damit kann man den Hardwareaufbau gut überprüfen. Zunächst checken wir aber das Programm an sich. In den Einstellungen auf der linken Seite muss als Typ der Picaxe-14M2 ausgewählt werden. Durch Klick auf den Button Überprüfen wird das Programm überprüft. Daraufhin sollte, wenn alles richtig umgesetzt wurde, eine Erfolgsmeldung erscheinen.

Screenshot der Einstellungen: Picaxe Typ – Picaxe-14M2, COM-Port – USB-Serial CH340

In den Einstellungen (hier auf Englisch gezeigt) müssen der Picaxe-Typ 14-M2 und der richtige COM-Port (mit USB-Serial CH340) ausgewählt werden.

Anschließend verbinden wir das Nano-Axe-Board mit dem USB-Anschluss des PCs, am besten über einen zwischengeschalteten USB-Hub. So wird der PC vor Schaden durch einen möglichen Verdrahtungsfehler auf dem Steckbrett geschützt. Auf dem Nano-Axe-Board sollte nun die orange LED leuchten und auf dem PC ein virtueller COM-Port verfügbar sein, der ebenfalls in den Einstellungen ausgewählt werden muss. Ist keiner zu sehen, kann man die Liste mit einem Klick auf Aktualisiere COM-PORT Liste neu laden. Danach schicken wir durch Klick auf den Button Programmieren den Pogrammcode an den Picaxe. Auf dem PC ist dabei ein Fortschrittsbalken sichtbar. Nach einigen Sekunden sollte der Download abgeschlossen sein.

Der Programmablauf ist in mehrere Abschnitte unterteilt: Zunächst aktivieren wir in main: den internen Pullup-Widerstand für den Taster mit pullup KEY_PULLUP und warten dann etwas (pause 1000). Anschließend wird in main_loop: mit sertxd ein Begrüßungstext auf dem seriellen Terminal ausgegeben und mit dem Befehl play ein Weihnachtslied über den Piezo abgespielt, wobei die gelbe und blaue LED im Takt blinken. Danach wird in candle: durch zufälliges Flackern der LED der Schein einer brennenden Kerze simuliert – es ist schließlich der erste Advent. Wird die Taste währenddessen mindestens 400 Millisekunden lang gedrückt, beginnt das ganze Spiel wieder von vorne.

Die Terminalausgabe wird durch den Befehl #terminal nach dem Programm-Download automatisch gestartet (in der zweiten Zeile unseres Programms) oder kann im Menü unter PICAXE / Werkzeuge geöffnet werden. Dort muss ebenfalls der passende COM-Port ausgewählt sein, im Beispiel ist es COM4. Die Baudrate beträgt 4800 Bd, die Standardeinstellung für sertxd bei der Default-Taktfrequenz des Picaxe-14M2 von 4 MHz. Die Ausgabe auf das Terminal erfolgt über das Programmierkabel, in unserem Fall über das Nano-Axe-Board zum USB-Port des PCs.

Die Simulation des Kerzenscheins erledigen wir über die Pulsweitenmodulation-Ausgabe des Picaxe (PWM), die ein Rechtecksignal mit einer Frequenz von 1 kHz (der Wert für period ist 249) ausgibt: pwmduty LED_PWM, dutyCycle Damit die Kerze flackert, füttern wir die nötige Angabe mit zufälligen Werten: dutyCycle = randomValue % 300. Der mögliche Angabenbereich liegt zwischen 0 und 399, wird aber durch die Modulo-Operation auf Werte bis 299 begrenzt. Der Anteil des High-Pegels am LED-Ausgangspin beträgt also nur zwischen 0 und 75 Prozent. Da die LED durch einen Low-Pegel eingeschaltet wird, leuchtet sie zwischen 25 und 100 Prozent der Zeit. Für das menschliche Auge scheint sie also nie komplett auszugehen. Mit einer weiteren Zufallsfunktion variieren wir noch die Länge von pause delay zwischen den pwmduty-Befehlen auf Werte zwischen 100 und 399 Millisekunden, um das unregelmäßige Flackern einer Kerze zu simulieren.

Für die Tastenabfrage nutzen wir eine if-Schleife, die den Pin C.4 (symbol KEY = PINC.4) überprüft. Wenn der Pin gedrückt und damit mit GND verbunden wird (KEY = 0), schaltet der Picaxe zunächst die Pulsweitenmodulation aus (pwmout LED_PWM, off). Schließlich geht es mit goto main_loop zurück zur Soundausgabe in main_loop:. Darin ruft der play-Befehl übrigens das Lied mit der Nummer 1 auf:

play PIEZO, 1, LED_MASK_PIEZO

Insgesamt stehen bei diesem Befehl sogar vier unterschiedliche Lieder zur Verfügung. Welche das genau sind? Einfach ausprobieren! Damit ist der erste Test von Hard- und Software erfolgreich absolviert. Nächste Woche geht es weiter mit der Ansteuerung eines OLED-Display per I2C-Bus. Wir wünschen einen schönen 1. Advent! (hch [12])


URL dieses Artikels:
https://www.heise.de/-4970839

Links in diesem Artikel:
[1] https://shop.heise.de/make-picaxe-special-2020/Print
[2] https://www.heise.de/news/PicAsSo-Picaxe-Advents-Sonntagskalender-4948897.html
[3] https://shop.heise.de/make-picaxe-special-2020/Print
[4] https://www.heise.de/news/PicAsSo-Picaxe-Advents-Sonntagskalender-4948897.html
[5] https://www.heise.de/ratgeber/PicAsSo-Adventskalender-Wir-oeffnen-das-erste-Tuerchen-4970839.html
[6] https://www.heise.de/hintergrund/PicAsSo-Adventskalender-Wir-basteln-am-zweiten-Advent-fleissig-weiter-4978718.html
[7] https://www.heise.de/hintergrund/PicAsSo-Adventskalender-Das-dritte-Tuerchen-darf-endlich-geoeffnet-werden-4980711.html
[8] https://www.heise.de/hintergrund/PicAsSo-Adventskalender-Weihnachts-Basteln-am-vierte-Advent-4988861.html
[9] https://www.heise.de/make/
[10] https://picaxe.com/software/picaxe/picaxe-editor-6/
[11] https://www.heise.de/downloads/18/3/0/0/8/5/8/2/Picaxe_Code.zip
[12] mailto:hch@make-magazin.de