Ein Anfängerleitfaden für MicroPython mit dem Raspberry Pi Pico

Ein Anfängerleitfaden für MicroPython mit dem Raspberry Pi Pico

Der Raspberry Pi Pico ist das neueste Mitglied der Raspberry Pi Familie. Zuvor waren die Raspberry Pi-Produktlinie Einplatinencomputer, die ein Betriebssystem ausführen konnten.

Basierend auf dem neuen RP2040-Chip unterstützt der Raspberry Pi Pico sowohl MicroPython als auch C/C++. Mit dem Raspberry Pi Pico können Einsteiger und Enthusiasten Hardware und angeschlossene Geräte steuern. Die GPIO-Pins des Raspberry Pi Pico können verwendet werden, um Lichter auszublenden, den Zustand von Schaltern auszulesen und vieles mehr.

Was ist MicroPython?

Die Programmierung auf Mikrocontrollern erfolgte überwiegend in der Sprache C, wie sie in Arduino-Entwicklungsboards verwendet wird . 2014 wurde dann eine neue Programmiersprache für Mikrocontroller, MicroPython, veröffentlicht. Mit MicroPython können Sie Python-Code auf dem Bare Metal eines Mikrocontrollers schreiben. Das bedeutet, dass Sie Python-Code ohne Betriebssystem schreiben können.

Python ist eine anfängerfreundliche Programmiersprache auf hohem Niveau, die es Benutzern ermöglicht, sich auf das Erlernen von Programmierkonzepten zu konzentrieren. Dies ist bei MicroPython ähnlich.

Verwendung einer LED

Um die Hardware zu steuern, spricht der Pico mit der Reihe von Pins entlang seiner beiden Kanten. Diese werden als General Purpose Input Output (GPIO)-Pins bezeichnet und die On-Board-LED befindet sich auf GPIO 25. Um sie zu steuern, importieren Sie zuerst die erforderlichen Bibliotheken:

import machine

import utime

Rufen Sie dann die Pin- Funktion mit der Maschinenbibliothek auf, um den GPIO-Pin des Pins zu verarbeiten. In diesem Fall richten wir den Pin auf GPIO 25 ein, also ist es der erste Parameter. Der zweite Parameter legt ihn als Ausgangs-Pin und nicht als Eingangs-Pin fest. Dadurch weiß der Pin, was er tun soll:

onboard_led = machine.Pin(25, machine.Pin.OUT)

Um fortzufahren, weisen wir den Pico im folgenden Code an, seinen Pin- Wert bei GPIO 25 auf 1 oder "on" zu setzen.

while True: onboard_led.value(1)

Sie können jedoch feststellen, dass nichts zu passieren scheint. Dies liegt daran, dass der Pico sehr schnell arbeitet, die LED also schneller aufleuchtet, als man mit dem Auge wahrnehmen kann. Um dies zu beheben, müssen wir das Programm mit dem Befehl sleep aus der utime- Bibliothek verlangsamen . Der vollständige Code, bei dem die LED ein- und ausgeschaltet wird, ist unten zu sehen:

import machine import utime onboard_led = machine.Pin(25, machine.Pin.OUT) while True: onboard_led.value(1) utime.sleep(5) onboard_led.value(0) utime.sleep(5)

Ein- und Ausschalten der LEDs

Alternativ gibt es eine andere Möglichkeit, LEDs mit dem Toggle- Befehl ein- und auszuschalten :

import machine import utime onboard_led = machine.Pin(25, machine.Pin.OUT) while True: led_onboard.toggle() utime.sleep(5)

Im Beispiel ersetzt der Toggle- Befehl das Setzen des Wertes der LED auf 1 und später auf 0. Sie leuchtet noch 5 Sekunden und erlischt dann weitere 5 Sekunden, solange das Programm läuft.

Funktionen erstellen

Ein Anfängerleitfaden für MicroPython mit dem Raspberry Pi Pico

Wenn Programme komplexer werden, hilft es, Codeblöcke zu gruppieren, damit die Kohärenz erhalten bleibt. Dazu erlaubt MicroPython wie Python die Verwendung von Funktionen. Funktionen sind eine Gruppe zusammengehöriger Anweisungen, die eine bestimmte Aufgabe ausführen. Im folgenden Code ist beispielsweise eine Funktion namens printNames definiert:

def printNames: print(“Raspberry Pi 1”) print(“Raspberry Pi 2”) print(“Raspberry Pi 3”) print(“Raspberry Pi 4”) print(“Raspberry Pi Compute Module”) print(“Raspberry Pi 400”) print(“Raspberry Pi Pico”) printNames()

Die letzte Zeile im Code ruft die Funktion auf, damit sie tatsächlich ausgeführt wird.

Schleifen

Ein Anfängerleitfaden für MicroPython mit dem Raspberry Pi Pico

Bedingte Logik führt unterschiedliche Aktionen aus, je nachdem, ob eine boolesche Einschränkung als wahr oder falsch ausgewertet wird. Viele Raspberry-Pi-Pico-Projekte basieren auf diesen logischen Aussagen. Im folgenden Beispiel wird eine if-else-Anweisung verwendet, um zu bestimmen, ob eine print- Anweisung ausgeführt wird:

i = 17 def printNames(): if i > 15: print("i is greater than 15!") else: print("i is not greater than 15") printNames()

Im nächsten Beispiel wird die for-Schleife mit der Bereichsfunktion verwendet. Diese Schleifen können verwendet werden, um einen Codeblock mehrmals zu wiederholen.

Ein Anfängerleitfaden für MicroPython mit dem Raspberry Pi Pico

In diesem Beispiel wird der Druckbefehl fünfmal mit einer Verzögerung von jeweils fünf Sekunden mit dem Schlafbefehl ausgeführt:

import utime def printNames(): for i in range(5): print("Raspberry Pi Pico") utime.sleep(5) printNames()

Analog-Digital-Wandler (ADC)

Obwohl Sie es nicht sehen können, verfügt der Raspberry Pi Pico über einen internen Analog-Digital-Wandler. Im folgenden Beispiel wird ein Potentiometer an den Raspberry Pi Pico auf GPIO 26 angeschlossen, der ADC-Funktionalität unterstützt:

import machine import utime pot = machine.ADC(26) while True: print(pot.read_u16()) utime.sleep(1)

Bevor wir diesen ADC-fähigen Pin verwenden können, muss er mit der ADC-Funktion eingerichtet werden. Während das Programm läuft, wird der Wert des Potentiometers jede Sekunde gedruckt. Andere Pins auf dem Raspberry Pi Pico, die ADC-fähig sind, sind GPIO27, 28 und 29.

Pulsweitenmodulation (Pwm)

Der digitale Ausgang eines Mikrocontrollers kann nur 1 oder 0 sein. Um ein analoges Signal zu erzeugen, benötigen Sie einen Digital-Analog-Wandler. Eine andere Möglichkeit besteht jedoch darin, ein analoges Signal künstlich zu erzeugen, indem man Pulsweitenmodulation oder kurz PWM verwendet.

Das Ein- und Ausschalten eines digitalen Signals wird als Impuls bezeichnet. Durch die Modulation der Breite eines Impulses wird künstlich ein analoges Signal erzeugt, wie im folgenden Beispiel zu sehen:

