Indholdsfortegnelse:

CircuitPython Med en Itsybitsy M4 Express 1: Opsætning: 9 trin
CircuitPython Med en Itsybitsy M4 Express 1: Opsætning: 9 trin

Video: CircuitPython Med en Itsybitsy M4 Express 1: Opsætning: 9 trin

Video: CircuitPython Med en Itsybitsy M4 Express 1: Opsætning: 9 trin
Video: CircuitPython terminal - initial demo 2024, Juli
Anonim
CircuitPython Med en Itsybitsy M4 Express 1: Opsætning
CircuitPython Med en Itsybitsy M4 Express 1: Opsætning

Ny i kodning? Kun brugt Scratch og ønsker at gå videre til et tekstsprog, der giver let adgang til fysisk computing med lysdioder, switche, displays og sensorer? Så er dette måske noget for dig.

Jeg har bemærket, at dette websted indeholder mange instruktioner om kodning med Arduinos ved hjælp af Arduino IDE, men meget få om Python. Jeg har undervist i kodning siden 1968. (Dengang kaldte vi det programmering og brugte FORTRAN IV med Hollerith -kort til input!) Siden de første dage har jeg brugt mange forskellige sprog med studerende (11 år til voksen) inklusive LISP, Pascal og mange forskellige versioner på BASIC.

For nylig er mange skoler i Storbritannien begyndt at bruge Python i deres lektioner, da eleverne går over fra at 'blokere' kodning med Scratch eller lignende til tekstudtalelser. Python er sandsynligvis et lettere trin op end at bruge Arduino IDE. CircuitPython -koden kan udføres ved blot at gemme koden på udviklingskortet, som var det et USB -drev. Jeg har med succes brugt Python til fysisk beregning med 8 til 11 -årige i mit barnebarns grundskole Coding Club.

Jeg har besluttet at bruge Adafruit's Itsybitsy M4 Express til disse instruktioner af følgende årsager:

  • Billig - under $ 15 (£ 15)
  • Let at konfigurere og programmere med CircuitPython (en version af Python, der er ideel til nybegyndere)
  • Digitale input/output pins - det er sjovt at spille med Blinkies
  • Analoge ben - 12 bit ADC og DAC - høj nøjagtighed
  • Rød LED og RGB DotStar LED'er indbygget
  • Kører Neopixels direkte
  • I2C og SPI understøttes - til sensorer og displays
  • Bred vifte af chauffører i det omfattende bibliotek
  • Hurtig og kraftfuld - ultrahurtig ATSAMD51 Cortex M4 -processor, der kører ved 120 MHz
  • Masser af hukommelse - 2 MB SPI Flash -hukommelse til CircuitPython -kode eller datafiler
  • Stor støtte fra Adafruit med fuld dokumentation, guider og et internethjælpsforum
  • Har kun brug for en gammel bærbar computer eller computer - ingen dedikeret skærm, tastatur, strømforsyning eller mus.
  • Bruger kan konvertere til Arduino IDE på samme bord, når de har fået erfaring med Python.

Denne første Instructable forklarer, hvordan du opsætter dit board og kører dine første scripts.

Trin 1: Hvad du har brug for for at komme i gang

Hvad du har brug for for at komme i gang
Hvad du har brug for for at komme i gang

Hardware:

  • Itsybitsy M4 Express (adafruit.com, Pimoroni.com)
  • microUSB -kabel
  • Computer - en gammel bærbar computer vil gøre
  • Loddekolbe
  • Lodde
  • Brødbræt
  • Kvindehovedstrimmel (valgfri)

Software:

Mu Editor

Download Mu -editoren fra

Installer det på din computer. Meget let med fulde instruktioner på webstedet.

Trin 2: Kontroller, at CircuitPython er installeret

Kontroller, at CircuitPython er installeret
Kontroller, at CircuitPython er installeret

Åbn File Explorer på din computer.

Sæt den lille ende af USB -kablet i stikket på Itsybitsy.

Sæt den anden ende af kablet i en USB -port på din computer.

Du skal se et nyt drev, der hedder CIRCUITPY. (Hvis ikke; så gå videre til siden UPDATE.)

Dobbeltklik på boot_out, og du skal se en meddelelse som denne:

Adafruit CircuitPython 3.1.1on 2018-11-02; Adafruit ItsyBitsy M4 Express med samd51g19

Dette viser, at du har en ældre version af CircuitPython, da vi i øjeblikket er på version 4. Dette vil være OK for nu, vi opdaterer versionen senere. Adafruit forbedrer ofte CircuitPython og udgiver opdateringer. Disse opdateringer er meget nemme at installere.

Naviger til din dokumentmappe og opret en ny mappe kaldet Code-with-Mu inde i den.

Start Mu Editor

Trin 3: Brug af Mu Editor til dit første program

Brug af Mu Editor til dit første program
Brug af Mu Editor til dit første program

Klik på Serial -ikonet øverst i editoren. Dette skulle åbne REPL -vinduet nederst på skærmen. I nederste venstre hjørne skal der stå Adafruit. Mu har erkendt, at et CircuitPython -kort er blevet tilsluttet computeren.

Vi kan nu skrive vores første program eller script. Klik på musen i det øverste vindue, og indtast:

print ("Hej, verden!")

Klik på ikonet Gem. Vælg CIRCUITPY -drevet. Skriv main.py i titelboksen, og klik på knappen Gem.

Dette gør meget. Dit script gemmes på din Itsybitsy med navnet "main.py". Enhver fil med dette navn eksekveres straks af bestyrelsen. Outputtet fra udskriftserklæringen vises i det nederste REPL -vindue.

Rediger programlinjen til:

udskriv ("\ nHej, koder!") og klik på ikonet Gem.

Prøv at tilføje et par lignende udskriftssætninger, og kør din nye kode.

Se din Itsybitsey, mens du uploader et script. Den blinkende grønne DotStar bliver RØD, mens scriptet gemmes og vender tilbage til GRØNT.

Lad os lave en fejl for at se, hvad der sker. Bare slet det sidste citattegn og kør scriptet igen. Editoren angiver fejlen, og output angiver fejltypen - syntaks - og linjenummeret - for at hjælpe dig med at rette fejlen. DotStar angiver fejlen ved at ændre farve. Mere om dette i et senere afsnit.

Ret fejlen, og kør scriptet igen.

Vi skal nu gemme vores script et sikkert sted, så vi kan bruge det senere.

Dobbeltklik på fanen over dit script. Naviger til dine dokumenter Code-with-Mu-mappe, og gem dit script der med et nyttigt filnavn, f.eks. FirstProg.py. Bemærk, at filnavnet og stien blinker nederst i editoren.

Trin 4: Dit andet script - Blink

Dit andet script - Blink
Dit andet script - Blink

Indtast scriptet, gem det i CIRCUITPY som main.py, og klik på Ja for at erstatte det tidligere main.py.

(Brug altid filnavnet main.py til dit script, når du gemmer i dit ItsyBitsy. CircuitPython kører derefter straks det nye script.)

Hvad scriptet gør:

  • Importerer biblioteker til pin -navnene på tavlen, tid til at kontrollere forsinkelser og digital pins -kontrol,
  • Indstiller pin 13 til udgangsspændinger til den indbyggede røde LED
  • Kører en endeløs sløjfe for at tænde og slukke LED'en
  • Venter på korte forsinkelser, så LED'en blinker.

Scriptet har masser af kommentarer til at forklare, hvad der foregår. Kommentarer starter med et "#" tegn. De er til menneskelig brug for at minde dig om din tankegang dengang. Gode scripts har masser af kommentarer.

  1. Prøv at ændre værdierne i søvn () -udsagnene.
  2. Hold LED'en tændt i dobbelt så lang tid, som den er slukket.
  3. Hvad sker der, hvis forsinkelserne er meget korte? (0,001 sekunder)

Dobbeltklik på fanen over dit script og gem med navnet Blink.py i din Code-with-Mu mappe.

Trin 5: Opdatering af din version af CircuitPython

Opdatering af din version af CircuitPython
Opdatering af din version af CircuitPython

Naviger til https://circuitpython.org/downloads på internettet. Klik på billedet af Itsybitsy M4 Express (ikke M0 -versionen).

Klik på den lilla knap for at downloade. UF2 -filen.

Start File Explorer, og find. UF2 -filen

Tilslut din Itsybitsy M4 Express til USB -porten, og find dens drev - CIRCUITPY

Dobbeltklik på den lille nulstillingsknap, og filnavnet skal ændres til ITSYM4BOOT fra CIRCUITPY. Du skal dobbeltklikke ganske hurtigt.

Træk UF2 -filen og slip den på ITSYM4BOOT -drevet. UF2 -filen kopieres til IBM4 -kortet, og drevnavnet vender tilbage til CIRCUITPY.

Vælg CIRCUITPY -drevet, og dobbeltklik på filen boot_out.

Du kan læse det nye versionsnummer for at kontrollere, at det er blevet opdateret.

Opret en ny mappe på CIRCUITPY -drevet kaldet lib. Vi får brug for dette i senere instruktioner for at indeholde drivere til sensorer og displays.

Genstart Mu -editoren. Indlæs din main.py -fil fra IBM4, og gem den tilbage til IBM4. Den røde LED skal begynde at blinke.

Hvis du enkelt klikker på nulstillingsknappen, genstartes det indlæste main.py -script.

Trin 6: REPL

REPL
REPL

Vinduet nederst i editoren, tændt og slukket med Serial -ikonet, er meget mere end bare et udskrivningsvindue.

"En læse-eval-udskriv loop (REPL), også betegnet en interaktiv top-level eller sprogskal, er et simpelt, interaktivt computerprogrammeringsmiljø, der tager enkeltbrugerinput (dvs. enkelte udtryk), evaluerer dem og returnerer resultatet til brugeren; et program skrevet i et REPL -miljø udføres stykkevis. " (Google)

