Innehållsförteckning:
- Steg 1: Vad du behöver för att komma igång
- Steg 2: Kontrollera att CircuitPython är installerat
- Steg 3: Använda Mu Editor för ditt första program
- Steg 4: Ditt andra skript - Blink
- Steg 5: Uppdatera din version av CircuitPython
- Steg 6: REPL
- Steg 7: Sätta på benen
- Steg 8: CircuitPython RGB -statuslampa - för att hjälpa dig att hitta felen
- Steg 9: Se framåt - över till dig
Video: CircuitPython med en Itsybitsy M4 Express 1: Setup: 9 steg
2024 Författare: John Day | [email protected]. Senast ändrad: 2024-01-30 12:44
Ny på kodning? Endast använt Scratch och vill gå vidare till ett textspråk som ger enkel åtkomst till Physical computing med lysdioder, switchar, displayer och sensorer? Då kan det här vara något för dig.
Jag har märkt att denna webbplats innehåller många instruktioner om kodning med Arduinos med Arduino IDE men väldigt få om Python. Jag har undervisat i kodning sedan 1968. (Då kallade vi det programmering och använde FORTRAN IV med Hollerith -kort för input!) Sedan de första dagarna har jag använt många olika språk med studenter (11 år till vuxna) inklusive LISP, Pascal och många olika versioner på BASIC.
På senare tid har många skolor i Storbritannien börjat använda Python i sina lektioner när eleverna går över från att "blockera" kodning med Scratch eller liknande till textuttalanden. Python är förmodligen ett enklare steg än att använda Arduino IDE. CircuitPython -koden kan köras genom att helt enkelt spara koden på utvecklingskortet som om det vore en USB -enhet. Jag har framgångsrikt använt Python för fysisk beräkning med 8 till 11 -åringar i mitt barnbarns grundskola Coding Club.
Jag har bestämt mig för att använda Adafruit's Itsybitsy M4 Express för dessa instruktioner av följande skäl:
- Billigt - under $ 15 (£ 15)
- Lätt att installera och programmera med CircuitPython (en version av Python som är perfekt för nybörjare).
- Digitala ingångar/utgångar - det är jätteroligt att spela med Blinkies
- Analoga stift - 12 bitars ADC och DAC - hög noggrannhet
- Röd LED och RGB DotStar LED -lampor inbyggda
- Kör Neopixels direkt
- I2C och SPI stöds - för sensorer och skärmar
- Brett utbud av förare i det omfattande biblioteket
- Snabb och kraftfull - supersnabb ATSAMD51 Cortex M4 -processor som kör på 120 MHz
- Gott om minne - 2 MB SPI Flash -minne för CircuitPython -kod eller datafiler
- Bra stöd från Adafruit med fullständig dokumentation, guider och ett internethjälpforum
- Behöver bara en gammal bärbar dator eller dator - ingen dedikerad bildskärm, tangentbord, strömförsörjning eller mus.
- Användaren kan konvertera till Arduino IDE, på samma kort, när de har fått erfarenhet av Python.
Den här första instruktionsboken förklarar hur du konfigurerar ditt kort och kör dina första skript.
Steg 1: Vad du behöver för att komma igång
Hårdvara:
- Itsybitsy M4 Express (adafruit.com, Pimoroni.com)
- microUSB -kabel
- Dator - en gammal bärbar dator kommer att göra
- Lödkolv
- Löda
- Bakbord
- Kvinnlig huvudremsa (tillval)
Programvara:
Mu Editor
Ladda ner Mu -redigeraren från
Installera det på din dator. Mycket enkelt med fullständiga instruktioner på webbplatsen.
Steg 2: Kontrollera att CircuitPython är installerat
Öppna File Explorer på din dator.
Anslut den lilla änden av USB -kabeln till kontakten på Itsybitsy.
Anslut den andra änden av kabeln till en USB -port på din dator.
Du bör se en ny enhet visas som heter CIRCUITPY. (Om inte; gå vidare till UPDATE -sidan.)
Dubbelklicka på boot_out och du bör se ett meddelande så här:
Adafruit CircuitPython 3.1.1on 2018-11-02; Adafruit ItsyBitsy M4 Express med samd51g19
Detta visar att du har en äldre version av CircuitPython eftersom vi för närvarande är på version 4. Detta kommer att vara OK för tillfället, vi uppdaterar versionen senare. Adafruit förbättrar ofta CircuitPython och publicerar uppdateringar. Dessa uppdateringar är mycket enkla att installera.
Navigera till din dokumentmapp och skapa en ny mapp som heter Code-with-Mu inuti den.
Starta Mu Editor
Steg 3: Använda Mu Editor för ditt första program
Klicka på serieikonen högst upp i redigeraren. Detta bör öppna REPL -fönstret längst ned på skärmen. I nedre vänstra hörnet ska det stå Adafruit. Mu har insett att ett CircuitPython -kort har anslutits till datorn.
Vi kan nu skriva vårt första program eller manus. Klicka på musen i det övre fönstret och skriv in:
print ("Hej, värld!")
Klicka på ikonen Spara. Välj CIRCUITPY -enheten. Skriv main.py i rubrikrutan och klicka på knappen Spara.
Detta gör mycket. Ditt skript sparas på din Itsybitsy med namnet "main.py". Varje fil med detta namn körs omedelbart av styrelsen. Utmatningen från utskriftsutdraget visas i det nedre fönstret REPL.
Redigera programraden till:
skriv ut ("\ nHej, kodare!") och klicka på ikonen Spara.
Prova att lägga till några liknande utskriftssatser och kör din nya kod.
Titta på din Itsybitsey när du laddar upp ett manus. Den blinkande gröna DotStar blir RÖD medan skriptet sparas och återgår till GRÖN.
Låt oss göra ett fel för att se vad som händer. Ta bara bort det sista citattecknet och kör skriptet igen. Redaktören indikerar felet och utmatningen anger typen av fel - syntax - och radnumret - för att hjälpa dig att rätta till felet. DotStar indikerar felet genom att ändra färg. Mer om detta i ett senare avsnitt.
Korrigera felet och kör skriptet igen.
Vi måste nu spara vårt skript någonstans säkert så att vi kan använda det senare.
Dubbelklicka på fliken ovanför ditt manus. Navigera till dina dokument Code-with-Mu-mapp och spara ditt manus där med ett användbart filnamn som FirstProg.py. Lägg märke till att filnamnet och sökvägen blinkar längst ned i redigeraren.
Steg 4: Ditt andra skript - Blink
Skriv in skriptet, spara det till CIRCUITPY som main.py och klicka på Ja för att ersätta det föregående main.py.
(Använd alltid filnamnet main.py för ditt skript när du sparar till din ItsyBitsy. CircuitPython kör sedan omedelbart det nya skriptet.)
Vad manuset gör:
- Importerar bibliotek för stiftnamnen på tavlan, tid för att kontrollera förseningar och digital stiftkontroll,
- Ställer in stift 13 för att mata ut spänningar till den röda lysdioden ombord
- Kör en ändlös slinga för att slå på och stänga av lysdioden
- Väntar på korta förseningar så att lysdioden blinkar.
Manuset har gott om kommentarer för att förklara vad som händer. Kommentarer börjar med ett#-tecken. De är för mänskligt bruk för att påminna dig om ditt tänkande just då. Bra manus har gott om kommentarer.
- Prova att ändra värdena i sömn () -uttalandena.
- Håll lysdioden tänd dubbelt så länge den är släckt.
- Vad händer om förseningarna är mycket korta? (0,001 sekunder)
Dubbelklicka på fliken ovanför ditt skript och spara med namnet Blink.py i din Code-with-Mu-mapp.
Steg 5: Uppdatera din version av CircuitPython
Navigera till https://circuitpython.org/downloads på internet. Klicka på bilden på Itsybitsy M4 Express (inte M0 -versionen).
Klicka på den lila knappen för att ladda ner. UF2 -filen.
Starta Utforskaren och leta upp. UF2 -filen
Anslut din Itsybitsy M4 Express till USB -porten och hitta dess enhet - CIRCUITPY
Dubbelklicka på den lilla återställningsknappen och filnamnet bör ändras till ITSYM4BOOT från CIRCUITPY. Du måste dubbelklicka ganska snabbt.
Dra UF2 -filen och släpp den på ITSYM4BOOT -enheten. UF2 -filen kopieras till IBM4 -kortet och enhetsnamnet återgår till CIRCUITPY.
Välj CIRCUITPY -enheten och dubbelklicka på filen boot_out.
Du kan läsa det nya versionsnumret för att kontrollera att det har uppdaterats.
Skapa en ny mapp på CIRCUITPY -enheten som heter lib. Vi kommer att behöva detta i senare instruktioner för att hålla drivrutiner för sensorer och skärmar.
Starta om Mu -redigeraren. Ladda din main.py -fil från IBM4 och spara den till IBM4. Den röda lysdioden ska börja blinka.
Om du bara klickar på återställningsknappen startar det laddade main.py -skriptet om.
Steg 6: REPL
Fönstret längst ner i redigeraren, på och av med serieikonen, är mycket mer än bara ett utskriftsfönster.
"En läs-eval-utskriftsslinga (REPL), även kallad ett interaktivt toppnivå- eller språkskal, är en enkel, interaktiv datorprogrammeringsmiljö som tar enskilda användarinmatningar (dvs enstaka uttryck), utvärderar dem och returnerar resultatet till användaren; ett program skrivet i en REPL -miljö körs bitvis. " (Google)
I grund och botten, om du skriver en enda python -sats i REPL kör den den på en gång. Låt oss ge det ett försök.
Klicka på musen i fönstret REPL.
Medan du kör ditt skript håller du ned tangenten och trycker på (CTRL-C). Detta stoppar ditt manus.
Tryck på valfri knapp för att ange REPL och en ">>>" prompt visas.
skriv ut (4 + 100)
Omedelbart kommer svaret 104 tillbaka
Titta på bilden och prova några av er. (Prova +, -, *, /, // och %)
Prova detta:
>> importkort
>> dir (styrelse)
['_klass_', 'A0', 'A1', 'A2', 'A3', 'A4', 'A5', 'APA102_MOSI', 'APA102_SCK', 'D0', 'D1', 'D10', ' D11 ',' D12 ',' D13 ',' D2 ',' D3 ',' D4 ',' D5 ',' D7 ',' D9 ',' I2C ',' MISO ',' MOSI ',' RX ', 'SCK', 'SCL', 'SDA', 'SPI', 'TX', 'UART']
>>
Detta är en lista över stiftnamnen som finns på IBM4 -kortet
För att återgå till det normala med en mjuk omstart skriver du bara CTRL-D och main.py startar om.
Kopplar bort ditt kort
Mata alltid ut CIRCUITPY -enheten innan du kopplar från datorn. Dra aldrig ut den medan den överför data.
Steg 7: Sätta på benen
Hanhuvudena är för långa för brädet så snäpp/klipp 2 av dem till rätt längd.
Skjut in dem i en brödbräda, lägg IBM4 ovanpå och löd dem. Se till att brädan är på rätt väg! (Chip på toppen)
Lägg inte manliga rubriker överst. Jag använder en remsa med 5 kvinnliga rubriker över toppen så att jag kan använda alla stiften. Använd ett skruvstycke för att hålla remsan ordentligt, nära skärpunkten. Skär ner mitten av ett hål med en vass bågfil - mässingskontakten faller ut när du skär. Fila snittkanten för att få en snygg finish - inget spår..
Lödning på stiften är inte svårt. Titta på Arduino- och elektronikkurser om du aldrig har använt ett lödkolv tidigare. Att kunna löd betyder att du kan göra snygga av långvariga versioner av dina projekt på bandbräda och sedan återanvända brödbrädet.
För att förhindra att brädan överhettas föreslår jag att du inte lödar ner ena sidan och sedan upp den andra. Lämna luckor och fyll i senare. dvs stift 10, RX, 2, A3, RS, BAT, 9, MI …… etc.
Steg 8: CircuitPython RGB -statuslampa - för att hjälpa dig att hitta felen
ItsyBitsy M4 Express och många andra M0- och M4 -kort har alla en NeoPixel- eller DotStar RGB -LED på kortet som indikerar status för CircuitPython. Här är det mellan (C) och stift A0.
Här är vad färgerna och blinkningen betyder:
- steady GREEN: code.py (eller code.txt, main.py eller main.txt) körs
- pulserande GRÖN: code.py (etc.) har slutförts eller finns inte
- stadig GUL vid start: (4.0.0-alfa.5 och nyare) CircuitPython väntar på en återställning för att indikera att den ska starta i säkert läge
- pulserande GUL: Circuit Python är i säkert läge: det kraschade och startades om
- fast VIT: REPL körs
- steady BLUE: boot.py körs
Färger med flera blinkningar efter indikerar ett Python -undantag och anger sedan felnumrets radnummer. Färgen på den första blixten indikerar typen av fel:
- GRÖN: Indragningsfel
- CYAN: SyntaxError
- VIT: NameError
- ORANGE: OSError
- PURPLE: ValueError
- GUL: annat fel
Dessa följs av blinkningar som anger radnumret, inklusive platsvärde. VITA blinkar är tusentals, BLÅ är hundratals, GUL är tio och CYAN är ens plats. Så till exempel skulle ett fel på rad 32 blinka GUL tre gånger och sedan CYAN två gånger. Nollor indikeras av ett extra långt mörkt gap.
Dessa är ganska svåra att räkna. Ha alltid REPL -fönstret öppet när du utvecklar ett skript och felmeddelandena på engelska visas där.
Steg 9: Se framåt - över till dig
När jag startade denna Instructable förväntade jag mig att den skulle vara den första i en serie som utforskar CircuitPython och Physical Computing. Min plan för nästa är att täcka grundläggande input och output med aritmetik, lysdioder, switchar, potentiometrar och input -uttalanden. Det kommer också att täcka loopingmetoder och listor (arrays).
Innan jag skriver det begär jag lite feedback, så att jag kan skräddarsy den till publiken.
Den typen av saker jag skulle vilja veta är:
- Är tempot OK?
- Är detaljen för mycket, för lite eller rätt?
- Vill du ha några övningsövningar?
Över till dig.
Rekommenderad:
Rörelseaktiverade cosplayvingar med Circuit Playground Express - Del 1: 7 steg (med bilder)
Motion Activated Cosplay Wings Using Circuit Playground Express - Del 1: Detta är del ett av ett tvådelat projekt, där jag ska visa dig min process för att göra ett par automatiska älvvingar. Den första delen av projektet är vingarnas mekanik, och den andra delen gör den bärbar och lägger till vingarna
Dubbla färgstapeldiagram med CircuitPython: 5 steg (med bilder)
Dubbelfärgstapeldiagram med CircuitPython: Jag såg detta LED-stapeldiagram på Pimoroni-webbplatsen och tyckte att det kan vara ett billigt och roligt projekt medan jag genomför covid-19 lockdown. Den innehåller 24 lysdioder, en röd och en grön, i var och en av dess 12 segment, så i teorin borde du kunna visa r
Använda en 4x4 -knappsats med CircuitPython: 4 steg
Använda en 4x4 -knappsats med CircuitPython: Denna billiga knappsats erbjuder en enkel metod för numerisk inmatning till dina CircuitPython -projekt. Jag ska använda den med en Adafruit ItsyBitsy M0 express. Du behöver: Knappsats - min är 4x4ItsyBitsy M0 Express eller liknande boardMu Editor installerad på
Dubbla 7 -segmentskärmar som styrs av potentiometer i CircuitPython - demonstration av Persistens i syn: 9 steg (med bilder)
Dubbla 7-segmentsdisplayer som styrs av potentiometer i CircuitPython-Demonstration of Persistence of Vision: Detta projekt använder en potentiometer för att styra displayen på ett par 7-segment LED-skärmar (F5161AH). När potentiometervredet vrids ändras det visade numret i intervallet 0 till 99. Endast en lysdiod lyser när som helst, mycket kort, men
Grafik på en SSD1306 I2C OLED 128x64 -skärm med CircuitPython med en Itsybitsy M4 Express: 13 steg (med bilder)
Grafik på en SSD1306 I2C OLED 128x64 -skärm med CircuitPython med en Itsybitsy M4 Express: SSD1306 OLED -skärmen är en liten (0,96 "), billig, allmänt tillgänglig, I2C, svartvit grafisk skärm med 128x64 pixlar, som är lätt att koppla ihop (endast 4 ledningar) till mikroprocessorutvecklingskort som en Raspberry Pi, Arduino eller