In diesem Beitrag möchte ich mit dir zusammen einen ersten Blick auf den Melopero Cookie RP2040 werfen. Dieser Mikrocontroller ist ein Mix aus Raspberry Pi Pico, BBC micro:bit und auch der Calliope Mini findet sich irgendwie hier wieder.
Diesen Mikrocontroller habe ich im Onlineshop von Botland.de für knapp 16 € zzgl. Versandkosten erstanden. In diesem Shop bekommst du diesen Mikrocontroller derzeit zum besten Preis.
Inhaltsverzeichnis
- Warum noch ein Klon?
- Pins & Anschlüsse
- Batterieanschluss & USB-C Schnittstelle
- Features des Melopero Cookie RP2040
- Pinout & Aufbau des Melopero Cookie RP2040
- Einrichten und Programmieren des Melopero Cookie RP2040
- Programmieren in der Thonny IDE
- Programmieren der Taster & LED
- Programmieren der 5×5 RGB LED Matrix
Warum noch ein Klon?
Die große Frage, welche man sich zunächst stellen kann, ist “Warum noch ein Klon?”. Diese Frage ist berechtigt, denn, dieser Mikrocontroller mit dem RP2040 Chip, einigen Anschlüssen und einer LED-Matrix ist jetzt nicht das neueste und bringt auch nicht soviel zusätzlichen Spaß. Theoretisch könnte hier der Beitrag enden, jedoch möchte ich diesem eine Chance geben und einmal ins Detail schauen.
Pins & Anschlüsse
Vor allem, wenn man sich das Format etwas genauer betrachtet, dann finden wir die Pins rings um den Mikrocontroller angeordnet, welche man mit Krokodilklemmen oder Bananenstecker (3 mm) abgreifen kann.
Batterieanschluss & USB-C Schnittstelle
Am Mikrocontroller findest du den Pin VBAT über diesen kannst du deinen Mikrocontroller via Batterie zu betreiben. Der Hersteller gibt hier an, dass die gleichzeitige Verwendung beider Stromanschlüsse dazu führen kann, dass entweder deine Batterie oder dein PC zerstört werden kann. Ich würde sogar so weit gehen, dass eher der Mikrocontroller zerstört wird!
Features des Melopero Cookie RP2040
Der Mikrocontroller bietet wie erwähnt einige Features, welche wir bei anderen bereits finden. Zu diesen Features zählen:
- eine 5×5 RGB LED Matrix,
- zwei Taster,
- eine USB-C-Schnittstelle,
- einen Qwii-Anschluss,
- Kontakte Abgreifbar via Krokodilklemme& Bananenstecker,
- zwei Löcher zur Montage
Abmaße des Mikrocontrollers sind Ø 50,8 mm.
Technische Daten des RP2040 Chips
Verbaut ist ein RP2040 Chip von der Raspberry Pi Foundation, welcher nachfolgenden technischen Daten hat:
Mikrochip | RP2040, Dual-Core Arm Cortex M0+ mit bis zu 133 MHz |
Speicher | |
SRAM | 264 KB |
Flash | 2 MB |
Schnittstellen | USB 1.1 |
2x SPI, 2x I²C, 2x UART | |
3x 12-bit ADC (Analog Digital Converter) | |
En/Ausgänge | 26 Pins |
16x PWM Channel | |
Sensoren & Aktoren | Temperatursensor |
Timer |
Pinout & Aufbau des Melopero Cookie RP2040
Auf dem Mikrocontroller findest du diverse Aktoren, welche du recht einfach programmieren kannst. Die LED ist als einzige von diesen mit “21” beschriftet.
Qwiic / Stemma Anschluss
Über den Qwiic / Stemma Anschluss kannst du spezielle Sensoren und Aktoren in Reihe schalten und einzeln adressieren. Die Kommunikation läuft dabei über I2C.
Jedoch sind derzeit die Sensoren & Aktoren für dieses Ökosystem recht teuer, sodass sich ein Wechsel, nach meiner Meinung noch nicht lohnt.
Einrichten und Programmieren des Melopero Cookie RP2040
Wie üblich, kannst du deinen Mikrocontroller in MicroPython, CircuitPython sowie in der Arduino IDE programmieren. Ich möchte im Nachfolgenden den Mikrocontroller in MicroPython programmieren.
Der Hersteller hat zu diesem Mikrocontroller eine offizielle, englische Dokumentation bereitgestellt, wo gezeigt wird, wie dieser geflasht und für MicroPython eingerichtet wird.
Flashen des Mikrocontrollers für MicroPython
Das Flashen des Melopero Cookie RP2040 für MicroPython ist sehr einfach, unterscheidet sich jedoch deutlich vom Raspberry Pi Pico. Denn man muss bei verbundenem Gerät die Taste “BT” (grüner Kreis) & “RS” (roter Kreis) drücken und die Taste “RS” loslassen, dann wird das Laufwerk eingebunden und wir können die Taste “BT” loslassen. Also eigentlich sehr einfach.
Wenn das Laufwerk eingebunden ist, dann musst du nun die entsprechende UF2-Datei mit der neuen Firmware auf diesen kopieren.
Die Firmware bekommst du unter http://www.melopero.com/Melopero_Cookie_RP2040.zip. In der ZIP-Datei findest du die Firmware für CircuitPython und MicroPython sowie eine Bibliothek mit Beispielen für C++.
Programmieren in der Thonny IDE
Den Mikrocontroller kannst du nach dem Flashen dann zum Beispiel in der Thonny IDE programmieren. Dazu musst du zunächst den Interpreter einrichten.
Im Programm klickst du unten rechts auf den derzeit ausgewählen Mikrocontroller und wählst aus dem Menü “Konfiguriere den Interpreter …”.
Im neuen Dialog wählst du dann als Erstes den Eintrag “MicroPython (RP2040)” (1) aus. Danach den Port (2). Solltest du mehrere serielle Geräte an deinem PC angeschlossen haben, so schaue einmal in den Geräte-Manager, um den passenden zu finden.
Die Auswahl bestätigen wir mit der Schaltfläche “OK” (3).
Wenn du nun in der Taskleiste auf die Schaltfläche “Stopp/Restart ausführen” klickst, dann sollte in der Kommandozeile die nachfolgende Ausgabe erscheinen.
Programmieren der Taster & LED
Wie oben gezeigt findest du auf dem Mikrocontroller zwei Taster und eine kleine SMD LED. Als erstes möchte ich dir zeigen, wie diese programmiert wird. Mit den Tastern A & B möchte ich zunächst die LED AN & AUS schalten.
#aus dem Modul machine die Klasse Pin laden from machine import Pin #Modul time importieren import time #die LED ist am GPIO 21 angeschlossen #und wird als Ausgang definiert led = Pin(21, Pin.OUT) #die Taster sind an den GPIOs 10 & 11 #angeschlossen und werden als Eingang #definiert buttonA = Pin(10, Pin.IN) buttonB = Pin(11, Pin.IN) #starten einer Endlosschleife while True: #Wenn der Taster A gedrückt wird, dann... if buttonA.value() == 1: #LED aktivieren led.on() #einlegen einer kleinen Pause, #damit entprellen wir den Taster time.sleep(0.5) #Wenn der Taster B gedrückt wird, dann... if buttonB.value() == 1: #LED deaktivieren led.off() #einlegen einer kleinen Pause, #damit entprellen wir den Taster time.sleep(0.5)
Wenn wir den Code auf dem Mikrocontroller ausführen, dann können wir mit den beiden Tastern die kleine SMD LED Ein- und Ausschalten.
Programmieren der 5×5 RGB LED Matrix
Mit der Firmware zu MicroPython bekommst du Module zum Abfragen der Taster sowie für die RGB LED-Matrix. Diese Module müssen nicht zusätzlich installiert werden und du brauchst diese lediglich importieren und kannst diese verwenden.
Für die Programmierung der 5×5 RGB LED-Matrix hast du fertige, kleine Funktionen um entweder einzelne LEDs anzusteuern oder auch Scrolltext auf dieser auszugeben. Das finde ich besonders gut gelungen.
#Importen der Klasse Cookie_RP2040 aus dem Modul melopreo_cookie from melopero_cookie import Cookie_RP2040 #Text für den Scrolltext msg = "Hallo Welt!" #erzeugen eines Objektes vom Typ Cookie_RP2040 cookie=Cookie_RP2040() #LEDs löschen cookie.clear_screen() #setzen der Textfarbe als RGB Wert #Der letzte Wert bildet die Helligkeit ab! cookie.set_rgb_color(0, 0, 255,0.05) #setzen der Hintergrundfarbe cookie.set_rgb_background(0,0,0, 0.1) #anzeigen / abspielen des Scrolltextes cookie.show_message(msg)
Mit diesem kleinen Code erzeugen wir nun die Laufschrift “Hallo Welt!” auf der LED-Matrix. Die Farbe für den Text habe ich in Blau gesetzt.