Allt om Raspberry Pi Pico

hallon pi pico handledning

Om du vill köpa din första Raspberry Pi kan Pico vara ett mycket attraktivt alternativ.

Men den verkliga frågan här är om Raspberry Pi Pico är rätt för dig.

Det finns många för- och nackdelar med att köpa Raspberry Pi Pico och det är viktigt att förstå ordspråket "hästar för kurser".

Innehåll dölja

Låt oss granska Raspberry Pi Pico

Raspberry Pi Pico bryter ny mark i Raspberry Pi-serien eftersom det är ett utvecklingskort för mikrokontroller. Detta innebär ett avsteg från resten av Raspberry Pis som är mikrodatorer.

Den är utrustad med RP2040-chipet som Raspberry Pi har utvecklat internt och har följande specifikationer:

  • ARM Cortex M0+ CPU-kärnor med dubbla kärnor (upp till 133 MHz)
  • 264K SRAM
  • 2 MB flashminne

Raspberry Pi Pico utmärker sig genom att vara en högpresterande mikrokontroller och har många intressanta användningsområden.

Pro: Billigt och bra för nybörjare

Vi säljer Raspberry Pi Pico för 4,10 €. vilket är den billigaste Raspberry Pi som du kan köpa. Om du är nybörjare och vill pyssla med Raspberry Pi Pico kan du faktiskt få ett komplett kit för 24,95 euro som innehåller allt du behöver för att bygga enkla projekt.

Pro: Perfekt för realtidsapplikationer

Raspberry Pi Pico är perfekt för projekt där du behöver tidsbestämma händelser exakt. Till exempel för avläsning av sensorer, drift av motorer och övervakning av uppgifter.

Pro: analoga ingångar

Raspberry Pi Pico är den första Raspberry Pi som har analoga ingångar från fabriken.

Den har totalt 5 ADC-ingångar (Analog Digital Converter). Två av dessa används av Pico för dess interna temperatursensor och för spänningsövervakning.

Så hur kan du dra nytta av att ha en analog ingång? I ett av mina projekt använde jag till exempel en potentiometer för att reglera ett reläs växlingsfrekvens. Raspberry Pi Pico skulle kunna läsa av ett värde från potentiometern och använda dess värden i det program som jag har laddat in i den.

Raspberry Pi Pico löser upp ADC-signaler med 12 bitar, vilket är bättre än 10-bitars ADC:n på Arduino Uno. Andra egenskaper är:

  • SAR ADC (successiv approximation ADC)
  • 500 kS/s (med extern 48 MHz-klocka)
  • DMA-gränssnitt på ADC-ingångarna som kan komma åt minnet utan att använda CPU:n.

Pro: programmerbar IO (PIO)

Detta är en av de coolaste funktionerna hos Raspberry Pi Pico och det är också det som ger Pico den dynamik som vissa andra mikrokontroller inte har.

PIO är ett hårdvarugränssnitt som kan programmeras oberoende av huvudprocessorerna. Det kan därför emulera många olika gränssnitt:

  • 8080 och 6800 parallellport
  • I2C
  • 3 stift I2S
  • SDIO (gränssnitt för SD-kort)
  • SPI, DSPI, QSPI
  • UART
  • DPI eller VGA (via motståndsnätverk / DAC)

PIO State Machines är fullt programmerbara och uteslutande avsedda för I/O. Särskild uppmärksamhet ägnas åt exakt timing. 

PIO-gränssnittet kan t.ex. användas för att installera tidskritiska (tidskänsliga) tillämpningar, t.ex. styrning av LED-remsor, på ett stabilt och tillförlitligt sätt. 

Pro: kan ge ut video med modifiering

Såg du "DPI eller VGA" i föregående avsnitt? Du vet vad det betyder...

Ja, Raspberry Pi kan visa video, vilket är något som du inte ens kan drömma om på de flesta mikrokontroller.

Vi har en handledning som visar hur det går till om du är intresserad.

Pro: passar på en brödskiva

hallon pi pico på brädbräda

På Raspberry Pi Pico finns stiften på två motsatta sidor av Pi Pico, och du kan därför placera Pi Pico direkt på brödbrädan med varje sida på tvärs över den delande rännan.

Detta gör det lättare att skapa prototyper eftersom du inte behöver använda hane-till-hane-ledningar (eller hane-till-hane i fallet Arduino Uno) för att ansluta Pico till ett brödbräda.

Du kan inte göra det här med andra Raspberry Pis eftersom deras stift är grupperade tillsammans.

Pro: Den minsta Raspberry Pi

Jämförelse av raspberry pi pico
Från vänster, medurs: Raspberry Pi Pico, Raspberry Pi Zero 2, Raspberry Pi 4

Det är bra att ha en liten bräda eftersom den är lättare att få plats i trånga utrymmen och lättare att montera. Låt oss till exempel säga att du vill montera Raspberry Pi Pico på väggen eller i en sluten miljö: robotar, handhållna enheter, klockor osv.

Raspberry Pi Pico mäter 51 mm x 21 mm /Källa: Raspberry Pi

Fördelar: låg energiförbrukning

Jag nämnde att Raspberry Pi Pico är liten och att den passar i små utrymmen.

Det fina är att eftersom Pico är energisnål behöver du inget stort batteri för att driva den.

Nämnde jag också att den klarar ett brett spektrum av spänningar? Den kan köras på 1,8-5,5 V, vilket är bra eftersom du kan köra den på ett enda litiumbatteri (3,7 V) eller nickelbaserade batterier som är anslutna i serie (1,2 V vardera).

En analys av Joey Castillo visade att effektiviteten hos Picos buckkonverter toppar vid 2,54V till 3,2V (motsvarande två fulladdade AA-uppladdningsbara/alkaliska batterier) om du drar <=10mA ström.

Vid högre strömmar är det dock bättre att tillhandahålla batterier för 3 AA-batterier eller ett litiumbatteri med samma spänning som ett AA-batteri.

Denna statistik kanske inte stämmer för Pico W, eftersom Pico W använder en annan buck-omvandlare. Pico W använder RT6154 medan Pico använder sig av RT6150. Klicka på länkarna för att se respektive datablad.

Här är grafen för Picos buck-omvandlare:

Neutral: Inget stöd för Linux på Raspberry Pi Pico

Om detta är ett för- eller nackdel med Raspberry Pi Pico beror på ditt projekt. Att inte ha Linux innebär att dina projekt laddas snabbare, men på det hela taget kan du göra mer om du har ett operativsystem.

Vad menar jag med snabbare laddning? Eftersom det inte finns något operativsystem att starta upp kommer din kod att laddas i stort sett i samma ögonblick som du ansluter strömmen till Pi Pico.

På alla andra Raspberry Pi tar det mycket längre tid innan du får ett svar.

