Nicht aus der Schweiz? Besuchen Sie lehmanns.de
Raspberry Pi Pico und Pico W Schnelleinstieg -  Thomas Brühlmann

Raspberry Pi Pico und Pico W Schnelleinstieg (eBook)

Kompakter Leitfaden für die Hardware. Einfache Programmierung mit MicroPython
eBook Download: EPUB
2023 | 1. Auflage
208 Seiten
MITP Verlags GmbH & Co. KG
978-3-7475-0642-4 (ISBN)
Systemvoraussetzungen
24,99 inkl. MwSt
(CHF 24,40)
Der eBook-Verkauf erfolgt durch die Lehmanns Media GmbH (Berlin) zum Preis in Euro inkl. MwSt.
  • Download sofort lieferbar
  • Zahlungsarten anzeigen
  • Alle technischen Daten und Anschlüsse
  • Einfache Codebeispiele in MicroPython
  • Zahlreiche praktische Anwendungen

Dieses Buch ist ein kompakter und praktischer Leitfaden für den Raspberry Pi Pico und Pico W inklusive der Programmierung mit MicroPython.

Sie lernen zunächst die Hardware mit allen Anschlüssen und technischen Daten sowie die Firmware kennen und erfahren, wie Sie die Entwicklungsumgebung Thonny installieren und konfigurieren.

Anschließend behandelt der Autor alle Themen, die für den ersten Einstieg relevant sind: Ein- und Ausgänge, Verarbeitung analoger Daten, Temperaturmesser, digitale Anzeigen wie LED, LCD und OLED sowie die Verwendung von Schnittstellen wie UART, I2C und Wifi. Zum Abschluss zeigt Ihnen der Autor weitere mögliche Programmerweiterungen.

Mit diesem Buch sind Sie bestens vorbereitet, den Raspberry Pi Pico selbstständig für eigene Projekte einzusetzen.

Aus dem Inhalt

  • LED-Dimmer
  • Servo-Ansteuerung
  • Relais-Ansteuerung
  • Motoren-Steuerung für Roboter
  • LED-Ampel
  • Lichtmesser
  • Temperaturmessung mit NTC
  • Wetterstation mit OLED
  • Datenaustausch mit Arduino
  • Alarmblinker
  • Webanwendungen wie Webserver und MQTT-Client mit Raspberry Pi Pico W


Thomas Brühlmann arbeitet als Consultant und hat langjährige Erfahrung in der Hardware- und Softwareentwicklung. Nebenbei realisiert er Projekte mit Open-Source-Hardware, hält Vorträge und führt Workshops durch. In seinem Blog unter 555circuitslab.com publiziert er Projekte, Anwendungen, Tipps und Tricks.

Kapitel 3
Erste Schritte


In diesem Kapitel werden Sie das erste Programm in MicroPython erstellen und auf den Raspberry Pi Pico laden. Nach dem Blink-Programm lernen Sie den Programmaufbau und die ersten Programmbefehle kennen.

3.1 Erstes Programm


Die Programmierung des Pico über die Thonny-Entwicklungsumgebung erfordert einen angeschlossenen Raspberry Pi Pico. Somit müssen Sie den Pico über das USB-Kabel mit dem Rechner verbinden.

In der Shell wird die Verbindung mit einem entsprechenden Hinweis ausgegeben (Abbildung 3.1)

Abb. 3.1: ThonnyIDE – MicroPython mit Pico

Das erste Programm kann nun über die Shell ausgeführt werden. Dazu gibt man in der Shell nach >>> die Programm-Anweisung ein.

In unserem Fall werden wir einen Text in der Konsole ausgeben und mit ­einem Zeilenumbruch (Enter) bestätigen

print("Hallo Raspberry Pi Pico")

Nach der Eingabe wird das Programm direkt ausgeführt. Der MicroPython-Interpreter, der auf dem Pico läuft, führt die Anweisung umgehend aus. Die-
ser Modus wird als »interactive Mode« bezeichnet (Abbildung 3.2)

Abb. 3.2: MicroPython – Anweisung im interactive Mode

In diesem Betriebsmodus können auch Anweisungen über mehrere Zeilen eingegeben werden. Diese Shell-Oberfläche ist ebenfalls unter der englischen Abkürzung repl (read, evaluate, print und loop) bekannt.

Wir wollen nun die Onboard-Leuchtdiode (eine Leuchtdiode wird in der Kurzform als LED bezeichnet) ansteuern.

Die Onboard-LED ist bei den beiden Pico-Boards unterschiedlich (Tabelle 3.1).

Tab. 3.1: Pin für Onboard-Leuchtdiode

Dazu müssen wir im ersten Schritt eine sogenannte Bibliothek (Library), also ein vorgefertigtes Paket von MicroPython-Code mit Funktionen, importieren. In unserem Fall die Bibliothek machine. Diese Bibliothek beinhaltet alle Funktionen, die zur Kommunikation mit dem Pico und zur Ansteuerung der einzelnen Pins benötigt werden.

