Der Weihnachtspicaxe          

von Jürgen Linder                       
 
                      Elektronik-Labor  Bastelecke  Projekte  Mikrocontoller                         


Im November 2019 hatte ich ja endlich Zeit. In einem gewissen Alter geht das nun mal! Ich wollte die Zeit nutzen, um was für meine Enkel zu basteln. Die Idee „Ein Nikolaus, Schlitten und 2 Rentiere“, mit leuchtenden Nasen (LED). Die Rote Nase natürlich „Rudolph“ und Blau z.B. „Comet“.

 

Gleich vorneweg: Wer den „Weihnachtspicaxe“ nachbauen will, muss dies auf eigene Gefahr bauen. Für Anfänger ist es nicht geeignet, da beim Zusammenbau unbedingt die Manuale 1-3 der Firma Revolution (www.picaxe.com) heranzuziehen sind. Für die anderen verwendeten Bauteile sind die Datenblätter zu prüfen. Es können Fehler bei der Beschreibung und Beschaltung vorkommen, dafür kann keine Haftung übernommen werden. Der Artikel sollte als Anregung für eigene Ideen dienen! Vorwiderstände, RC-Glieder etc. sind durch eigene Rechnung zu prüfen, bevor man die Schaltungen aktiviert. Ein schrittweises Vorgehen ist hilfreich, um Fehler zu vermeiden! Achtung die weißen und blauen LED’s und die LED’s im Multi-LED-IC können sehr hell sein! Es sollte darauf geachtet werden, dass keine Blendung entsteht. Die vom PICAXE erzeugten Lieder sind zu prüfen wegen der Lizenzen (in Deutschland
ist hier die GEMA zuständig!).


Es bot sich der „PICAXE“  (Firma (c) Revolution Education Ltd ) an. Ich wollte minimal vorgehen, um nicht zuviel Schnickschnack dran zu haben.Man kann die rein elektronische Hardware auch als Basis für andere Projekte sehen, losgelöst von der Weihnachts-Anwendung, so dass man sich das Ganze auch im Sommer ansehen kann.

 

Weiter zum Weihnachtsaufbau!
Damit Nikolaus und Rentiere nicht nur blinken, wurden Schlitten, Nikolaus und Rentiere auf einer Blattform aufgebracht. Die Plattform ist auf einem Holzkasten über Metallwinkel beweglich angebracht. Ein Motor, der über eine Taste gestartet werden kann, wird von einem Gleichstrommotor mit Getriebe und Rad angestoßen. Ein Ein/Ausschalter befindet sich seitlich und Motortaste und zwei Potis oben links zur Bedienung.

 

Das linke Poti (470 Ω) regelt die Lautstärke eines Piezolautsprechers, das rechte Poti (4.7 KΩ) dient zur Auswahl von 4 Liedern. Steht das Poti ganz links, dann wird kein Lied gespielt. Etwas weiter rechts gedreht spielt das Lied „Rudolph the…“, weiter rechts „Jingle Bells“,  dann „Stille Nacht (Silent Night)“ und der Geburtstagssong „Happy Birthday to You“.

 

Die Lieder sollten in der eigenen Stube bleiben, wie es mit den Lizenzen aussieht, ist eventuell zu prüfen (im Make: - Artikel von 2020 steht hierzu allerdings nichts). Die Motortaste rechts davon funktioniert nur, wenn die Songauswahl aus ist (Poti ganz links), die Taste ist gedrückt zu halten! Da der PICAXE 08M2 nur maximal 6  I/O – Pins hat, wurde für’s Blinken von Rentier „Comet“ (blaue LED) der CMOS Baustein „4060“ eingesetzt. Der Baustein ist ein 14 Bit-Zähler der 10 Ausgänge zur Verfügung stellt. Die Taktfrequenz wird über eine Widerstands/Kondensator-Schaltung erzeugt (die Frequenz und die LED’s können unabhängig vom PICAXE aufgebaut und geprüft werden).