Men tyvärr är du utan operativsystem begränsad till att programmera med MicroPython eller C, medan du med ett operativsystem kan programmera med många, många fler språk. Dessutom kan du spela spel, surfa på Internet och använda andra multimedieprogram.

Neutral: Inget WiFi

Om detta är en nackdel eller inte beror på ditt projekt, men om du utvecklar ett projekt som kräver att du kollar vädret eller laddar upp data till Google Sheets kan du inte göra det på Raspberry Pi Pico.

För att vara rättvis, kan du installera WiFi eller Ethernet med hjälp av eftermarknadsdelar som t.ex:

Neutral: GPIO-utgångar 3,3V

Om detta är ett för- eller nackdel beror på vilka komponenter du ska koppla Raspberry Pi Pico till.

Ett scenario där 3,3V var ett hinder var när jag försökte använda den med 5V-reläer. Oops! Jag kunde inte trycka igenom tillräckligt med spänning för att få reläet att växla.

Så jag flyttade över till min Arduino Uno, vars GPIO-stift ger 5V.

Alternativet skulle vara att lägga till komponenter till prototypen så att 3,3 V kan ökas, men varför krångla till det när jag kan göra det med en Arduino Uno?

Detta är naturligtvis bara ett scenario. Det kan variera beroende på vad du gör.

Användning av Raspberry Pi Pico

Användningsområdena för Raspberry Pi Pico är oändliga. Du kan göra något som förbättrar ditt liv eller göra något bara för skojs skull.

Mikrokontroller som läser MicroPython (istället för bara C)

Om du har använt en Arduino vet du att du måste programmera den i C.

Men du kanske inte gillar att programmera i C. Du kanske har en bättre bakgrund i Python.

Om du har haft svårt att skriva kod i C på Arduino är den goda nyheten att Raspberry Pi Pico sannolikt kan passa in i ditt användningsområde, oavsett vad Arduino kan göra.

Så kasta bort de svängda parenteserna och börja indela din kod!

Batteridrivna byggnadsdelar för lång drifttid

Om du behöver något som använder så lite ström som möjligt är det definitivt bättre att välja Raspberry Pi Pico än något kraftfullare som Raspberry Pi Zero.

Du kan använda ett mycket större utbud av strömförsörjning (1,8 V till 5,5 V) och eftersom Raspberry Pi Pico är så effektiv kan du få mycket längre driftstider än om du använder en mikrodator som Raspberry Pi Zero.

Nämnde jag att Raspberry Pi Zero är mycket kräsen när det gäller spänningen? Den klarar bara 4,75-5,25 V.*

* Enligt Arya, som lämnade en kommentar nedan, kan Raspberry Pi Zero köras på ett enda litiumbatteri så länge du inte har någon USB-periferiutrustning. Tack Arya.

Makro-tangentbord, snurrande växlar och andra HID:er

Don Hui med sitt Discord-makro-tangentbord som gör det enkelt för honom att växla volymkontroller / Källa: YouTube.

Raspberry Pi Pico kan användas som en HID-enhet (Human Interaction Device).

Men till skillnad från en tråkig mus eller ett tråkigt gammalt tangentbord kan du med Raspberry Pi Pico skapa en enhet som gör något nischat och specifikt för ditt användningsområde.

Därför kan du skapa makrotangentbord som skriver en lång sträng med en knapptryckning. Eller så kan du använda det för att stänga av Discord. Eller använda det för att trycka på CTRL + ALT + DEL. Möjligheterna är oändliga.

magis multifunktionella ratt som fungerar som en roterande volymkontroll eller Premiere Pro-tidslinje-skrubber. Källa: YouTube

sArCaSm kEyBoArD

Vad är bättre för att uttrycka sarkasm: att visa en /s taggen i slutet av din text eller tYpInG lIkE tHiS?

Jag föredrar den andra eftersom den omedelbart förmedlar sArCaSm.

Skaparen av projektet, Ben S, berättade att han använder två Raspberry Pi Picos för att få igång detta. En Pico fungerar som en USB HID-tangentbordsenhet för datorn och en annan fungerar som USB-värd för att läsa inmatningar från tangentbordet. Värden kommunicerar sedan med enheten via UART vad tangenttrycket var.

Pico sarcasm-tangentbordet aktiverar och avbryter caps lock efter varje tangenttryckning, vilket ger sArCaStIc TeXt.

Vad kan inte Raspberry Pi Pico göra?

Låt oss tala om en mer typisk konfiguration som är direkt ur lådan.

Jag erkänner att det finns många sätt att öka Raspberry Pi Picos kapacitet. Du kan ge ut video, sätta upp ethernet, ge ut ljud...

Med tillräckliga ändringar kan Raspberry Pi Pico närma sig en mikrodator.

Men ingen rationell person kommer att gå så långt. Efter en viss nivå av modifiering blir det ogenomförbart.

Varför blir det ogenomförbart?

För du kan lika gärna köpa något där du får alla dessa funktioner direkt ur lådan!

En nära konkurrent som du bör hålla ett öga på är Raspberry Pi Zero 2. Vi har en en megaartikel som svarar på alla dina frågor här.

På en grundläggande nivå har Raspberry Pi Pico mindre beräkningskraft. Jämfört med den billigaste mikrodatorn, Raspberry Pi Zero, har Pi Pico en standardklocka på 133 MHz och kan utföra 361,76 Dhrystone Million instruktioner per sekund (DMIPS), medan Raspberry Pi Zero kan utföra 1250 DMIPS.

Raspberry Pi Zero har också 512 MB RAM-minne, ett operativsystem, WiFi och en SD-kortplats. För en person som är mest kunnig i JavaScript som jag själv är möjligheten att skriva Node-kod för att ansluta den till Google Cloud en anledning till varför jag gillar att använda Pi-mikrodatorerna.

Mikrodator vs mikrokontroller

När jag illustrerade det föregående scenariot använde jag termerna mikrodator och mikrokontroller. Jag ska sammanfatta några användningsområden där den ena är bättre än den andra.

En mikrokontroller är mycket enklare än en mikrodator och därför är det mycket lättare att få en mikrokontroller att utföra enkla uppgifter. Om du bara behöver blinka en lysdiod, rotera en servo, mäta temperaturdata kan en mikrokontroller göra det mycket enkelt och kompetent.

Du får faktiskt vissa fördelar som snabb omstart och längre batteritid.

Med enkelhet följer begränsningar. Det är till exempel mycket lättare att ansluta din prototyp till Internet med en mikrodator. Du kanske till exempel vill ansluta din prototyp till en e-posttjänst som skickar ett ping till dig när vissa tröskelvärden är uppfyllda. Jag skulle göra dessa projekt på en Raspberry Pi Zero i stället för att försöka få det att fungera med Raspberry Pi Pico.

