Kazalo:

CircuitPython z Itsybitsy M4 Express 1: nastavitev: 9 korakov
CircuitPython z Itsybitsy M4 Express 1: nastavitev: 9 korakov

Video: CircuitPython z Itsybitsy M4 Express 1: nastavitev: 9 korakov

Video: CircuitPython z Itsybitsy M4 Express 1: nastavitev: 9 korakov
Video: Adafruit CircuitPython Weekly - June 11th, 2018 @adafruit #adafruit 2024, November
Anonim
CircuitPython z Itsybitsy M4 Express 1: nastavitev
CircuitPython z Itsybitsy M4 Express 1: nastavitev

Ste novi pri kodiranju? Ste uporabljali samo Scratch in želite preiti na besedilni jezik, ki omogoča enostaven dostop do fizičnega računalništva z LED diodami, stikali, zasloni in senzorji? Potem je to lahko za vas.

Opazil sem, da to mesto vsebuje veliko navodil o kodiranju z Arduinosom z uporabo Arduino IDE, zelo malo pa o Pythonu. Kodiranje učim od leta 1968. (Takrat smo ga imenovali programiranje in uporabljali FORTRAN IV s karticami Hollerith za vnos!) Od tistih prvih dni sem s študenti (od 11 let do odraslih) uporabljal veliko različnih jezikov, vključno z LISP, Pascal in številnimi drugimi. različne različice na BASIC -u.

V zadnjem času so številne šole v Združenem kraljestvu začele uporabljati Python pri pouku, ko se učenci premaknejo iz "blokovskega" kodiranja s Scratch ali podobnih besedilnih izjav. Python je verjetno lažji korak kot uporaba Arduino IDE. Kodo CircuitPython lahko izvedete tako, da preprosto shranite kodo na razvojno ploščo, kot da je pogon USB. Python za fizično računalništvo sem uspešno uporabljal z 8 do 11 letniki v Kodi za šifriranje v vnukinji v osnovni šoli.

Odločil sem se, da bom za te navodila uporabil Adafruit's Itsybitsy M4 Express iz naslednjih razlogov:

  • Poceni - pod 15 USD (15 £)
  • Enostavna nastavitev in programiranje s CircuitPythonom (različica Pythona, idealna za tiste, ki se šele ukvarjajo s kodiranjem)
  • Zatiči za digitalni vhod/izhod - zabavno je igrati z bliskavicami
  • Analogni zatiči - 12 -bitni ADC in DAC - visoka natančnost
  • Vgrajene rdeče LED in RGB DotStar LED diode
  • Neposredno poganja Neopixel
  • Podprti I2C in SPI - za senzorje in zaslone
  • Širok nabor gonilnikov v obsežni knjižnici
  • Hiter in zmogljiv - ultra hiter procesor ATSAMD51 Cortex M4, ki deluje pri 120 MHz
  • Veliko pomnilnika - 2 MB pomnilnika SPI Flash za kodo CircuitPython ali podatkovne datoteke
  • Odlična podpora Adafruit s popolno dokumentacijo, vodniki in forumom za internetno pomoč
  • Potrebuje le star prenosnik ali računalnik - brez namenskega monitorja, tipkovnice, napajalnika ali miške.
  • Ko pridobijo izkušnje s Pythonom, lahko uporabnik na isti plošči pretvori v Arduino IDE.

Ta prvi Instructable pojasnjuje, kako nastaviti ploščo in zagnati prve skripte.

1. korak: Kaj potrebujete za začetek

Kaj potrebujete za začetek
Kaj potrebujete za začetek

Strojna oprema:

  • Itsybitsy M4 Express (adafruit.com, Pimoroni.com)
  • kabel microUSB
  • Računalnik - primeren bo stari prenosni računalnik
  • Spajkalnik
  • Spajkanje
  • Ogledna plošča
  • Ženski trak za glavo (neobvezno)

Programska oprema:

Urednik Mu

Prenesite urejevalnik Mu s

Namestite ga v računalnik. Zelo enostavno s popolnimi navodili na spletnem mestu.

Korak: Preverite, ali je CircuitPython nameščen

Preverite, ali je CircuitPython nameščen
Preverite, ali je CircuitPython nameščen

V računalniku odprite File Explorer.

Manjši konec kabla USB priključite v priključek na Itsybitsy.

Drugi konec kabla priključite v vrata USB na računalniku.

Videti bi morali nov pogon z imenom CIRCUITPY. (Če ne; pojdite na stran UPDATE.)

Dvokliknite boot_out in prikazalo bi se takšno sporočilo:

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

To kaže, da imate starejšo različico CircuitPythona, kot smo trenutno na različici 4. To bo za zdaj v redu, različico bomo posodobili pozneje. Adafruit pogosto izboljšuje CircuitPython in objavlja posodobitve. Te posodobitve so zelo enostavne za namestitev.

Pomaknite se do mape z dokumenti in v njej ustvarite novo mapo z imenom Code-with-Mu.

Zaženite urejevalnik Mu

3. korak: Uporaba urejevalnika Mu za prvi program

Uporaba urejevalnika Mu za prvi program
Uporaba urejevalnika Mu za prvi program

Kliknite ikono Serijsko na vrhu urejevalnika. To bi moralo odpreti okno REPL na dnu zaslona. V spodnjem levem kotu naj piše Adafruit. Mu je spoznal, da je plošča CircuitPython povezana z računalnikom.

Zdaj lahko napišemo prvi program ali skript. V zgornjem oknu kliknite miško in vnesite:

print ("Pozdravljeni, svet!")

Kliknite ikono Shrani. Izberite pogon CIRCUITPY. V naslovno polje vnesite main.py in kliknite gumb Shrani.

To veliko naredi. Vaš skript je shranjen v vašo Itybitsy z imenom "main.py". Vsaka datoteka s tem imenom odbor takoj izvede. Izhod iz izjave o tiskanju se prikaže v spodnjem oknu REPL.

Programsko vrstico uredite tako:

print ("\ nZdravo, kodirnik!") in kliknite ikono Shrani.

Poskusite dodati nekaj podobnih izjav za tiskanje in zaženite novo kodo.

Ko naložite scenarij, pazite na svoj Itybitsey. Utripajoča zelena DotStar sveti RDEČE, medtem ko je skript shranjen, in se vrne v ZELENO.

Naredimo napako, da vidimo, kaj se zgodi. Samo izbrišite končni narekovaj in znova zaženite skript. Urejevalnik označuje napako, izpis pa vrsto napake - skladnjo - in številko vrstice - za lažje odpravljanje napake. DotStar označi napako s spremembo barve. Več o tem v naslednjem razdelku.

Odpravite napako in znova zaženite skript.

Skript moramo zdaj shraniti na varno, da ga bomo lahko kasneje uporabili.

Dvokliknite zavihek nad skriptom. Pomaknite se do svojih dokumentov z mapo Code-with-Mu in tam shranite svoj skript z uporabnim imenom datoteke, kot je FirstProg.py. Upoštevajte, da ime datoteke in pot utripata na dnu urejevalnika.

4. korak: Vaš drugi scenarij - Utripajte

Vaš drugi scenarij - utripa
Vaš drugi scenarij - utripa

Vnesite skript, ga shranite v CIRCUITPY kot main.py in kliknite Da, da zamenjate prejšnjega main.py.

(Pri shranjevanju v datoteko ItsyBitsy vedno uporabite ime datoteke main.py. CircuitPython nato takoj zažene nov skript.)

Kaj skript počne:

  • Uvaža knjižnice za imena pin na plošči, čas za nadzor zamud in nadzor digitalnih zatičev,
  • Nastavi pin 13 za izhod napetosti na vgrajeni rdeči LED
  • Zažene neskončno zanko za vklop in izklop LED
  • Počaka na kratke zamude, tako da LED utripa.

Scenarij ima veliko komentarjev, ki pojasnjujejo, kaj se dogaja. Komentarji se začnejo z znakom "#". So za človeško uporabo, da vas opomnijo na vaše razmišljanje v tistem času. Dobri scenariji imajo veliko komentarjev.

  1. Poskusite spremeniti vrednosti v stavkih sleep ().
  2. LED naj bo prižgana dvakrat toliko časa, kot je izklopljena.
  3. Kaj se zgodi, če so zamude zelo kratke? (0,001 sekunde)

Dvokliknite zavihek nad skriptom in shranite z imenom Blink.py v mapo Code-with-Mu.

5. korak: Posodobitev različice programa CircuitPython

Posodabljanje vaše različice programa CircuitPython
Posodabljanje vaše različice programa CircuitPython

Pojdite na https://circuitpython.org/downloads v internetu. Kliknite na sliko Itsybitsy M4 Express (ne v različici M0).

Če želite prenesti datoteko. UF2, kliknite vijolični gumb.

Zaženite File Explorer in poiščite datoteko. UF2

Priključite svoj Itsybitsy M4 Express v vrata USB in poiščite njegov pogon - CIRCUITPY

Dvokliknite gumb za ponastavitev in ime datoteke se mora iz CIRCUITPY spremeniti v ITSYM4BOOT. Hitro morate dvakrat klikniti.

Povlecite datoteko UF2 in jo spustite na pogon ITSYM4BOOT. Datoteka UF2 bo kopirana na ploščo IBM4 in ime pogona se bo vrnilo v CIRCUITPY.

Izberite pogon CIRCUITPY in dvokliknite datoteko boot_out.

Številko nove različice lahko preberete in preverite, ali je posodobljena.

Na disku CIRCUITPY naredite novo mapo z imenom lib. To bomo v kasnejših navodilih potrebovali za shranjevanje gonilnikov za senzorje in zaslone.

Znova zaženite urejevalnik Mu. Naložite datoteko main.py iz IBM4 in jo shranite nazaj v IBM4. Rdeča LED mora začeti utripati.

Če enkrat kliknete gumb za ponastavitev, se bo znova zagnal naložen skript main.py.

6. korak: REPL

REPL
REPL

Okno na dnu urejevalnika, vklopljeno in izklopljeno z ikono Serijsko, je veliko več kot le tiskalniško okno.

"Zanka za branje-eval-tiskanje (REPL), imenovana tudi interaktivna zgornja ali jezikovna lupina, je preprosto, interaktivno računalniško programsko okolje, ki sprejema vnose enega uporabnika (tj. Enojne izraze), jih ovrednoti in vrne rezultat uporabniku; program, napisan v okolju REPL, se izvede po delih. " (Google)

V bistvu, če v REPL napišete en sam python stavek, ga izvede naenkrat. Poskusimo.

Kliknite miško v oknu REPL.

Med izvajanjem skripta držite tipko in se dotaknite (CTRL-C). To ustavi vaš scenarij.

Dotaknite se katere koli tipke, da vstopite v REPL, in prikaže se poziv '>>>'.

natisnjeno (4 + 100)

Takoj nazaj pride odgovor 104