Zur Kontrolle ist eine LED (Grün) an einem der unteren Ausgänge angeschaltet, die fürs Auge dauerhaft leuchtet (z.B. Frequenz > 25 Hz). Damit der Nikolaus beim Anflug etwas Licht hat, wurde ihm eine helle Taschenlampe spendiert (helle weiße LED). Diese LED wird an einem der 4060 Ausgänge angebracht, für Funktion sollte die Zeitdauer schon an einem Ausgang mit mindestens 5-30s sein. Die Widerstände und der Kondensator können aus dem Datenblatt des CMOS 4060 bestimmt werden.

Am 4060 könnten natürlich noch weitere Ausgänge verwendet werden. Links auf dem Brett ist eine Schatztruhe angebracht. Ist die Truhe geöffnet oder nicht ganz geschlossen, wird durch Lichteffekte einer Multicolor-LED auf den Inhalt der Truhe aufmerksam gemacht.

 

Die LED’s der Truhe, von Nikolaus und „Comet“ sind unabhängig vom Mikrocontroller PICAXE. PICAXE, LED-Rudolph (Rot), „Comet-LED“  und Multicolor-LED sind über einen Batterieblock mit 3xAAA Mignonzellen (4.5V) angeschlossen. Ein zweiter Kreis geht über eine 9V Blockbatterie für das IC ULN 2003/2004, dass über den PICAXE den Gleichstrommotor ansteuert. Man kann den Motor natürlich auch über einen Transistor (z.B. BC337) und Vorwiderstand ansteuern. Dann braucht man auch eine Freilaufdiode zum Schutz des Transistors, was beim ULN nicht nötig ist, da der Baustein die Diode intern hat. Ein Anschlussbeispiel findet sich im PICAXE-Manual-3 unter „Output Device 6“. 

 

Man könnte den Aufbau auch ohne PICAXE durchführen und die einzelnen Funktionen über den 4060 als Zeitgeber verwenden. Die Weihnachtslieder gibt es dann nicht, es sei denn,man findet ein Modul, dass man ansteuern kann.

 

Die Holzbox wurde aus Holz aus dem Baumarkt hergestellt. Es gibt aber auch fertige Holzkisten mit Deckel, etwas teurer, aber es geht schneller. Ich habe in meinem Ausbau auf einer Lochrasterplatine den PICAXE (mit Sockel) und den 4060 untergebracht. Für Programmänderungen habe ich auch den Klinkenstecker (siehe Manual 1 www.picaxe.com) eingebaut. Dies kann man aber auch weglassen. Ich empfehle Anfängern die Zeitschrift Make: (2020 Heise) zum Picaxe zu kaufen. Hier ist eine gute Anleitung in Heftform und die Programmierhardware mit einem PICAXE 08M2+ im Paket.

Hardware

Beim „Weihnachtspicaxe“ ist der kleinste PICAXE im Einsatz (08M2). Bei Projekterstellung habe ich auch den 14er auf einem Breadboard getestet. Mit dem 14er kann man natürlich mehr Hardware ansteuern, aber die Soundfunktion für Weihnachten ist am 08er vielleicht am einfachsten.
Einige Funktionen beim „Weihnachtspicaxe“ sind extern gelöst. So ist das Rentier „Comet“ und der Nikolaus nicht am PICAXE 08M2+ angeschlossen. Die „Taschenlampe (weiße LED)“ und die Nase von „Comet“ (blaue LED) sind am CMOS IC 4060 (14 bit Ripple-Counter) angeschlossen. Der Takt für den „4060“ wird mit einer externen RC-Beschaltung erzeugt (siehe Datenblatt. Application 4060). Der Anwender sollte einen der sichtbar blinkenden Ausgänge für „Comet“ auswählen, für die Taschenlampe vom Nikolaus ein Ausgang mit einer Zeitdauer von vielleicht 5-30s. Dies soll den Effekt simulieren, dass, beim Flug/Fahrt der Weg auch mal ausgeleuchtet werden muss.
Die Schatztruhe enthält eine Multi-LED mit IC, die am 4.5V Batterieblock angeschlossen ist.

 

Der Motor wird über den Ausgang C.1 per PWM (Puls-Wide-Modulation) angesteuert. Der Ausgang wird über einen ULN 2003/4 entkoppelt. Der Motor wird über einen 9V Block und dem ULN angesteuert. Die ganze Hardware wird über einen Schalter Ein/Ausschalter geschaltet.

 

Der serielle Eingang ist nach Standard „PICAXE“ beschaltet. Der serielle Ausgang ist dual verwendet als serieller Ausgang (C.0) und zur Ansteuerung der roten Nase (rote LED) von „Rudolph“.

 


 

Anschlussbelegung und Nutzungsmöglichkeiten der PIN’s am PICAXE-08M2 der Fima (c) Revolution Education Ltd www.picaxe.com

 

Natürlich ist es auch möglich ohne Mikrocontroller den Weihnachtmann mit Rentieren aufzubauen. Dann gibt es halt keine Weihnachtslieder/Geburtstagslied. Man kann das alles an den 4060 hängen.

Aber es ergeben sich halt mehr Möglichkeiten mit dem PICAXE. Mit dem „Makerheft „von 2010 (Heise) gibt es halt auch eine bequeme Einstiegs- und Programmier-Möglichkeit.

Einen Überblick über die Beschaltung „Weihnachtspicaxe“ siehe unten. Am Ausgang für den Motor ist im Aufbau eine grüne LED zum testen des PWM ohne Motor angelötet (Vorwiderstand 330 Ohm). Die LED habe ich mit langer Litze unterhalb in der Nähe des Rades angebracht, dies soll für einen Lichteffekt an der Wippe sorgen (nur optional). Die Polung der LED’s oder des Motors muss eventuell korrigiert werden (oder im Programm angepasst werden).

 



Die Auswahl für das RC-Glied kann sein: R1 = 1 MΩ, R = 4.7KΩ – 100KΩ, C~4.7nf – 0.22µF. Bei R = 4.7KΩ und C = 4.7nF ist F~600Hz an Ausgang Q3.

Der Baustein ULN2003/4 enthält 7 Darlington-Transistoren. Beim „Weihnachtspicaxe“ dient ein DC-Getriebemotor mit Rad als Schwingungserzeuger für das Brett, auf dem der Weihnachtmann und die Rentiere befestigt sind. Am Brett ist zum Rad hin eine Schraube mit großem Kopf angebracht. Dies bewirkt beim Drehen des Motors, dass das Brett schwingt und der Weihnachtmann zu fliegen scheint. Die Pins 1,2-7 sind die Eingänge, die Pins 16 -10 die Ausgänge (s. Schema unten (Datenblatt!)).

C~220nF (optional) Entstörkondensator;

Zusammenbau

Ich habe ja 2 Batterieblöcke im Einsatz, einmal mit 4.5V für den PICAXE, den 4060 und das Multicolor LED – IC. Der 9V Block für den Darlington-IC ULN2003 und den DC-Motor.

Natürlich kann man auch einen Batterieblock mit 4x1.5V verwenden, muss dann allerdings mindestens eine Diode für PICAXE und Multi-LED vorschalten (6V-0.7V = 5.3V), damit PICAXE und Multi-LED nicht zerstört werden. Das CMOS-IC 4060 kann mit 6V arbeiten (Datenblatt). Der Einschalter, schaltet beide Stromkreise ein.


Überblick über die zwei Stromkreise


Aufbau

Diese Beschreibung ist nicht dazu gedacht, alles genau zu beschreiben. Es gibt auch keine Stückliste. Wer es bauen will, muss sich natürlich Einiges auch selber zusammensuchen. Das Bild unten zeigt den fertigen Aufbau. Was wird gebraucht?

Eine Holzkiste (selber bauen oder fertig aus dem Baumarkt) für den Unterbau, eine kleine Schatztruhe, Nikolaus und 2 Rentiere (mehr ist natürlich auch möglich). Watte oder ähnlich für den Schnee. Einen Schlitten, Blech/Alu-Winkel aus dem Baumarkt, Gewindeschrauben, Muttern und Scheiben. Die „Nasen-LEDs“ müssen von unten oder oben in eine Bohrung in der Nase eingeführt werden. Die Vorwiderstände können dabei mit integriert werden. Flexibler Draht (Litze) ist sinnvoll. An der Wippe und am Deckel darunter müssen für die Anschaltung der LED’s Löcher gebohrt werden. Es ist darauf zu achten, dass die Wippe sich frei bewegen kann (Motortest). Mit der Watte (Schnee) können die Kabel versteckt werden.

 

  Aufbau der Weihnachtsbox/Weihnachtspicaxe


Der Aufbau der Platine ist auf einer Lochrasterplatine verwirklicht. Der Mikrocontroller, CD 4060, Kontroll-LED für CD 4060 (grün) sind auf der Hauptplatine aufgebaut. Zur Programmierung ist die Stereoklinkenbuchse aufgelötet. Dies ist nicht nötig, wenn man den PICAXE auch extern programmieren kann oder will. Die IC’s sind alle gesockelt. Zum Zeitpunkt der Entwicklung wurde erst der PICAXE und der IC - CD 4060 aufgebaut. Das IC ULN 2003 ist auf einer kleinen Lochrasterplatine am Motor angebracht (kann also auch auf einer Hauptplatine aufgebaut werden).

Das nächste Bild zeigt grob Teile des Aufbaus der Elektronik.


Am Schluss ist das Programm gelistet. Wie eine Ausgabe oder Eingabe zu Programmieren ist, können den Manuals 1-3 von  (c) Revolution Education Ltd. entnommen werden.

Am besten geht man Schritt für Schritt vor. Man schließt z.B. an Ausgang C.0 (PICAXE 08M2, PIN 7) einen Widerstand mit 330 oder 470 an eine LED gegen Pluspol oder Masse (ausprobieren!) an (4.5V-5.5V (max.)). Programmiert ein Blinken, das man vorher im PICAXE Editor testet (Software über PICAXE.COM). Es ist zu beachten, das „C.0“ (Ausgang) zur Programmierung des PICAXE 08 benötigt wird. „C.5“ wird bei der Programmierung als serieller Eingang benötigt. Wird der PICAXE extern programmiert, sind keine besonderen Maßnahmen (Beschaltung) nötig. Im Manual 1 von PICAXE.COM findet man unter „download circuit“ und „PICAXE-08M2/08M/08 Pinout and Circuit“ die Beschaltung des Programmieradapters. Wer den Adapter des Make: Magazin’s (c’t Make: PICAXE SPECIAL 2020) hat, braucht die Schaltung nicht. Bei meinem Weihnachtspicaxe habe ich einen Adapter eingebaut. Zurzeit der Entwicklung in 2019 gab es den Adapter von Heise noch nicht (ich wollte den PICAXE auch nicht ständig herausnehmen).