ScenarioMikrokontroller (t.ex. Raspberry Pi Pico)Mikrodator (t.ex. Raspberry Pi Zero)
Kör en serverIngenJa
Blinkar en lysdiodMycket snabbare från början till slutMycket långsammare; många fler processer att gå igenom
Automatisk omstart av programmet vid strömavbrott?JaInte som standard
Spela videospelIngenJa
Körs på batteri?Ja, det är mycket troligt att de håller längre i genomsnittJa, håller inte lika länge i genomsnitt
Hantering av värme?Inget krävs vanligtvis.Kylflänsar, fläktar, värmeledande höljen
Kostnader?LägreHögre

Raspberry Pi-pinnar

Raspberry Pi Pico har 30 GPIO-stift, varav 26 är tillgängliga för användning.

  • 2x SPI
  • 2 x UART
  • 2 x I2C
  • 8 x PWM med två kanaler

Det finns också:

  • 4 x klockutgång för allmänna ändamål
  • 4 x ADC-ingång
  • PIO på alla stift

Här är Raspberry Pi Picos pinoutbild:

Raspberry Pi Pico-stift / Källa: Raspberry Pi

En Redditor som heter C_King_Justice har också skapat ett verktyg som kan hjälpa dig att hitta dina GPIO-stift på Raspberry Pi Pico. Du kan Ladda ner dokumentet här.

Pappersuttag av C_King_Justice / Källa: Reddit

Specifikationer för Raspberry Pi Pico

Raspberry Pi Pico
Pris€4.10 (styrelse) €24.95 (Raspberry Pi Pico-kit för nybörjare)
CPURP2040 med dubbelkärnig Cortex M0+ med upp till 133 MHz
CPU-kapacitetPLL på chipet möjliggör variabel kärnfrekvens
CPU-frekvensupp till 133 MHz, över-/underklockningsbar
GPUIngen GPU
RAM264 kB inbäddat SRAM i 6 banker
NätverkIngår inte, men du kan lägga till den
BluetoothInte inkluderad
HDMI-portIngår inte, men du kan lägga till den
USB-portMicroUSB för ström och data
KompositvideoIngår inte, men du kan lägga till den
ÅterställningsnålMedföljer inte, men du kan löda in den.
KameraportIngen
Effektförbrukning~1,3 mA i SLEEP-läge till 93 mA i "Popcorn"-testet
Strömförsörjning5V via microUSB eller 1,8 - 5,5V via VSYS
formfaktor51 x 21 mm

Har Raspberry Pi Pico HDMI?

Raspberry-Pi-Pico-Video-Output-DVI-Sock

Nej, det gör det inte som standard. Men du kan lägga till en video själv. Se vår guide här.

Observera att videogränssnittet är en HDMI-kontakt, men att det i själva verket är en DVI-signal. HDMI är en efterföljare till DVI, så DVI-signaler kan överföras via HDMI.

På samma sätt kan du köpa en HDMI- till DVI-adapter för att konvertera HDMI-kontakten till DVI.

Observera dock att den här konfigurationen inte ger ut ljud.

Har Raspberry Pi Pico Ethernet?

Nej, det gör det inte som standard. Men du kan lägga till ethernet själv.

Raspberry Pi har officiellt släppt en guide som du kan följa för att installera Ethernet på din Raspberry Pi Pico.

I huvudsak behöver du en RMII Ethernet PHY, t.ex. en LAN8720, ett brödbräda och bryggkablar. Din Raspberry Pi Pico måste också ha lödavsnitt.

Har Raspberry Pi Pico WiFi?

Nej, men du kan installera den med hjälp av reservdelar. Ett kompatibelt chip som hjälper dig att få WiFi-funktioner är Adafruit Airlift WiFi Featherwing Co-Processor.

Har Raspberry Pi Pico USB?

Ja, Raspberry Pi Pico har en microUSB-port. Den kan användas för att driva Raspberry Pi.

Du kan också använda Raspberry Pi Pico som en enhet för mänsklig interaktion. Om du ansluter den till din dator med rätt komponenter och kod kan den bli en joystick, ett makrotangentbord, en växel osv.

Har Raspberry Pi Pico Bluetooth?

Nej, men du kan installera den med hjälp av reservdelar.

För att integrera Bluetooth i Raspberry Pi Pico krävs vanligtvis att du köper en Bluetooth-modul, till exempel en HC-06 Bluetooth-modul.

Finns det en Raspberry Pi Pico kamera?

Ralph Yamamotos prototyp med kameramodulen HM01B0. Källa: Källa: Ralph Yamamoto/Element14

Ja, du kan integrera Raspberry Pi Pico med en kameramodul.

En kamera som du kan använda är HM01B0-kameran från Himax Imaging. Fördelen med att använda den är att den har extremt låg effekt, 1-2 milliwatts enligt Ralph Yamamoto som skrev om sin erfarenhet av att få en kamera att fungera med Raspberry Pi Pico.

Kameraförhandsgranskning med 96×96 pixlar. Källa: Källa: Ralph Yamamoto/Element14

Hans slutsats var att "jag är säker på att det kommer att krävas en hel del justeringar", och han sa vidare att han kände sig begränsad av sin förmåga att bearbeta och att kamerans dokumentation var bristfällig.

Operativsystemet Raspberry Pi Pico

I allmänhet kör du inget operativsystem på Raspberry Pi Pico.

I de flesta projekt behöver du bara ladda upp kod och sedan köra det enda programmet. Det finns inget behov av ett operativsystem i det fallet.

Men är du den som har flera flikar i Chrome? Tänk om du bara kunde använda en Chrome-flik.

Det "klassiska" sättet att programmera Raspberry Pi Pico är det mest resurseffektiva sättet, men det begränsar också din förmåga att utföra flera uppgifter.

Som tur är finns det operativsystem som fungerar på Raspberry Pi Pico.

Officiellt RTOS (Real Time Operating System)

Det finns ingen, men Raspberry Pi säger i sin FAQ (från februari 2022) att de "kommer att arbeta på att portera ett RTOS snart".

FreeRTOS

Raspberry Pi Pico kan köra FreeRTOS. Här är en kort video som visar dig hur du går från programmering på bar metall (det "typiska" sättet att blinka en lysdiod) till OS-baserad programmering.

Denna serie i fem delar går in på djupet om FreeRTOS, hur det fungerar och hur du kan konfigurera och använda det.

Fuzix

Du kan inte få Raspberry Pi Pico att köra Linux med ett grafiskt användargränssnitt, men du kan köra en Unix-klon på Raspberry Pi Pico med Fuzix.

Raspberry Pi har publicerade en vägledning som du kan följa och som du behöver:

  • Non-Pico Raspberry Pi för seriell anslutning
  • Raspberry Pi Pico
  • MicroSD-läsare för Raspberry Pi Pico.

PyDOS

Github-användaren RetiredWizard har just skapat ett DOS-liknande skal för RP2040/ESP32-korten.

Som du kan se i videon ovan tar den dig verkligen tillbaka mer än 30 år.

Kolla in Github-repo här.

Kom igång med Raspberry Pi Pico

Vi har utformat flera kit baserat på vad vi tror kommer att hjälpa dig mest i det långa loppet för att du ska kunna njuta av din resa med Raspberry Pi Pico.

Här är några av de mest grundläggande tillbehören för Raspberry Pi Pico som rekommenderas.

Schottky-dioden är nödvändig om du tänker använda en andra strömkälla till Pico. Detta är det enklaste sättet att köra en strömförsörjning som ligger inom spänningsområdet 2,3 V till 5,5 V, vilket kan vara en litiumcell eller tre AA-batterier.

Genom att lägga till denna diod kan du "OR" de två spänningarna från VBUS och den externa spänningen för att driva VSYS med dioderna som förhindrar att någon av spänningarna ger den andra en motspänning.

Även om detta är enklast, finns det dock effektivitetsförluster. Raspberry Pis datablad förklarar detta i detalj och förklarar också hur man kan minska det i kapitel 4.5.

Med en batterihållare kan du ha reservkraft (med en Schottky-diod) eller köra din installation helt utan nät.

Den här är självklar. Du behöver den här kabeln för att ansluta din Raspberry Pi Pico till din dator för att ladda upp kod. Den kan också fungera som en strömkälla.

Två 20-poliga kontaktdon är viktiga eftersom du behöver dem för att ansluta din Raspberry Pi till komponenter eller till ett brödbräda.

Det trepinniga kontaktdonet behövs för felsökning.

Köp inte ett 40-poligt kontaktdon eftersom det är avsett för andra Raspberry Pis.

Om du inte vill löda ledarna själv kan du överväga att köpa en Pico med förpolade huvudledare.

Programmering på Raspberry Pi Pico

Du kan koda i MicroPython, C/C++ och CircuitPython på Raspberry Pi Pico. Här är en tabell som visar vilken ansträngning som krävs för att blinka den interna lysdioden.

SpråkMicroPythonC/C++CircuitPython
Krävande inställningar för den första körningenMediumHögstaLägsta
Steg för att skapa ett nytt programMediumHögstaLägsta
Kontroll över maskinvaranMediumHögstaMedium

MicroPython på Raspberry Pi Pico

MicroPython är i princip Python light. Eller diet-Python.

Det är Python med en liten delmängd av Pythons standardbibliotek, optimerat för att köras på mikrokontroller som Raspberry Pi Pico.

För att kunna använda MicroPython måste du ladda ner följande Thonny och gå ner till höger där det står "Python 3.7.9" och klicka på det och välj MicroPython (Raspberry Pi Pico).

Du kommer troligen att mötas av ett popup-fönster där du uppmanas att uppdatera. Gör det.

Uppdateringen fungerade bra när jag körde Thonny på mitt Raspberry Pi OS, men på Windows uppstod felet "SSL: CERTIFICATE_VERIFY_FAILED".

Du kan åtgärda detta genom att ladda ner det här certifikatet (https://letsencrypt.org/certs/lets-encrypt-r3.der), högerklicka sedan på den nedladdade filen och välj "Install Certificate" så kommer du inte längre att stöta på det här felet.

Med MicroPython installerat kan du göra Raspberry Pi Picos motsvarighet till "Hello World" och blinka på dess interna lysdiod med hjälp av den här koden.

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)

Tryck på RUN, spara den som blink.py och din Raspberry Pis interna lysdiod bör blinka.

Låt oss nu se motsvarande process på C.

Ytterligare läsning

PiCockpit har också några guider som hjälper dig att komma igång med MicroPython på Raspberry Pi Pico.

Raspberry Pi Pico och MicroPython på Windows - går vi djupare in på hur man installerar MicroPython på Windows på Raspberry Pi, hur man installerar rätt drivrutin på Windows 8.1, hur man ansluter till Pico med PuTTY och en detaljerad förklaring av Thonny.

C-förlängning för MicroPython på Raspberry Pi Pico - Tänk om du kunde köra MicroPython och C samtidigt och få fördelarna med båda språken? C är bättre än MicroPython på beräkningstunga uppgifter och ibland kan du vilja koppla ihop hårdvara via ett C API från MicroPython. Den här guiden visar hur du kan göra det.

Blinkande lysdioder med C/C++

Om du behöver mycket finare kontroll bör du förmodligen skriva C/C++.

Att få din Raspberry Pi Pico att fungera med C är mycket mer arbete. Det är inte lika enkelt som att skriva MicroPython med Thonny.

Det enklaste sättet är att använda en Raspberry Pi-mikrodator med Raspberry Pi OS.

Om du vill använda en Mac eller Windows, Den officiella guiden innehåller instruktioner. i kapitel nio.

Kör dessa tre kommandon:

wget https://raw.githubusercontent.com/raspberrypi/pico-setup/master/pico_setup.sh 
$ chmod +x pico_setup.sh
./pico_setup.sh

Du behöver cirka 2 GB utrymme för att köra det här kommandot. När det är gjort startar du om genom att köra sudo omstart .

När du har startat upp öppnar du Visual Studio Code (under mappen Programmering i startmenyn) och öppnar mappen som ligger i /home/pi/pico/pico-exempel. Du måste ladda denna mapp och inte en undermapp.

Därefter måste du konfigurera VS Code. Gör så här enligt bilden ovan:

  1. Klicka på den del där det står "No Kit";
  2. En popup-fönster visas. Välj alternativet där det står "arm-none-eabi";
  3. Klicka på [all] och välj det projekt som du vill kompilera. För att få den interna lysdioden att blinka valde jag blink
  4. Tryck på Bygg

Du kommer att kunna hitta blink.uf2 filen i den /build/blink mapp.

Kopiera UF2-filen till din Raspberry Pi Pico och du kommer att se den interna lysdioden börja blinka.

Att bygga ett eget projekt är mer komplicerat i C/C++. Den officiella guiden har kapitel åtta där du får veta hur du skapar ditt eget projekt.

CircuitPython

En tredje deltagare bland de programmeringsspråk som fungerar med Raspberry Pi Pico är CircuitPython.

Till att börja med, ladda ner .UF2-filen här.

BOOTSEL-knappen

Håll knappen BOOTSEL intryckt och anslut Pico till datorn. Du bör se en ny enhet.

Kopiera UF2-filen som du laddade ner till den enheten. Din Pico kommer att koppla bort och återansluta till en ny enhet som heter CIRCUITPY.

I den mappen finns en fil som heter code.py, öppna den med din föredragna kodredigerare (även Notepad fungerar).

Lägg in den här koden:

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)

När du har sparat den ser du att Picos interna lysdiod börjar blinka.

