Indholdsfortegnelse:
- Trin 1: Hvad du har brug for for at komme i gang
- Trin 2: Kontroller, at CircuitPython er installeret
- Trin 3: Brug af Mu Editor til dit første program
- Trin 4: Dit andet script - Blink
- Trin 5: Opdatering af din version af CircuitPython
- Trin 6: REPL
- Trin 7: Påsætning af benene
- Trin 8: CircuitPython RGB -statuslys - for at hjælpe dig med at finde fejlene
- Trin 9: Ser fremad - over til dig
Video: CircuitPython Med en Itsybitsy M4 Express 1: Opsætning: 9 trin
2024 Forfatter: John Day | [email protected]. Sidst ændret: 2024-01-30 08:27
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
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
Å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
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
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.
- Prøv at ændre værdierne i søvn () -udsagnene.
- Hold LED'en tændt i dobbelt så lang tid, som den er slukket.
- 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
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
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
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
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
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:
Opsætning af ST Visual Develop med Cosmic STM8 Compiler: 11 trin
Opsætning ST Visual Develop med Cosmic STM8 Compiler: Sådan opsætter jeg det integrerede udviklingsmiljø (IDE) til at programmere STM8 mikrokontrollere fra ST Microelectronics (ST) med Windows 10. Jeg påstår ikke, at det er den rigtige måde, men det fungerer godt for mig. I denne instruktionsbog vil det ligne en
NodeMcu ESP8266 Første gangs opsætning med Arduino IDE: 10 trin
NodeMcu ESP8266 Første gangs opsætning med Arduino IDE: Jeg laver Twitch -kontrollerede enheder; brugerdefinerede konsoller, controllere og andre noyceventions! Live streams er hver onsdag og lørdag kl. 21:00 på https://www.twitch.tv/noycebru, højdepunkter på TikTok @noycebru, og du kan se tutorials på YouT
DIY Smart Doorbell: Kode, opsætning og HA -integration: 7 trin (med billeder)
DIY Smart Doorbell: Code, Setup og HA Integration: I dette projekt vil jeg vise dig, hvordan du kan omdanne din normale dørklokke til en smart uden at ændre nogen af de nuværende funktioner eller klippe ledninger. Jeg vil bruge et ESP8266 -kort kaldet Wemos D1 mini. Nyt til ESP8266? Se min introduktion
Opsætning af Raspberry Pi med Azure IoT Hub: 5 trin
Opsætning af Raspberry Pi med Azure IoT Hub: Formålet med denne instruerbare er at få praktisk praktisk eksponering for mulighederne i Azure IoT Hub. Artiklen omhandler tilmelding til Azure IoT Hub, oprettelse af en Raspberry Pi og forbindelse af Pi med Azure IoT Hub for at sende telemetri
Grafik på en SSD1306 I2C OLED 128x64 -skærm med CircuitPython Brug af en Itsybitsy M4 Express: 13 trin (med billeder)
Grafik på en SSD1306 I2C OLED 128x64 -skærm med CircuitPython Brug af en Itsybitsy M4 Express: SSD1306 OLED -skærmen er en lille (0,96 '), billig, bredt tilgængelig, I2C, monokrom grafisk skærm med 128x64 pixels, som let kan tilsluttes (kun 4 ledninger) til mikroprocessorudviklingskort som f.eks. en Raspberry Pi, Arduino eller