import machine import utime pot = machine.ADC(26 led = machine.PWM(machine.Pin(21)) led.freq(1000) while True: led.duty_u16(pot.read_u16())

Zuerst wurden die Maschinen- und utime- Bibliotheken importiert. Ein Objekt, onboard_led, wird mit einem aktivierten PWM-Ausgang an GPIO-Pin 21 erstellt. Dann wird mit dem freq- Befehl die Frequenz zur Modulation der Pulsbreite eingestellt. Stellen Sie sich vor, Sie drehen das Potentiometer, die LED wird heller, wenn sie in eine Richtung gedreht wird.

Dies liegt daran, dass der Analogwert des Potentiometers als Wert für das Tastverhältnis des PWM-Signals verwendet wird, es ist ein Wert zwischen 0 und 65535. Ohne Umrechnung kann jedoch ein leichtes Drehen des Potentiometers bereits dazu führen, dass die LED ihre maximale Helligkeit erreicht .

Um dies zu beheben, damit das Potentiometer erst bei ganzer Enddrehung die volle Helligkeit erreicht, wird der Wert mit der Funktion duty_u16 umgerechnet . Diese Funktion wandelt es in eine 16-Bit-Ganzzahl um, die einen Wert zwischen 0 und 1024 ist, was dem gleichen Wertebereich entspricht, den Sie vom analogen Pin des Pico erhalten würden.

Schaffen Sie mehr mit Raspberry Pi Pico

In diesem Artikel wurden die grundlegenden Befehle in MicroPython auf dem Raspberry Pi Pico behandelt. Weitere Informationen finden Sie in der offiziellen Dokumentation zur MicroPython-Programmierung mit dem Raspberry Pi Pico .

Wenn es noch nicht auf Ihrem Raspberry Pi Pico eingerichtet ist, holen Sie sich die Thonny-IDE , um Ihren MicroPython-Code auszuführen, oder testen Sie alternativ den Unicorn-CPU-Emulator , um einen virtuellen Mikrocontroller direkt auf Ihrem Computer auszuführen.


Die 10 besten DIY-Lichtideen, um Ihr Schlafzimmer zu verwandeln

Die 10 besten DIY-Lichtideen, um Ihr Schlafzimmer zu verwandeln

Beleuchtung ist der Klebstoff, der Ihre Einrichtung zusammenhält. Es setzt attraktive Akzente in Ihren Räumen und verwandelt es in eine warme, gemütliche Oase, in die Sie jeden Abend gerne kommen. Der beste Teil? Sie müssen nicht einmal die Bank sprengen, denn es gibt einige ziemlich phänomenale DIY-Ideen, um Ihr Schlafzimmer zu beleuchten. Hier unsere Top 10:

Entwerfen und 3D-Drucken Ihrer eigenen Tischminiaturen mit einem FDM-Drucker

Entwerfen und 3D-Drucken Ihrer eigenen Tischminiaturen mit einem FDM-Drucker

Tabletop-Spiele wie D&D und Warhammer bieten eine großartige Möglichkeit, interaktive Unterhaltung ohne Computer oder Konsole zu genießen.

So installieren Sie eine Dashcam in Ihrem Auto

So installieren Sie eine Dashcam in Ihrem Auto

Wenn Sie eine Dashcam haben, kann das Anbringen etwas mühsam erscheinen. In einigen Fällen ist es nicht so einfach, wie Sie möchten, aber der Einbau einer Dashcam in Ihr Auto ist jede Minute wert, die Sie damit verbringen.

Die 6 besten Orte, um nach 3D-Druckmodellen zu suchen

Die 6 besten Orte, um nach 3D-Druckmodellen zu suchen

Als 3D-Druckpatente ausliefen, explodierte die Branche in den Haushalten.

So stellen Sie Daten von einer externen Festplatte wieder her

So stellen Sie Daten von einer externen Festplatte wieder her

Externe Festplatten werden aufgrund ihrer Geschwindigkeit, Kosten und Bequemlichkeit immer beliebter. Wie normale Festplatten unterliegen sie jedoch den gleichen Datenverlustrisiken, sei es mechanisch oder softwarebedingt.

10 DIY-WLAN-Antennen mit großer Reichweite, die Sie zu Hause herstellen können

10 DIY-WLAN-Antennen mit großer Reichweite, die Sie zu Hause herstellen können

Mit modernen Wi-Fi-Antennen können Sie zwar die schnellsten Geschwindigkeiten im Paket Ihres ISPs verwenden, sie können jedoch ziemlich teuer sein. Glücklicherweise können Sie sich jederzeit an DIY-Projekte wenden, um Ihr Verbindungssignal zu verbessern, ohne zu viel Geld auszugeben.

So bauen Sie einen DIY-Würfelturm für Tabletop-Gaming

So bauen Sie einen DIY-Würfelturm für Tabletop-Gaming

Es wird angenommen, dass es seit Tausenden von Jahren Würfel gibt. In dieser Zeit wurde jedoch sehr wenig getan, um diese Technologie voranzutreiben oder zu innovieren. Während sich die Materialien geändert haben und sich auch die Methoden zur Herstellung von Würfeln verbessert haben, würfeln Sie immer noch wie eine Art Höhlenmensch mit der Hand.

Die 10 besten ESP32 Smart Home-Projekte

Die 10 besten ESP32 Smart Home-Projekte

Ein Smart Home ist eines, in dem Geräte und Geräte von jedem Telefon oder Computer mit Internetverbindung aus ferngesteuert werden können. Es basiert normalerweise auf drahtlos verbundenen Geräten, die mit Mikrocontrollern erstellt wurden, wie einem Arduino oder einem ESP32-Board.

11 Alternativen zum Raspberry Pi Pico

11 Alternativen zum Raspberry Pi Pico

Die Veröffentlichung des Raspberry Pi Pico war aufregend. Die Raspberry Pi Foundation drängte nicht nur endgültig in den bisher von Arduino dominierten Hobby-Mikrocontroller-Markt, sondern tat dies auch mit eigenem Silizium.

Die 10 besten DIY-Lichtideen, um Ihr Schlafzimmer zu verwandeln

Die 10 besten DIY-Lichtideen, um Ihr Schlafzimmer zu verwandeln

Beleuchtung ist der Klebstoff, der Ihre Einrichtung zusammenhält. Es setzt attraktive Akzente in Ihren Räumen und verwandelt es in eine warme, gemütliche Oase, in die Sie jeden Abend gerne kommen. Der beste Teil? Sie müssen nicht einmal die Bank sprengen, denn es gibt einige ziemlich phänomenale DIY-Ideen, um Ihr Schlafzimmer zu beleuchten. Hier unsere Top 10:

Entwerfen und 3D-Drucken Ihrer eigenen Tischminiaturen mit einem FDM-Drucker

Entwerfen und 3D-Drucken Ihrer eigenen Tischminiaturen mit einem FDM-Drucker

Tabletop-Spiele wie D&D und Warhammer bieten eine großartige Möglichkeit, interaktive Unterhaltung ohne Computer oder Konsole zu genießen.

So installieren Sie eine Dashcam in Ihrem Auto

So installieren Sie eine Dashcam in Ihrem Auto

Wenn Sie eine Dashcam haben, kann das Anbringen etwas mühsam erscheinen. In einigen Fällen ist es nicht so einfach, wie Sie möchten, aber der Einbau einer Dashcam in Ihr Auto ist jede Minute wert, die Sie damit verbringen.

Die 6 besten Orte, um nach 3D-Druckmodellen zu suchen

Die 6 besten Orte, um nach 3D-Druckmodellen zu suchen

Als 3D-Druckpatente ausliefen, explodierte die Branche in den Haushalten.

So stellen Sie Daten von einer externen Festplatte wieder her

So stellen Sie Daten von einer externen Festplatte wieder her

Externe Festplatten werden aufgrund ihrer Geschwindigkeit, Kosten und Bequemlichkeit immer beliebter. Wie normale Festplatten unterliegen sie jedoch den gleichen Datenverlustrisiken, sei es mechanisch oder softwarebedingt.

10 DIY-WLAN-Antennen mit großer Reichweite, die Sie zu Hause herstellen können

10 DIY-WLAN-Antennen mit großer Reichweite, die Sie zu Hause herstellen können

Mit modernen Wi-Fi-Antennen können Sie zwar die schnellsten Geschwindigkeiten im Paket Ihres ISPs verwenden, sie können jedoch ziemlich teuer sein. Glücklicherweise können Sie sich jederzeit an DIY-Projekte wenden, um Ihr Verbindungssignal zu verbessern, ohne zu viel Geld auszugeben.

Ein Anfängerleitfaden für MicroPython mit dem Raspberry Pi Pico

Ein Anfängerleitfaden für MicroPython mit dem Raspberry Pi Pico

Der Raspberry Pi Pico ist das neueste Mitglied der Raspberry Pi Familie. Zuvor waren die Raspberry Pi-Produktlinie Einplatinencomputer, die ein Betriebssystem ausführen konnten.

So bauen Sie einen DIY-Würfelturm für Tabletop-Gaming

So bauen Sie einen DIY-Würfelturm für Tabletop-Gaming

Es wird angenommen, dass es seit Tausenden von Jahren Würfel gibt. In dieser Zeit wurde jedoch sehr wenig getan, um diese Technologie voranzutreiben oder zu innovieren. Während sich die Materialien geändert haben und sich auch die Methoden zur Herstellung von Würfeln verbessert haben, würfeln Sie immer noch wie eine Art Höhlenmensch mit der Hand.

Die 10 besten ESP32 Smart Home-Projekte

Die 10 besten ESP32 Smart Home-Projekte

Ein Smart Home ist eines, in dem Geräte und Geräte von jedem Telefon oder Computer mit Internetverbindung aus ferngesteuert werden können. Es basiert normalerweise auf drahtlos verbundenen Geräten, die mit Mikrocontrollern erstellt wurden, wie einem Arduino oder einem ESP32-Board.

So übertakten Sie den PC-RAM: Aber sollten Sie?

So übertakten Sie den PC-RAM: Aber sollten Sie?

RAM für Ihren PC zu bekommen ist eine Notwendigkeit. Wenn Sie es jedoch nicht mit seiner maximalen Kapazität betreiben, verlieren Sie viel. Jedes einzelne Programm speichert Daten für eine Weile im RAM, um einen schnelleren Zugriff zu ermöglichen. Mit einem übertakteten Arbeitsspeicher können Sie die Leistung Ihres PCs steigern.