På det hela taget var CircuitPython det smidigaste och mest direkta sättet att få din interna lysdiod att blinka. De andra två alternativen var mer omständliga, särskilt att köra C på Pico (vilket är särskilt svårt om du försöker få det att fungera på Mac/Windows).

Med det sagt, om du tänker använda CircuitPython på lång sikt finns det argument för att använda Thonny som IDE eftersom det kan hämta paket åt dig och du kan också köra och stoppa program genom att trycka på play/stop-knappen i kommandofältet.

För ytterligare information om CircuitPython, se Adafruits dokumentation. För att återgå till MicroPython, ladda ner en .UF2-fil härifrån och överför den till din CIRCUITPY-enhet.

Bonus: Assembler på Raspberry Pi Pico

Ja, du kan skriva i assembler om du inte vill programmera Raspberry Pi Pico i C eller Python.

I Raspberry Pis FAQ står det att Pico SDK har några funktioner som är skrivna i assembler och att,

"Processorn (ARM Cortex M0+ med två kärnor) implementerar ARMv6-M Thumb-instruktionsuppsättningen, inklusive ett antal 32-bitarsinstruktioner som använder Thumb-2-teknik. ARMv6-M-instruktionsuppsättningen omfattar alla 16-bitars Thumb-instruktioner från ARMv7-M utom CBZ, CBNZ och IT och 32-bitars Thumb-instruktionerna BL, DMB, DSB, ISB, MRS och MSR."

Bonus: programmeringsspråket Rust på Raspberry Pi Pico

Om du känner dig sur för att du är en rostacean som längtar efter att få skriva på ditt favoritspråk har jag goda nyheter för dig.

Hjärtat i detta är RP2040 Hardware Abstraction Layer som som du kan få på GitHub (namn rp-hal).. Den fungerar för många andra styrelser som använder RP2040-mikrokontrollern än Raspberry Pi Pico.

Här finns en video som visar hur du ställer in den.

Vad är UF2 och varför används det så mycket på Raspberry Pi Pico?

Det är magiskt. Du drar en UF2-fil till din Raspberry Pi Pico och plötsligt återmonteras den med ett nytt namn eller så blinkar plötsligt en lysdiod.

UF2 (U F i kvadrat) står för USB Flashing Format. När du drar den till din Raspberry Pi drar du din kod och instruktioner till bootloadern så att den vet vad den ska göra med det du har laddat upp.

Anslutning av Pico via den seriella terminalen

Windows

Det är enkelt att ansluta till Pico med hjälp av den seriella terminalen. Vi har en guide här.

Anslutning till en Raspberry Pi 4 (Linux)

För att ansluta Raspberry Pi Pico till en Raspberry Pi 4 kan du använda antingen USB- eller UART-stift, minicom och några jumpertrådar.

Raspberry Pi's Komma igång med Pico har all information i kapitel 4, särskilt punkterna 4.4 och 4.5.

Felsökning av Raspberry Pi Pico

Vad är de tre stiften i botten till för?

Raspberry pi pico felsökningsnålar
Raspberry Pi Pico felsökningsnålar

Dessa stift ger dig möjlighet att återställa Pico, läsa in kod i flash, köra koden och viktigast av allt, felsökningsmöjligheter.

Den största fördelen är de avancerade felsökningsmöjligheterna som du kan få från dessa stift. Du kan nu göra mycket finare kodanalyser eftersom du kan göra det:

  1. Sätt stopppunkter i din kod. Med hjälp av brytpunkter kan du pausa fortsatt kodkörning medan du till exempel kontrollerar värdet på dina variabler.
  2. Gå igenom kodutförandet rad för rad. När går allting fel? Rad för rad gör det lättare att felsöka.

De kan anslutas till en Raspberry Pi-mikrodator via deras GPIO-stift. Om du vill ansluta den till andra maskiner, sannolikt via USB, behöver du en debugsond.

En Raspberry Pi Pico kan också fungera som en felsökningssond som ansluter datorn till den Pico du vill arbeta med. Tänk på det så här: din dator har inte de GPIO-pinnar som behövs för att upprätta en UART/SWD-anslutning, så du kommer att använda en Pico för att tillhandahålla dessa anslutningar tillsammans med picoprobe firmware som gör det möjligt att använda den.

Om du tänker använda SWD för felsökning bör du dock använda en UART-baserad seriell anslutning snarare än en USB-anslutning. Debuggning stoppar RP2040:s kärnor vilket gör att USB-anslutningen bryts.

Låt oss tala lite om vad varje stift gör:

SWDIO: Serial Wire Debug Input/Output-stiftet överför felsökningstrafik mellan RP2040 och värddatorn (t.ex. en fullstor dator eller en Raspberry Pi-mikrodator).

GND: Mark. Behövs för att upprätthålla god signalintegritet mellan värddatorn och Pico.

SWCLK: Serial Wire Clock-stiftet synkroniserar anslutningen.

Det bästa är att hänvisa till Komma igång med Pico databladet från Raspberry Pi, med särskilt fokus på kapitel 5, 6 och bilaga A: användning av Picoprobe.

Raspberry Pi Pico-projekt

Här är några bra projekt för nybörjare som du kan starta med minimala extradelar.

Enkelt sArCasM-tangentbord och makrotangentbord

Det här är ett roligt projekt där du kan skapa en modifierare som förvandlar normal skrivning till sarkasm. På allvar, om du vet hur man använder Adafruits HID-bibliotek med en switch kan du skapa makrotangenter.

Om du vill skriva sArCaSm i stor skala är det ganska tröttsamt. Det finns ett riktigt enkelt sätt att göra det med Raspberry Pi Pico.

Du behöver inget annat än din Raspberry Pi Pico för den enklaste konstruktionen. Din Raspberry Pi Pico bör dock ha CircuitPython med Adafruits HID-bibliotek.

I Thonnys vanliga läge går du till Verktyg -> Hantera paket och söka efter adafruit-circuitpython-hid. Installera den.

Se också till att du använder CircuitPython-tolken, som finns längst ner till höger i Thonny.

Lägg in den här koden,

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)

Ladda upp koden till din Pico. Tryck vid behov på knappen RUN i Thonny.

Varje gång du ansluter din Raspberry Pi Pico till datorn... Håll den stora händelsen rakt framför dina ögon.

Vad det här skriptet gör är att det växlar Caps Lock på och av var 0,2:e sekund, enligt deklarationen i time.sleep(0,2). Om du ändrar värdet inom parenteserna kan du finjustera din växlingsfrekvens för fall.

Lägga till en strömbrytare till det här projektet

lägga till en strömbrytare till raspberry pi pico

Denna grundläggande konstruktion har den nackdelen att du måste dra i USB-kabeln för att stoppa sarkasmen.

Vi lägger till en strömbrytare som gör att vi kan slå på och av den här funktionen.

Låt oss också låta styrelsens lysdiod lysa när sarkasmen är aktiverad.

Diagram för att ansluta en strömbrytare till Raspberry Pi Pico med Wokwi.

En tryckknappsbrytare har fyra stift. Anslut 3,3V-stiftet och GPIO 22 (märkt som GP 22) på diagonalt motsatta sidor av tryckknappen.

Det som händer här är att när du trycker på knappen kommer du att ansluta 3,3 V till GPIO 22-stiftet och därmed, i lekmannatermer, aktivera det.

Detta är den enda fysiska ändringen du behöver göra. Det är mycket enkelt.

Vad gäller koden så ökade den med några rader (fet = relaterad till knappen, kursiv = relaterad till 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>

Konvertering av sarkasm-tangentbordet till ett makro-tangentbord

Du kan använda knappen för att aktivera makron som ALT + TAB, CTRL + ALT + DEL eller vad som helst annat upp till maximalt sex vanliga tangenter.

Du behöver bara ändra tangenterna i denna metod keyboard.press och keyboard.release.

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>

Det finns många fler saker du kan göra med det här tangentbordshacket. Du kan till exempel använda det för att stoppa skärmsläckaren från att dyka upp genom att trycka på en ofarlig tangent som Page Up. Eller så kan du använda det specifikt för att styra Zoom, Discord, OBS, Meet osv.

Temperatur-/fuktdata med DHT22

hallon pi pico dht22

Om du har en DHT11-, DHT22- eller AM2302-sensor kan du använda den med Raspberry Pi Pico.

Dessa sensorer skulle förmodligen vara bäst tillsammans med en LCD-skärm eller ett sätt för dig att spara data, men låt oss börja med ett snabbstartsprojekt.

Du behöver tre bryggkablar, ledningar på Raspberry Pi Pico och ett motstånd på 10K. Följande paket innehåller allt du behöver, förutom Raspberry Pi Pico med headers.

Det är verkligen enkelt med Thonny, CircuitPython och Adafruits DHT-bibliotek.

I följande steg används DHT22.

Anslutning av DHT22-sensorn till Raspberry Pi Pico

Det är mycket enkelt att ansluta DHT22 till Pico.

hallon pi pico dht22

Det finns fyra stift på DHT22. Från vänster till höger, med den maskiga sidan mot dig, är stiftstiften följande VCC, UPPGIFTER, NC och GND. Du behöver inte ansluta NC.

Anslut VCC till den 3,3V stift på Pi.

Anslut 10K-motståndet från 3,3V till UPPGIFTER, och koppla sedan in UPPGIFTER till GP0. Detta är lättare att göra med en brödbräda så att du kan dela upp 3,3 V. Som framgår av bilden ovan går ett motstånd från den vänstra pinnen till den andra pinnen, liksom att den gröna tråden är ansluten till GPIO 0.

Anslut GND till någon av jordstiften på din Raspberry Pi Pico.

Du är klar. Det är dags för programvara.

hallon pi pico dht22
Diagram från Wokwi.

Kodning av DHT22 i Thonny för Raspberry Pi Pico

Öppna först Thonny och se till att du är i Regular Mode och CircuitPython (längst ner till höger). En mer detaljerad guide för Thonny och CircuitPython finns ovan.

Gå till Verktyg -> Hantera paket -> sök efter adafruit-circuitpython-dht.

hallon pi pico dht22

Ange sedan den här koden som tillhandahålls av Adafruit.

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)

Tryck på Kör i Thonny och du bör se en utskrift:

pi dht22

Raspberry Pi Pico-skärm

Raspberry Pi Pico är ganska häftig eftersom den kan visa bilder.

Nackdelen är att det kräver en hel del arbete, lite teknisk kunskap och att du får bilder som ser ut som om de är från Windows 3.1-eran.

Varför det? På grund av det begränsade RAM-minnet på 264 KB. Detta begränsar skärmens upplösning och färgdjup.

Här är några exempel på vad du kan producera.

Enkel videoutgång med DVI-sockel

Det enklaste sättet att ge ut video är att följa vår guide och använda DVI-sockeln eller VGA & Audio expansionskortet. DVI-sockeln använder en HDMI-kabel, vilket sannolikt är den mest kompatibla porten med dagens enheter.

Läs hela artikeln här om hur du kan komma igång.

Gör-det-själv sätt att ansluta Pico till en bildskärm

Det finns andra sätt att överföra video utan att köpa kringutrustning.

Miroslav Nemecek har skrivit en artikel om hur du kan använda åtta motstånd och en VGA-port för att ansluta en bildskärm till din Raspberry Pi Pico.

Och här är ett sätt att använda en HDMI-kabel och motstånd för att ansluta din Pico till en HDMI-skärm.

Raspberry Pi Pico strömförbrukning

Raspberry Pis datablad för Pico ger oss en bra grund för att förstå hur mycket ström du kan förvänta dig från Pico vid vissa typiska användningsområden.

De här siffrorna är inte det absoluta maximum du kan få ut av Raspberry Pi Pico, men de är en bra utgångspunkt.

Det första testet omfattade video, ljud och SD-kort för att visa en "Popcorn"-demonstration av en mediespelare via VGA-, SD-kort- och ljudkortet.

Stat
Spela Popcorn (video, ljud, SD-kort)93.5mA
BOOTSEL-läge, aktivt9.9mA
DORMANT-läge0.8mA
SLEEP-läge1.3mA

Du kanske undrar: vad är skillnaden mellan DORMANT och SLEEP?

Dormant kräver en extern utlösare som manipulerar en GPIO-stift för att väcka Raspberry Pi Pico, medan SLEEP kan köra en intern klocka för att väcka RP2040, vilket illustreras i RP2040 datablad.

I Raspberry Pi Pico FAQ förtydligar de detta ytterligare,

"SLEEP-läget är när processorerna är i wfi/wfe och DMA är inaktivt, så du kan stänga av de flesta systemklockor, inklusive saker som bus fabric.
I DORMANT-läget stängs alla oscillatorer av, vilket ger lägre effekt, men då har du färre alternativ för att vakna upp."

Kan jag köra Raspberry Pi Pico på en powerbank?

raspberry pi pico power bank batteri

Ja, det kan du.

Men det kan hända att Raspberry Pi Pico inte drar tillräckligt med ström från strömbanken och att strömbanken går in i energisparläge.

Lösningen är tyvärr att dra mer ström genom att sätta ett motstånd mellan powerbanken och Raspberry Pi Pico. Här är en video som förklarar hur det går till.

Strömförsörjning av Pico (spänningar)

Raspberry Pi Pico kan strömförsörjas via microUSB-porten. Detta ger VSYS ström från 5V VBUS-spänningen, via D1.

Om du inte använder USB-porten för att driva din Raspberry Pi Pico kan du ansluta VSYS till en strömkälla på 1,8 V till 5,5 V.

Om du ansluter båda måste du dock föra in den andra strömkällan i VSYS via en Schottky-diod, vilket förhindrar att den ena strömkällan ger den andra strömkällan motströmning. Schottkydioden tillåter också att den högre av antingen VBUS-spänningen eller den externa spänningen flödar.

Det finns dock ett spänningsfall över Schottky-dioden, så du måste leverera en spänning på 2,3V till 5,5V.

Det betyder att du kan driva Raspberry Pi Pico med minst 2x nickelbatterier (2,4V) eller 1x litiumbaserat batteri (3,7V).

För att inte förlora effektivitet genom att använda Schottkydioden kan du istället använda en P-kanalig MOSFET med lågt motstånd.

Mer information finns i Datablad för Raspberry Pi Pico.

Kan jag driva Raspberry Pi Pico via USB-uttaget på en TV?

Ja, det kan du. Här är en bild där jag blinkade med en intern lysdiod.

energiförbrukning för raspberry pi pico (2)

En vanlig USB-port bör kunna leverera upp till 500 mA, vilket är mycket mer än vad Raspberry Pi Pico behöver. Som du kan se i de strömförbrukningstester som Raspberry Pi har gjort, drog det mest intensiva testet bara cirka 90 mA.

Du kan få problem om din Raspberry Pi Pico-situation drar mer än 500 mA, t.ex. om din Pico har strömkrävande kringutrustning.

Raspberry Pi Pico jämfört med andra styrelser

Raspberry Pi Pico är en senkomling i mikrokontrollervärlden och släpptes först 2021. Det finns redan hård konkurrens i mikrokontrollervärlden med ESP32 och Arduinos som har många varianter som kan hjälpa dig att få igång ditt projekt med rätt funktioner som WiFi.

Det finns inga varianter för Raspberry Pi Pico, så du måste köpa HAT:er och andra tillägg för att uppnå samma mål.

Dessutom, om du ska lägga till många komponenter ... när blir det dags att bara köpa en mikrodator?

Låt oss besvara detta genom att titta på ESP32, Arduino Uno och Raspberry Pi Zero.

Raspberry Pi Pico vs Espressif ESP32

ESP32 är ett stort steg uppåt från Raspberry Pi Pico när det gäller den tekniska kapaciteten. För jämförelsens skull valde jag PICO-KIT-varianten eftersom den kändes mest lik Pico i formfaktor.

Att ha WiFi och Bluetooth är en stor förändring. Du kan till exempel köra en server på Espressif ESP32 som visar sensorns värden, medan du inte kan göra det på Raspberry Pi Pico.

ESP32 har också en snabbare processor, mer RAM-minne och mer flashminne, men allt detta har en högre energiförbrukning.

Raspberry Pi Pico har lite mer blygsamma specifikationer, men två saker sticker ut. Det faktum att den kan acceptera spänningar från 1,8 V till 5,5 V gör det möjligt att använda ett litiumbatteri, vilket ger ett mycket kompakt paket. Detta skulle inte vara möjligt med ESP32 om man inte ändrade 3,7 V-spänningen från det enda litiumbatteriet.

Raspberry Pi PicoEspressif ESP32-PICO-KIT
CPU-frekvens133MHz80/160/240 MHz
MikrokontrollerRP2040Xtensa LX6
Kärnor22
Flash-minne2 MB4 MB
RAM256KB520KB
GPIO26 (användbar)36
Har USB?microUSBmicroUSB
WiFi och/eller BT?IngenJa, båda
Spänning1.8 - 5.5V eller 5V USB3,3V (via stift) eller 5V via USB eller 5V-12V (via spänningsregulator)
Strömförbrukning (med aktivitet)93 mA (Popcorn-test)100-128mA1
Storlek51x21mm52x20mm
SpråkMicroPython / CMicroPython / C

Observera: siffrorna för strömförbrukningen på ESP32 körs ett program med en tom slinga.

Raspberry Pi Pico vs Arduino Uno Rev3

Arduino tillverkar ett antal kort och när det gäller formfaktor är Arduino Nano troligen den närmaste, med en storlek på 45 x 18 mm. Arduino tillverkar också ett kort som använder RP2040-mikrokontrollern.

Det vanligaste kortet är dock Arduino Uno Rev3, så låt oss ta en titt på hur dessa två kort står sig mot varandra.

Raspberry Pi PicoArduino Uno Rev3
CPU-frekvens133MHz16 MHz
MikrokontrollerRP2040ATmega328P
Flash-minne2 MB32KB
RAM256KB2KB
GPIO26 (användbar)14 digitala, 6 analoga
Har USB?microUSBUSB B
WiFi och/eller BT?IngenWiFi variant tillgänglig
Spänning1.8 - 5.5V eller 5V USB6-20V (7-12V rekommenderas) eller via USB.
Storlek51x21mm68x53mm
SpråkMicroPython / CC

För nybörjare är en av de största skillnaderna att notera att Arduino Uno arbetar med 5V-logik medan Raspberry Pi Pico arbetar med 3,3V-logik.

5V kan göra det lättare för nybörjare eftersom vissa komponenter kräver en 5V-ingång, t.ex. reläer. Om du har en 5V-komponent som du vill köra på Raspberry Pi Pico måste du tillhandahålla ytterligare komponenter för att höja 3,3V till 5V.

Den andra skillnaden är att Arduino Uno är öppen källkod, vilket innebär att du kan köpa billigare kort som har exakt samma kapacitet. Med det sagt är Raspberry Pi Pico redan extremt billigt för $4 eller 4,10 euro.

Arduino Uno har också ett mycket större spänningsintervall (7-12 V rekommenderas), vilket innebär att du kan använda den med många olika typer av strömförsörjning.

När det gäller programmeringsspråk har Pico fördelen att du kan koda i MicroPython, medan du måste skriva C för Arduino. Med det sagt har Arduino ett större bibliotek som gör det lättare att arbeta med komponenter.

Raspberry Pi Pico vs Raspberry Pi Zero

pi zero pi pico
Foto av Harrison Broadbent.

I viss mån har Pico och Zero överlappande funktioner. I enkla kretsar kan du använda Pico och Zero för att göra exakt samma sak.

Men hur du kommer till samma punkt varierar mellan Pico och Zero.

Här är den logik som jag använder för att bestämma vilken som ska användas:

ScenarioVad du ska köpa
Jag är bättre på ett annat språk än C/Python.Noll
Jag har "obegränsad" ström (dvs. användning som inte är solceller eller batterier).Noll
Jag behöver WiFi och/eller BluetoothNoll
Jag behöver spara data (t.ex. temperaturloggar).Noll
Jag behöver använda en kameraNoll
Jag behöver den mest kompakta inställningenPico
Jag behöver snabb omstart vid krasch/kraftfelPico
Jag vill inte konfigurera ett operativsystemPico
Jag vill ha det billigare alternativetPico

En mer detaljerad beskrivning av varför du ska välja Pico eller Zero är följande som beskrivs ovan, och den här länken tar dig till den..

Raspberry Pi Pico vs Teensy 4.1

Teensy 4.1 är ett extremt kraftfullt kort tack vare dess ARM Cortex-M7-chip som körs med 600 MHz.

Teensy 4.1, som släpptes av PJRC 2021, skulle tilltala personer som behöver något med mycket processorkraft, RAM, flashminne, ethernet och fler GPIO-stift än vad du hittar i Raspberry Pi Pico.

Du får 55 ingångs-/utgångsstift, men endast 42 är "brödbar". Det finns 35 PWM-stift, 18 analoga ingångar, 8 seriella, 3 SPI- och 3 I2C-stift.

Raspberry Pi Pico utmärker sig genom sin enkelhet. Om du precis har börjat lära dig och vill ha det enklaste sättet att komma igång med enkla projekt är Raspberry Pi Pico det enklaste sättet att komma igång.

Raspberry Pi Picos programmeringsspråk är till exempel MicroPython, medan Teensy 4.1 huvudsakligen programmeras i C.

Det är också väldigt enkelt att använda CircuitPython på Raspberry Pi Pico, vilket gör det lättare att bygga projekt.

Teensy 4.1 kostar $26,85, vilket är betydligt mer än Raspberry Pi Pico $4.

Dessutom är det mycket enklare att driva Raspberry Pi Pico med ett batteri eftersom den kan ta emot en bred spänning.

Raspberry Pi PicoTeensy 4.1
CPU-frekvens133MHz600MHz
Flash-minne2 MB8 MB
RAM256KB1024KB
GPIO26 (användbar)55 digitala, 18 analoga
Har USB?microUSBmicroUSB
WiFi och/eller BT?IngenNej, men har Ethernet
Spänning1.8 - 5.5V eller 5V USB5V via USB eller VIN
Storlek51x21mm61x15mm

Nedladdningar av Raspberry Pi Pico

Jag har sammanställt en lista över filer som kan hjälpa dig i dina projekt. De flesta av dem finns på underdomän av Raspberry Pi för datablad och det som finns här är det som är relevant för Raspberry Pi Pico.

Referenser

Raspberry Pi Pico pinout

Raspberry Pi Pico schematiska ritningar

Datablad för Raspberry Pi Pico (om Pico, mekaniska/elektriska specifikationer, funktioner, strömförsörjning, felsökning, schema, placering av komponenter)

Raspberry Pi Pico produktbeskrivning (marknadsföringsdäck)

RP2040 datablad

Raspberry Pi Pico Fritzing fil

Vanliga frågor om Raspberry Pi Pico

10 nyfikna fakta om Raspberry Pi Pico

Programmering

C-förlängning för MicroPython

Raspberry Pi Pico och MicroPython på Windows

Raspberry Pi Pico Att börja med Pico (för C/C++-utveckling)

CircuitPython för Raspberry Pi Pico UF2-fil

Thonny

Kom igång med MicroPython på Raspberry Pi Pico

Dokumentation om Raspberry Pi Pico C SDK (Software Development Kit)

Dokumentation om Raspberry Pi Pico MicroPython SDK (Software Development Kit)

CAD

Raspberry Pi Pico STEP-fil

RP2040 minimal KiCAD-fil

RP2040 VGA KiCAD-fil

14 Kommentarer

  1. Antony den april 18, 2022 kl 11:54 f m

    Strömförbrukningen är inte 6W, utan 0,5W (100mA vid 5V).

    • Xuyun Zeng den april 20, 2022 kl 5:02 f m

      Hej Antony, jag har korrigerat det. Tack för dina synpunkter.

    • Rys den november 13, 2022 kl 6:49 f m

      chyba na wyjściach pinów. Tak przynajmniej jest w karcie technologicznej PICO

  2. Andres Nuñez den juli 3, 2022 kl 11:54 e m

    Puedo conectar por usb una Raspberry Pi Pico con un Arduino Nano. que la rrasberry envíe por usb datos al arduino?

    Tack

  3. robert den september 19, 2022 kl 8:47 e m

    pico w har wifi nu

  4. Arya den september 24, 2022 kl 7:17 f m

    > Nämnde jag att Raspberry Pi Zero är väldigt kräsen när det gäller spänningen du levererar till den? Den klarar bara 4,75-5,25 V.

    felaktigt, det är den angivna specifikationen, men den kan användas lägre än så och fungerar utmärkt. se här: https://hackaday.io/project/19035/log/69596

  5. FWBlack den oktober 4, 2022 kl 7:12 e m

    Mycket trevlig beskrivning! Jag gillade det här: "Jag har till exempel i ett av mina projekt använt en potentiometer för att reglera ett reläers kopplingsfrekvens." - Jag undrar om du kan dela med dig av detaljer om detta projekt som ett exempel. Använde du PIO / PIO State Machine?

    • Xuyun Zeng den oktober 5, 2022 kl 10:01 f m

      Ingen PIO används!

      När du ansluter en potentiometer till en ADC får du ett värde. Genom att vrida på potten ökas eller minskas värdet.

      Jag använde i princip dessa värden för att skapa en timer. Om värdet till exempel är 2000 kommer det att motsvara 2 sekunder på och 2 sekunder av.

  6. Frabci den december 7, 2022 kl 2:48 f m

    Buenas, es posible que la raspberry pi pico se queme al recibir de entrada una correinte de 2A pero voltaje de 5V?

    • Xuyun Zeng den december 8, 2022 kl 7:09 f m

      Estas usando un cargador de movil que tiene una corriente de 2A? Aunque siempre haya riesgo, creo que el Pico solo tomaria la corriente que necesite, aunque tu cargador puede ponerle 2A (al maximo).

  7. Nigel A Gunn den januari 20, 2023 kl 9:42 e m

    Du är inte begränsad till C eller microPython för programmering. Jag har picos med FORTH- och BASIC-tolkar installerade och det finns alltid CircuitPython.

    • raspi berry den februari 4, 2023 kl 11:49 f m

      Tack för responsen - intressant att veta att man kan köra språk som FORTH på Pico också!

  8. Antonio den april 28, 2023 kl 2:01 e m

    Su Raspberry Pi Pico W non riesco ad installare la libreria adafruit-circuitpython-hid.
    Inizia l'installazione e dopo un po mi da errore 28 memoria piena.
    dove sbaglio?
    Tack 1000

  9. PoyFromFrance den augusti 28, 2023 kl 10:36 f m

    Bra artikel! Jag använde en Pico för mitt anpassade tangentbord med kmk firmware (krets python baserad) och det är bra.
    Jag köpte några pico-kloner på aliexpress nyligen för så lite som 2,7 dollar med typ C och 16 mb ... Inte testat ännu.

Lämna en kommentar