Raspberry Pi Pico als USB-Endgerät (mit CircuitPython)

Eine Besonderheit des Raspberry Pi Pico ist die Integration des USB im Mikrocontroller RP2040. Das heißt, der Pico lässt sich sehr leicht als USB-Endgerät an einem Host-Computer anmelden. Der Pico kann dabei theoretisch jedes beliebige USB-Gerät emulieren. Für CircuitPython gibt es eine Bibliothek, die es sehr einfach macht, eine HID-Steuerung (Human Interface Device), also Tastatur- und Mausfunktionen, in einen Programmcode zu integrieren. Der Raspberry Pi Pico kann dann zum Beispiel als Tastatur oder Maus fungieren.

Die Kombination aus Raspberry Pi Pico und CircuitPython mit USB-Unterstützung ermöglicht in nur wenigen Schritten kreative Eingabe- und Steuerungsprojekte.

CircuitPython-Bibliothek für die USB-Unterstützung

Damit die USB-Unterstützung in CircuitPython funktioniert, muss eine Bibliothek auf dem Pico installiert sein. Im Prinzip müssen mehrere Dateien in das lib-Verzeichnis kopiert werden.
Die erforderliche Bibliothek befindet sich in einem Bundle mit allen Bibliotheken für CircuitPython von Adafruit.

Hier muss man das Bundle als ZIP-Datei herunterladen. Zu beachten ist, dass man die Version herunterlädt, die zur CircuitPython-Version auf dem Raspberry Pi Pico passt. Welche das ist, zeigt die Thonny Python IDE in der Kommandozeile an, wenn man den Raspberry Pi Pico mit dem Host-Computer verbindet.

Nach dem Download entpackt man die ZIP-Datei und kopiert das Verzeichnis „adafruit_hid“ von „lib“ in das Verzeichnis „lib“ auf dem Pico. Damit ist die Installation der USB-Unterstützung fast erledigt.

Deutsches Tastatur-Layout

Wer die Absicht hat, ganze Zeichenketten per Tastatur-Emulation an den Host-Computer zu senden, der sollte noch folgendes wissen. Standardmäßig bringt die Adafruit-Bibliothek nur das US-Tastaturlayout mit. Dort sind einige Tasten anders belegt, als bei einer deutschen Tastatur. Zum Beispiel sind Y und Z vertauscht. Das hat zur Folge, wenn man eine Zeichenkette mit einem Z sendet, dass stattdessen ein Y dargestellt wird, und umgekehrt.
Es ist empfehlenswert das deutsche Tastaturlayout herunter zu laden und auf den Pico zu kopieren.

Dort muss die Datei „keyboard_layout_win_de.py“ heruntergeladen und auf dem Pico in das Verzeichnis „lib“ kopiert werden.

Raspberry Pi Pico als USB-Tastatur (mit CircuitPython)

Der Raspberry Pi Pico kann als Tastatur fungieren. Auf diese Weise kann ein Raspberry Pi Pico Daten an ein Textfeld einer Software übergeben. Angewendet wird dieses Prinzip zum Beispiel bei einem Barcode-Lesern.

Raspberry Pi Pico als Zwei-Taster-Tastatur (mit CircuitPython)

Auf einem Desktop-PC mit Windows, Linux und macOS lässt sich fast jede Software nicht nur mit der Maus, sondern auch mit Tastenkombinationen steuern. Die werden normalerweise von einem Mensch betätigt und an die Software gesendet. Denkbar wäre, dass das ein Raspberry Pi Pico macht. Man könnte sich eine Tastatur aus Tastern bauen, die spezielle Funktionen auslösen, die man immer wieder braucht. Anstatt eine komplexe Tastenkombination auf einer Tastatur zu drücken, könnte das der Pico per Taster-Betätigung tun. Oder zum Beispiel ein selten benötigtes Sonderzeichen, dass nur über eine bestimmte Tastenkombination erreichbar ist.

Weitere verwandte Themen:

Frag Elektronik-Kompendium.de

Hardware-nahes Programmieren mit dem Raspberry Pi Pico und MicroPython

Elektronik-Set Pico Edition

Das Elektronik-Set Pico Edition ist ein Bauteile-Sortiment mit Anleitung zum Experimentieren und Programmieren mit MicroPython.

  • LED: Einschalten, ausschalten, blinken und Helligkeit steuern
  • Taster: Entprellen und Zustände anzeigen
  • LED mit Taster einschalten und ausschalten
  • Ampel- und Lauflicht-Steuerung
  • Elektronischer Würfel
  • Eigene Steuerungen programmieren

Elektronik-Set jetzt bestellen Online-Workshop buchen

Online-Workshop: Programmieren mit dem Raspberry Pi Pico

Programmieren mit dem Raspberry Pi Pico

Gemeinsam mit anderen und unter Anleitung experimentieren? Wir bieten unterschiedliche Online-Workshops zum Raspberry Pi Pico und MicroPython an. Einführung in die Programmierung, Sensoren programmieren und kalibrieren, sowie Internet of Things und Smart Home über WLAN und MQTT.

Online-Workshop buchen

Besuchen Sie unser fast monatlich stattfindendes Online-Meeting PicoTalk und lernen Sie uns kennen. Die Teilnahme ist kostenfrei.

Termine und Newsletter-Anmeldung

 

Elektronik-Sets für das Hardware-nahe Programmieren