INHOUDSOPGAWE:
- Stap 1: Wat u nodig het om aan die gang te kom
- Stap 2: Kyk of CircuitPython geïnstalleer is
- Stap 3: Gebruik die Mu Editor vir u eerste program
- Stap 4: u tweede skrif - knip
- Stap 5: Werk u weergawe van CircuitPython op
- Stap 6: Die REPL
- Stap 7: Trek die bene aan
- Stap 8: CircuitPython RGB -statuslig - om u te help om die foute te vind
- Stap 9: vorentoe kyk - na u toe
Video: CircuitPython Met 'n Itsybitsy M4 Express 1: Opstelling: 9 stappe
2024 Outeur: John Day | [email protected]. Laas verander: 2024-01-30 07:25
Nuut op die gebied van kodering? Het u slegs Scratch gebruik en wil u oorskakel na 'n tekstuele taal wat maklike toegang tot fisiese rekenaar met LED's, skakelaars, skerms en sensors bied? Dan is hierdie dalk vir jou.
Ek het opgemerk dat hierdie webwerf baie instruksies bevat oor kodering met Arduinos met behulp van die Arduino IDE, maar baie min oor Python. Ek gee sedert 1968 onderrig in kodering. (Toe noem ons dit programmering en gebruik FORTRAN IV met Hollerith -kaarte vir insette!) Sedert daardie vroeë dae het ek baie verskillende tale met studente (11 jaar tot volwassene) gebruik, waaronder LISP, Pascal en vele verskillende weergawes op BASIC.
Meer onlangs het baie skole in die Verenigde Koninkryk Python in hul lesse begin gebruik, aangesien leerlinge oorgaan van 'blok' -kodering met Scratch of soortgelyk aan teksverklarings. Python is waarskynlik 'n makliker stap as om die Arduino IDE te gebruik. Die CircuitPython -kode kan uitgevoer word deur die kode eenvoudig op die ontwikkelbord te stoor asof dit 'n USB -stasie is. Ek het Python suksesvol gebruik vir fisiese rekenaars met 8 tot 11 -jariges in my kleindogter se laerskool Coding Club.
Ek het besluit om Adafruit se Itsybitsy M4 Express vir hierdie instruksies te gebruik om die volgende redes:
- Goedkoop - onder $ 15 (£ 15)
- Maklik om op te stel en te programmeer met CircuitPython ('n weergawe van Python ideaal vir diegene wat nuut is om te kodeer)
- Digitale invoer/uitvoer penne - dit is baie lekker om met Blinkies te speel
- Analoog penne - 12 bit ADC en DAC - hoë akkuraatheid
- Rooi LED en RGB DotStar LED's ingebou
- Ry Neopixels direk
- I2C en SPI ondersteun - vir sensors en skerms
- Groot verskeidenheid bestuurders in die uitgebreide biblioteek
- Vinnig en kragtig - ultra vinnige ATSAMD51 Cortex M4 -verwerker wat op 120 MHz werk
- Baie geheue - 2 MB SPI Flash -geheue vir CircuitPython -kode of datalêers
- Groot ondersteuning van Adafruit met volledige dokumentasie, gidse en 'n internethulpforum
- Benodig slegs 'n ou skootrekenaar of rekenaar - geen toegewyde monitor, sleutelbord, kragbron of muis nie.
- Gebruikers kan op dieselfde bord na Arduino IDE omskakel sodra hulle ervaring met Python opgedoen het.
Hierdie eerste instruksies verduidelik hoe u u bord kan opstel en u eerste skrifte kan uitvoer.
Stap 1: Wat u nodig het om aan die gang te kom
Hardeware:
- Itsybitsy M4 Express (adafruit.com, Pimoroni.com)
- microUSB -kabel
- Rekenaar - 'n ou skootrekenaar sal dit doen
- Soldeerbout
- Soldeer
- Broodbord
- Vroulike kopstrook (opsioneel)
Sagteware:
Mu Redakteur
Laai die Mu -redakteur af van
Installeer dit op u rekenaar. Baie maklik met volledige instruksies op die webwerf.
Stap 2: Kyk of CircuitPython geïnstalleer is
Maak File Explorer op u rekenaar oop.
Steek die klein punt van die USB -kabel in die aansluiting op die Itsybitsy.
Steek die ander kant van die kabel in 'n USB -poort van u rekenaar.
U moet 'n nuwe skyf met die naam CIRCUITPY sien verskyn. (Indien nie, gaan dan na die UPDATE -bladsy.)
Dubbelklik op boot_out en u sal 'n boodskap soos hierdie sien:
Adafruit CircuitPython 3.1.1op 2018-11-02; Adafruit ItsyBitsy M4 Express met samd51g19
Dit toon dat u 'n ouer weergawe van CircuitPython het, aangesien ons tans op weergawe 4. Dit is in orde, ons werk die weergawe later op. Adafruit verbeter CircuitPython gereeld en publiseer opdaterings. Hierdie opdaterings is baie maklik om te installeer.
Gaan na u dokumentmap en skep 'n nuwe gids genaamd Code-with-Mu daarin.
Begin die Mu Editor
Stap 3: Gebruik die Mu Editor vir u eerste program
Klik op die reeks -ikoon bo -aan die redakteur. Dit moet die REPL -venster onderaan die skerm oopmaak. In die onderste linkerhoek moet dit sê: Adafruit. Mu het besef dat 'n CircuitPython -bord aan die rekenaar gekoppel is.
Ons kan nou ons eerste program of draaiboek skryf. Klik op die muis in die boonste venster en tik in:
print ("Hallo, wêreld!")
Klik op die ikoon Stoor. Kies die CIRCUITPY -aandrywer. Tik main.py in die titelblokkie en klik op die knoppie Stoor.
Dit doen baie. U skrif word op u Itsybitsy gestoor met die naam "main.py". Enige lêer met hierdie naam word onmiddellik deur die raad uitgevoer. Die uitset van die afdrukverklaring verskyn in die onderste REPL -venster.
Wysig die programreël na:
druk ("\ nHello, coder!") en klik op die ikoon Stoor.
Probeer 'n paar soortgelyke drukstate byvoeg en voer u nuwe kode uit.
Kyk na u Itsybitsey terwyl u 'n script oplaai. Die flikkerende groen DotStar word ROOI terwyl die script gestoor word en keer terug na GROEN.
Kom ons maak 'n fout om te sien wat gebeur. Vee die finale aanhalingskarakter uit en voer die script weer uit. Die redakteur dui die fout aan en die uitset dui die tipe fout - sintaksis - en die reëlnommer aan - om u te help om die fout reg te stel. Die DotStar dui die fout aan deur van kleur te verander. Meer hieroor in 'n latere afdeling.
Stel die fout reg en voer die script weer uit.
Ons moet ons script nou êrens veilig stoor sodat ons dit later kan gebruik.
Dubbelklik op die oortjie bo u skrif. Gaan na u gids Code-with-Mu met u dokumente en stoor u script daar met 'n nuttige lêernaam, soos FirstProg.py. Let op dat die lêernaam en pad onderaan die redakteur geflits word.
Stap 4: u tweede skrif - knip
Tik die script in, stoor dit in CIRCUITPY as main.py en klik op Ja om die vorige main.py.
(Gebruik altyd die lêernaam main.py vir u script wanneer u in u ItsyBitsy stoor. CircuitPython voer dan onmiddellik die nuwe script uit.)
Wat die skrif doen:
- Voer biblioteke in vir die penname op die bord, tyd om vertragings en digitale penne te beheer,
- Stel pen 13 in om spanning aan die ingeboude rooi LED uit te voer
- Loop 'n eindelose lus om die LED aan en uit te skakel
- Wag vir kort vertragings sodat die LED knipper.
Die skrif bevat baie kommentaar om te verduidelik wat aan die gang is. Kommentaar begin met 'n '#' karakter. Dit is vir menslike gebruik om u te help herinner aan u destydse denke. Goeie skrifte het baie kommentaar.
- Probeer om die waardes in die slaap () stellings te verander.
- Hou die LED vir twee keer so lank as dit af is.
- Wat gebeur as die vertragings baie kort is? (0.001 sekondes)
Dubbelklik op die oortjie bokant u script en stoor met die naam Blink.py in u Code-with-Mu-lêergids.
Stap 5: Werk u weergawe van CircuitPython op
Gaan na https://circuitpython.org/downloads op die internet. Klik op die prentjie van die Itsybitsy M4 Express (nie die M0 -weergawe nie).
Klik op die pers knoppie om die. UF2 -lêer af te laai.
Begin File Explorer en vind die. UF2 -lêer
Koppel jou Itsybitsy M4 Express aan op die USB -poort en vind die skyf - CIRCUITPY
Dubbelklik op die klein reset -knoppie en die lêernaam moet verander na ITSYM4BOOT vanaf CIRCUITPY. U moet redelik vinnig dubbelklik.
Sleep die UF2 -lêer en laat dit op die ITSYM4BOOT -stasie val. Die UF2 -lêer sal na die IBM4 -bord gekopieer word en die skyfnaam sal na CIRCUITPY terugkeer.
Kies die CIRCUITPY -skyf en dubbelklik op die boot_out -lêer.
U kan die nuwe weergawenommer lees om te sien of dit opgedateer is.
Maak 'n nuwe gids op die CIRCUITPY -skyf genaamd lib. Ons sal dit in latere instruksies nodig hê om bestuurders vir sensors en skerms te hou.
Herbegin die Mu -redakteur. Laai u main.py -lêer van die IBM4 en stoor dit terug in die IBM4. Die rooi LED moet begin flikker.
As u net op die reset -knoppie klik, begin die laai main.py -script weer.
Stap 6: Die REPL
Die venster aan die onderkant van die redakteur, aangeskakel en afgeskakel met die reeks -ikoon, is veel meer as net 'n drukvenster.
'' N Lees-eval-druk-lus (REPL), ook 'n interaktiewe topvlak- of taaldop genoem, is 'n eenvoudige, interaktiewe rekenaarprogrammeringsomgewing wat insette van enkele gebruikers (dws enkele uitdrukkings) neem, evalueer en die resultaat gee aan die gebruiker; 'n program wat in 'n REPL -omgewing geskryf is, word stuk -stuk uitgevoer. (Google)
As u 'n enkele python -verklaring in die REPL skryf, voer dit dit dadelik uit. Kom ons probeer dit.
Klik met die muis in die REPL -venster.
Hou die sleutel ingedruk terwyl u u skrip uitvoer en tik (CTRL-C). Dit stop jou skrif.
Tik op enige sleutel om die REPL in te voer en 'n '>>>' -aanwysing verskyn.
tik in druk (4 + 100)
Onmiddellik terug kom die antwoord 104
Kyk na die prentjie en probeer 'n paar van u eie. (Probeer +, -, *, /, // en %)
Probeer hierdie:
>> invoerbord
>> dir (bord)
['_klas_', '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']
>>
Dit is 'n lys van die penname wat op die IBM4 -bord beskikbaar is
Om met 'n sagte herbegin na normaal terug te keer, tik net CTRL-D en main.py herbegin.
Ontkoppel jou bord
Gooi altyd die CIRCUITPY -skyf uit voordat u die rekenaar ontkoppel. Moet dit nooit uittrek terwyl dit data oordra nie.
Stap 7: Trek die bene aan
Die manlike opskrifte is te lank vir die bord, dus snap/sny 2 daarvan op die regte lengte.
Druk dit in 'n broodbord, plaas die IBM4 bo -op en soldeer dit. Maak seker dat die bord die regte pad is! (Skyfie bo -op)
Moenie manlike kopstukke bo -op sit nie. Ek gebruik 'n strook van 5 kopstukke bo -oor sodat ek al die penne kan gebruik. Gebruik 'n skroefdraad om die strook styf vas te hou, naby die snypunt. Gebruik 'n skerp ystersaag om die middel van 'n gat af te sny - die koperverbinding val uit terwyl u sny. Lê die snykant in om 'n netjiese afwerking te kry - geen groef nie.
Soldeer op die penne is nie moeilik nie. Kyk na die Arduino- en elektronika -kursusse as u nog nooit 'n soldeerbout gebruik het nie. Deur te kan soldeer, kan u netjies maak van langdurige weergawes van u projekte op strookplank en dan die broodbord hergebruik.
Om te verhoed dat die bord oorverhit, stel ek voor dat u nie aan die een kant soldeer en aan die ander kant nie. Laat gapings en vul dit later in. ie penne 10, RX, 2, A3, RS, BAT, 9, MI …… ens
Stap 8: CircuitPython RGB -statuslig - om u te help om die foute te vind
ItsyBitsy M4 Express en baie ander M0- en M4 -borde het almal 'n enkele NeoPixel- of DotStar RGB -LED op die bord wat die status van CircuitPython aandui. Hier is dit tussen die (C) en pen A0.
Dit is wat die kleure en knipper beteken:
- bestendig GROEN: code.py (of code.txt, main.py of main.txt) loop
- polsende GROEN: code.py (ens.) Is klaar of bestaan nie
- bestendig GEEL by aanvang: (4.0.0-alfa.5 en nuwer) CircuitPython wag vir 'n herstel om aan te dui dat dit in die veilige modus moet begin
- pols GEEL: Circuit Python is in die veilige modus: dit het neergestort en weer begin
- bestendig WIT: REPL loop
- bestendig BLOU: boot.py loop
Kleure met veelvuldige flitse dui op 'n Python -uitsondering en dui dan die reëlnommer van die fout aan. Die kleur van die eerste flits dui die tipe fout aan:
- GROEN: Inbraakfout
- CYAN: SyntaxError
- WIT: NameError
- ORANJE: OSError
- PERS: ValueError
- GEEL: ander fout
Dit word gevolg deur flitse wat die lynnommer aandui, insluitend plekwaarde. WIT flitse is duisende se plek, BLOU is honderde, GEEL is tientalle, en CYAN is 'n plek. Byvoorbeeld, 'n fout op reël 32 flits drie keer GEEL en dan CYAN twee keer. Nulle word aangedui deur 'n ekstra lang donker gaping.
Dit is redelik moeilik om te tel. Hou die REPL -venster altyd oop wanneer u 'n script ontwikkel, en die foutboodskappe in Engels verskyn daar.
Stap 9: vorentoe kyk - na u toe
Toe ek hierdie Instructable begin, het ek verwag dat dit die eerste in 'n reeks sou wees wat CircuitPython en Physical Computing ondersoek. My plan vir die volgende is om basiese insette en afvoer met rekenkunde, LED's, skakelaars, potensiometers en insetstate te dek. Dit sal ook lusmetodes en lyste (skikkings) dek.
Voordat ek dit skryf, vra ek terugvoer, sodat ek dit kan aanpas by die gehoor.
Die soort dinge wat ek graag wil weet, is:
- Is die pas reg?
- Is die detail te veel, te min of te reg?
- Wil u 'n paar oefenoefeninge hê?
Oor na jou.
Aanbeveel:
DIY Smart Doorbell: kode, opstelling en HA -integrasie: 7 stappe (met foto's)
DIY Smart Doorbell: Code, Setup and HA Integration: In hierdie projek sal ek jou wys hoe jy jou normale deurklokkie in 'n slim een kan verander sonder om die huidige funksies te verander of om drade te sny. Ek sal 'n ESP8266 -bord met die naam Wemos D1 mini gebruik. Nuut na ESP8266? Kyk na my inleiding
Maklike opstelling IR -afstandsbediening met behulp van LIRC vir die Framboos -PI (RPi) - Julie 2019 [Deel 1]: 7 stappe
Easy Setup IR Remote Control Using LIRC for the Raspberry PI (RPi) - July 2019 [Part 1]: Na baie gesoek was ek verbaas en ontsteld oor die teenstrydige inligting oor hoe om IR -afstandsbediening vir my RPi -projek op te stel. Ek het gedink dit sou maklik wees, maar die opstel van Linux InfraRed Control (LIRC) was al lank problematies
FlySky FS-i6X-opstelling met 'n RC-simulator: 5 stappe
FlySky FS-i6X-opstelling met 'n RC-simulator: Hallo almal, in hierdie instruksies sal ek jou wys hoe om die FlySky FS-i6-beheerder aan 'n RC-simulator te koppel
Maklike opstelling IR -afstandsbediening met behulp van LIRC vir die Raspberry PI (RPi) - Julie 2019 [Deel 2]: 3 stappe
Maklike opstelling IR -afstandsbediening met behulp van LIRC vir die Raspberry PI (RPi) - Julie 2019 [Deel 2]: In deel 1 het ek gedemonstreer hoe om die RPi + VS1838b te monteer en die Raspbian se LIRC -module op te stel om IR -opdragte van 'n IR -afstandsbediening te ontvang. Alle hardeware- en LIRC -opstellingskwessies word in deel 1 bespreek. Deel 2 sal demonstreer hoe u die hardwa kan koppel
Grafika op 'n SSD1306 I2C OLED 128x64 -skerm met CircuitPython met 'n Itsybitsy M4 Express: 13 stappe (met foto's)
Grafika op 'n SSD1306 I2C OLED 128x64 -skerm met CircuitPython met behulp van 'n Itsybitsy M4 Express: Die SSD1306 OLED -skerm is 'n klein (0,96 "), goedkoop, algemeen beskikbaar, I2C, monochroom grafiese skerm met 128x64 pixels, wat maklik gekoppel kan word (slegs 4 drade) na mikroprosessor -ontwikkelingsborde soos 'n Raspberry Pi, Arduino of