Innholdsfortegnelse:
- Trinn 1: Hva du trenger for å komme i gang
- Trinn 2: Kontroller at CircuitPython er installert
- Trinn 3: Bruke Mu Editor for ditt første program
- Trinn 4: Det andre skriptet ditt - Blink
- Trinn 5: Oppdatering av versjonen av CircuitPython
- Trinn 6: REPL
- Trinn 7: Legge på bena
- Trinn 8: CircuitPython RGB -statuslys - for å hjelpe deg med å finne feilene
- Trinn 9: Ser fremover - over til deg
Video: CircuitPython Med en Itsybitsy M4 Express 1: Oppsett: 9 trinn
2024 Forfatter: John Day | [email protected]. Sist endret: 2024-01-30 11:23
Ny på koding? Bare brukt Scratch og ønsker å gå videre til et tekstspråk som gir enkel tilgang til fysisk databehandling med lysdioder, brytere, skjermer og sensorer? Da kan dette være noe for deg.
Jeg har lagt merke til at dette nettstedet inneholder mange instrukser om koding med Arduinos ved bruk av Arduino IDE, men svært få om Python. Jeg har undervist i koding siden 1968. (Da kalte vi det programmering og brukte FORTRAN IV med Hollerith -kort for innspill!) Siden de første dagene har jeg brukt mange forskjellige språk med studenter (11 år til voksne) inkludert LISP, Pascal og mange forskjellige versjoner på BASIC.
Nylig har mange skoler i Storbritannia begynt å bruke Python i timene da elevene går over fra å "blokkere" koding med Scratch eller lignende til tekstuttalelser. Python er sannsynligvis et enklere trinn enn å bruke Arduino IDE. CircuitPython -koden kan utføres ved ganske enkelt å lagre koden på utviklingskortet som om det var en USB -stasjon. Jeg har lykkes med å bruke Python for fysisk databehandling med 8 til 11 -åringer i barnebarnets grunnskole Coding Club.
Jeg har bestemt meg for å bruke Adafruit's Itsybitsy M4 Express for disse instruksjonene av følgende årsaker:
- Billig - under $ 15 (£ 15)
- Enkel å sette opp og programmere med CircuitPython (en versjon av Python ideell for de som ikke er i koding)
- Digital Input/Output pins - det er veldig gøy å spille med Blinkies
- Analoge pinner - 12 bit ADC og DAC - høy nøyaktighet
- Rød LED og RGB DotStar LED -er innebygd
- Driver Neopixels direkte
- I2C og SPI støttes - for sensorer og skjermer
- Stort utvalg av drivere i det omfattende biblioteket
- Rask og kraftig - ultra rask ATSAMD51 Cortex M4 -prosessor som kjører på 120 MHz
- Mye minne - 2 MB SPI Flash -minne for CircuitPython -kode eller datafiler
- Stor støtte fra Adafruit med full dokumentasjon, guider og et internetthjelpforum
- Trenger bare en gammel bærbar datamaskin eller datamaskin - ingen dedikert skjerm, tastatur, strømforsyning eller mus.
- Brukeren kan konvertere til Arduino IDE, på samme brett, når de har fått erfaring med Python.
Denne første instruksjonsboken forklarer hvordan du setter opp brettet og kjører de første skriptene.
Trinn 1: Hva du trenger for å komme i gang
Maskinvare:
- Itsybitsy M4 Express (adafruit.com, Pimoroni.com)
- microUSB -kabel
- Datamaskin - en gammel bærbar datamaskin vil gjøre
- Loddejern
- Lodding
- Brødbrett
- Hodestripe for kvinner (valgfritt)
Programvare:
Mu Editor
Last ned Mu -redaktøren fra
Installer det på datamaskinen. Veldig enkelt med fullstendige instruksjoner på nettstedet.
Trinn 2: Kontroller at CircuitPython er installert
Åpne File Explorer på datamaskinen.
Koble den lille enden av USB -kabelen til kontakten på Itsybitsy.
Koble den andre enden av kabelen til en USB -port på datamaskinen.
Du bør se en ny stasjon som heter CIRCUITPY. (Hvis ikke; gå videre til OPPDATERINGS -siden.)
Dobbeltklikk boot_out og du bør se en melding som denne:
Adafruit CircuitPython 3.1.1on 2018-11-02; Adafruit ItsyBitsy M4 Express med samd51g19
Dette viser at du har eldre versjon av CircuitPython ettersom vi for øyeblikket er på versjon 4. Dette vil være OK for nå, vi oppdaterer versjonen senere. Adafruit forbedrer ofte CircuitPython og publiserer oppdateringer. Disse oppdateringene er veldig enkle å installere.
Naviger til dokumentmappen og lag en ny mappe kalt Code-with-Mu inne i den.
Start opp Mu Editor
Trinn 3: Bruke Mu Editor for ditt første program
Klikk på Serial -ikonet øverst i redigeringsprogrammet. Dette skal åpne REPL -vinduet nederst på skjermen. I nedre venstre hjørne skal det stå Adafruit. Mu har innsett at et CircuitPython -kort har blitt koblet til datamaskinen.
Vi kan nå skrive vårt første program eller manus. Klikk på musen i det øvre vinduet og skriv inn:
print ("Hei, verden!")
Klikk på Lagre -ikonet. Velg CIRCUITPY -stasjonen. Skriv main.py i tittelboksen og klikk på Lagre -knappen.
Dette gjør mye. Skriptet ditt er lagret på Itsybitsy med navnet "main.py". Enhver fil med dette navnet kjøres umiddelbart av styret. Utskriften fra utskriftserklæringen vises i det nedre REPL -vinduet.
Rediger programlinjen til:
skriv ut ("\ nHei, koder!") og klikk på Lagre -ikonet.
Prøv å legge til noen lignende utskriftssetninger og kjør den nye koden.
Se Itsybitsey mens du laster opp et skript. Den blinkende grønne DotStar blir RØD mens skriptet er lagret og går tilbake til GRØNN.
La oss gjøre en feil for å se hva som skjer. Bare slett det endelige sitatet og kjør skriptet igjen. Redaktøren angir feilen og utdataene angir feiltypen - syntaks - og linjenummeret - for å hjelpe deg med å rette opp feilen. DotStar indikerer feilen ved å endre farge. Mer om dette i en senere seksjon.
Rett feilen og kjør skriptet igjen.
Vi må nå lagre skriptet vårt på et trygt sted, slik at vi kan bruke det senere.
Dobbeltklikk på fanen over skriptet ditt. Naviger til dokumentene Code-with-Mu-mappen din og lagre skriptet ditt der med et nyttig filnavn, for eksempel FirstProg.py. Legg merke til at filnavnet og banen blinker nederst i redigeringsprogrammet.
Trinn 4: Det andre skriptet ditt - Blink
Skriv inn skriptet, lagre det i CIRCUITPY som main.py og klikk Ja for å erstatte forrige main.py.
(Bruk alltid filnavnet main.py for skriptet ditt når du lagrer i ItsyBitsy. CircuitPython kjører deretter det nye skriptet umiddelbart.)
Hva skriptet gjør:
- Importerer biblioteker for pin -navnene på tavlen, tid til å kontrollere forsinkelser og digital pins -kontroll,
- Konfigurerer pin 13 for å utgangsspenninger til den røde LED -en ombord
- Kjører en endeløs sløyfe for å slå LED -en PÅ og AV
- Venter på korte forsinkelser slik at LED -en blinker.
Manuset har mange kommentarer for å forklare hva som skjer. Kommentarer starter med et "#" -tegn. De er til menneskelig bruk for å minne deg på tankene dine den gangen. Gode manus har mange kommentarer.
- Prøv å endre verdiene i sleep () -uttalelsene.
- Hold lysdioden på dobbelt så lenge den er av.
- Hva skjer hvis forsinkelsene er veldig korte? (0,001 sekunder)
Dobbeltklikk på fanen over skriptet ditt og lagre med navnet Blink.py i din Code-with-Mu-mappe.
Trinn 5: Oppdatering av versjonen av CircuitPython
Naviger til https://circuitpython.org/downloads på internett. Klikk på bildet av Itsybitsy M4 Express (ikke M0 -versjonen).
Klikk på den lilla knappen for å laste ned. UF2 -filen.
Start File Explorer og finn. UF2 -filen
Koble Itsybitsy M4 Express til USB -porten og finn stasjonen - CIRCUITPY
Dobbeltklikk på den lille tilbakestillingsknappen, og filnavnet bør endres til ITSYM4BOOT fra CIRCUITPY. Du må dobbeltklikke ganske raskt.
Dra UF2 -filen og slipp den på ITSYM4BOOT -stasjonen. UF2 -filen blir kopiert til IBM4 -kortet, og stasjonsnavnet kommer tilbake til CIRCUITPY.
Velg CIRCUITPY -stasjonen og dobbeltklikk på boot_out -filen.
Du kan lese det nye versjonsnummeret for å kontrollere at det er oppdatert.
Lag en ny mappe på CIRCUITPY -stasjonen som heter lib. Vi trenger dette i senere instrukser for å holde drivere for sensorer og skjermer.
Start Mu -redaktøren på nytt. Last inn main.py -filen fra IBM4 og lagre den tilbake til IBM4. Den røde LED -en skal begynne å blinke.
Hvis du bare klikker på tilbakestillingsknappen, starter det lastede main.py -skriptet på nytt.
Trinn 6: REPL
Vinduet nederst i editoren, slått på og av med serieikonet, er mye mer enn bare et utskriftsvindu.
"En lese-eval-utskriftssløyfe (REPL), også kalt et interaktivt toppnivå eller språkskall, er et enkelt, interaktivt datamaskinprogrammeringsmiljø som tar enkeltbrukerinnganger (dvs. enkeltuttrykk), evaluerer dem og returnerer resultatet til brukeren; et program skrevet i et REPL -miljø utføres stykkevis. " (Google)
I utgangspunktet, hvis du skriver en enkelt python -setning i REPL, kjører den den med en gang. La oss gi det en sjanse.
Klikk musen i REPL -vinduet.
Mens du kjører skriptet, holder du inne tasten og trykker på (CTRL-C). Dette stopper skriptet ditt.
Trykk på en hvilken som helst tast for å gå inn i REPL, og en ">>>" melding vises.
skriv ut (4 + 100)
Umiddelbart kommer svaret 104
Se på bildet og prøv noen av dere. (Prøv +, -, *, /, // og %)
Prøv dette:
>> importbord
>> dir (brett)
['_klasse_', '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']
>>
Dette er en liste over pin -navnene som er tilgjengelige på IBM4 -kortet
For å gå tilbake til det normale med en myk omstart, skriver du bare inn CTRL-D og main.py starter på nytt.
Koble fra brettet ditt
Ta alltid ut CIRCUITPY -stasjonen før du kobler fra datamaskinen. Trekk den aldri ut mens den overfører data.
Trinn 7: Legge på bena
Hannhodene er for lange for brettet, så klikk/klipp 2 av dem til riktig lengde.
Skyv dem inn i et brødbrett, legg IBM4 på toppen og lodd dem på. Sørg for at brettet er riktig vei opp! (Chip på toppen)
Ikke legg mannlige overskrifter over toppen. Jeg bruker en stripe med 5 kvinnelige overskrifter over toppen slik at jeg kan bruke alle pinnene. Bruk en skrustikke for å holde topplisten fast, nær kuttpunktet. Bruk en skarp baufil til å skjære ned midten av et hull - messingkontakten faller ut når du skjærer. Fil kuttkanten for å få en fin finish - ingen spor..
Lodding på pinnene er ikke vanskelig. Se på Arduino og elektronikk -kursene hvis du aldri har brukt et loddejern før. Å kunne lodde betyr at du kan lage en langvarig versjon av prosjektene dine på stripebrett og deretter bruke brødbrettet på nytt.
For å forhindre at brettet overopphetes, foreslår jeg at du ikke lodder ned den ene siden og deretter opp den andre. La hullene stå og fyll ut senere. dvs. pinner 10, RX, 2, A3, RS, BAT, 9, MI …… osv
Trinn 8: CircuitPython RGB -statuslys - for å hjelpe deg med å finne feilene
ItsyBitsy M4 Express og mange andre M0- og M4 -kort har alle en NeoPixel eller DotStar RGB LED på kortet som indikerer statusen til CircuitPython. Her er det mellom (C) og pinne A0.
Her er hva fargene og blinkingen betyr:
- steady GREEN: code.py (eller code.txt, main.py eller main.txt) kjører
- pulserende GRØNN: kode.py (etc.) er ferdig eller eksisterer ikke
- jevn GUL ved oppstart: (4.0.0-alfa.5 og nyere) CircuitPython venter på en tilbakestilling for å indikere at den skal starte i sikker modus
- pulserende GUL: Circuit Python er i sikker modus: den krasjet og startet på nytt
- konstant HVIT: REPL kjører
- steady BLUE: boot.py kjører
Farger med flere blinker etterpå indikerer et Python -unntak og angir deretter linjenummeret til feilen. Fargen på den første blitsen angir typen feil:
- GRØNN: Innrykkfeil
- CYAN: SyntaxError
- HVIT: NameError
- ORANGE: OSError
- LILLE: ValueError
- GUL: annen feil
Disse etterfølges av blink som angir linjenummeret, inkludert stedsverdi. HVIT blink er tusenvis, BLÅ er hundrevis, GUL er titalls, og CYAN er ens sted. Så for eksempel vil en feil på linje 32 blinke GUL tre ganger og deretter CYAN to ganger. Nuller er angitt med et ekstra langt mørkt gap.
Disse er ganske vanskelige å telle. Ha alltid REPL -vinduet åpent når du utvikler et skript, og feilmeldingene på engelsk vil vises der.
Trinn 9: Ser fremover - over til deg
Da jeg startet denne Instructable forventet jeg at den skulle være den første i en serie som utforsket CircuitPython og Physical Computing. Planen min for det neste er å dekke grunnleggende input og output med aritmetikk, lysdioder, brytere, potensiometre og inngangssetninger. Det vil også dekke sløyfemetoder og lister (matriser).
Før jeg skriver det, ber jeg om noen tilbakemeldinger, slik at jeg kan skreddersy det for publikum.
Den typen ting jeg vil vite er:
- Er tempoet OK?
- Er detaljen for mye, for lite eller omtrent riktig?
- Vil du ha noen øvelser?
Over til deg.
Anbefalt:
Oppsett ST Visual Develop med Cosmic STM8 -kompilatoren: 11 trinn
Oppsett ST Visual Develop med Cosmic STM8 -kompilatoren: Slik konfigurerte jeg det integrerte utviklingsmiljøet (IDE) for å programmere STM8 -mikrokontrollere fra ST Microelectronics (ST) med Windows 10. Jeg påstår ikke at dette er riktig måte, men det fungerer bra for meg. I denne instruksen vil det se ut som en
NodeMcu ESP8266 Første gangs oppsett med Arduino IDE: 10 trinn
NodeMcu ESP8266 Første gangs oppsett med Arduino IDE: Jeg lager Twitch -kontrollerte enheter; egendefinerte konsoller, kontroller og andre ikke -påfunn! Direktesendinger er hver onsdag og lørdag klokken 21.00 EST på https://www.twitch.tv/noycebru, høydepunkter på TikTok @noycebru, og du kan se opplæringsprogrammer på YouT
DIY Smart dørklokke: kode, oppsett og HA -integrasjon: 7 trinn (med bilder)
DIY Smart Doorbell: Code, Setup and HA Integration: I dette prosjektet vil jeg vise deg hvordan du kan forvandle din normale dørklokke til en smart uten å endre noen av de nåværende funksjonene eller kutte ledninger. Jeg bruker et ESP8266 -kort som heter Wemos D1 mini. Ny til ESP8266? Se introduksjonen min
WiFi automatisk plantemater med reservoar - Innendørs/utendørs dyrking Oppsett - Vannplanter automatisk med fjernovervåking: 21 trinn
WiFi automatisk plantemater med reservoar - Innendørs/utendørs kultiveringsoppsett - Vannplanter automatisk med ekstern overvåking: I denne opplæringen vil vi demonstrere hvordan du konfigurerer et tilpasset innendørs/utendørs plantefôringssystem som automatisk vanner planter og kan overvåkes eksternt ved hjelp av Adosia -plattformen
Grafikk på en SSD1306 I2C OLED 128x64 -skjerm med CircuitPython ved hjelp av en Itsybitsy M4 Express: 13 trinn (med bilder)
Grafikk på en SSD1306 I2C OLED 128x64 -skjerm med CircuitPython ved hjelp av en Itsybitsy M4 Express: SSD1306 OLED -skjermen er en liten (0,96 "), billig, allment tilgjengelig, I2C, monokrom grafisk skjerm med 128x64 piksler, som er lett tilkoblet (bare 4 ledninger) til mikroprosessorutviklingskort som en Raspberry Pi, Arduino eller