Innholdsfortegnelse:

CircuitPython Med en Itsybitsy M4 Express 1: Oppsett: 9 trinn
CircuitPython Med en Itsybitsy M4 Express 1: Oppsett: 9 trinn

Video: CircuitPython Med en Itsybitsy M4 Express 1: Oppsett: 9 trinn

Video: CircuitPython Med en Itsybitsy M4 Express 1: Oppsett: 9 trinn
Video: Itsy Bitsy Circuit Python - First Program 2024, November
Anonim
CircuitPython Med en Itsybitsy M4 Express 1: Oppsett
CircuitPython Med en Itsybitsy M4 Express 1: Oppsett

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

Hva du trenger for å komme i gang
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

Sjekk at CircuitPython er installert
Sjekk 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

Bruke Mu Editor for ditt første program
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

Ditt andre manus - Blink
Ditt andre manus - 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.

  1. Prøv å endre verdiene i sleep () -uttalelsene.
  2. Hold lysdioden på dobbelt så lenge den er av.
  3. 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

Oppdaterer versjonen av CircuitPython
Oppdaterer 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

REPL
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

Sette på bena
Sette på bena
Sette på bena
Sette 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

CircuitPython RGB -statuslys - for å hjelpe deg med å finne feilene
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

Ser fremover - over til deg
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: