In diesem Beitrag möchte ich dir zeigen wie du den Raspberry PI Pico in der Arduino IDE programmieren kannst.
Die Arduino IDE kennt man eher von der Programmierung von “klassischen” Microcontroller wie den Arduino UNO, Arduino Nano oder aber auch mal einen ESP32. Aber du kannst auch den Raspberry PI Pico mit dieser schlanken IDE programmieren.
Wie man die Arduino IDE installiert habe ich bereits im Beitrag Arduino IDE installieren ausführlich erläutert.
Einrichten der Arduino IDE
Bevor wir mit der Programmierung beginnen können, müssen wir den passenden Boardtreiber installieren. Diesen Boardtreiber erhalten wir wiederum nur wenn die passende “zusätzlich Boardverwalter URL” hinzugefügt wurde.
https://github.com/earlephilhower/arduino-pico/releases/download/global/package_rp2040_index.json
Diese Adresse wird in den Voreinstellungen im Unterdialog “Zusätzliche Boardverwalter URLs” hinzugefügt.
Wenn diese URL hinzugefügt und die Dialoge jeweils mit den Schaltflächen “OK” bestätigt wurden, kann der Boardtreiber im Boardverwalter geladen werden.
Den Boardverwalter erreichst du über das Menü “Werkzeuge” > “Board: xyz” > “Boardverwalter…”. In diesem Dialog suchen wir zunächst mit dem Schlagwort “pico” (1) nach dem Eintrag “Arduino Mbed OS RP2040 Boards” (2). Über die Schaltfläche “Installieren” (3) wird der Treiber installiert.
Es wird für diese Installation erweiterte Rechte für das Betriebssystem benötigt da ein zusätzlicher USB Treiber installiert wird.
Sobald die Installation abgeschlossen ist, wird ein neuer Menüpunkt “Arduino Mbed OS RP2040 Boards”.
Vorbereiten des Raspberry PI Pico für den ersten Upload über die Arduino IDE
Damit wir einen ersten Sketch hochladen können, müssen wir die Taste “BOOT” gedrückt halten und den USB Stecker in die USB Buchse stecken. Es wird dann ein neues Gerät “Raspberry Pico” erkannt und zusätzlich ein Laufwerk geöffnet.
In der Arduino IDE sehen wir dann das am COM-Port ein Raspberry PI Pico erkannt wurde.
Beispiele mit dem Raspberry PI Pico in der Arduino IDE
Im nachfolgenden möchte ich dir 2 kleine Beispiele zeigen für welche du nur deinen Microcontroller benötigst.
ein kleines “Hello World!” auf der seriellen Schnittstelle
Wollen wir einmal ein einfaches “Hello World!” auf der seriellen Schnittstelle ausgeben.
Dazu müssen wir zunächst die Baudrate für die Kommunikation definieren.
Serial.begin(9600);
Dieses müssen wir nur einmalig beim starten des Pico erledigen und daher wird dieses in die Funktion “setup” geschrieben.
Um nun die Zeichenkette “Hello World!” auf der seriellen Schnittstelle ausgeben zu können muss die Funktion “println” auf dem Serial Objekt ausgeführt werden.
Serial.println("Hello World!");
Für eine kleine Pause, rufen wir die Funktion “delay” auf und übergeben dort die Millisekunden für wielange der Microcontroller pausieren soll.
delay(500);
Hier nun der gesamte Code inkl. Kommentare.
void setup() { //initialisieren der Kommunikation mit 9600baud Serial.println(9600); } void loop() { //Ausgeben der Zeichenkette "Hello World!" auf der seriellen Schnittstelle //zusätzlich wird ein Zeilenumbruch am Ende eingefügt. Serial.println("Hello World!"); //eine kleine Pause von 500ms einlegen delay(500); }
BUILD_IN LED blinken lassen
Auf dem Raspberry PI Pico ist ein kleine SMD LED verbaut welche über die Konstante “LED_BUILTIN” angesteuert werden kann.
Hier nun der Code für das aufblinken der BUILD_IN LED am Raspberry PI Pico in der Arduino IDE.
void setup() { //definieren das der Pin der BUILD_IN LED als Ausgang dient pinMode(LED_BUILTIN, OUTPUT); } void loop() { //aktivieren der LED digitalWrite(LED_BUILTIN, HIGH); //eine kleine Pause von 250ms delay(250); //deaktivieren der LED digitalWrite(LED_BUILTIN, LOW); //eine kleine Pause von 250ms delay(250); }
Hallo und danke für die Einführung.
Frage: Kann man über Arduino IDE den USB-Port adressieren?
Ich möchte Midi daten verschicken können.
Beste Grüße
Micki
Hallo,
ja ist möglich. Es gibt die USB MIDI Library die auch bei Teensy Verwendung findet.
Bin selbst erst neu aber Test Beispiele haben funktioniert. Der Pi wird als “Pico” in deiner DAW erkannt.
lg Stefan
Herzlichen Dank, ich habe ein interessantes Projekt auf Github gefunden, war aber nicht sicher ob die Arduino IDE was mit der Raspberry Pi Pico anfangen kann. Bernd
Hallo Stefan,
gut beschrieben. Es klappt. Vielen Dank.
Viele Grüsse
Holger
Hallo, kann ich denn auch im Arduino-Betrieb einen Autostart aktivieren? wie?
Hi,
das ist eine gute Frage.
Ich schaue mir das gerne mal an.
Gruß, Stefan
Liebe Leute,
ich brauch mal eure Einschätzung.
Ich habe mir vor ein paar Tagen einen 4×4 RGB-Controller für die Erstellung eines Midi-Controllers zugelegt. Außerdem habe ich ein kleines Oled-Display und einen Encoder installiert und das Ganze mit Circuitpython programmiert.
Klappt, ist aber zu langsam.
Ich stehe jetzt vor der Aufgabe, den Controller zu beschleunigen. Was meint ihr:
– Reicht es, das Programm mit der Arduino-IDE neu zu schreiben und dann den kompilierten Scetch zu laden.
– Oder sollte ich direkt alles in C++ neu aufsetzen?
– Welche Geschwindigkeits-Steigerungen kann ich erwarten?
Für Tips und Hilfe schon jetzt mein Dank.
Norbert