Alles über den Raspberry Pi Pico
Wenn Sie Ihren ersten Raspberry Pi kaufen möchten, könnte der Pico eine sehr attraktive Option sein.
Die eigentliche Frage ist jedoch, ob der Raspberry Pi Pico das Richtige für Sie ist.
Es gibt viele Vor- und Nachteile beim Kauf des Raspberry Pi Pico, und es ist wichtig, das Sprichwort "Pferde für Kurse" zu verstehen.
Sehen wir uns den Raspberry Pi Pico an
Der Raspberry Pi Pico betritt Neuland in der Raspberry Pi-Reihe, denn er ist ein Mikrocontroller-Entwicklungsboard. Dies stellt eine Abkehr von den übrigen Raspberry Pis dar, die Mikrocomputer sind.
Er ist mit dem RP2040-Chip ausgestattet, der von Raspberry Pi selbst entwickelt wurde, und hat die folgenden Spezifikationen:
- Dual-Core ARM Cortex M0+ CPU-Kerne (bis zu 133 MHz)
- 264K SRAM
- 2MB Flash-Speicher
Der Raspberry Pi Pico zeichnet sich durch einen leistungsstarken Mikrocontroller aus und hat viele interessante Einsatzmöglichkeiten.
Pro: Günstig und ideal für Einsteiger
Wir verkaufen den Raspberry Pi Pico für 4,10 €. das ist der billigste Raspberry Pi, den Sie kaufen können. Wenn Sie zum ersten Mal mit dem Raspberry Pi Pico basteln, können Sie sogar ein komplettes Set für 24,95 €. die alles enthält, was Sie zum Bau einfacher Projekte benötigen.
Pro: Großartig für Echtzeitanwendungen
Der Raspberry Pi Pico eignet sich perfekt für Projekte, bei denen Sie Ereignisse zeitlich genau steuern müssen. Zum Beispiel das Auslesen von Sensoren, die Bedienung von Motoren und die Überwachung von Aufgaben.
Pro: Analoge Eingänge
Der Raspberry Pi Pico ist der erste Raspberry Pi, der von Werk aus über analoge Eingänge verfügt.
Er verfügt über insgesamt 5 ADC-Eingänge (Analog-Digital-Wandler). Zwei davon werden vom Pico für den internen Temperatursensor und für die Spannungsüberwachung verwendet.
Wie kann man also von einem Analogeingang profitieren? In einem meiner Projekte wurde zum Beispiel ein Potentiometer verwendet, um die Schaltfrequenz eines Relais zu regulieren. Der Raspberry Pi Pico wäre also in der Lage, einen Wert vom Potentiometer abzulesen und dessen Werte in dem Programm zu verwenden, das ich auf ihn geladen habe.
Der Raspberry Pi Pico löst ADC-Signale mit 12 Bits auf, was besser ist als der 10-Bit-ADC des Arduino Uno. Weitere Merkmale sind:
- SAR ADC (Sukzessive Approximation ADC)
- 500 kS/s (mit externem 48MHz-Takt)
- DMA-Schnittstelle an den ADC-Eingängen, die auf den Speicher zugreifen kann, ohne die CPU zu benutzen
Pro: programmierbares IO (PIO)
Dies ist eine der coolsten Funktionen des Raspberry Pi Pico und verleiht dem Pico eine Dynamik, die einige andere Mikrocontroller nicht haben.
PIO ist eine Hardware-Schnittstelle, die unabhängig von den Hauptprozessoren programmiert werden kann. Sie kann daher viele verschiedene Schnittstellen emulieren:
- 8080 und 6800 parallele Schnittstelle
- I2C
- 3-polig I2S
- SDIO (SD-Karten-Schnittstelle)
- SPI, DSPI, QSPI
- UART
- DPI oder VGA (über Widerstandsnetzwerk / DAC)
Die PIO-Zustandsmaschinen sind vollständig programmierbar und ausschließlich für E/A bestimmt. Besonderes Augenmerk wird auf ein präzises Timing gelegt.
Mit der PIO-Schnittstelle lassen sich beispielsweise zeitkritische (timing-sensitive) Anwendungen, wie die Steuerung von LED-Streifen, stabil und zuverlässig einrichten.
Pro: kann Video mit Modifikation ausgeben
Haben Sie im vorherigen Abschnitt "DPI oder VGA" gesehen? Sie wissen, was das bedeutet...
Ja, der Raspberry Pi kann Videos ausgeben - etwas, wovon die meisten Mikrocontroller nicht einmal träumen.
Wir haben eine Anleitung, die Ihnen zeigt, wie es geht, wenn Sie interessiert sind.
Pro: passt auf ein Breadboard
Beim Raspberry Pi Pico befinden sich die Pins auf zwei gegenüberliegenden Seiten des Pi Pico, daher können Sie den Pi Pico direkt auf die Lochrasterplatine legen, wobei jede Seite über die Trennrinne liegt.
Das macht das Prototyping einfacher, da Sie keine Stecker-auf-Buchse-Kabel (oder Stecker-auf-Stecker im Falle des Arduino Uno) benötigen, um den Pico an ein Breadboard anzuschließen.
Bei anderen Raspberry Pis ist dies nicht möglich, da deren Pins alle zusammengebaut sind.
Pro: Kleinster Raspberry Pi
Ein kleines Board ist gut, weil es leichter in enge Räume passt und einfacher zu montieren ist. Nehmen wir zum Beispiel an, Sie möchten den Raspberry Pi Pico an der Wand oder in einer geschlossenen Umgebung montieren: Roboter, Handheld-Geräte, Uhren, etc.
Vorteile: geringer Stromverbrauch
Ich habe erwähnt, dass der Raspberry Pi Pico klein ist und in kleine Räume passt.
Das Tolle daran ist, dass der Pico nur wenig Strom verbraucht und Sie daher keine große Batterie benötigen, um ihn zu betreiben.
Habe ich schon erwähnt, dass er eine große Bandbreite an Spannungen verträgt? Er kann mit 1,8 bis 5,5 V betrieben werden. Das ist großartig, denn man kann ihn mit einer einzigen Lithiumbatterie (3,7 V) oder mit in Reihe geschalteten Batterien auf Nickelbasis (je 1,2 V) betreiben.
Eine Analyse von Joey Castillo hat gezeigt, dass der Wirkungsgrad des Abwärtswandlers des Pico bei 2,54 V bis 3,2 V (entspricht zwei voll aufgeladenen AA-Akkus/Alkaline-Batterien) am höchsten ist, wenn der Stromverbrauch <=10 mA beträgt.
Bei höheren Strömen ist es jedoch besser, 3 Batterien des Typs AA oder eine Lithiumbatterie zu verwenden.
Diese Statistiken gelten möglicherweise nicht für den Pico W, da der Pico W einen anderen Abwärtswandler verwendet. Der Pico W verwendet den RT6154 während der Pico die RT6150. Klicken Sie auf die Links, um die jeweiligen Datenblätter zu sehen.
Hier ist das Diagramm für den Abwärtswandler des Pico:
Neutral: Keine Linux-Unterstützung auf dem Raspberry Pi Pico
Ob dies ein Vor- oder Nachteil des Raspberry Pi Pico ist, hängt von Ihrem Projekt ab. Das Fehlen von Linux bedeutet, dass Ihre Projekte schneller laden, aber insgesamt können Sie mehr tun, wenn Sie ein Betriebssystem haben.
Was meine ich mit schneller laden? Nun, da es kein Betriebssystem zu booten gibt, wird Ihr Code ziemlich genau in dem Moment geladen, in dem Sie den Pi Pico mit Strom versorgen.
Auf jedem anderen Raspberry Pi dauert es viel länger, bis Sie eine Antwort erhalten.
Aber leider ist man ohne ein Betriebssystem auf die Programmierung mit MicroPython oder C beschränkt, während man mit einem Betriebssystem in vielen, vielen weiteren Sprachen programmieren kann. Außerdem können Sie Spiele spielen, im Internet surfen und andere Multimedia-Anwendungen nutzen.
Neutral: Kein WiFi
Ob dies ein Nachteil ist oder nicht, hängt von Ihrem Projekt ab. Wenn Sie jedoch ein Projekt entwickeln, bei dem Sie das Wetter überprüfen oder Daten in Google Sheets hochladen müssen, können Sie dies auf dem Raspberry Pi Pico nicht tun.
Fairerweise muss gesagt werden, dass Sie WiFi oder Ethernet mit Nachrüstteilen wie dem unten stehenden Artikel installieren können:
Neutral: GPIO-Ausgänge 3,3V
Ob dies ein Vor- oder Nachteil ist, hängt von den Komponenten ab, an die Sie den Raspberry Pi Pico anschließen möchten.
Ein Szenario, in dem ich 3,3 V als hinderlich empfand, war, als ich versuchte, es mit 5-V-Relais zu verwenden. Huch! Ich konnte nicht genug Spannung durchschieben, um das Relais zum Schalten zu bringen.
Also wechselte ich zu meinem Arduino Uno, dessen GPIO-Pins 5 V ausgeben.
Die Alternative wäre, Komponenten zum Prototyp hinzuzufügen, so dass die 3,3 V verstärkt werden könnten, aber, äh, warum die Dinge kompliziert, wenn ich es einfach mit einem Arduino Uno tun kann?
Natürlich ist dies nur ein Szenario. Je nachdem, was Sie tun, können Sie unterschiedliche Erfahrungen machen.
Raspberry Pi Pico Verwendungszwecke
Die Einsatzmöglichkeiten für den Raspberry Pi Pico sind endlos. Sie können etwas herstellen, das Ihr Leben bereichert, oder etwas nur zum Spaß machen.
Mikrocontroller, der MicroPython liest (statt nur C)
Wenn Sie einen Arduino benutzt haben, wissen Sie, dass Sie ihn in C programmieren müssen.
Vielleicht gefällt Ihnen aber die Programmierung in C nicht, und Sie haben mehr Erfahrung mit Python.
Wenn Sie also mit dem Schreiben von Code in C auf dem Arduino zu kämpfen hatten, ist die gute Nachricht, dass der Raspberry Pi Pico wahrscheinlich alles, was der Arduino kann, auch für Ihren Anwendungsfall geeignet ist.
Werfen Sie also die geschweiften Klammern weg und beginnen Sie, Ihren Code einzurücken!
Batteriebetriebener Aufbau für lange Laufzeiten
Wenn Sie etwas brauchen, das so wenig Strom wie möglich verbraucht, dann sind Sie mit dem Raspberry Pi Pico definitiv besser dran als mit einem leistungsstärkeren Gerät wie dem Raspberry Pi Zero.
Hier ist der Grund: Sie können einen viel größeren Bereich von Stromeingängen verwenden (1,8 V bis 5,5 V), und weil der Raspberry Pi Pico so effizient ist, können Sie viel längere Laufzeiten erzielen, als wenn Sie einen Mikrocomputer wie den Raspberry Pi Zero verwenden.
Oh, habe ich schon erwähnt, dass der Raspberry Pi Zero sehr wählerisch ist, was die Spannung angeht, mit der Sie ihn versorgen? Er nimmt nur 4,75 - 5,25 V an.
* Laut Arya, der unten einen Kommentar hinterlassen hat, kann der Raspberry Pi Zero mit einer einzigen Lithiumbatterie betrieben werden, solange man keine USB-Peripheriegeräte hat. Danke Arya.
Makrotastaturen, Spinning Toggles und andere HIDs
Der Raspberry Pi Pico kann als Human Interaction Device (HID) verwendet werden.
Aber im Gegensatz zu einer langweiligen alten Maus oder Tastatur können Sie mit dem Raspberry Pi Pico ein Gerät erstellen, das etwas Nischenhaftes und Spezifisches für Ihren Anwendungsfall tut.
So können Sie Makrotastaturen erstellen, die auf Tastendruck eine lange Zeichenfolge eingeben. Oder Sie können damit Discord stummschalten. Oder Sie können damit STRG + ALT + ENTF drücken. Die Möglichkeiten sind endlos.
sArCaSm kEyBoArD
Bauen Sie einen Sarkasmus-Konverter für Ihre Tastatur. Schließen Sie eine normale Tastatur an, legen Sie den Schalter um und lassen Sie die Welt wissen, wie Sie wirklich über die Dinge denken pic.twitter.com/J3cAOfCAvw
- Ben S (@BenSommerf) Januar 26, 2022
Was ist besser geeignet, um Sarkasmus auszudrücken: ein /s Tag am Ende Ihres Textes oder tYpInG lIkE tHiS?
Ich bevorzuge die zweite Variante, weil sie sofort sArCaSm vermittelt.
Der Schöpfer dieses Projekts, Ben S., teilte mit, dass er zwei Raspberry Pi Picos verwendet, um dies in Gang zu bringen. Ein Pico fungiert als USB-HID-Tastaturgerät für den Computer und der andere als USB-Host, um Eingaben von der Tastatur zu lesen. Der Host kommuniziert dann über UART mit dem Gerät, was der Tastenanschlag war.
Die Pico Sarkasmus-Tastatur schaltet die Feststelltaste nach jedem Tastendruck ein und aus und bietet damit sArCaStIc TeXt.
Was kann der Raspberry Pi Pico nicht?
Lassen Sie uns über eine typischere Konfiguration sprechen, die direkt aus der Schachtel kommt.
Ich gebe zu, dass es viele Möglichkeiten gibt, die Fähigkeiten des Raspberry Pi Pico zu erweitern. Sie können Video ausgeben, Ethernet einrichten, Audio ausgeben...
Mit genügend Modifikationen kann der Raspberry Pi Pico an die Fähigkeiten eines Mikrocomputers heranreichen.
Allerdings wird kein vernünftiger Mensch so weit gehen. Ab einem bestimmten Grad der Veränderung wird es nicht mehr machbar sein.
Warum ist sie nicht mehr durchführbar?
Denn Sie können genauso gut etwas kaufen, bei dem Sie all diese Funktionen direkt nach dem Auspacken erhalten!
Ein enger Konkurrent, den Sie im Auge behalten sollten, ist der Raspberry Pi Zero 2. Wir haben einen Mega-Artikel, der alle Ihre Fragen beantworten wird.
Grundsätzlich hat der Raspberry Pi Pico weniger Rechenleistung. Im Vergleich zum billigsten Mikrocomputer, dem Raspberry Pi Zero, hat der Pi Pico einen Standardtakt von 133 MHz und kann 361,76 Dhrystone Million Instructions per Second (DMIPS) ausführen, während der Raspberry Pi Zero 1250 DMIPS schafft.
Der Raspberry Pi Zero verfügt außerdem über 512 MB RAM, ein Betriebssystem, WiFi und einen SD-Kartensteckplatz. Für eine Person wie mich, die JavaScript am besten beherrscht, ist die Möglichkeit, Node-Code zu schreiben, um ihn mit der Google Cloud zu verbinden, ein Grund, warum ich die Pi-Mikrocomputer gerne verwende.
Mikrocomputer vs. Mikrocontroller
Bei der Veranschaulichung des vorherigen Szenarios habe ich die Begriffe Mikrocomputer und Mikrocontroller verwendet. Ich werde einige Verwendungszwecke zusammenfassen, bei denen der eine besser ist als der andere.
Ein Mikrocontroller ist viel einfacher als ein Mikrocomputer, und deshalb ist es viel einfacher, einen Mikrocontroller dazu zu bringen, einfache Aufgaben zu erledigen. Wenn Sie nur eine LED blinken lassen, einen Servo drehen oder Temperaturdaten messen wollen, kann ein Mikrocontroller dies sehr leicht und kompetent erledigen.
Sie haben sogar einige Vorteile, wie z. B. einen schnellen Neustart und eine längere Akkulaufzeit.
Mit der Einfachheit kommen die Grenzen. Es ist zum Beispiel viel einfacher, Ihren Prototyp mit einem Mikrocomputer an das Internet anzuschließen. Sie könnten Ihren Prototyp zum Beispiel mit einem E-Mail-Dienst verbinden, der Sie anpingt, wenn bestimmte Schwellenwerte erreicht sind. Ich würde solche Projekte mit einem Raspberry Pi Zero durchführen, anstatt zu versuchen, sie mit dem Raspberry Pi Pico zum Laufen zu bringen.
Szenario | Mikrocontroller (z. B. Raspberry Pi Pico) | Mikrocomputer (z. B. Raspberry Pi Zero) |
Einen Server betreiben | Nein | Ja |
Blinken einer LED | Viel schneller von Anfang bis Ende | Viel langsamer; viel mehr Prozesse müssen durchlaufen werden |
Automatischer Neustart des Programms bei Stromausfall? | Ja | Nicht standardmäßig |
Videospiele spielen | Nein | Ja |
Läuft mit Batterie? | Ja, sie halten im Durchschnitt viel länger | Ja, hält im Durchschnitt nicht so lange |
Wärmemanagement? | Normalerweise nicht erforderlich | Kühlkörper, Lüfter, wärmeleitende Gehäuse |
Kosten? | Unter | Höher |
Raspberry Pi Pins
Der Raspberry Pi Pico verfügt über 30 GPIO-Pins, von denen 26 zur Verwendung zur Verfügung stehen.
- 2x SPI
- 2 x UART
- 2 x I2C
- 8 x Zwei-Kanal-PWM
gibt es auch:
- 4 x Allzweck-Taktausgang
- 4 x ADC-Eingang
- PIO auf allen Pins
Hier ist die Pinbelegung des Raspberry Pi Pico abgebildet:
Ein Redditor namens C_King_Justice hat sogar ein Tool entwickelt, mit dem Sie die GPIO-Pins Ihres Raspberry Pi Pico finden können. Sie können Laden Sie das Dokument hier herunter.
Raspberry Pi Pico Technische Daten
Raspberry Pi Pico | |
Preis | €4.10 (Vorstand) €24.95 (Raspberry Pi Pico-Bausatz für Einsteiger) |
CPU | RP2040 mit Dual-Core Cortex M0+ mit bis zu 133MHz |
CPU-Kapazitäten | On-chip PLL ermöglicht variable Kernfrequenz |
CPU-Frequenz | bis zu 133MHz, über-/untertaktbar |
GPU | Keine GPU |
RAM | 264 kB eingebetteter SRAM in 6 Bänken |
Netzwerk | Nicht enthalten, aber Sie können es hinzufügen |
Bluetooth | Nicht enthalten |
HDMI-Anschluss | Nicht enthalten, aber Sie können es hinzufügen |
USB-Anschluss | MicroUSB für Strom und Daten |
Komposit-Video | Nicht enthalten, aber Sie können es hinzufügen |
Reset-Stift | Nicht im Lieferumfang enthalten, aber Sie können es einlöten |
Kamera-Anschluss | Keine |
Stromverbrauch | ~1,3mA im SLEEP-Modus bis 93mA im "Popcorn"-Test |
Stromversorgung | 5V über microUSB oder 1,8 - 5,5V über VSYS |
Formfaktor | 51 x 21 mm |
Verfügt der Raspberry Pi Pico über HDMI?
Nein, das ist nicht die Standardeinstellung. Aber Sie können selbst ein Video hinzufügen. Siehe unseren Leitfaden hier.
Beachten Sie, dass es sich bei der Videoschnittstelle zwar um einen HDMI-Anschluss handelt, dieser aber eigentlich ein DVI-Signal ausgibt. HDMI ist ein Nachfolger von DVI, so dass DVI-Signale über HDMI übertragen werden können.
Sie können auch einen HDMI-zu-DVI-Adapter kaufen, um den HDMI-Anschluss in einen DVI-Anschluss umzuwandeln.
Beachten Sie jedoch, dass diese Einrichtung keine Audioausgabe ermöglicht.
Verfügt der Raspberry Pi Pico über Ethernet?
Nein, das ist nicht die Standardeinstellung. Aber Sie können Ethernet selbst hinzufügen.
Raspberry Pi hat offiziell eine Anleitung veröffentlicht, der Sie folgen können, um Ethernet auf Ihrem Raspberry Pi Pico installieren.
Im Wesentlichen benötigen Sie einen RMII-Ethernet-PHY wie z. B. einen LAN8720, ein Breadboard und Jumper-Drähte. Ihr Raspberry Pi Pico muss außerdem über gelötete Header verfügen.
Verfügt der Raspberry Pi Pico über WiFi?
Nein, aber Sie können es mit Aftermarket-Teilen installieren. Ein kompatibler Chip, der Ihnen helfen wird, WiFi-Fähigkeiten zu erhalten, ist der Adafruit Airlift WiFi Featherwing Co-Prozessor.
Verfügt der Raspberry Pi Pico über USB?
Ja, der Raspberry Pi Pico hat einen microUSB-Anschluss. Er kann zur Stromversorgung des Raspberry Pi verwendet werden.
Darüber hinaus können Sie den Raspberry Pi Pico auch als Human Interaction Device verwenden. Wenn Sie ihn mit den richtigen Komponenten und dem richtigen Code an Ihren Computer anschließen, kann er zu einem Joystick, einer Makrotastatur, einem Kippschalter usw. werden.
Verfügt der Raspberry Pi Pico über Bluetooth?
Nein, aber Sie können es mit Nachrüstteilen einbauen.
Für die Integration von Bluetooth in den Raspberry Pi Pico müssen Sie normalerweise ein Bluetooth-Modul wie das HC-06 Bluetooth-Modul kaufen.
Gibt es eine Raspberry Pi Pico-Kamera?
Ja, Sie können den Raspberry Pi Pico mit einem Kameramodul verbinden.
Eine Kamera, die Sie verwenden können, ist die HM01B0-Kamera von Himax Imaging. Der Vorteil dieser Kamera ist, dass sie mit 1-2 Milliwatt extrem sparsam ist, wie Ralph Yamamoto in einem Artikel über seine Erfahrung mit dem Betrieb einer Kamera mit dem Raspberry Pi Pico.
Seine Schlussfolgerung lautete: "Ich bin mir sicher, dass man viel daran herumschrauben muss", und er sagte weiter, dass er sich durch seine Fähigkeiten bei der Verarbeitung eingeschränkt fühlte und dass die Dokumentation der Kamera nicht ausreichend war.
Raspberry Pi Pico-Betriebssystem
In der Regel wird auf dem Raspberry Pi Pico kein Betriebssystem laufen.
Bei den meisten Projekten werden Sie wahrscheinlich nur Code hochladen und dann nur dieses eine Programm ausführen müssen. Ein Betriebssystem ist in diesem Fall nicht erforderlich.
Gehören Sie zu den Menschen, die mehrere Tabs in Chrome verwenden? Stellen Sie sich vor, Sie könnten nur einen Chrome-Tab verwenden.
Die "klassische" Programmierung des Raspberry Pi Pico ist zwar am ressourceneffizientesten, schränkt aber auch die Möglichkeit ein, mehrere Aufgaben auszuführen.
Glücklicherweise gibt es Betriebssysteme, die auf dem Raspberry Pi Pico funktionieren.
Offizielles RTOS (Echtzeitbetriebssystem)
Es gibt keins, aber Raspberry Pi sagt in seiner FAQ (Stand: Februar 2022), dass sie "bald an der Portierung eines RTOS arbeiten werden".
FreeRTOS
Auf dem Raspberry Pi Pico kann FreeRTOS laufen. Hier ist ein kurzes Video, das Sie von der Bare-Metal-Programmierung (die "typische" Art und Weise, wie Sie eine LED blinken lassen) zur OS-basierten Programmierung führt.
In dieser fünfteiligen Serie erfahren Sie alles über FreeRTOS, wie es funktioniert und wie Sie es einrichten und verwenden können.
Fuzix
Sie können den Raspberry Pi Pico nicht dazu bringen, Linux mit einer grafischen Benutzeroberfläche auszuführen, aber Sie können einen Unix-Klon auf dem Raspberry Pi Pico mit Fuzix ausführen.
Raspberry Pi hat einen Leitfaden veröffentlicht die Sie befolgen können, und was Sie brauchen, ist:
- Nicht-Pico Raspberry Pi für seriellen Anschluss
- Raspberry Pi Pico
- MicroSD-Leser für den Raspberry Pi Pico.
PyDOS
Der Github-Benutzer RetiredWizard hat gerade eine DOS-ähnliche Shell für die RP2040/ESP32-Boards erstellt.
Wie Sie im obigen Video sehen können, versetzt es Sie wirklich um mehr als 30 Jahre zurück.
Das Github-Repositorium finden Sie hier.
Erste Schritte mit dem Raspberry Pi Pico
Wir haben verschiedene Kits entwickelt, die unserer Meinung nach Ihnen auf lange Sicht am meisten helfen werden, Ihre Reise mit dem Raspberry Pi Pico zu genießen.
Im Folgenden finden Sie einige grundlegende Empfehlungen für Raspberry Pi Pico-Zubehör.
Die Schottky-Diode ist erforderlich, wenn Sie eine zweite Stromquelle an den Pico anschließen wollen. Dies ist der einfachste Weg, um eine Stromversorgung im Spannungsbereich von 2,3 V bis 5,5 V zu betreiben, z. B. eine Lithiumzelle oder drei AA-Batterien.
Durch Hinzufügen dieser Diode können Sie die beiden Spannungen von VBUS und der externen Spannung zur Versorgung von VSYS "ODER" schalten, wobei die Dioden verhindern, dass eine der beiden Versorgungen die andere mit Gegenstrom versorgt.
Dies ist zwar am einfachsten, aber es gibt auch Effizienzverluste. Datenblatt des Raspberry Pi erläutert dies ausführlich und erklärt in Kapitel 4.5 auch, wie man es abmildern kann.
Mit einem Batteriehalter können Sie eine Notstromversorgung (mit einer Schottky-Diode) einrichten oder Ihre Anlage komplett netzunabhängig betreiben.
Dieses Kabel ist selbsterklärend. Sie benötigen dieses Kabel, um Ihren Raspberry Pi Pico mit Ihrem Computer zu verbinden und Code hochzuladen. Es kann auch als Stromquelle dienen.
Zwei 20-polige Stiftleisten sind unverzichtbar, da Sie sie benötigen, um Ihren Raspberry Pi mit Komponenten oder einem Breadboard zu verbinden.
Die dreipolige Stiftleiste ist für die Fehlersuche erforderlich.
Kaufen Sie keine 40-polige Stiftleiste, da diese für die anderen Raspberry Pis gedacht ist.
Wenn Sie die Stiftleisten nicht selbst anlöten wollen, können Sie eine Pico mit vorgelöteten Headern.
Programmieren mit dem Raspberry Pi Pico
Sie können in MicroPython, C/C++ und CircuitPython auf dem Raspberry Pi Pico programmieren. Hier ist eine Tabelle, die den Aufwand zeigt, der nötig ist, um die interne LED zu blinken.
Sprache | MicroPython | C/C++ | SchaltkreisPython |
Erforderliche Einstellungen für den ersten Lauf | Mittel | Höchste | Niedrigste |
Schritte zum Erstellen eines neuen Programms | Mittel | Höchste | Niedrigste |
Kontrolle über die Hardware | Mittel | Höchste | Mittel |
MicroPython auf dem Raspberry Pi Pico
MicroPython ist im Wesentlichen Python lite. Oder Diät-Python.
Es handelt sich um Python mit einer kleinen Teilmenge der Python-Standardbibliothek, die für die Ausführung auf Mikrocontrollern wie dem Raspberry Pi Pico optimiert ist.
Um MicroPython verwenden zu können, müssen Sie Folgendes herunterladen Thonny und gehen Sie unten rechts, wo "Python 3.7.9" steht, darauf und wählen Sie MicroPython (Raspberry Pi Pico).
Wahrscheinlich wird ein Popup-Fenster erscheinen, das Sie auffordert, die Aktualisierung durchzuführen. Machen Sie damit weiter.
Das Update lief problemlos, als ich Thonny auf meinem Raspberry Pi OS laufen ließ, aber unter Windows gab es diese Fehlermeldung "SSL: CERTIFICATE_VERIFY_FAILED".
Sie können dies beheben, indem Sie dieses Zertifikat herunterladen (https://letsencrypt.org/certs/lets-encrypt-r3.der), klicken Sie dann mit der rechten Maustaste auf die heruntergeladene Datei und wählen Sie "Zertifikat installieren", damit dieser Fehler nicht mehr auftritt.
Wenn Sie MicroPython installiert haben, können Sie das "Hello World"-Äquivalent des Raspberry Pi Pico ausführen und die interne LED blinken lassen, indem Sie diesen Code verwenden
from machine import Pin, Timer
led = Pin(25, Pin.OUT)
timer = Timer()
def blink(timer):
led.toggle()
timer.init(freq=2.5, mode=Timer.PERIODIC, callback=blink)
Drücken Sie RUN, speichern Sie es als blink.py und die interne LED Ihres Raspberry Pi sollte blinken.
Schauen wir uns nun den entsprechenden Prozess auf C an.
Weitere Lektüre
PiCockpit hat auch ein paar Anleitungen, die den Einstieg in MicroPython auf dem Raspberry Pi Pico erleichtern.
Raspberry Pi Pico und MicroPython unter Windows - gehen wir näher auf die Einrichtung von MicroPython unter Windows auf dem Raspberry Pi, die Installation des richtigen Treibers unter Windows 8.1, die Verbindung zum Pico mit PuTTY und eine detaillierte Erklärung von Thonny ein.
C-Erweiterung für MicroPython auf Raspberry Pi Pico - Was wäre, wenn Sie MicroPython und C gleichzeitig ausführen und die Vorteile beider Sprachen nutzen könnten? C ist bei rechenintensiven Aufgaben leistungsfähiger als MicroPython, und manchmal möchten Sie vielleicht eine Schnittstelle zur Hardware über eine C-API von MicroPython aus nutzen. Dieser Leitfaden zeigt Ihnen, wie Sie das tun können.
Blinkende LED mit C/C++
Wenn Sie eine viel feinere Steuerung benötigen, werden Sie wahrscheinlich C/C++ schreiben wollen.
Ihren Raspberry Pi Pico mit C zum Laufen zu bringen, ist viel mehr Arbeit. Es ist nicht so einfach wie das Schreiben von MicroPython mit Thonny.
Die einfachste Möglichkeit ist die Verwendung eines Raspberry Pi-Mikrocomputers mit Raspberry Pi OS.
Wenn Sie einen Mac oder Windows verwenden möchten, der offizielle Leitfaden bietet Anweisungen in Kapitel neun.
Führen Sie diese drei Befehle aus:
wget https://raw.githubusercontent.com/raspberrypi/pico-setup/master/pico_setup.sh
$ chmod +x pico_setup.sh
./pico_setup.sh
Sie benötigen etwa 2 GB Speicherplatz, um diesen Befehl auszuführen. Sobald das erledigt ist, starten Sie neu, indem Sie sudo Neustart .
Sobald Sie hochgefahren sind, öffnen Sie Visual Studio Code (unter dem Ordner Programming im Startmenü) und öffnen Sie den Ordner, der sich in /home/pi/pico/pico-Beispiele. Sie müssen diesen Ordner laden und nicht einen Unterordner.
Dann müssen Sie VS Code konfigurieren. Beziehen Sie sich auf das Bild oben, tun diese:
- Klicken Sie auf die Stelle, an der "Kein Kit" steht;
- Ein Popup-Fenster wird angezeigt. Wählen Sie die Option, auf der "arm-none-eabi" steht;
- Klicken Sie auf [all] und wählen Sie das Projekt, das Sie kompilieren möchten. Um die interne LED zum Blinken zu bringen, wählte ich blinken
- Presse Bauen Sie
Sie finden die blinken.uf2 Datei in der /build/blink Ordner.
Kopieren Sie die UF2-Datei auf Ihren Raspberry Pi Pico und Sie werden sehen, dass die interne LED zu blinken beginnt.
Die Erstellung eines eigenen Projekts ist bei C/C++ komplizierter. Der offizielle Leitfaden hat Kapitel acht in der Sie erfahren, wie Sie Ihr eigenes Projekt erstellen können.
SchaltkreisPython
Ein dritter Neuzugang bei den Programmiersprachen, die mit dem Raspberry Pi Pico funktionieren, ist CircuitPython.
Für den Anfang, Laden Sie die .UF2-Datei hier herunter.
Halten Sie die BOOTSEL-Taste gedrückt und schließen Sie Ihren Pico an Ihren Computer an. Sie sollten ein neues Laufwerk sehen.
Kopieren Sie die heruntergeladene .UF2-Datei auf dieses Laufwerk. Ihr Pico wird die Verbindung trennen und mit einem neuen Laufwerk namens CIRCUITPY wieder herstellen.
In diesem Ordner befindet sich eine Datei namens code.pyund öffnen Sie ihn mit Ihrem bevorzugten Code-Editor (auch Notepad funktioniert).
Geben Sie diesen Code ein:
import board
import digitalio
import time
led = digitalio.DigitalInOut(board.LED)
led.direction = digitalio.Direction.OUTPUT
while True:
led.value = True
time.sleep(0.5)
led.value = False
time.sleep(0.5)
Sobald Sie sie gespeichert haben, beginnt die interne LED Ihres Pico zu blinken.
Insgesamt war CircuitPython der reibungsloseste und direkteste Weg, um Ihre interne LED zum Blinken zu bringen. Die anderen beiden Optionen waren mühsamer, insbesondere das Ausführen von C auf dem Pico (vor allem, wenn Sie versuchen, es auf Mac/Windows zum Laufen zu bringen).
Wenn Sie CircuitPython langfristig einsetzen wollen, spricht einiges dafür, Thonny als IDE zu verwenden, da es Pakete für Sie herunterladen kann und Sie Programme auch durch Drücken der Play/Stop-Taste in der Befehlsleiste starten und stoppen können.
Für weitere Informationen zu CircuitPython siehe Die Dokumentation von Adafruit. Um zu MicroPython zurückzukehren, eine UF2-Datei von hier herunterladen und laden Sie es auf Ihr CIRCUITPY-Laufwerk.
Bonus: Assembler auf dem Raspberry Pi Pico
Ja, Sie können in Assembler schreiben, wenn Sie den Raspberry Pi Pico nicht in C oder Python programmieren wollen.
In den FAQ des Raspberry Pi heißt es, dass das Pico SDK einige Funktionen in Assembler geschrieben hat und dass,
"Der Prozessor (Dual-Core ARM Cortex M0+) implementiert den ARMv6-M Thumb-Befehlssatz, einschließlich einer Reihe von 32-Bit-Befehlen, die die Thumb-2-Technologie nutzen. Der ARMv6-M-Befehlssatz umfasst alle 16-Bit-Thumb-Befehle von ARMv7-M mit Ausnahme von CBZ, CBNZ und IT sowie die 32-Bit-Thumb-Befehle BL, DMB, DSB, ISB, MRS und MSR."
Bonus: Die Programmiersprache Rust auf dem Raspberry Pi Pico
Wenn Sie sich mürrisch fühlen, weil Sie ein Rustacean sind und es nicht erwarten können, in Ihrer bevorzugten Sprache zu schreiben, dann habe ich gute Nachrichten für Sie.
Das Herzstück ist der RP2040 Hardware Abstraction Layer, der können Sie auf GitHub erhalten (unter dem Namen rp-hal). Es funktioniert für viele Boards, die den RP2040-Mikrocontroller verwenden, außer dem Raspberry Pi Pico.
Hier ist ein Video, das Ihnen zeigt, wie Sie es einrichten können.
Was ist UF2 und warum wird es so häufig auf dem Raspberry Pi Pico verwendet?
Es ist magisch. Sie ziehen eine UF2-Datei auf Ihren Raspberry Pi Pico und plötzlich wird sie unter einem neuen Namen neu gemountet oder es blinkt plötzlich eine LED.
UF2 (U F zum Quadrat) steht für USB Flashing Format. Wenn Sie es auf Ihren Raspberry Pi ziehen, ziehen Sie Ihren Code zusätzlich zu den Anweisungen für den Bootloader, so dass er weiß, was er mit dem, was Sie hochgeladen haben, tun soll.
Anschließen des Pico über das serielle Terminal
Windows
Die Verbindung mit dem Pico über das serielle Terminal ist einfach und wir haben hier einen Leitfaden.
Verbinden mit einem Raspberry Pi 4 (Linux)
Um den Raspberry Pi Pico mit einem Raspberry Pi 4 zu verbinden, können Sie entweder USB- oder UART-Pins, Minicom und ein paar Jumper-Drähte verwenden.
Raspberry Pi's Erste Schritte mit Pico hat alle Informationen in Kapitel 4, insbesondere 4.4 und 4.5.
Fehlersuche auf dem Raspberry Pi Pico
Wozu dienen die drei Stifte am unteren Ende?
Mit diesen Pins können Sie den Pico zurücksetzen, Code in den Flash laden, den Code ausführen und vor allem debuggen.
Der größte Vorteil sind die erweiterten Debugging-Fähigkeiten, die Sie mit diesen Pins erhalten. Sie sind jetzt in der Lage, eine viel feinere Code-Analyse durchzuführen, weil Sie es können:
- Setzen Sie Haltepunkte in Ihrem Code. Haltepunkte ermöglichen es Ihnen, die weitere Codeausführung anzuhalten, während Sie z. B. die Werte Ihrer Variablen überprüfen.
- Gehen Sie die Codeausführung Zeile für Zeile durch. Wann geht alles schief? Zeile für Zeile macht es einfacher, Fehler zu beheben.
Sie können über ihre GPIO-Pins mit einem Raspberry Pi-Mikrocomputer verbunden werden. Wenn Sie sie mit anderen Computern verbinden möchten, wahrscheinlich über USB, dann benötigen Sie eine Debug-Sonde.
Ein Raspberry Pi Pico kann auch als Debug-Sonde dienen, die Ihren Computer mit dem Pico verbindet, an dem Sie arbeiten möchten. Stellen Sie sich das so vor: Ihr Computer verfügt nicht über die GPIO-Pins, die für eine UART/SWD-Verbindung benötigt werden. Daher werden Sie einen Pico verwenden, um diese Verbindungen zusammen mit dem Picoprobe Firmware, die dies ermöglicht.
Wenn Sie jedoch beabsichtigen, SWD zum Debuggen zu verwenden, sollten Sie eine UART-basierte serielle Verbindung und nicht eine USB-Verbindung verwenden. Beim Debuggen werden die Kerne des RP2040 angehalten, was dazu führt, dass die USB-Verbindung unterbrochen wird.
Lassen Sie uns ein wenig darüber sprechen, was die einzelnen Stifte bewirken:
SWDIODer Serial Wire Debug Input/Output Pin überträgt den Debug-Verkehr zwischen dem RP2040 und dem Host-Computer (z.B. einem ausgewachsenen Computer oder einem Raspberry Pi).
GND: Masse. Wird benötigt, um eine gute Signalintegrität zwischen dem Host und dem Pico zu gewährleisten.
SWCLK: Der Serial Wire Clock Pin synchronisiert die Verbindung.
Am besten ist es, wenn Sie sich auf die Erste Schritte mit Pico Datenblatt von Raspberry Pi, mit besonderem Schwerpunkt auf den Kapiteln 5, 6 und Anhang A: Verwendung von Picoprobe.
Raspberry Pi Pico Projekte
Hier sind einige gute Projekte für Anfänger, mit denen Sie mit wenigen zusätzlichen Teilen beginnen können.
Einfache sArCasM-Tastatur und Makro-Tastatur
Dies ist ein lustiges Projekt, mit dem Sie einen Modifikator erstellen können, der das normale Tippen in einen Sarkasmusfall verwandelt. Im Ernst: Wenn Sie wissen, wie Sie die HID-Bibliothek von Adafruit mit einem Schalter verwenden, können Sie Makrotasten erstellen.
Für das grundlegende Design benötigen Sie nichts weiter als Ihren Raspberry Pi Pico. Allerdings sollte Ihr Raspberry Pi Pico über CircuitPython mit der HID-Bibliothek von Adafruit verfügen.
Gehen Sie im normalen Modus von Thonny zu Werkzeuge -> Pakete verwalten und suchen Sie nach adafruit-schaltkreispython-hid. Installieren Sie es.
Vergewissern Sie sich auch, dass Sie den CircuitPython-Interpreter verwenden, den Sie rechts unten in Thonny finden.
Geben Sie diesen Code ein,
import time
import board
import usb_hid
from adafruit_hid.keyboard import Keyboard
from adafruit_hid.keycode import Keycode
keyboard = Keyboard(usb_hid.devices)
while True:
keyboard.press(Keycode.CAPS_LOCK)
time.sleep(0.2)
keyboard.release(Keycode.CAPS_LOCK)
Laden Sie den Code auf Ihren Pico hoch. Drücken Sie bei Bedarf die RUN-Taste in Thonny.
Jedes Mal, wenn Sie Ihren Raspberry Pi Pico an den Computer anschließen, sehen Sie das Ergebnis direkt vor Ihren Augen.
Dieses Skript schaltet die Feststelltaste alle 0,2 Sekunden ein und aus, wie in time.sleep(0.2). Wenn Sie den Wert innerhalb der Klammern ändern, können Sie die Häufigkeit des Wechsels zwischen den Fällen feinabstimmen.
Hinzufügen eines Schalters zu diesem Projekt
Diese einfache Konstruktion hat den Nachteil, dass man den USB-Stecker ziehen muss, um den Sarkasmus zu beenden.
Fügen wir einen Schalter hinzu, mit dem wir diese Funktion ein- und ausschalten können.
Wir sollten auch die LED des Boards anlassen, wenn der Sarkasmus aktiviert ist.
Ein Drucktastenschalter hat vier Stifte. Verbinden Sie den 3,3-V-Stift und GPIO 22 (als GP 22 bezeichnet) auf diagonal gegenüberliegenden Seiten des Drucktasters.
Wenn Sie den Schalter drücken, legen Sie die 3,3 V an den GPIO 22-Pin an und aktivieren ihn damit, um es mit den Worten des Laien zu sagen.
Dies ist die einzige physische Änderung, die Sie vornehmen müssen. Es ist sehr einfach.
Der Code ist um einige Zeilen gewachsen (fett = bezogen auf die Schaltfläche, kursiv = bezogen auf die LED)
import time
import digitalio
import board
import usb_hid
from adafruit_hid.keyboard import Keyboard
from adafruit_hid.keycode import Keycode
keyboard = Keyboard(usb_hid.devices)
<strong>btn1_pin = board.GP22
btn1 = digitalio.DigitalInOut(btn1_pin)
btn1.direction = digitalio.Direction.INPUT #GP22 is an input
btn1.pull = digitalio.Pull.DOWN #DOWN means it outputs False
</strong>
<em>led = digitalio.DigitalInOut(board.LED)
led.direction = digitalio.Direction.OUTPUT</em> #powering LED, so give it OUTPUT
activated = False #this variable stores if sarcasm is on or off
while True:
<strong>if btn1.value: #if user presses btn1, start sarcasm
activated = True</strong>
if activated:
<em>led.value = True</em> #turn on board LED
keyboard.press(Keycode.CAPS_LOCK)
time.sleep(0.2)
keyboard.release(Keycode.CAPS_LOCK)
if <strong>btn1.value: #if user presses btn1 while activated, cancels sarcasm
activated = False
<em>led.value = False</em> #turn off LED
time.sleep(0.2)</strong>
<strong>#pauses while loop to give user time to remove finger from btn1</strong>
Umwandlung der Sarkasmus-Tastatur in eine Makro-Tastatur
Sie können die Taste verwenden, um Makros wie ALT + TAB, STRG + ALT + ENTF oder andere bis zu sechs reguläre Tasten zu aktivieren.
Sie müssen nur die Tasten innerhalb dieser Methode keyboard.press und keyboard.release ändern.
import time
import digitalio
import board
import usb_hid
from adafruit_hid.keyboard import Keyboard
from adafruit_hid.keycode import Keycode
keyboard = Keyboard(usb_hid.devices)
btn1_pin = board.GP22
btn1 = digitalio.DigitalInOut(btn1_pin)
btn1.direction = digitalio.Direction.INPUT
btn1.pull = digitalio.Pull.DOWN
while True:
if btn1.value:
<strong>keyboard.press(Keycode.ALT,Keycode.TAB )</strong>
time.sleep(0.2)
<strong>keyboard.release(Keycode.ALT,Keycode.TAB)</strong>
Es gibt noch viele andere Dinge, die Sie mit diesem Tastatur-Hack tun können. Zum Beispiel können Sie damit verhindern, dass Ihr Bildschirmschoner auftaucht, indem Sie eine harmlose Taste wie "Seite hoch" drücken. Oder Sie könnten ihn speziell zur Steuerung von Zoom, Discord, OBS, Meet usw. verwenden.
Temperatur-/Luftfeuchtigkeitsdaten mit DHT22
Wenn Sie einen DHT11-, DHT22- oder AM2302-Sensor besitzen, können Sie ihn mit dem Raspberry Pi Pico verwenden.
Diese Sensoren wären wahrscheinlich am besten mit einem LCD oder einer Möglichkeit zum Speichern der Daten gekoppelt, aber lassen Sie uns einfach mit einem Schnellstartprojekt beginnen.
Sie benötigen drei Jumperdrähte, Header am Raspberry Pi Pico und einen 10K-Widerstand. Das folgende Paket enthält alles, was Sie brauchen, außer dem Raspberry Pi Pico mit Headern.
Mit Thonny, CircuitPython und der DHT-Bibliothek von Adafruit ist das ganz einfach.
Bei den folgenden Schritten wird der DHT22 verwendet.
Anschließen des DHT22-Sensors an den Raspberry Pi Pico
Es ist wirklich einfach, den DHT22 an den Pico anzuschließen.
Der DHT22 verfügt über vier Stifte. Von links nach rechts, mit der vermaschten Seite zu Ihnen gewandt, sind die Stifte VCC, DATEN, NC und GND. Sie brauchen NC nicht zu verbinden.
Verbinden Sie VCC zum 3,3V Stift auf dem Pi.
Verbinden Sie den 10K-Widerstand von 3,3V mit DATEN, dann verbinden DATEN an GP0. Dies ist einfacher mit einem Breadboard zu tun, so dass Sie die 3,3 V aufteilen können. Wie auf dem Foto oben zu sehen, geht ein Widerstand vom ganz linken Pin zum zweiten Pin, außerdem ist der grüne Draht mit dem GPIO 0 verbunden.
Verbinden Sie GND mit einem beliebigen Masse-Pin Ihres Raspberry Pi Pico.
Sie sind fertig. Es ist Zeit für die Software.
Codierung des DHT22 in Thonny für den Raspberry Pi Pico
Öffnen Sie zunächst Thonny und stellen Sie sicher, dass Sie sich im regulären Modus und in CircuitPython befinden (unten rechts). Eine ausführlichere Anleitung für Thonny und CircuitPython ist oben verfügbar.
Gehen Sie zu Werkzeuge -> Pakete verwalten -> suchen Sie nach adafruit-schaltkreispython-dht.
Geben Sie dann diesen von Adafruit bereitgestellten Code ein.
import time
import adafruit_dht
import board
dht = adafruit_dht.DHT22(board.GP0)
while True:
try:
temperature = dht.temperature
humidity = dht.humidity
# Print what we got to the REPL
print("Temp: {:.1f} *C \t Humidity: {}%".format(temperature, humidity))
except RuntimeError as e:
# Reading doesn't always work! Just print error and we'll try again
print("Reading from DHT failure: ", e.args)
time.sleep(1)
Presse ausführen. in Thonny und Sie sollten eine Ausgabe sehen:
Raspberry Pi Pico-Anzeige
Der Raspberry Pi Pico ist ziemlich cool, weil er Bilder anzeigen kann.
Der Nachteil ist, dass es ziemlich viel Arbeit und technisches Wissen erfordert und dass Sie Bilder erhalten, die aussehen, als stammten sie aus der Windows-3.1-Ära.
Warum ist das so? Wegen des begrenzten RAM von 264 KB. Dies schränkt die Auflösung und die Farbtiefe der Anzeige ein.
Im Folgenden finden Sie einige Beispiele dafür, was Sie ausgeben können.
Einfache Videoausgabe mit DVI-Buchse
Der einfachste Weg zur Videoausgabe ist, unserer Anleitung zu folgen und die DVI-Socke oder die VGA & Audio-Erweiterungskarte zu verwenden. Die DVI-Socke verwendet ein HDMI-Kabel, das wahrscheinlich der kompatibelste Anschluss mit den heutigen Geräten ist.
Lesen Sie hier den vollständigen Artikel darüber, wie Sie anfangen können
DIY-Möglichkeiten zum Anschluss von Pico an das Display
Es gibt auch andere Möglichkeiten, Videos auszugeben, ohne Peripheriegeräte zu kaufen.
Miroslav Nemecek schrieb einen Artikel darüber, wie Sie die acht Widerstände und ein VGA-Anschluss für den Anschluss eines Monitors zu Ihrem Raspberry Pi Pico.
Und hier ist eine Möglichkeit, wie Sie ein HDMI-Kabel und Widerstände verwenden können, um Ihren Pico an einen HDMI-Monitor anzuschließen.
Stromverbrauch des Raspberry Pi Pico
Das Pico-Datenblatt des Raspberry Pi bietet uns eine gute Grundlage, um zu verstehen, wie viel Stromverbrauch Sie vom Pico bei bestimmten typischen Anwendungen erwarten können.
Diese Zahlen stellen nicht das absolute Maximum dar, das Sie aus dem Raspberry Pi Pico herausholen können, sondern sind ein guter Ausgangspunkt.
Der erste Test umfasste Video-, Audio- und SD-Kartenzugriff, um eine "Popcorn"-Media-Player-Demo über die VGA-, SD-Karten- und Audiokarte anzuzeigen.
Staat | |
Spielen Popcorn (Video, Audio, SD-Karte) | 93.5mA |
BOOTSEL-Modus, aktiv | 9,9 mA |
DORMANT-Modus | 0,8mA |
SLEEP-Modus | 1,3 mA |
Sie fragen sich vielleicht: Was ist der Unterschied zwischen DORMANT und SLEEP?
Dormant erfordert einen externen Trigger, der einen GPIO-Pin manipuliert, um den Raspberry Pi Pico aufzuwecken, während SLEEP eine interne Uhr laufen lassen kann, um den RP2040 aufzuwecken, wie im Bild RP2040-Datenblatt.
In den Raspberry Pi Pico FAQ wird dies weiter erläutert,
"Im SLEEP-Modus befinden sich die Prozessoren im wfi/wfe-Modus und DMA ist inaktiv, so dass Sie die meisten Systemtakte abschalten können, einschließlich Dinge wie Bus Fabric.
Im DORMANT-Modus werden alle Oszillatoren abgeschaltet, und der Stromverbrauch ist noch geringer, aber es gibt weniger Möglichkeiten zum Aufwecken."
Kann ich den Raspberry Pi Pico mit einer Powerbank betreiben?
Ja, das können Sie.
Es kann jedoch sein, dass der Raspberry Pi Pico nicht genug Strom von der Powerbank bezieht und die Powerbank in den Energiesparmodus wechselt.
Die Lösung besteht leider darin, mehr Strom zu ziehen, indem man einen Widerstand zwischen die Powerbank und den Raspberry Pi Pico schaltet. Hier ist ein Video, das die Einzelheiten erklärt.
Stromversorgung des Pico (Spannungen)
Der Raspberry Pi Pico kann über den microUSB-Anschluss mit Strom versorgt werden. Dies versorgt den VSYS mit der 5V VBUS-Spannung über D1.
Wenn Sie Ihren Raspberry Pi Pico nicht über den USB-Anschluss mit Strom versorgen, können Sie VSYS an eine Stromquelle mit 1,8 V bis 5,5 V anschließen.
Wenn Sie jedoch beide anschließen, müssen Sie die zweite Stromquelle über eine Schottky-Diode in VSYS einspeisen, die verhindert, dass eine der beiden Stromquellen die andere mit Strom versorgt. Die Schottky-Diode lässt auch die höhere der beiden Spannungen (VBUS oder externe Spannung) fließen.
Allerdings gibt es einen Spannungsabfall über der Schottky-Diode, so dass Sie eine Spannung von 2,3 V bis 5,5 V benötigen.
Das bedeutet, dass Sie den Raspberry Pi Pico mit mindestens 2x Nickel-Akkus (2,4V) oder 1x Lithium-Batterie (3,7V) betreiben können.
Um den Wirkungsgrad nicht durch die Schottky-Diode zu verringern, können Sie stattdessen einen P-Kanal-MOSFET mit niedrigem Widerstand verwenden.
Weitere Informationen finden Sie in der Raspberry Pi Pico-Datenblatt.
Kann ich den Raspberry Pi Pico über den USB-Anschluss eines Fernsehers betreiben?
Ja, das können Sie. Hier ist ein Bild, auf dem ich die interne LED blinken lasse.
Ein Standard-USB-Anschluss sollte in der Lage sein, bis zu 500 mA zu liefern, was weit mehr ist, als der Raspberry Pi Pico benötigt. Wie Sie in den Stromverbrauchstests des Raspberry Pi sehen können, hat der intensivste Test nur etwa 90 mA gezogen.
Sie könnten Probleme bekommen, wenn Ihr Raspberry Pi Pico mehr als 500 mA verbraucht, zum Beispiel, wenn Ihr Pico stromhungrige Peripheriegeräte betreibt.
Raspberry Pi Pico im Vergleich zu anderen Boards
Der Raspberry Pi Pico ist ein Späteinsteiger in die Welt der Mikrocontroller, der erst 2021 auf den Markt kam. In der Welt der Mikrocontroller gibt es bereits eine starke Konkurrenz mit ESP32 und Arduinos, die viele Varianten haben, die Ihnen helfen können, Ihr Projekt mit den richtigen Funktionen wie WiFi zu starten.
Für den Raspberry Pi Pico gibt es keine Varianten, so dass Sie HATs und andere Zusatzgeräte kaufen müssen, um das gleiche Ziel zu erreichen.
Außerdem, wenn Sie viele Komponenten hinzufügen wollen... wann ist es an der Zeit, einfach einen Mikrocomputer zu kaufen?
Um diese Frage zu beantworten, schauen wir uns den ESP32, den Arduino Uno und den Raspberry Pi Zero an.
Raspberry Pi Pico vs. Espressif ESP32
Der ESP32 ist ein großer Schritt nach vorne im Vergleich zum Raspberry Pi Pico, was seine technischen Möglichkeiten angeht. Zum Vergleich habe ich die PICO-KIT-Variante gewählt, weil sie dem Pico vom Formfaktor her am ähnlichsten war.
Zum einen ist die Ausstattung mit WiFi und Bluetooth ein großer Unterschied. So können Sie zum Beispiel einen Server auf dem Espressif ESP32 betreiben, der die Werte Ihres Sensors anzeigt, während dies auf dem Raspberry Pi Pico nicht möglich ist.
Der ESP32 hat auch einen schnelleren Prozessor, mehr RAM und mehr Flash-Speicher, aber all das geht auf Kosten eines höheren Stromverbrauchs.
Der Raspberry Pi Pico ist in seinen Spezifikationen etwas bescheidener, aber zwei Dinge stechen hervor. Die Tatsache, dass er Spannungen von 1,8 V bis 5,5 V verarbeiten kann, ermöglicht die Verwendung einer einzigen Lithiumbatterie, was ein sehr kompaktes Gehäuse ergibt. Mit dem ESP32 wäre dies nicht möglich, es sei denn, man modifiziert die 3,7V-Spannung der einzelnen Lithiumbatterie.
Raspberry Pi Pico | Espressif ESP32-PICO-KIT | |
CPU-Frequenz | 133MHz | 80/160/240MHz |
Mikrocontroller | RP2040 | Xtensa LX6 |
Kerne | 2 | 2 |
Flash-Speicher | 2MB | 4MB |
RAM | 256KB | 520KB |
GPIO | 26 (vom Benutzer verwendbar) | 36 |
Hat USB? | microUSB | microUSB |
WiFi und/oder BT? | Nein | Ja, beide |
Spannung | 1,8 - 5,5V oder 5V USB | 3,3V (über Pins) oder 5V über USB oder 5V-12V (über Spannungsregler) |
Stromverbrauch (bei Aktivität) | 93mA (Popcorn-Test) | 100-128mA1 |
Größe | 51x21mm | 52x20mm |
Sprachen | MicroPython / C | MicroPython / C |
Hinweis: Die Angaben zum Stromverbrauch des ESP32 beziehen sich auf die Ausführung eines Programms mit einer leeren Schleife.
Raspberry Pi Pico vs. Arduino Uno Rev3
Arduino stellt eine Reihe von Boards her, und was den Formfaktor angeht, ist das Arduino Nano mit 45 x 18 mm wahrscheinlich das kleinste. Arduino stellt auch ein Board her, das den RP2040-Mikrocontroller verwendet.
Das gebräuchlichste Board ist jedoch der Arduino Uno Rev3. Werfen wir also einen Blick auf den Vergleich dieser beiden Boards.
Raspberry Pi Pico | Arduino Uno Rev3 | |
CPU-Frequenz | 133MHz | 16 MHz |
Mikrocontroller | RP2040 | ATmega328P |
Flash-Speicher | 2MB | 32KB |
RAM | 256KB | 2KB |
GPIO | 26 (vom Benutzer verwendbar) | 14 digital, 6 analog |
Hat USB? | microUSB | USB B |
WiFi und/oder BT? | Nein | WiFi-Variante verfügbar |
Spannung | 1,8 - 5,5V oder 5V USB | 6-20V (7-12V empfohlen) oder über USB. |
Größe | 51x21mm | 68x53mm |
Sprachen | MicroPython / C | C |
Für Anfänger ist einer der größten Unterschiede, dass der Arduino Uno mit 5 V Logik arbeitet, während der Raspberry Pi Pico mit 3,3 V Logik arbeitet.
5V kann Anfängern die Arbeit erleichtern, da einige Komponenten wie Relais einen 5V-Eingang benötigen. Wenn Sie eine 5V-Komponente haben, die Sie mit dem Raspberry Pi Pico betreiben möchten, müssen Sie zusätzliche Komponenten bereitstellen, um 3,3V auf 5V zu erhöhen.
Der andere Unterschied ist, dass der Arduino Uno quelloffen ist, was bedeutet, dass man billigere Boards kaufen kann, die genau die gleichen Funktionen haben. Abgesehen davon ist der Raspberry Pi Pico mit $4 oder 4,10 € bereits extrem günstig.
Der Arduino Uno ist außerdem für einen viel breiteren Spannungsbereich ausgelegt (7-12 V empfohlen), was bedeutet, dass er mit vielen Arten von Netzteilen betrieben werden kann.
Was die Programmiersprachen angeht, so hat der Pico den Vorteil, dass man in MicroPython programmieren kann, während man für den Arduino C schreiben muss. Allerdings verfügt der Arduino über eine größere Bibliothek, die die Arbeit mit Komponenten erleichtert.
Raspberry Pi Pico vs. Raspberry Pi Zero
Bis zu einem gewissen Grad überschneiden sich die Fähigkeiten des Pico und des Zero. In einfachen Schaltungen können Sie mit dem Pico und dem Zero genau das Gleiche tun.
Die Art und Weise, wie Sie zu demselben Punkt gelangen, ist jedoch bei der Pico und der Zero unterschiedlich.
Hier ist die Logik, nach der ich entscheide, welche ich verwende:
Szenario | Was zu holen ist |
Ich bin besser in einer anderen Sprache als C/Python | Null |
Ich habe "unbegrenzten" Strom (d.h. kein Solar- oder Batteriebetrieb) | Null |
Ich brauche WiFi und/oder Bluetooth | Null |
Ich muss Daten speichern (z. B. Temperaturprotokolle) | Null |
Ich muss eine Kamera benutzen | Null |
Ich brauche die kompakteste Lösung | Pico |
Ich brauche einen schnellen Neustart bei Absturz/Stromausfall | Pico |
Ich möchte kein Betriebssystem einrichten | Pico |
Ich möchte die billigere Option | Pico |
Eine detailliertere Beschreibung, warum Sie sich für den Pico oder Zero entscheiden sollten, ist siehe oben, und dieser Link führt Sie dorthin.
Raspberry Pi Pico vs. Teensy 4.1
Der Teensy 4.1 ist dank seines ARM Cortex-M7-Chips, der mit 600 MHz läuft, ein extrem leistungsstarkes Board.
Der Teensy 4.1, der 2021 von PJRC auf den Markt gebracht wird, richtet sich an Menschen, die etwas mit viel Rechenleistung, RAM, Flash-Speicher, Ethernet und mehr GPIO-Pins als beim Raspberry Pi Pico benötigen.
Sie erhalten 55 Eingangs-/Ausgangs-Pins, aber nur 42 sind "breadboardfähig". Es gibt 35 PWM-Pins, 18 analoge Eingänge, 8 serielle, 3 SPI und 3 I2C.
Die Stärke des Raspberry Pi Pico liegt in seiner Einfachheit. Wenn Sie gerade erst lernen und den einfachsten Weg suchen, um mit einfachen Projekten zu beginnen, bietet der Raspberry Pi Pico den einfachsten Weg, um loszulegen.
Die bevorzugte Programmiersprache des Raspberry Pi Pico ist zum Beispiel MicroPython, während der Teensy 4.1 hauptsächlich in C programmiert wird.
Es ist auch sehr einfach, CircuitPython auf dem Raspberry Pi Pico zu verwenden, was die Erstellung von Projekten erleichtert.
Der Preis des Teensy 4.1 ist mit $26,85 deutlich höher als der des $4 Raspberry Pi Pico.
Außerdem ist es viel einfacher, den Raspberry Pi Pico mit einer Batterie zu betreiben, da er eine große Bandbreite an Spannungen verarbeiten kann.
Raspberry Pi Pico | Teensy 4.1 | |
CPU-Frequenz | 133MHz | 600MHz |
Flash-Speicher | 2MB | 8MB |
RAM | 256KB | 1024KB |
GPIO | 26 (vom Benutzer verwendbar) | 55 digital, 18 analog |
Hat USB? | microUSB | microUSB |
WiFi und/oder BT? | Nein | Nein, aber mit Ethernet |
Spannung | 1,8 - 5,5V oder 5V USB | 5V über USB oder VIN |
Größe | 51x21mm | 61x15mm |
Raspberry Pi Pico Downloads
Ich habe eine Liste von Dateien zusammengestellt, die Ihnen bei Ihren Projekten helfen können. Die meisten von ihnen befinden sich auf der Datenblatt-Subdomäne des Raspberry Pi und was hier steht, ist für den Raspberry Pi Pico relevant.
Referenzen
Raspberry Pi Pico Anschlussbelegung
Raspberry Pi Pico-Datenblatt (über den Pico, mechanische/elektrische Spezifikationen, Funktionen, Stromversorgung, Fehlersuche, Schaltplan, Lage der Bauteile)
Raspberry Pi Pico Produktübersicht (Marketing-Deck)
Raspberry Pi Pico Fritzing Datei
10 kuriose Fakten zum Raspberry Pi Pico
Programmierung
Raspberry Pi Pico und MicroPython unter Windows
Raspberry Pi Pico Erste Schritte mit Pico (für C/C++-Entwicklung)
CircuitPython für Raspberry Pi Pico UF2-Datei
Erste Schritte mit MicroPython auf dem Raspberry Pi Pico
Raspberry Pi Pico C SDK (Softwareentwicklungskit) Dokumentation
Raspberry Pi Pico MicroPython SDK (Softwareentwicklungskit) Dokumentation
Die Leistungsaufnahme beträgt nicht 6 W, sondern 0,5 W (100 mA bei 5 V)
Hallo Antony, ich habe es korrigiert. Danke für deinen Beitrag.
chyba na wyjściach pinów. Tak przynajmniej jest w karcie technologicznej PICO
Puedo conectar por usb una Raspberry Pi Pico con un Arduino Nano. que la rrasberry envíe por usb datos al arduino?
Gracias
pico w hat jetzt Wifi
> Oh, habe ich schon erwähnt, dass der Raspberry Pi Zero sehr wählerisch ist, was die Spannung angeht, mit der Sie ihn versorgen? Er verträgt nur 4,75 - 5,25 V.
Falsch, das ist die angegebene Spezifikation, aber es reicht ein niedrigerer Wert und wirkt Wunder. siehe hier: https://hackaday.io/project/19035/log/69596
Sehr schöner Bericht! Das hat mir gefallen: "Nun, zum Beispiel, eines meiner Projekte verwendet ein Potentiometer, um die Schaltfrequenz eines Relais zu regulieren." - Ich habe mich gefragt, ob Sie dieses Projekt als Beispiel im Detail vorstellen könnten. Haben Sie PIO / PIO State Machine verwendet?
Kein PIO verwendet!
Wenn man ein Potentiometer an einen ADC anschließt, erhält man im Grunde einen Wert. Durch Drehen des Potentiometers wird der Wert erhöht oder verringert.
Im Grunde habe ich diese Werte verwendet, um einen Timer zu erstellen. Wenn zum Beispiel der Wert 2000 ist, entspricht das 2 Sekunden an, 2 Sekunden aus.
Ist es möglich, dass der Raspberry Pi Pico eine 2A-Korrektur mit einer Spannung von 5V empfängt?
Benutzen Sie ein mobiles Ladegerät mit einer 2A-Leitung? Aunque siempre haya riesgo, creo que el Pico solo tomaria la corriente que necesite, aunque tu cargador puede ponerle 2A (al maximo).
Sie sind beim Programmieren nicht auf C oder microPython beschränkt. Ich habe Picos mit FORTH- und BASIC-Interpretern installiert und es gibt immer CircuitPython.
Danke für das Feedback - interessant zu wissen, dass man Sprachen wie FORTH auch auf dem Pico laufen lassen kann!
Auf dem Raspberry Pi Pico W kann ich die Bibliothek adafruit-circuitpython-hid nicht installieren.
Inizia l'installazione e dopo un po mi da errore 28 memoria piena.
dove sbaglio?
Grazie 1000
Toller Artikel! Ich habe eine Pico für meine benutzerdefinierte Tastatur mit kmk Firmware (Schaltung Python basiert) und es ist toll.
Ich kaufte einige pico Klone auf aliexpress vor kurzem für so niedrig wie 2,7 Dollar mit Typ C und 16 mb... Noch nicht getestet.