import machine

In der nächsten Programmzeile definieren wir eine Variable led. Diese ist ein aussagekräftiger Verweis auf den Pin für die Onboard-LED. Den Variablen-Namen können Sie nach Wunsch wählen, auch Hotdog, Susanne oder Schlafsack würden funktionieren. In der Programmierung verwendet man aber aussagekräftige Variablennamen, um in einem längeren Programm auch den Zusammenhang zu verstehen. Ein anderer Anwender, der Ihren Code verwendet, würde bei der Variablen Hotdog nicht direkt einen Zusammenhang mit der Leuchtdiode erkennen.

Für die Ansteuerung der Leuchtdiode wird eine Funktion Pin aus der ­machine-Bibliothek verwendet. Dieser Funktion müssen wir die Pin-Nummer 25 (Pico) beziehungsweise die Pinvariable und die Art des Pins (Eingang oder Ausgang) übergeben.

Pico:

led=machine.Pin(25, machine.Pin.Out)

Pico W:

machine.Pin("LED”, machine.Pin.Out)

Jetzt können wir der LED den Wert 1 übergeben.

led.value(1)

Mit dem Wert 1 wird die Leuchtdiode eingeschaltet und mit 0 kann diese wieder ausgeschaltet werden.

led.value(0)

Gratulation, Sie haben das erste MicroPython-Programm für den Pico geschrieben!

Dieses interaktive Betriebsmodul eignet sich natürlich nur für Tests und für einfache Eingaben über die Shell-Oberfläche. Die einzelnen Zeilen dieses »Programms« sind nämlich nicht gespeichert. Nach dem nächsten Start der Entwicklungsumgebung oder einem Neustart des Pico ist das Programm nicht mehr vorhanden.

3.2 Projekt »Blink LED«


In diesem ersten richtigen Programm wollen wir jetzt die einzelnen Anweisungszeilen aus Abschnitt 3.1 zu einem Programm zusammenführen und als Programm speichern.

Im ersten Schritt werden wieder die nötigen Bibliotheken geladen. Die utime-Bibliothek wird für die Wartezeit zwischen den Blink-Zuständen benötigt.

import machine
import utime

Nun wird für den Raspberry Pi Pico die Variable für die Onboard-Leuchtdiode deklariert und dem Pin 25 zugewiesen.

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

Im Hauptprogramm wird nun der Wert der LED-Variablen auf 1 gesetzt und die LED leuchtet. Anschließend erfolgt eine Wartezeit von 1 Sekunde. Da-
nach wird die Leuchtdiode wieder mit dem Wert 0 ausgeschaltet. Nach einer weiteren Wartezeit von 1 Sekunde ist ein Programmdurchlauf abgeschlossen und beginnt wieder von vorne.

while True:
led.value(1)
utime.sleep(1)
led.value(0)
utime.sleep(1)

Nach dem Erstellen des Blink-Programms kann es gespeichert werden. Falls auf dem Pico bereits ein Programm läuft, muss dieses über das Stopp-Icon in der Menüleiste gestoppt werden.

Mit dem Aufruf der Speicher-Funktion in Thonny öffnet sich ein Dialog­fenster.

Hier besteht die Möglichkeit, das Programm lokal auf dem Rechner oder auf dem Pico abzuspeichern (Abbildung 3.3).

Abb. 3.3: MicroPython-Programm speichern

Wir wählen die Auswahl Raspberry Pi Pico und speichern das Blink-Programm als Datei blink.py auf dem Pico ab (Abbildung 3.4).

Abb. 3.4: blink.py auf Pico speichern

Somit ist das erste MicroPython-Programm gespeichert und kann bei Bedarf auch wieder vom Pico geladen werden.

  

Wenn bei jedem Start des Pico das gleiche Programm geladen werden muss, muss dieses als Datei main.py gespeichert werden. Auf diese Weise kann der Pico auch ohne mit dem Rechner verbunden zu sein ein gewünschtes Programm ausführen. MicroPython prüft dabei jeweils, ob eine Datei main.py im Filesystem des Pico vorhanden ist.

3.3 Programmaufbau


Das Beispiel »Blink« aus Abschnitt 3.2 zeigt die Grundstruktur eines Programms für den Pico in MicroPython.

Mit Kommentaren versehen sieht der Programmaufbau anhand des Blink-Programms so aus:

#Bibliotheken
import machine
import utime

#Variablen
led=machine.Pin(25, machine.Pin.OUT)

#Funktionen

#Loop
while True:
led.value(1)
utime.sleep(1)
led.value(0)
utime.sleep(1)

Im Blink-Beispiel ist einzig bei den Funktionen keine Codezeile vorhanden. Dieses Programm führt keine eigene Funktion aus.

Nach dem Import der Bibliotheken und der Initialisierung von Variablen und Objekten wird das Hauptprogramm (Loop) ausgeführt.

Das Hauptprogramm wird jeweils vom Anfang bis zum Ende durchlaufen und beginnt dann wieder am Anfang. Dieser Vorgang wird ausgeführt, bis die Spannungsversorgung des Pico unterbrochen wird.

Im Hauptprogramm der Blink-Anwendung wird die Leuchtdiode ein- und ausgeschaltet, wobei dazwischen jeweils eine Wartezeit von einer Sekunde liegt.

Kommentare

Für Kommentarzeilen setzt man ein # vor die jeweilige Zeile. Alle Anweisungen hinter dem Zeichen # werden als Kommentar betrachtet und nicht ausgeführt.

Kommentare eignen sich, um den eigenen Programmcode mit Erklärungen zu ergänzen.

#Bibliotheken
import machine
import utime
...

Variablen

Variablen in MicroPython sind wie in jeder anderen Programmiersprache kleine Speicher, die einen Namen besitzen und Daten speichern. Der Varia­blenname kann dabei nach Wunsch gewählt werden und sollte aussagekräftig sein. In jeder Programmiersprache gibt es reservierte Namen, die nicht als Variablennamen verwendet werden dürfen. In Python oder MicroPython sind das beispielsweise:

and, break, def, class, else, False, not, or, True

Eine ausführliche Liste der reservierten Namen für Python beziehungsweise MicroPython finden Sie hier:

https://www.w3schools.com/python/python_ref_keywords.asp

Auch beim Einsatz von Sonderzeichen ist Vorsicht geboten.

Im Beispiel der Variablen led wird in der Variablen der Verweis auf den Ausgang mit der Onboard-Leuchtdiode gespeichert:

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

Im ganzen Programm kann anschließend die Variable led quasi als Platzhalter eingesetzt werden. Möchte man den Inhalt der Variablen ändern, beispielsweise einen anderen Pin verwenden, muss die neue Pin-Nummer nur zu Beginn des MicroPython-Programms angepasst werden.

Beispiel: externe Leuchtdiode an Pin GP2

led=machine.Pin(2, machine.Pin.OUT)

In einem Programm kann sich der Wert der Variablen während des Programm­ablaufs verändern. Eine Zählervariable runden startet mit einem Wert 0 und wird jeweils um 1 erhöht. Der Wert der Zählervariablen wird in der Shell ausgegeben.

Beispiel: Rundenzähler

# RPi Pico – Rundenzähler

import machine
import utime

runden=0

while True:
print("Runden:",runden)
runden=runden+1
utime.sleep(1)

In diesem Beispiel des Rundenzählers beginnt der Zähler bei 0. In jedem Programmdurchlauf wird der Wert um 1...

Erscheint lt. Verlag 26.4.2023
Sprache deutsch
Themenwelt Mathematik / Informatik Informatik
ISBN-10 3-7475-0642-9 / 3747506429
ISBN-13 978-3-7475-0642-4 / 9783747506424
Haben Sie eine Frage zum Produkt?
EPUBEPUB (Wasserzeichen)
Größe: 12,9 MB

DRM: Digitales Wasserzeichen
Dieses eBook enthält ein digitales Wasser­zeichen und ist damit für Sie persona­lisiert. Bei einer missbräuch­lichen Weiter­gabe des eBooks an Dritte ist eine Rück­ver­folgung an die Quelle möglich.

Dateiformat: EPUB (Electronic Publication)
EPUB ist ein offener Standard für eBooks und eignet sich besonders zur Darstellung von Belle­tristik und Sach­büchern. Der Fließ­text wird dynamisch an die Display- und Schrift­größe ange­passt. Auch für mobile Lese­geräte ist EPUB daher gut geeignet.

Systemvoraussetzungen:
PC/Mac: Mit einem PC oder Mac können Sie dieses eBook lesen. Sie benötigen dafür die kostenlose Software Adobe Digital Editions.
eReader: Dieses eBook kann mit (fast) allen eBook-Readern gelesen werden. Mit dem amazon-Kindle ist es aber nicht kompatibel.
Smartphone/Tablet: Egal ob Apple oder Android, dieses eBook können Sie lesen. Sie benötigen dafür eine kostenlose App.
Geräteliste und zusätzliche Hinweise

Buying eBooks from abroad
For tax law reasons we can sell eBooks just within Germany and Switzerland. Regrettably we cannot fulfill eBook-orders from other countries.

Mehr entdecken
aus dem Bereich
Konzepte, Methoden, Lösungen und Arbeitshilfen für die Praxis

von Ernst Tiemeyer

eBook Download (2023)
Carl Hanser Verlag GmbH & Co. KG
CHF 68,35
Konzepte, Methoden, Lösungen und Arbeitshilfen für die Praxis

von Ernst Tiemeyer

eBook Download (2023)
Carl Hanser Verlag GmbH & Co. KG
CHF 68,35
Der Weg zur professionellen Vektorgrafik

von Uwe Schöler

eBook Download (2024)
Carl Hanser Verlag GmbH & Co. KG
CHF 29,30