Poglejte sliko in poskusite nekaj svojih. (Poskusite +, -, *, /, // in %)

Poskusite to:

>> uvozna plošča

>> dir (tabla)

['_class_', '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']

>>

To je seznam imen pin, ki so na voljo na plošči IBM4

Če se želite vrniti v normalno stanje z mehkim ponovnim zagonom, samo vnesite CTRL-D in main.py restart.

Odklop plošče

Preden odklopite računalnik, vedno odstranite pogon CIRCUITPY. Nikoli ga ne izvlecite med prenosom podatkov.

7. korak: Nošenje nog

Nošenje nog
Nošenje nog
Nošenje nog
Nošenje nog

Moške glave so predolge za desko, zato jih 2 odrežite na pravo dolžino.

Potisnite jih na ploščo, IBM4 postavite na vrh in jih spajkajte. Prepričajte se, da je deska prava pot navzgor! (Čip na vrhu)

Moških glav ne postavljajte na vrh. Na vrhu uporabljam trak s 5 ženskimi glavami, da lahko uporabim vse zatiče. S primežem trdno držite trak glave blizu točke reza. Z ostro žago odrežite sredino luknje - medeninasti priključek bo med rezanjem izpadel. Rezite rob, da naredite čist zaključek - brez utora..

Spajkanje na zatičih ni težko. Poglejte tečaje Arduino in elektronike, če še nikoli niste uporabljali spajkalnika. Sposobnost spajkanja pomeni, da lahko naredite dolgotrajne različice svojih projektov na plošči za trakove in nato ponovno uporabite ploščo.

Da preprečite pregrevanje plošče, predlagam, da ne spajkate ene strani, nato pa druge. Pustite vrzeli in jih zapolnite pozneje. zatiči 10, RX, 2, A3, RS, BAT, 9, MI …… itd

8. korak: Lučka stanja CircuitPython RGB - za pomoč pri iskanju napak

Lučka stanja CircuitPython RGB - za pomoč pri iskanju napak
Lučka stanja CircuitPython RGB - za pomoč pri iskanju napak

ItsyBitsy M4 Express in mnoge druge plošče M0 in M4 imajo eno samo LED diodo NeoPixel ali DotStar RGB na plošči, ki označuje stanje CircuitPythona. Tukaj je med (C) in zatičem A0.

Evo, kaj pomenijo barve in utripanje:

  • neprekinjeno ZELENO: izvaja se code.py (ali code.txt, main.py ali main.txt)
  • utripa ZELENO: code.py (itd.) je končano ali ne obstaja
  • neprekinjeno RUMENO ob zagonu: (4.0.0-alfa.5 in novejše) CircuitPython čaka na ponastavitev, kar pomeni, da se mora zagnati v varnem načinu
  • utripa RUMENO: Circuit Python je v varnem načinu: zrušil se je in znova zagnal
  • neprekinjeno BELO: REPL deluje
  • stalno MODRO: boot.py se izvaja

Barve z več utripami označujejo izjemo Python in nato označujejo številko vrstice napake. Barva prve bliskavice označuje vrsto napake:

  • ZELENO: IndentationError
  • CYAN: Napaka v sintaksi
  • BELA: NameError
  • ORANGE: OSError
  • LJUBIČASTO: Napaka vrednosti
  • RUMENA: druga napaka

Sledijo utripanja, ki označujejo številko vrstice, vključno z vrednostjo mesta. BELI utripi so na tisoče, modri so na stotine, rumeni so na desetine, CYAN pa na enem. Tako bi na primer napaka v vrstici 32 trikrat utripala RUMENO in nato dvakrat CYAN. Ničle so označene z zelo dolgo temno vrzeljo.

Te je precej težko prešteti. Pri razvoju skripta imejte odprto okno REPL in tam se bodo pojavila sporočila o napakah v angleščini.

9. korak: Iščite naprej - na vas

Iščem naprej - na vas
Iščem naprej - na vas

Ko sem začel s tem Instructable, sem pričakoval, da bo to prvi v seriji, ki raziskuje CircuitPython in fizično računalništvo. Moj načrt za naslednji je, da pokrijem osnovne vhode in izhode z aritmetiko, LED diodami, stikali, potenciometri in vhodnimi stavki. Zajemal bo tudi metode zanke in sezname (matrike).

Preden ga napišem, zahtevam povratne informacije, da jih lahko prilagodim občinstvu.

Stvari, ki bi jih rad vedel, so:

  • Je tempo v redu?
  • Ali je podrobnosti preveč, premalo ali približno prav?
  • Bi radi vadili?

Nazaj k tebi.

Priporočena: