In diesem Beitrag möchte ich dir den MAKER NANO RP2040 von der Firma Cytron vorstellen und ein kleines Unboxing des eingetroffenen Paketes zeigen.
Diesen Mikrocontroller habe ich von der Firma Cytron kostenfrei für dieses Review erhalten, trotzdem dass ich unterstützt wurde, gebe ich meine persönliche Meinung zu diesem ab.
Unboxing
Bezug des MAKER NANO RP2040
Diesen Mikrocontroller bekommst du über den offiziellen Shop von Cytron über https://www.cytron.io/maker-nano-rp2040-simplifying-projects-with-raspberry-pi-rp2040 für 8,90 € zzgl. Versandkosten.
Lieferumfang
Zum Lieferumfang gehört neben dem Mikrocontroller noch zwei Kabel, welche an den Mikroconroller angeschlossen werden können und am Ende jeweils ein Grove Adapter haben.
Aufbau & Pinout des MAKER NANO RP2040
Der Mikrocontroller hat folgende Features:
- 2 RGB LEDs vom Typ WS2812B,
- 14 SMD LEDs an den GPIO Pins
(0,1,2,3,4,5,6,7,8,9,17,19,16,18) - 1 frei programmierbarer Taster,
- 1 Piezo Buzzer,
- 1 Ports mit Kabel für Grove Adapter
Pinout
Hier nun das Pinout des MAKER NANO RP2040.
Die Grafik habe ich mit der Genehmigung der Firma Cytron aus deren Shop entnommen.
Technische Daten des MAKER NANO RP2040
Auf diesem Mikrocontroller ist der Chip RP2040 verbaut, welcher folgende technische Daten hat:
Chip | Dual ARM Cortex-M0+ |
Taktgeschwindigkeit | 133 MHz |
Speicher | 264 kB SRAM |
Schnittstellen | 2x UART, 2x SPI, 2x I²C 16 PWM Kanäle, USB 1.1 Controller |
Die kompletten technischen Daten zu diesem Chip findest du in der Raspberry PI Dokumentation.
Verbindung mit dem Computer aufbauen
Für den Aufbau einer Verbindung mit dem Computer benötigst du lediglich ein Micro-USB Datenkabel (dieses ist nicht im Lieferumfang enthalten). Wenn du die Verbindung hergestellt hast, wird dieser eingerichtet und im Gerätemanager unter Microsoft Windows 10 als
“Serielles USB-Gerät (COMxyz)” angezeigt.
Des Weiteren wird in den Explorer ein Laufwerk mit der Bezeichnung “CIRCUITPY (X:)” eingebunden. Wobei der Laufwerksbuchstabe variieren kann.
Nachdem nun der Mikrocontroller mit Strom versorgt wird, wird ein Programm gestartet, welches eine Melodie von Super Mario abspielt und die LEDs verschiedenfarbig aufleuchten lässt.
Programmieren des Mikrocontrollers
Wie bereits erwähnt wird bei der Verbindung mit dem Computer ein Laufwerk “CIRCUITPY” eingebunden und damit haben wir schon einen Anhalt wie wir dieses programmieren können.
Die Programmierung von Mikrocontroller in Circuitpy erfolgt in diesem Fall mit der kostenfreien IDE MU-Editor.
Der Code, welcher ausgeführt werden soll, befindet sich in diesem Fall in der Python-Datei “code.py”. Diese Datei wird bei jedem Start ausgeführt.
Auf dem Mikrocontroller ist bereits ein kleines Programm, welches wie erwähnt eine Melodie abspielt und die verbauten LEDs aufleuchten lässt. Im nachfolgenden möchte ich dir nun zeigen, wie du die LEDs und den Taster in CircuitPython programmierst.
SMD LEDs als Lauflicht
An den Pins 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 16, 17, 18 und 19 sind zusätzlich SMD LEDs verbaut, welche den aktuellen Zustand dieser Pins anzeigt.
# Modul für das steuern der GPIOs import board import digitalio # Modul für das Pausieren im Code import time # eine Liste mit den Pins an welche eine SMD verbaut wurde LED_PINS = [board.GP0, board.GP1, board.GP2, board.GP3, board.GP4, board.GP5, board.GP6, board.GP7, board.GP8, board.GP9, board.GP17, board.GP19, board.GP16, board.GP18] # eine Liste für die initialisierten Pins LEDs = [] # eine Schleife durch die LEDs for led in LED_PINS: # definieren eines Pins als Ausgang digout = digitalio.DigitalInOut(led) digout.direction = digitalio.Direction.OUTPUT # den definierten Pin in der Liste speichern LEDs.append(digout) # Endlosschleife while True: # für jeden Pin innerhalb der Liste, mache... for led in LEDs: # LED aktivieren, Pin auf HIGH setzen led.value = True # eine Pause von 0.25 Sekunden einlegen time.sleep(0.25) # für jeden Pin innerhalb der Liste, mache... for led in LEDs: # LED deaktivieren, Pin auf LOW setzen led.value = False # eine Pause von 0.25 Sekunden einlegen time.sleep(0.25)
Im nachfolgenden Video siehst du ein kleines Lauflicht an den SMD LEDs.
Taster programmieren
Auf dem Mikrocontroller ist ein Taster verbaut, welcher über den Pin GPIO20 ausgewertet werden kann.
# Modul für das steuern der GPIOs import board import digitalio # Modul für das Pausieren im Code import time # Taster am digitalen Pin GPIO20 angeschlossen button = digitalio.DigitalInOut(board.GP20) # Pin als Eingang definieren button.direction = digitalio.Direction.INPUT # Taster muss über den internen PullUp Widerstand "geleitet" werden button.pull = digitalio.Pull.UP # eine Zählervariable counter = 0 # Endlosschleife while True: # Da der Pin des Tasters über den internen PullUp # Widerstand geleitet wird, wird das Signal umgekehrt! # Wenn der Taster gedrück wurde, dann.. if not button.value: # den Zähler inkrementieren counter = counter + 1 # Ausgeben der Textzeile inkl. des Zählers print("Taster gedrück!", counter) # Eine kleine Pause von 0,10 Sekunden damit das Prellen # des Tasters unterdrückt wird. time.sleep(0.10)
Um an die serielle Ausgabe des Mikrocontrollers zu gelangen kann man Putty nutzen hier muss der “Connectiontype” auf “Serial” sowie die Geschwindigkeit “Speed” auf 1152000 baud gesetzt.
Den zu wählenden COM-Port findest du zbsp. im Geräte-Manager.
In dem Video stelle ich nun eine Verbindung mit Putty zum Mikrocontroller her und betätige den Taster.