Pico-Watch zum Download
auf rundem 1.28-Zoll-IPS-LCD-touch Display 240 x 240 Pixel
Anleitung und Download für CircuitPython 9.0.5
Bildbox 1 (klick hier)
Pico-Watch zum Download
auf rundem 1.28-Zoll-IPS-LCD-touch Display 240 x 240 PixelAnleitung und Download für CircuitPython 9.0.5
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 Anwendungen als Komplettdownload anzubieten. Schon vor einiger Zeit hatte ich
auf dem runden LCD-Display eine Analoguhr realisiert. Als ich diese Anwendung jetzt zum Download etwas aktualisieren wollte, habe ich
festgestellt, dass sie unter CircuitPython 9.1.1 Speicherprobleme hat und nicht mehr läuft. Neuere CircuitPython versionen genehmigen sich
selbst immer mehr Speicherplatz. Da bleibt eben weniger für die Anwendungen. Wenn Sie diese Anwendung umsetzen wollen,
müssen Sie also unbedingt auf CircuitPython 9.0.5 zurückgehen. Das ist kein Problem, denn die uf2-Datei mit der Firmware und eine Datei
'flash_nuke.uf2' habe ich hier zum downloaden
bereitgestellt. Entpacken Sie die zip-Datei und folgen den Hinweisen.
Übersicht zu den Arbeitsschritten:
- Installation von CircuitPython
- wichtiger Hinweis zum Akku
- Software 'Pico-Watch' installieren
- Uhrzeit einstellen
- Gehäuse im 3D Druck
Hardware
- Rundes 1,28-Zoll-IPS-LCD-touch Display
(z.B. bei Botland)
- 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 auch nicht gerade billig, vor allem weil die Akkus und die Armbänder oft nicht einzeln, sondern im Mehrfachpack 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 im unteren Bild, realisieren.
Installation von CircuitPython:
1. Bevor Sie das Pico-Display erstmalig an die Stromversorgung anschließen, muss zunächst die CircuitPython-Firmware 9.0.5 mit der Ansteuerung für das runde Display übertragen werden. Falls Sie das Display bereits mit einer neueren Firmware genutzt haben, sollten Sie den Speicher mit der 'flash_nuke.uf2' komplett löschen. Dazu gehen Sie so vor:
Sie nehmen das Display im ausgeschalteten Zustand zur Hand und drücken die Boot-Taste (siehe Beschriftung auf der Platinenrückseite). Die wird gehalten und das Pico-Display 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. Per Drag&Drop ziehen Sie die 'flash_nuke.uf2' auf den Massenspeicher RPI-RP2. Dieser verschwindet darauf für kurze Zeit, während der Speicher komplett gelöscht wird.
2. Im nächsten Schritt ziehen Sie die uf2-Datei mit der CircuitPython Firmware 9.0.5 auf den Massenspeicher RPI-RP2. Sobald die Firmware-Datei auf das Pico-Display 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. Kopieren Sie auch gleich noch die im Ordner 'lib' enthaltenen Adafruit-Bibliotheken der Firmeware 9.x.x in den Ordner 'CIRCUITPY/lib'. Und 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:
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.
Ich habe mich immer für die Variante entschieden, bei der ich die Folie am Kabelanschluss des Akkus vorsichtig entfernt und die Kabel
neu angelötet habe. Dazu hab ich mir entsprechende Stecker mit kurzen Anschlussdrähten aus dem Internet
bestellt, welche ich auf entsprechende Länge angelötet habe. So hat auch optisch alles seine Ordnung (siehe Bild).
Software 'Pico-Watch' installieren:
Laden Sie die Datei von meiner Seite herunter. Als nächstes wird sie in den vorgeschlagen Ordner entpackt. Der sollte jetzt folgende Dateien enthalten:
code.py
analoguhr.mpy
boot.py
time.txt
und die Ordner
lib
images
Im Ordner 'lib' sind der Treiber für das Display, den Bewegungs- und den Touchsensor sowie die passenden Adafruit-Bibliotheken, im Ordner 'images' sind 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' 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.
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. Allerdings kann er sich aus der Datei 'time.txt' die letzte gespeicherte Uhrzeit holen. So muss die Einstellung der Uhrzeit nicht jedes mal bei 00:00 beginnen.
Uhrzeit einstellen:
Dazu wird der Touch-Sensor genutzt. Die Anwendung geht beim Start in ein 'time-set' Menu.
1. Stellen der Minuten:
Durch 'Wischen' nach links bzw. rechts stellen Sie die Minuten ein. Wenn Sie einmal über das Display gewischt haben und den Finger auf dem Display lassen, laufen die Minuten automatisch weiter bis Sie den Finger vom Display abheben. So lassen sich eine größere Anzahl von Minuten recht schnell verändern. Bei den Stunden funktioniert dies analog.
2. Stellen der Stunden:
Durch 'Wischen' nach oben bzw. unten stellen Sie die Stunden ein. Zum Beenden des Einstellens tippen Sie auf die grüne Fläche. Darauf werden das Zifferblatt und die Zeiger angezeigt. Von jetzt wird die Zeit analog angezeigt und kann durch Tippen auf das Display jederzeit wiederholt werden, z.B. wenn Sie auf einer Reise in eine andere Zeitzone kommen. Damit die Zeiger in der veränderten Position richtig dargestellt werden, erfolgt vor dem 'time_set' Menu stets ein Reset des Microcontrollers.
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. 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.