Grundlæggende, hvis du skriver en enkelt python -sætning i REPL, udfører den den på én gang. Lad os prøve det.

Klik med musen i vinduet REPL.

Mens du kører dit script, skal du holde tasten nede og trykke på (CTRL-C). Dette stopper dit script.

Tryk på en vilkårlig tast for at indtaste REPL, og der vises en '>>>' prompt.

skriv i tryk (4 + 100)

Umiddelbart kommer svaret 104 tilbage

Se på billedet, og prøv nogle af jer, der ejer. (Prøv +, -, *, /, // og %)

Prøv dette:

>> import bord

>> dir (board)

['_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 de pin -navne, der er tilgængelige på IBM4 -kortet

For at vende tilbage til det normale med en blød genstart skal du bare skrive CTRL-D og main.py genstarter.

Afbrydelse af dit bord

Skub altid CIRCUITPY -drevet ud, før du afbryder forbindelsen til computeren. Træk det aldrig ud, mens det overfører data.

Trin 7: Påsætning af benene

Sætter benene på
Sætter benene på
Sætter benene på
Sætter benene på

De mandlige overskrifter er for lange til brættet, så snap/klip 2 af dem til den korrekte længde.

Skub dem ind i et brødbræt, læg IBM4 ovenpå og lod dem på. Sørg for, at brættet er den rigtige vej op! (Chip på toppen)

Læg ikke mandlige overskrifter på tværs af toppen. Jeg bruger en strimmel med 5 kvindelige overskrifter på tværs af toppen, så jeg kan bruge alle stifterne. Brug en skruestik til at holde strimlen af header fast, tæt på snitpunktet. Brug en skarp hacksav til at skære midten af et hul ned - messingstikket falder ud, mens du klipper. Fil den afskårne kant for at få en pæn finish - ingen rille..

Lodning på stifterne er ikke svært. Se på Arduino- og elektronik -kurserne, hvis du aldrig har brugt et loddejern før. At kunne lodde betyder, at du kan lave pæne versioner af dine projekter, der holder længe, på stripplader og derefter genbruge brødbrættet.

For at forhindre, at brættet overophedes, foreslår jeg, at du ikke lodder ned på den ene side og derefter op ad den anden. Efterlad huller og udfyld senere. dvs. ben 10, RX, 2, A3, RS, BAT, 9, MI …… osv

Trin 8: CircuitPython RGB -statuslys - for at hjælpe dig med at finde fejlene

CircuitPython RGB -statuslys - for at hjælpe dig med at finde fejlene
CircuitPython RGB -statuslys - for at hjælpe dig med at finde fejlene

ItsyBitsy M4 Express og mange andre M0- og M4 -kort har alle en enkelt NeoPixel eller DotStar RGB LED på kortet, der angiver status for CircuitPython. Her er det mellem (C) og pin A0.

Her er hvad farverne og blinkende betyder:

  • steady GREEN: code.py (eller code.txt, main.py eller main.txt) kører
  • pulserende GRØN: code.py (etc.) er færdig eller findes ikke
  • konstant GUL ved opstart: (4.0.0-alfa.5 og nyere) CircuitPython venter på en nulstilling for at indikere, at den skal starte i fejlsikret tilstand
  • pulserende GUL: Circuit Python er i fejlsikret tilstand: den styrtede ned og genstartede
  • konstant HVID: REPL kører
  • steady BLUE: boot.py kører

Farver med flere blink efter angiver en Python -undtagelse og angiver derefter fejlnummerets linjenummer. Farven på den første blitz angiver fejltypen:

  • GRØNN: Indrykningsfejl
  • CYAN: SyntaxError
  • HVID: NameError
  • ORANGE: OSError
  • LILLE: ValueError
  • GUL: anden fejl

Disse efterfølges af blink, der angiver linjenummeret, inklusive stedværdi. HVIDE blink er tusindvis af steder, BLÅ er hundredvis af steder, GUL er tiernes sted, og CYAN er ens sted. Så for eksempel vil en fejl på linje 32 blinke GUL tre gange og derefter CYAN to gange. Nuller angives med et ekstra langt mørkt hul.

Disse er ret svære at tælle. Hav altid REPL -vinduet åbent, når du udvikler et script, og fejlmeddelelserne på engelsk vises der.

Trin 9: Ser fremad - over til dig

Ser fremad - over til dig
Ser fremad - over til dig

Da jeg startede denne Instructable, forventede jeg, at det var den første i en serie, der udforskede CircuitPython og Physical Computing. Min plan for det næste er at dække grundlæggende input og output med aritmetik, lysdioder, switche, potentiometre og input -udsagn. Det vil også dække looping -metoder og lister (arrays).

Inden jeg skriver det, beder jeg om feedback, så jeg kan skræddersy det til publikum.

Den slags ting jeg gerne vil vide er:

  • Er tempoet ok?
  • Er detaljen for meget, for lidt eller om rigtigt?
  • Kunne du tænke dig nogle øvelser?

Over til dig.

Anbefalede: