Vorstellung des MAKER PI RP2040 von Cytron

In diesem Beitrag möchte ich dir den MAKER PI RP2040 der Firma Cytron vorstellen.

Diesen Mikrocontroller habe für dieses Review kostenfrei zur Verfügung gestellt bekommen. Obwohl dieser für mich kostenfrei war, möchte ich dir trotzdem meine persönliche Meinung aufzeigen.

Von der Firma Cytron habe ich bereits den MAKER UNO vorgestellt welcher auf Kickstarter beworben wurde.

Maker UNO
Maker UNO

Bezug des MAKER PI RP2040

Diesen Mikrocontroller bekommst du im offiziellen Shop von Cytron für 9.90 $ (8,35 €) zzgl. Versandkosten.

In meinem Fall wurde der Mikrocontroller über FedEx versendet und das Paket war innerhalb von knapp 10 Tagen bei mir. Beim Versand über DHL musst du die zusätzlichen Servicegebühren einberechnen!

Lieferumfang

Zum Lieferumgang des Mikrocontrollers gehört neben dem Mikrocontroller selber noch ein paar Grove – Breadboardkabel, Silikonfüße und ein kleiner Schraubendreher.

Lieferumfang - MAKER PI RP2040
Lieferumfang – MAKER PI RP2040

Den kleinen Schraubendreher benötigst du, um eine externe Stromquelle und / oder Motoren an die vorhanden Schraubklemmen anzuschließen.

Im Lieferumfang fehlt meiner Meinung nach noch ein passendes USB Datenkabel, da die vorhandene Micro-USB Buchse recht verbreitet ist sollte aber jeder Bastler mindestens ein passendes Kabel daheim haben. Ansonsten kann man dieses Kabel auf ebay.de für 3,99 € inkl. Versandkosten.

Besondere Features des MAKER PI RP2040

Wie auch der MAKER UNO verfügt der MAKER PI RP2040 über einige besondere Features, welche sich sehr nützlich bei der Erstellung von Projekten zeigen.

  • sieben Grove Schnittstellen, welche rings um den Mikrocontroller platziert wurden,
  • einen Anschluss für eine LiPo Batterie,
  • eine Schraubklemme für den Anschluss einer externen Stromquelle (3.6V bis max. 6V),
  • zwei Schraubklemmen für den Anschluss von Motoren, inkl. Taster zum Testen dieser Motoren,
  • drei Stiftleisten für Servomotoren,
  • zwei NeoPixel,
  • zwei freiprogrammierbare Taster, und
  • einen PiezoBuzzer
besondere Features des MAKER PI RP2040
besondere Features des MAKER PI RP2040

In der Mitte des Mikrocontrollers sind 13 SMD LEDs welche den Status der digitalen I/Os anzeigen. Dieses Feature hat auch der MAKER NANO.

MAKER Nano von Cytron
MAKER Nano von Cytron

Programmieren des MAKER PI

Der Maker PI verfügt über den RP2040 Chip von der Raspberry PI Foundation. Dieser ist ebenso auf dem Raspberry PI Pico verbaut welchen ich bereits in einem gesonderten Beitrag Raspberry PI Pico #1 – Vorstellung auf meinem Blog vorgestellt habe.

DIY Expansion Board für den Raspberry PI Pico mit Grove Adapter
DIY Expansion Board für den Raspberry PI Pico mit Grove Adapter

Die Programmierung unterscheidet sich nicht wirklich gegenüber dem Raspberry PI Pico. Du hast auf einem Microsoft Windows 10 System ein Laufwerk mit der Bezeichnung “CIRCUITPY”. Auf diesen kannst du deine Python Skripte kopieren und diese werden dann ausgeführt.

Programmieren mit der Thonny IDE

Für die Programmierung verwende ich die Thonny IDE, diese habe ich bereits in einigen Beiträgen vorgestellt und gezeigt wie man zusätzliche Pakete installieren kann. Das Tool kannst du dir kostenfrei unter https://thonny.org/ für Microsoft Windows bzw. MacOS herunterladen.

