In diesem Beitrag möchte ich dir den Mikrocontroller XIAO RP2040 vorstellen. Dieser kleine Mikrocontroller kommt mit dem Mikrochip RP2040 daher, welcher von der Raspberry Foundation veröffentlicht wurde.
Den Raspberry Pi Pico & Raspberry Pi Pico W habe ich dir bereits in separaten Beiträgen vorgestellt.
Im letzten Beitrag Seeed Studio XIAO RP2040 – ein Zwerg mit großer Leistung habe ich dir bereits einiges zu der Technik und dem Pinout gezeigt, hier möchte ich dir nun ein paar kleine Beispiele zeigen.
Vorbereiten des Mikrocontrollers
Bevor wir den Mikrocontroller auf einem Steckbrett verwenden können, müssen wir noch die Stiftleisten anlöten.
Dem Mikrocontroller liegen leider keine bei, jedoch bekommst du diese recht günstig auf ebay.de schon ab 1,35 € zzgl. Versandkosten* und sogar in diversen Farben.
Hinweis von mir: Die mit einem Sternchen (*) markierten Links sind Affiliate-Links. Wenn du über diese Links einkaufst, erhalte ich eine kleine Provision, die dazu beiträgt, diesen Blog zu unterstützen. Der Preis für dich bleibt dabei unverändert. Vielen Dank für deine Unterstützung!
Alternativ kannst du auch Buchsenleisten mit langen Stiften verwenden, hier hast du dann den Vorteil, dass du von oben Breadboardkabel einstecken kannst und trotzdem diesen auf einem Steckbrett stecken kannst.
Anschluss an den Computer
Für den Anschluss an den Computer, benötigst du ein USB-Typ-C Datenkabel, dieses ist wiederum bedauerlicherweise auch nicht enthalten, aber dieser Anschluss ist ja bei Handys, Tablets sehr verbreitet und somit sollte man ggf. eines bereits zu Hause haben.
Wenn du den Mikrocontroller mit dem Computer verbunden hast, dann wird dieser zunächst eingerichtet, unter Microsoft Windows 10 erhältst du nachfolgende Push-Benachrichtigungen vom System.
Der Mikrocontroller wird als PicoArduino erkannt, aber dazu etwas mehr, wenn wir im nächsten Kapitel zur Programmierung kommen.
Auf dem Mikrocontroller ist bereits ein kleines Programm installiert, welches die verbaute RGB LED in diversen Farben aufleuchten lässt.
Programmieren des Seeed Studio XIAO RP2040
Den Mikrocontroller kannst du in diversen IDEs programmieren, im Nachfolgenden möchte ich dir gerne zeigen, wie du diesen in der Thonny IDE programmierst.
Thonny IDE
Die Thonny IDE kannst du kostenfrei für macOS,Linux und auch Microsoft Windows herunterladen. Wie du diese IDE auf einem Linux System installierst, habe ich dir im Beitrag Thonny IDE auf Linux einrichten für den Raspberry Pi Pico W anhand des Raspberry Pi Pico W gezeigt.
Damit du diesen Mikrocontroller in der Thonny IDE mit Micropython programmieren kannst, muss zunächst die passende Firmware installiert werden, damit dieses wiederum geschehen kann, musst du die Taste “Boot” gedrückt halten und den Stecker des Mikrocontrollers in die Buchse stecken. Im Anschluss sollte sich nun ein neues Laufwerk einbinden.
Wenn der Installationsvorgang abgeschlossen ist, dann wird der Mikrocontroller als “Raspberry Pi Pico” erkannt. Das ist auch nicht sehr verwunderlich, denn immerhin ist auf diesem der Chip RP2040 verbaut.
MicroPython v1.19.1 on 2022-06-18; Raspberry Pi Pico with RP2040
Type "help()" for more information.
>>>
Programmieren des NeoPixel
Der verbaute NeoPixel liegt zwischen den beiden Tasten “RESET” und “Boot” und kann über den Pin 11 erreicht werden. Damit wir diese jedoch programmieren können, benötigen wir eine kleine Bibliothek, welche wir unter https://files.seeedstudio.com/wiki/XIAO-RP2040/img/micropython/ws2812.py herunterladen können.
Wenn diese Datei heruntergeladen wurde, dann öffnen wir diese in der Thonny IDE und speichern diese auf dem Mikrocontroller.
#importieren der benötigten Bibliotheken #für den NeoPixel from ws2812 import WS2812 #zum einlegen einer kleinen Pause import time #definieren der Farben im RGB Format #Rot RED = (255, 0, 0) #Gelb YELLOW = (255, 150, 0) #Grün GREEN = (0, 255, 0) #Weiß WHITE = (255, 255, 255) #Tupel mit den Farben und den dazugehörigen Namen COLORS = ((RED,"rot"), (YELLOW,"gelb"), (GREEN,"grün"), (WHITE,"weiß")) #WS2812(pinNum, ledCount) led = WS2812(12,1) #Endlosschleife while True: #Loop über das Tupel for color in COLORS: #erster Wert ist die RGB Farbe led.pixels_fill(color[0]) led.pixels_show() #zweiter Wert ist der Name print(color[1]) #eine kleine Pause einlegen time.sleep(1)
LED per Taster EIN/AUS schalten
Im nächsten Schritt zeige ich dir, wie du eine kleine LED per Taster EIN/AUS schalten kannst.
Hier nun der Code inkl. dem entprellen des Tasters.
#importieren der benötigten Module #zum steuern der GPIOs from machine import Pin #zum einlegen von Pausen oder #dem auslesen von Zeit import time #die LED ist am Pin 3 (D10) angeschlossen led = Pin(3, Pin.OUT) #der Taster ist am Pin 7 (D5) angeschlossen button = Pin(7, Pin.IN) #Feld zum speichern des Zeitstempels der #letzten Ausführung last_action = 0 #Zeit welche zwischen zwei Ausführungen liegen soll #dient quasi dem entprellen des Tasters delay = 500 #Endlosschleife while True: #lesen der vergangenen Millisekunden #seitdem der Mikrocontroller gestartet wurde currentMillis = time.ticks_ms() #Wenn der Taster betätig wurde, dann... if button.value(): #Wenn der Zeitpunkt der letzten Ausführung kleiner #als der aktuelle Zeitpunkt - dem Delay liegt, dann... if(last_action < (currentMillis - delay)): #überschreiben des Wertes für die letzte Ausführung #mit dem aktuellen Wert last_action = currentMillis #Umkehren des Signales am Pin der LED led.toggle()