Kreatives Coding in Bonn

Gruppen-Startseite Diskussionen Agenda Dateien Mitglieder Beitreten

Coden im Advent - das MEOWBIT in 2021

Googelt man Coding Advent, stößt man vor allem auf die Website adventofcode.com und die begeisterte Gefolgschaft, die der Autor Eric Wastl damit erzeugt hat. Das ist toll.

Auch ausserhalb dieser schönen Massenbewegung gibt es aber Möglichkeiten, mit Coden im Dezember Spass zu haben. Gestern haben Tochter und ich meine Mutter in Dortmund besucht und ich hatte eine ganze Tasche Elektronik dabei. Dabei auch ein Meowbit, eine kleine Spielekonsole, die sich in Python programmieren lässt. Meowbits sind die kostengünstigste Option für kleine Spielekonsolen, die ich bisher gefunden habe. Anfang letzten Jahres hatte ich ein wenig Material zu diesem kleinen Gerät zusammengestellt.

In meiner Zusammenstellung vom Anfang 2020 hatte ich noch geschrieben, dass es mir nicht gelungen war, die REPL des Meowbit im Mu Editor anzusprechen. Das funktioniert mit der aktuellen Mu-Version 1.1.0-beta.6 aber jetzt:

Es ist damit also jetzt auch möglich, den Meowbit im Mu-Editor zu programmieren. Es gibt sogar zwei Varianten. Die eine ist, mit der Software "Kittenblock" von Kittenbot ein Micropython auf das Meowbit zu laden. Diese Variante leidet etwas unter der unvollständigen Übersetzung von Chinesisch ins Englische. Eine deutsche Oberfläche für jüngere Coder gibt es leider gar nicht.

Die zweite Variante geht über CircuitPython. CircuitPython ist gut dokumentiert und enthält mächtige Module zur Entwicklung von Spielen und  Beispielen aus dem Physical Computing. Ich habe angefangen, die Code-Beispiele für CircuitPython anzupassen. Hier ist das erste Beispiel zum Blinken der grünen LED des Meowbit:

Es gibt noch eine zweite LED_RED auf dem Meowbit.

Um Beispiele für CircuitPython zu bekommen, habe ich mit das Archiv mit den Adafruit-Bibliotheken heruntergeladen und entpackt. Hier ist ein einfaches "Hello World":

import board
import terminalio
from adafruit_display_text import label

text = "Hello world"
text_area = label.Label(terminalio.FONT, text=text)
text_area.x = 10
text_area.y = 10
board.DISPLAY.show(text_area)
while True:
    pass


Zusätzlich zu diesem Code musste ich auch den Bibliotheksordner adafruit_display_text auf den Meowbit kopieren:

cp -a lib/adafruit_display_text /Volumes/PYBFLASH/lib/


Hier ist eine Anleitung für ein kleines Spiel mit Sprites - aufwändig! Der Code ist ein Unterordner in den Adafruit Learning System Guides. Neben adafruit_display_text benötigen wir auch adafruit_imageload im lib/-Ordner und den Ordner tilegame_assets/ auf dem Meowbit. Der gesamte Code des Spiels liegt in code.py. Leider stürzt bei mir das Spiel schon mit dem Laden der Spritemaps in Zeile 117 mit einem Speicherfehler ab. Da reichen die 96 Kbytes Schreiblesespeicher wohl nicht aus. Hm, das ist also erst einmal eine Sackgasse. Ob man diese Spritemaps auch in den 512 Kbytes Flash-Speicher des Gerätes ablegen kann?

Gestartet von Dr. Olav Schettler in Kreatives Coding in Bonn 5. Dezember 2021 12:42