NeoPixel aufleuchten lassen

Auf dem Board sind 2 NeoPixel verbaut. Diese beiden NeoPixel sind an dem Pin GP18 angeschlossen.

import board
import neopixel
import time

#erzeugen von Tupeln mit den Farben im RGB Modus
color_black = (0, 0, 0)
color_white = (255, 255, 255)
color_red = (255, 0, 0)
color_green = (0, 255, 0)
color_blue = (0, 0, 255)

#eine Liste aus diesen Farben
colors = [color_red, color_green, color_blue, color_white, color_black]

#die NeoPixel sind am GP18 angeschlossen
pixels = neopixel.NeoPixel(board.GP18, 2)

#Endlosschleife
while True:
    #für jeden NeoPixel mache...
    for x in range(2):
        #aufleuchten lassen der Farben
        for i in colors:
            #setzen der Farbe
            pixels[x] = i
            #schreiben des Wertes
            pixels.write()
            #eine kleine Pause von 0,5 Sekunden
            time.sleep(0.5)

Video

Servomotor steuern

Über die 4 Stiftleisten kannst du einen Servomotor anschließen und steuern.

Servomotor am MAKER PI RP2040
import board
import digitalio
import simpleio
import time
import pwmio
from adafruit_motor import servo

#initialisieren des Servos am GP12
servo1 = servo.Servo(pwmio.PWMOut(board.GP12, duty_cycle=2**15, frequency=50))

#initialisieren der Taster an GP20 & GP21
btn1 = digitalio.DigitalInOut(board.GP20)
btn2 = digitalio.DigitalInOut(board.GP21)
btn1.direction = digitalio.Direction.INPUT
btn2.direction = digitalio.Direction.INPUT
btn1.pull = digitalio.Pull.UP
btn2.pull = digitalio.Pull.UP

#Endlosschleife
while True:
    #Wenn der Taster GP20 betätigt wird, dann
    if not btn1.value:
         #Schleife von 0 bis 180
         for i in range(0,180):
            servo1.angle = i
            #eine Pause von 0,01 Sekunden
            time.sleep(0.01)
    
    #Wenn der Taster GP21 betätigt wird, dann
    if not btn2.value:
         #Schleife von 180 bis 1 in 1er Schritten
         for i in range(180,1,-1):
            servo1.angle = i
            #eine Pause von 0,01 Sekunden
            time.sleep(0.01)
Video

DC Motor steuern

An den MAKER PI kannst du über die beiden schwarzen Schraubklemmen mit der Bezeichnung “MOTOR1” & “MOTOR2” jeweils einen DC Motor anschließen.

Durch die darunter angebrachten Tasten “M1B” & “M1A” bzw. “M2B” & “M2A” kann der Motor ohne zusätzlichen Sketch vorwärts bzw. rückwärts drehen.

DC Motor am MAKER PI RP2040

Der DC Motor muss sehr leicht gängig sein. Ich hatte zuvor einen welcher etwas mehr Stromstärke zum starten benötigt und damit kam der MAKER PI RP2040 nicht zurecht daher zunächst einmal vorher die Motoren testen!

Ein kleines Programm zum Steuern des DC Motors am MAKER PI.

import board
import digitalio
import simpleio
import time
import pwmio
from adafruit_motor import motor

m1a = pwmio.PWMOut(board.GP8, frequency=50)
m1b = pwmio.PWMOut(board.GP9, frequency=50)
motor1 = motor.DCMotor(m1a, m1b)

btn1 = digitalio.DigitalInOut(board.GP20)
btn2 = digitalio.DigitalInOut(board.GP21)
btn1.direction = digitalio.Direction.INPUT
btn2.direction = digitalio.Direction.INPUT
btn1.pull = digitalio.Pull.UP
btn2.pull = digitalio.Pull.UP

while True:
     #Motor vorwärts drehen mit halber Geschwindigkeit
     if not btn1.value:
         motor1.throttle = 0.5
     
     #Motor anhalten
     if not btn2.value:
         motor1.throttle = 0

Video

Kommentar hinterlassen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.