Pico-Watch zum Download

auf rundem 1.28-Zoll-IPS-LCD-Display 240 x 240 Pixel
Anleitung und Download für CircuitPython


Bildbox 1 (klick hier)

Ein Reihe von Anfragen zu den Projekten mit dem runden 1.28 Pico LCD Display haben mir gezeigt, dass ein großes Interesse daran besteht. Die Komplexität bringt den einen oder anderen Nutzer aber dennoch in Schwierigkeiten. Auch Anfänger sind mitunter schnell verzweifelt, wenn sich der Erfolg nicht einstellt. Deshalb habe ich mich entschlossen, einige Projekte als Komplettdownload anzubieten. Beginnen werde ich mit einer Analoguhr, wie sie oben abgebildet ist. Für die ganz Eiligen hier auch gleich der Download:


Übersicht:

- Installation von CircuitPython
- wichtiger Hinweis zum Akku
- Software 'Pico-Watch' installieren
- Uhrzeit einstellen
- Stromsparfunktion
- Gehäuse im 3D Druck

Hardware

- Rundes 1,28-Zoll-IPS-LCD-Display
- Lipo-Akku 320 mAh (z.B. LP402535 von hier)
- Nylon-Armband 22mm (z.B. von hier)
- Gehäuse aus dem heimischen 3D-Drucker
- USB-A zu USB-C Kabel


Das Ganze ist nicht gerade billig, vor allem weil die Akkus und die Armbänder nicht einzeln sondern mehrfach abgeboten werden. Eine einfache Smartwatch gibt es auch schon unter 50 Euro. Aber dafür ist beim Eigenbau der Bastelspass garantiert. Und vielleicht braucht man ja auch mal ein ausgefallenes Geschenk für einen guten Freund.

Als erstes werde ich noch einmal die Inbetriebnahme des runden LCD-Displays-1.28 beschreiben und dann die Uhrfunktion unter CircuitPython, wie bei den Beispielen in den beiden unteren Bildern, realisieren.



Installation von CircuitPython:


1. Bevor Sie den Pico erstmalig an die Stromversorgung anschließen, muss zunächst die CircuitPython-Firmware mit der Ansteuerung für das runde Pico Display übertragen werden. Ich nutze dazu die Seite von CircuitPython und lade die uf2-Datei für das runde Display von hier herunter:
https://circuitpython.org/board/waveshare_rp2040_lcd_1_28/

2. Nach dem Download der uf2-Datei muss diese auf das Display mit dem Pico übertragen werden. Im ersten Schritt nehmen Sie den Pico im ausgeschalteten Zustand zur Hand und drücken die Boot-Taste (siehe Beschriftung auf der Platinenrückseite). Die wird gehalten und der Pico erst dann (!!) über das USB-A zu USB-C Kabel mit dem Rechner verbunden. Nach dem Verbinden kann die Boot Taste losgelassen werden. Es öffnet sich im Filesystem ein Explorer-Fenster mit einem neuen Massenspeicher RPI-RP2. Öffnen Sie jetzt auf dem Rechner den Download-Ordner und ziehen die uf2-Datei mit der CircuitPython Firmware auf den Massenspeicher RPI-RP2. Sobald die Firmware-Datei auf den Pico kopiert ist, wird die Firmware ausgeführt und ein neuer Massenspeicher 'CIRCUITPY' im Explorerfenster angezeigt. Auf diesen Ordner sollten Sie jetzt wie gewohnt zugreifen können. Vorher aber noch ein Hinweis, wenn Sie z.B. das Programm später mit Hilfe des Thonny-Interpreters verändern möchten.

3. Falls bei der ersten Benutzung von Thonny kein Board erkannt wird, muss in den Interpreter-Einstellungen die Port-Auswahl überprüft werden und ggf. auf CircuitPython (generic) eingestellt werden. Klicken Sie dazu ganz unten rechts auf den 'Button'. Das Fenster sollte jetzt so aussehen:

In der unteren Kommandozeile wird der Controler z.B. mit "Adafruit CircuitPython 8.2.0 on 2023-07-05; Waveshare RP2040-LCD-1.28 with rp2040" angezeigt.

wichtiger Hinweis zum Akku:

An das Board des Displays kann über einen JST 1.25 Stecker ein kleiner Lithium-Polymer-Ionen-Akku angeschlossen werden, welcher während des Betriebs geladen wird und das Board auch nach dem Abziehen des USB-C Anschlusses mit Strom versorgt. Aber Vorsicht ! Die Stecker an den Akkus sind nicht immer so gepolt, wie es der Anschluss auf dem Board erfordert. Prüfen Sie unbedingt die Polarität (durch eine Messung), bevor Sie den Akku mit dem Board verbinden.
Bei dem oben angegebenen 320 mAh Akku ist es auch erforderlich die Polarität zu ändern. Am einfachsten schneidet man dazu das Anschlusskabel auf der Hälfte auseinander und lötet es umgekehrt wieder zusammen. Vorher sollte man je ein Stück passenden Schrumpfschlauch zur Isolierung aufschieben. Auch wenn es etwas ungewöhnlich aussieht (rot auf schwarz und schwarz auf rot), geht das doch recht gut (siehe Bild).



Software 'Pico-Watch' installieren:


Laden Sie die Datei von meiner Seite herunter. Als nächstes wird sie in den vorgeschlagen Ordner 'pico_watch' entpackt. Der sollte jetzt folgende Dateien enthalten:

code.py
pico_watch.py
und die Ordner
lib
images

Im Ordner 'lib' sind die Bibliotheken für die Funktionsweise des Displays und in 'images' die Bitmap-Dateien mit dem Zifferblatt und den Uhrzeigern. Verbinden Sie das Display mit Ihrem Rechner und kopieren die o.g. Dateien bzw. Ordner ins Laufwerk 'CIRCUITPY'. Bestätigen Sie dabei die Meldung für das Überschreiben der Datei 'code.py' mit 'ja'.

Nun können Sie die Analoguhr im Thonny-Interpreter über die Datei 'code.py' oder 'pico_watch.py' starten. Das Display bezieht die aktuelle Uhrzeit vom Rechner und zeigt diese sekundengenau an. Bei angeschlossenem Akku beenden Sie Thonny, ohne die Programmausführung zu stoppen und ziehen den USB-C Stecker ab. Solange der Akku genügend Spannung liefert, läuft das Display ohne Unterbrechung weiter. Damit das möglichst lange der Fall ist, habe ich eine Stromsparfunktion vorgesehen, die noch erläutert wird.

Wenn das Display nicht mit dem Rechner verbunden ist und die Stromzufuhr hergestellt wird, dann startet die Programmausführung von 'code.py' automatisch. Der Microcontroller setzt dabei das Datum und die Uhrzeit auf den 1.1.2020 um 0:00 Uhr. In diesem Fall muss die Uhrzeit per Hand eingestellt werden.

Uhrzeit einstellen:


Dazu wird der ACC-Sensor genutzt, indem das Display in einer bestimmten Richtung gehalten wird.
1. Minuten stellen:
Halten Sie den USB_C Anschluss des Displays im ausgeschalteten Zustand nach unten und schließen jetzt den USB_C Stecker an. Auf dem Display wird eine Textbox dargestellt, in der die Minuten hochgezählt werden. Kurz bevor der gewünschte Wert erreicht ist, drehen Sie das Display um 90 Grad, so dass der USB-Anschluss zur Seite zeigt. Dadurch bleibt die Minutenanzeige auf dem letzten Wert stehen. Wenn der Wert zu weit 'gelaufen' ist, drehen Sie den USB-Anschluss wieder nach unten und wiederholen den Vorgang. Nach ein paar Übungen klappt das sehr gut.


2. Stunden stellen:
Drehen Sie den USB-Anschluss aus der seitlichen Position nach oben, um die Stunden zu stellen. Auch hier wird der Vorgang unterbrochen, wenn das Display wieder um 90 Grad zur Seite gedreht wird. Zum Beenden des Einstellens legen Sie das Display mit der Anzeige nach oben flach auf den Tisch und warten (5 Sekunden), bis das Zifferblatt und die Zeiger angezeigt werden. Von jetzt wird die Zeit analog angezeigt und kann durch den eben beschriebenen Vorgang nicht mehr geändert werden.



Stromsparfunktion:


Soll die Uhr in ein Gehäuse eingebaut werden, ist die Stromversorgung mit einem geeigneten Akku vor allem ein Platzproblem. Bei meinen ersten Versuchen mit einem kleinen 100 mAh Akku lief das Display gerade mal 30 - 40 Minuten. Einen guten Kompromiss bietet der o.g. 320 mAh Akku. Durch die zusätzliche Abschaltung des Displays (eigentlich Verringerung der Displayhelligkeit), wenn es 5 Sekunden lang nicht bewegt wird, erreicht man eine Betriebsdauer von ca. 12 Stunden. Zur Zeit ist das Programm so eingestellt, dass sich das Display beim Tragen am rechten Arm einschaltet, wenn das Display zum Betrachter hin gekippt wird. Was ja der Fall ist, wenn man die Uhrzeit ablesen will.

Gehäuse im 3D Druck:


Das Gehäuse wurde mit FreeCAD entworfen und mit einem einfachen Flashforge 3D Drucker gedruckt. Es besteht aus drei Teilen.



In das Unterteil wird als erstes der Akku eingelegt. Dann wird das Mittelteil aufgesteckt und das Kabel vom Akku nach oben durchgeführt. Nun wird der Stecker mit dem Batteriekonnektor am Display verbunden und das Display in die Öffnung gelegt. Achtung: Drücken Sie dabei nicht mit dem Finger auf die Displayfläche! Die Flüssigkristalle könnten das für immer übel nehmen. Nun klicken Sie den oberen Ring entsprechend der Öffnungen auf das Gehäuse. Es ist ratsam, diesen mit etwas Kunststoffkleber an den Stiften zu fixieren. Das Unter- und Mittelteil sollte nicht verklebt werden, denn es wird durch das Armband an den Stegen zusammengehalten und für den nicht auszuschließenden Fall kommt man an die Boot-Taste der Platine, ohne das Gehäuse zu zerstören.


      


Viel Spass und Erfolg beim Ausprobieren.