Nun kann man den PICAXE programmieren und die LED müsste nun blinken.
Die Ein- und Ausgänge sind einfach und schnell zu programmieren. Die einzelnen Lieder können einzeln oder der Reihe nach durch Einstellung der Analogwerte am Simulator getestet werden (auch zum Test programmiert werden). Für das Lesen des Spannungsteilers an C.4 (Analogeingang) in der Simulation kann man mit Rechtsklick auf C.4 ein Analogwert eingestellt werden. Für die Ermittlung der wahren Werte der Hardware kann über die Serielle Schnittstelle mit sertxd(#b0,cr,lf) ausgelesen werden und im Terminalprogramm des PICAXE-Editor angesehen werden.
 
Natürlich kann man das Poti Schritt für Schritt von Links nach Rechts drehen und warten, bis eine neue Melodie gespielt wird. Die Drehrichtung probiert man am Besten aus (und lötet um). Die Programmierung des PICAXE wird hier nicht genauer besprochen, dazu findet man Beispiele in der PICAXE-Dokumentation. Mit dem Simulator kann man die Prinzipien der Programmierung gut ausprobieren auch ohne Hardware.
 
Zum Verständnis eignet sich der Artikel „https://picaxe.com/docs/axe107.pdf“ für Anschaltung von LED, Schalter und Piezolautsprecher. Auch der Artikel https://picaxe.com/docs/axe102.pdf ist hilfreich. Das Bild unten zeigt wie man einen Analogwert im PICAXE-Editor/Simulator einstellt.

 

Simulation im PICAXE-Editor/Simulator

Programm

Hardware und Programm stammt aus dem Jahre 2019. Die Dokumentation folgt erst jetzt… Die Kommentare sind teilweise verkürzt und müssen nicht zu 100% zum lauffähigen Programm passen. So wird zum Beispiel der Ausgang C.2 vom Piezolautsprecher verwendet, weshalb unter den Beispielen zum Befehl „play“ das unter Manual 3 beschriebene alternierende blinken hier nicht verwendet werden kann. Die verwendete „play“-Variante ist speziell für die 08er.


;Weihnachtspicaxe neu 7.10.19 J.L

;Fertig Dezember 2019

;Revision Dezember 2023

; play Syntax für den 08M2 PICAXE

; PLAY tune, LED_option (8 pin devices only)

; - Tune is a variable/constant (0 - 3) which specifies which tune to play

; 0 - Happy Birthday

; 1 - Jingle Bells

; 2 - Silent Night

; 3 - Rudolph the Red Nosed Reindeer

 

#PICAXE 08M2

 

main:

low C.1  ;Ausgang C.1 für Motor auf 0 setzen

 

do          ;Anfang do Schleife

test:                         ;Marke nur für Testzwecke

      if pinC.3 = 0 then

            pause 200

      else

            gosub pulsmotor              

      endif

 

;goto test   ;goto zum Motortest ohne Sound

 

;Auswahl Lieder Poti auslesen

;Der PICAXE-08M hat 4 Lieder vorprogrammiert. Die Lieder werden wie folgt
;programmiert:

;play 3,0 Happy Birthday

;play 3,1 Jingle Bells

;play 3,2 Silent night

;play 3,3 Rudolf the Red Nosed Reindeer

; Achtung GEMA beachten!

 

      pause 500

      readadc C.4, b0     ;Eingang C.4 Analogwert auslesen

      ;sertxd(#b0,cr,lf)  ; „;“ vor sertxd entfernen um Analogwert

                          ;seriell auslesen

      pause 500

 

      ;Abhaengig von der Spannung am Poti das Lied auswaehlen

 

      if b0 > 100 then

            if b0 < 120 then

                  play 1,1 ; Jingle Bells

            else

                  if b0 > 130 then

                        if b0 < 190 then

                              play 2,1 ;Silent Night

                        else

                              play 0,1 ;Happy Birthday

                        endif

                  endif                        

            endif      

      else

            if b0 > 25 then

                  play 3,1 ; Rudolf the Red Nosed Reindeer

            endif

      endif

 

loop              ;Ende der loop – Schleife

 

pulsmotor:

;goto pulsend   ;für Testzwecke Motorausgabe uerspringen

 

for b2 = 1 to 20

      high C.1

      pause 25

      low C.1

      pause 50

next b2

pulsend:

      return


Anmerkungen

Die Ausgänge des IC 4060 haben unterschiedliche Teilerverhältnisse, unbedingt ins Datenblatt schauen! Beispiel: Q4 (PIN7) teilt die Systemfrequenz des 4060 durch 16. Q5 (PIN 5) durch 32. Q10 (PIN 15) durch 1024 und Q12 (PIN 1) durch 4096. Für ein zweites oder drittes Rentier sollte eine höhere Blinkfrequenz ausgewählt werden. Für die „Taschenlampe“ eine niedere Blinkfrequenz gewählt werden (10-30s zum Beispiel).


Siehe auch:
Elektronik-Adventskalender 2016 mit dem 4060: https://www.elektronik-labor.de/Lernpakete/Kalender16/Kalender16.htm
Ton-Blinker mit dem 4040:  https://www.elektronik-labor.de/Lernpakete/Kalender11/TonZeit.html





Elektronik-Labor  Bastelecke  Projekte  Mikrocontoller