Raspberry Pi Pico: Schnittstellen ansteuern
Das Mikrocontroller-Board Raspberry Pi Pico verfügt über eine Vielzahl unterschiedlicher Schnittstellen, die es ermöglichen, verschiedene Komponenten und Geräte anzuschließen.
Dazu gehört ein MicroUSB-Anschluss für die Stromversorgung und Datenübertragung, GPIO-Pins zur Steuerung externer Geräte, I2C und SPI, sowie UART für die Kommunikation mit anderen Geräten. Darüber hinaus lassen sich an den GPIOs ein PWM-Signal zum Ansteuern von Motoren oder LEDs ausgeben.
Der Raspberry Pi Pico W (WH) verfügt sogar über einen Funkchip, der den Pico mit einem WLAN verbinden kann.
Welche Schnittstelle man verwendet hängt davon ab, was die Gegenstelle anbietet. Entscheidend ist die Kommunikationsrichtung, unidirektional als Eingang, Ausgang oder bidirektional mit einem Protokoll.
Übersicht: Werte und Zustände messen
- GPIO als digitaler Eingang zum Ermitteln eines Zustands
- GPIO als analoger Eingang mit ADC zum Messen einer Spannung
Übersicht: Unidirektionale Kommunikation: Signalisieren und steuern
- GPIO als digitaler Ausgang
- GPIO als Ausgang mit PWM-Signal
Übersicht: Bidirektionale Kommunikation
Bidirektionale Kommunikation wird zur Übermittlung unterschiedlicher Kommandos zur Abfrage von Daten oder Steuerung verwendet.
Ein Nachteil davon ist, dass die Software-seitige Ansteuerung geeignete Treiber oder Bibliotheken notwendig macht.
- UART
- SPI
- I2C
- Bit Banging
Digitaler Ausgang (GPIO)
Ein GPIO-Ausgang kann die Zustände "High" und "Low" annehmen. Das bedeutet, dass entweder eine Spannung von VCC für "High" oder 0 V für "Low" am Ausgang anliegt. Die anliegende Spannung nutzt man im Regelfall, um Bauteile oder Geräte zu schalten. Ist ein GPIO als Ausgang definiert, dann kann man im einfachsten Fall eine LED zum Leuchten bringen oder über einen Transistor, ein Relais oder einen Motor steuern.
Digitaler Eingang (GPIO)
Ein digitaler Eingang an einem Mikrocontroller ist eine Schnittstelle, über die externe Geräte Signale an den Mikrocontroller weitergeben können. Diese Signale müssen der binären Logik folgen und können nur zwei Zustände annehmen: HIGH oder LOW. Ein HIGH-Signal entspricht dabei in der Regel VCC während ein LOW-Signal 0 V hat.
Das funktioniert gut bei Sensoren, die wie ein Schalter arbeiten. Sie liefern die beiden Zustände: ein und aus. Solche Signale lassen sich besonders einfach auswerten, da der Mikrocontroller an einen GPIO-Eingang direkt erkennen kann, ob ein Signal HIGH oder LOW ist.
Analoger Eingang (ADC)
Sensoren ändern ihren elektrischen Widerstand als Reaktion auf eine physikalische Änderung. Zum Beispiel von Temperatur oder Licht. Mit einem analogen Eingang (ADC) kann man diese Widerstandsänderung durch das Messen einer Spannung feststellen. Während ein digitaler Eingang nur zwei Zustände feststellen und somit nur einen Schwellwert auswerten kann, kann ein analoger Eingang in Abhängigkeit vom ADC viel mehr Werte unterscheiden. Die Kalibrierung und Definition der Schwellwerte kann dann in der Software erfolgen, die sogar dynamisch angepasst werden können.
- Raspberry Pi Pico: Grundlagen zu ADC (Analog-Digital-Converter)
- Raspberry Pi Pico: Experimente mit ADC
GPIO-Ausgang mit PWM-Signal
PWM steht für Pulsweitenmodulation bzw. Pulse Width Modulation. Modulationsverfahren werden eingesetzt, um Informationen und Daten so in elektrische Signale umzuwandeln, dass sie für die Übertragung geeignet sind.
In einem PWM-Signal kann man eine Information im Rechtecksignal mit unterschiedlicher Pulsbreite übertragen. Die Information steckt im Verhältnis der Impulsbreite bzw. Impulsweite zur Periodendauer des Signals.
Um ein PWM-Signal zu erzeugen benötigt man einen PWM-Signalgenerator. Ein Raspberry Pi Pico kann an jedem GPIO ein PWM-Signal erzeugen und damit externe Geräten steuern. Einmal programmiert, wiederholt der PWM-Generator das Signal so lange, bis es geändert oder abgeschaltet wird.
UART
UART ist eine Standard-Schnittstelle, die eine Vielzahl von Geräten haben, um Daten mit einem anderen Geräte austauschen zu können. Obwohl im PC-Bereich fast alle externen Verbindungen mit USB realisiert werden, wird die serielle Schnittstelle oft zur Übertragung von Daten über USB emuliert.
Eine serielle Schnittstelle wie UART ist die einfachste Form, um Textzeichen zwischen Geräten auszutauschen. Die Schnittstelle kann sowohl unidirektional als auch bidirektional eingesetzt werden.
- Raspberry Pi Pico: Grundlagen zum UART
- Raspberry Pi Pico: UART verbinden und programmieren
- Raspberry Pi Pico: Gerät mit AT-Kommandos über UART steuern
I2C
I2C verwendet bidirektionale Daten- und Taktleitungen und wird typischerweise für die Kommunikation zwischen mehreren Komponenten auf der selben Platine oder zwischen Platinen benutzt.
- Raspberry Pi Pico: Grundlagen zum I2C
- Raspberry Pi Pico: I2C verbinden und programmieren
- Raspberry Pi Pico: Troubleshooting I2C - Fehler, Probleme und Lösungen
SPI
SPI ist eine Schnittstelle und ein Protokoll, das häufig zum Verbinden von Mikrocontrollern mit anderen Geräten wie Sensoren, Speichermedien oder Anzeigen verwendet wird. SPI ermöglicht eine einfache Datenübertragung mit mehreren Geräten an einem Bus. Es ist für eine Vielzahl von Anwendungen einsetzbar, bei denen eine schnelle Übertragung von Daten erforderlich ist.
Bit Banging
Bit Banging bezeichnet ein Verfahren, bei dem ein Bussystem über die GPIO-Pins eines Mikrocontrollers nachgebildet wird. Dieses Vorgehen wird dann nötig, wenn ein Sensor so spezielle Anforderungen hat, dass er sich nicht mit einem gängigen Standardprotokoll ansprechen lässt. In solchen Fällen muss ein eigener Code geschrieben werden, um die Kommunikation mit dem Sensor zu ermöglichen.
Beim Bit Banging werden Ausgänge in exakt vorgegebenen Zeitabständen ein- und ausgeschaltet oder an Eingängen Zeitdifferenzen zwischen Pegeländerungen gemessen.
Ein typisches Beispiel ist die Ansteuerung eines Ultraschall-Entfernungssensors vom Typ HC-SR04: Über den Trigger-Pin wird eine Zeitmessung gestartet, während am Echo-Pin ein Signal empfangen wird. Aus der gemessenen Zeitspanne lässt sich anschließend die Entfernung berechnen.
Weitere verwandte Themen:
- Raspberry Pi Pico: Anschlüsse und Schnittstellen
- Raspberry Pi Pico: Speicher
- Raspberry Pi Pico: Grundlagen der Energieversorgung / Stromversorgung
- Raspberry Pi Pico: 10 nützliche Anwendungen und Projekte zum Nachbauen
- Raspberry Pi Pico: 10 einfache Experimente und Ideen für Anfänger zum Nachbauen und Experimentieren
Frag Elektronik-Kompendium.de
Hardware-nahes Programmieren mit dem Raspberry Pi Pico und MicroPython
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
Online-Workshop: 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.
Besuchen Sie unser fast monatlich stattfindendes Online-Meeting PicoTalk und lernen Sie uns kennen. Die Teilnahme ist kostenfrei.