Das Weihnachtspräsent in schnödes Geschenkpapier einzuwickeln, kommt für Nerds nicht infrage. Eine Geschenkbox, die beim Öffnen ein Weihnachtslied spielt und festliche Motive anzeigt, peppt das Geschenk auf.
Die diesjährige Weihnachtsbastelei hat den Vorteil, dass das Ergebnis nicht nur für Weihnachten taugt, denn es gibt ja das ganze Jahr über Anlässe für schöne Geschenke. Aber selbst für Weihnachten sollten Sie zeitlich in keinen Stress kommen, denn das Projekt kommt mit wenigen Komponenten aus.
Ein RasPi Pico, eine Verstärkerplatine und ein Mini-Display bilden den Kern des Systems. Hinzu kommen Kabel und Taster, aber diese Teile finden sich meist ohnehin in der Grabbelkiste. Insgesamt müssen Sie mit Kosten in Höhe von um die 20 Euro rechnen. Die Einkaufsliste finden Sie in der Tabelle “Komponenten”. Die dort angegebenen Bezugsquellen dienen nur als Beispiele, die durchweg gängigen Komponenten erhalten Sie bei so gut wie jedem Versender.
|
Komponente |
Preis |
Lieferant |
|---|---|---|
|
Pi Pico |
4,10 Euro |
Diverse Versender |
|
PAM8302A-Breakout |
4,05 Euro |
Berrybase |
|
Lautsprecher (2,8 cm) |
2,50 Euro |
Amazon |
|
1,8-Zoll-TFT |
8,99 Euro |
AzDelivery |
|
Batterie-Halter |
1,75 Euro |
Pimoroni |
|
Microtaster |
0,62 Euro |
Berrybase |
Aufbau der Elektronik
Wie eingangs beschrieben soll das Aufklappen der Box sowohl die Musik als auch die Anzeige von Bildern starten. Die komplette Steuerung übernimmt ein Raspberry Pi Pico. Das An- und Ausschalten erfolgt über einen Microtaster, der im geschlossenen Zustand den Enable-Pin des Pico einfach auf Masse zieht. Beim Öffnen läuft dann der Pico samt Programm los.
Den grundsätzlichen Aufbau auf einem Breadboard (ohne Taster) sehen Sie in Abbildung 1. Am Pi Pico hängen eine Verstärkerplatine samt Lautsprecher sowie ein kleiner TFT-Bildschirm. Wegen der begrenzten Ressourcen des Pico verwendet die Schaltung einen PAM8302A-Monoverstärker, ein Design von Adafruit. Bei diversen Quellen im Internet bekommen Sie die Platinchen auch von Fremdanbietern im Mehrfachpack. Die Produktpiraten machen sich dabei noch nicht einmal die Mühe, den Adafruit-Aufdruck zu entfernen.

Abbildung 1: Der Aufbau umfasst einen Raspberry Pi Pico mit Verstärker, Lautsprecher und Bildschirm.
An der Verstärkerplatine angeschlossen ist ein Minilautsprecher. Was daraus an Tönen kommt, grenzt an Körperverletzung. Hier geht es allerdings nicht um das Abspielen hochwertiger Musik, sondern von Spieluhrmelodien. Dafür genügt der Aufbau völlig.
Der verwendete 1,88-Zoll-Bildschirm hat eine Auflösung von 160 x 128 Pixeln, die Ansteuerung erfolgt über SPI. Zusätzlich sind eine Data/Command- und eine Reset-Leitung nötig. Auch den Bildschirm erwerben Sie kostengünstig im Mehrfachpack. Es ist der preiswerteste kleine Farbbildschirm, den es gibt, und beim Autor in vielen Projekten im Einsatz. Auf der Rückseite befindet sich noch ein SD- oder microSD-Slot, den ein Programm ebenfalls über SPI ansteuert. Je nach Variante liegen die Pins auf einer oder auf zwei Seiten, und auch ihre Beschriftung variiert.
Sowohl den PAM8302A als auch das Display versorgt der Pico über seinen 3V3-Pin. Das hat vor allem den Vorteil, dass beide Komponenten zusammen mit dem Pico via Enable-Pin an- und ausgeschaltet werden. Das Verstärker-Board bietet zwar viel mehr Leistung als die 3V3-Schiene hergibt, aber bei dem kleinen Lautsprecher drehen Sie das Mini-Poti auf der Platine sowieso kaum auf. Insgesamt schlucken Verstärker und Display beim Autor rund 60 bis 70 Milliampere. Der Wert lässt sich auf Kosten der Helligkeit des Displays verringern, indem Sie einen Widerstand zwischen dem LED-Pin des Displays und der 3V3-Versorgung einbauen.
Eine Geschenkbox per Kabel am Stromnetz ergibt nur während der Prototyp-Phase Sinn. Später betreiben wir die Box mit Batterien. Als Minimum benötigen Sie zwei in Serie geschaltete AAA-Batterien. Akkus funktionieren allerdings nicht, denn sie kommen im Idealfall nur auf 2,4 Volt. Das genügt zwar für den Pico als Solisten, aber nicht für die zusätzliche Peripherie. Am besten spendieren Sie dem System sogar drei AAA-Batterien. Das stellt sicher, dass das System auch bei schwächeren Batterien rund läuft.
Abbildung 2 zeigt den Schaltplan. Was die Pins am Pico angeht, können Sie aber sehr flexibel agieren, denn sowohl PWM als auch SPI stehen an vielen Pins bereit. Die Pins wurden im Projekt so gewählt, dass alle Leitungen von einer Seite des Pico abgehen. Den Anschluss an das TFT-Display müssen Sie auch noch an die Gegebenheiten des von Ihnen verwendeten Exemplars anpassen.
Medien vorbereiten
Die auf dem Display anzuzeigenden Bilder müssen im BMP-Format in der passenden Auflösung vorliegen. In dieses Format bringen Sie sie mit jedem ordentlichen Bildbearbeitungsprogramm, etwa mit Gimp. Zuerst erstellen Sie einen Ausschnitt im festen Verhältnis 160:128, danach skalieren Sie das Bild auf 160 x 128 Pixel. Mittels Speichern unter… (oder bei Gimp Exportieren nach …) sichern Sie dann das Ergebnis als BMP-Datei. Die Bilder haben dann je nach Motiv eine Größe von 60 bis 80 KByte.
Insgesamt steht auf dem Pico für Programme, Bilder und Musik etwa ein Megabyte freier Platz bereit. Das Programm (siehe Abschnitt “Software”) samt Bibliotheken belegt davon 12 KByte, den Rest können Sie verwenden.
Die Musikstücke müssen das gängige MP3-Format aufweisen. Da der Pico aber nur 10-Bit-Hardware-PWM bietet und wir auch nur Mono abspielen, steht auch hier eine Umwandlung an. Im einfachsten Fall erledigt das der Einzeiler aus der letzten Zeile von Listing 1. Er setzt das Vorliegen des Pakets sox voraus, das die beiden Zeilen vorher einrichten.







