Cuprins:

CircuitPython cu un Itsybitsy M4 Express 1: Configurare: 9 pași
CircuitPython cu un Itsybitsy M4 Express 1: Configurare: 9 pași

Video: CircuitPython cu un Itsybitsy M4 Express 1: Configurare: 9 pași

Video: CircuitPython cu un Itsybitsy M4 Express 1: Configurare: 9 pași
Video: Itsy Bitsy Circuit Python - First Program 2024, Iulie
Anonim
CircuitPython cu un Itsybitsy M4 Express 1: Setup
CircuitPython cu un Itsybitsy M4 Express 1: Setup

Sunteți nou în codificare? Utilizați doar Scratch și doriți să treceți la un limbaj textual care oferă acces ușor la calculul fizic cu LED-uri, comutatoare, afișaje și senzori? Atunci acest lucru poate fi pentru tine.

Am observat că acest site conține multe Instructabile despre codificarea cu Arduinos folosind Arduino IDE, dar foarte puține despre Python. Învăț codarea din 1968. (Pe atunci o numeam programare și foloseam FORTRAN IV cu carduri Hollerith pentru intrare!) Din acele timpuri am folosit multe limbi diferite cu studenți (de la 11 ani până la adulți), inclusiv LISP, Pascal și mulți diferite versiuni pe BASIC.

Mai recent, multe școli din Marea Britanie au început să folosească Python în lecțiile lor, pe măsură ce elevii trec de la codarea „bloc” cu Scratch sau similar cu textul declarațiilor. Python este probabil un pas mai ușor decât utilizarea Arduino IDE. Codul CircuitPython poate fi executat prin simpla salvare a codului pe placa de dezvoltare ca și cum ar fi o unitate USB. Am folosit cu succes Python pentru calcul fizic cu copii între 8 și 11 ani în Clubul de codificare al școlii primare a nepoatei mele.

Am decis să folosesc Itsafitsy M4 Express de la Adafruit pentru aceste instructabile din următoarele motive:

  • Ieftin - sub 15 USD (15 GBP)
  • Ușor de configurat și programat cu CircuitPython (o versiune de Python ideală pentru cei noi la codificare)
  • Pinii de intrare / ieșire digitale - este foarte distractiv să joci cu Blinkies
  • Pinii analogici - 12 biți ADC și DAC - precizie ridicată
  • LED-uri roșii și LED-uri RGB DotStar încorporate
  • Conduce Neopixeli direct
  • I2C și SPI acceptate - pentru senzori și afișaje
  • O gamă largă de drivere în biblioteca extinsă
  • Rapid și puternic - procesor ultrarapid ATSAMD51 Cortex M4 care rulează la 120 MHz
  • Multă memorie - 2 MB de memorie flash SPI pentru codul CircuitPython sau fișiere de date
  • Suport excelent de la Adafruit cu documentare completă, ghiduri și un forum de ajutor pe internet
  • Are nevoie doar de un laptop sau computer vechi - fără monitor dedicat, tastatură, sursă de alimentare sau mouse.
  • Utilizatorul se poate converti în Arduino IDE, pe aceeași placă, odată ce a câștigat experiență cu Python.

Acest prim Instructable explică cum să vă configurați placa și să rulați primele scripturi.

Pasul 1: Ce trebuie să începeți

Ce trebuie să începeți
Ce trebuie să începeți

Hardware:

  • Itsybitsy M4 Express (adafruit.com, Pimoroni.com)
  • cablu microUSB
  • Computer - un laptop vechi va funcționa
  • Ciocan de lipit
  • Solder
  • Pană de pâine
  • Bandă antet feminin (opțional)

Software:

Editor Mu

Descărcați editorul Mu de pe

Instalați-l pe computer. Foarte ușor, cu instrucțiuni complete pe site.

Pasul 2: Verificați dacă este instalat CircuitPython

Verificați dacă CircuitPython este instalat
Verificați dacă CircuitPython este instalat

Deschideți File Explorer pe computer.

Conectați capătul mic al cablului USB la conectorul de pe Itsybitsy.

Conectați celălalt capăt al cablului la un port USB de pe computer.

Ar trebui să vedeți o nouă unitate numită CIRCUITPY. (Dacă nu, accesați pagina UPDATE.)

Faceți dublu clic pe boot_out și ar trebui să vedeți un mesaj ca acesta:

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

Acest lucru arată că aveți o versiune mai veche a CircuitPython, deoarece suntem în prezent în versiunea 4. Acest lucru va fi OK pentru moment, vom actualiza versiunea mai târziu. Adafruit îmbunătățește frecvent CircuitPython și publică actualizări. Aceste actualizări sunt foarte ușor de instalat.

Navigați la folderul de documente și creați un folder nou numit Code-with-Mu în interiorul acestuia.

Porniți Editorul Mu

Pasul 3: Utilizarea Editorului Mu pentru primul dvs. program

Utilizarea Editorului Mu pentru primul dvs. program
Utilizarea Editorului Mu pentru primul dvs. program

Faceți clic pe pictograma Serial din partea de sus a editorului. Aceasta ar trebui să deschidă fereastra REPL din partea de jos a ecranului. În colțul din stânga jos ar trebui să scrie Adafruit. Mu a recunoscut că o placă CircuitPython a fost conectată la computer.

Acum putem scrie primul nostru program sau scenariu. Faceți clic cu mouse-ul în fereastra superioară și introduceți:

print („Bună ziua, lume!”)

Faceți clic pe pictograma Salvare. Selectați unitatea CIRCUITPY. Tastați main.py în caseta de titlu și faceți clic pe butonul Salvare.

Acest lucru face foarte mult. Scriptul dvs. este salvat pe Itsybitsy cu numele „main.py”. Orice fișier cu acest nume este executat imediat de către bord. Ieșirea din declarația de imprimare apare în fereastra inferioară, REPL.

Editați linia de program în:

print („\ nBună ziua, coder!”) și faceți clic pe pictograma Salvare.

Încercați să adăugați câteva declarații de tipărire similare și rulați noul cod.

Urmăriți Itsybitsey în timp ce încărcați un script. Punctul verde intermitent devine ROȘU în timp ce scriptul este salvat și revine la VERDE.

Să facem o eroare pentru a vedea ce se întâmplă. Ștergeți doar caracterul final al citatului și rulați din nou scriptul. Editorul indică eroarea, iar rezultatul indică tipul de eroare - sintaxă - și numărul liniei - pentru a vă ajuta să corectați eroarea. DotStar indică defectul prin schimbarea culorii. Mai multe despre acest lucru într-o secțiune ulterioară.

Corectați greșeala și rulați din nou scriptul.

Acum trebuie să ne salvăm scriptul undeva în siguranță, pentru a-l putea folosi mai târziu.

Faceți dublu clic pe fila de deasupra scriptului. Navigați la folderul Cod-cu-Mu al documentelor dvs. și salvați-vă scriptul acolo cu un nume de fișier util, cum ar fi FirstProg.py. Observați că numele fișierului și calea sunt afișate în partea de jos a editorului.

Pasul 4: Al doilea script - Clipiți

Al doilea script - Blink
Al doilea script - Blink

Tastați scriptul, salvați-l în CIRCUITPY ca main.py și faceți clic pe Da pentru a înlocui main.py anterior.

(Utilizați întotdeauna numele de fișier main.py pentru script atunci când salvați pe ItsyBitsy. CircuitPython rulează imediat noul script.)

Ce face scenariul:

  • Importă biblioteci pentru numele pinilor de pe placă, timpul de control al întârzierilor și controlul pinilor digitali,
  • Setează pinul 13 pentru a produce tensiuni la LED-ul roșu de la bord
  • Rulează o buclă nesfârșită pentru a porni și opri LED-ul
  • Așteptă întârzieri scurte, astfel încât LED-ul să clipească.

Scenariul conține o mulțime de comentarii pentru a explica ce se întâmplă. Comentariile încep cu un caracter „#”. Acestea sunt destinate uzului uman pentru a vă aduce aminte de gândirea dvs. din acel moment. Scripturile bune au o mulțime de comentarii.

  1. Încercați să modificați valorile din instrucțiunile sleep ().
  2. Păstrați LED-ul aprins de două ori mai mult decât este stins.
  3. Ce se întâmplă dacă întârzierile sunt foarte scurte? (0,001 secunde)

Faceți dublu clic pe fila de deasupra scriptului și salvați cu numele Blink.py în folderul Code-with-Mu.

Pasul 5: Actualizarea versiunii dvs. de CircuitPython

Actualizarea versiunii dvs. de CircuitPython
Actualizarea versiunii dvs. de CircuitPython

Navigați la https://circuitpython.org/downloads pe internet. Faceți clic pe imaginea Itsybitsy M4 Express (nu versiunea M0).

Faceți clic pe butonul violet pentru a descărca fișierul. UF2.

Porniți File Explorer și localizați fișierul. UF2

Conectați-vă Itsybitsy M4 Express la portul USB și localizați unitatea acestuia - CIRCUITPY

Faceți dublu clic pe micul buton de resetare și numele fișierului ar trebui să se schimbe în ITSYM4BOOT din CIRCUITPY. Trebuie să faceți dublu clic destul de repede.

Trageți fișierul UF2 și fixați-l pe unitatea ITSYM4BOOT. Fișierul UF2 va fi copiat pe placa IBM4 și numele unității va reveni la CIRCUITPY.

Selectați unitatea CIRCUITPY și faceți dublu clic pe fișierul boot_out.

Puteți citi noul număr de versiune pentru a verifica dacă a fost actualizat.

Creați un folder nou pe unitatea CIRCUITPY numit lib. Vom avea nevoie de acest lucru în Instructables ulterior pentru a păstra driverele pentru senzori și afișaje.

Reporniți editorul Mu. Încărcați fișierul main.py din IBM4 și salvați-l înapoi în IBM4. LED-ul roșu ar trebui să înceapă să clipească.

Dacă faceți un singur clic pe butonul de resetare, acesta va reporni scriptul main.py încărcat.

Pasul 6: REPL

REPL
REPL

Fereastra din partea de jos a editorului, pornită și oprită cu pictograma Serial, este mult mai mult decât o simplă fereastră de imprimare.

„O buclă de citire-evaluare-imprimare (REPL), denumită și shell interactiv de nivel superior sau de limbă, este un mediu de programare computerizat simplu, interactiv, care ia intrări pentru un singur utilizator (adică expresii simple), le evaluează și returnează rezultatul utilizatorului; un program scris într-un mediu REPL este executat în bucăți. (Google)

Practic, dacă scrieți o singură instrucțiune python în REPL, aceasta o execută imediat. Hai sa incercam.

Faceți clic pe mouse în fereastra REPL.

În timp ce rulați scriptul, țineți apăsată tasta și atingeți (CTRL-C). Aceasta oprește scriptul.

Atingeți orice tastă pentru a introduce REPL și apare un mesaj „>>>”.

tastați tipărit (4 + 100)

Imediat revine răspunsul 104

Uită-te la imagine și încearcă câțiva dintre voi. (Încercați +, -, *, /, // și%)

Incearca asta:

>> placa de import

>> dir (bord)

['_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”]

>>

Aceasta este o listă a numelor de pin disponibile pe placa IBM4

Pentru a reveni la normal cu o repornire ușoară, tastați CTRL-D și main.py reporniți.

Deconectarea plăcii

Scoateți întotdeauna unitatea CIRCUITPY înainte de a vă deconecta de la computer. Nu îl scoateți niciodată în timp ce transferați date.

Pasul 7: Punerea pe picioare

Punerea pe picioare
Punerea pe picioare
Punerea pe picioare
Punerea pe picioare

Anteturile masculine sunt prea lungi pentru tablă, așa că fixați / tăiați 2 dintre ele la lungimea corectă.

Împingeți-le într-o placă de sprijin, așezați IBM4 deasupra și lipiți-le. Asigurați-vă că tabla este în sus! (Chip pe partea de sus)

Nu puneți anteturi masculine deasupra. Folosesc o bandă de 5 anteturi de sex feminin în partea de sus, astfel încât să pot folosi toți pinii. Folosiți un menghin pentru a ține banda de antet ferm, aproape de punctul de tăiere. Utilizați un ferăstrău ascuțit pentru a tăia centrul unei găuri - conectorul de alamă va cădea pe măsură ce tăiați. Așezați marginea tăiată pentru a obține un finisaj îngrijit - fără șanț..

Lipirea pe știfturi nu este dificilă. Uitați-vă la cursurile de Arduino și Electronică dacă nu ați folosit niciodată un fier de lipit. A putea să lipiți înseamnă că puteți face curate versiunile de lungă durată ale proiectelor dvs. pe bandă și apoi să refolosiți panoul.

Pentru a preveni supraîncălzirea plăcii, vă sugerez să nu lipiți o parte și apoi să ridicați cealaltă. Lăsați goluri și completați mai târziu. adică pinii 10, RX, 2, A3, RS, BAT, 9, MI …… etc.

Pasul 8: CircuitPython RGB Status Light - pentru a vă ajuta să găsiți erorile

Lumina de stare CircuitPython RGB - pentru a vă ajuta să găsiți erorile
Lumina de stare CircuitPython RGB - pentru a vă ajuta să găsiți erorile

ItsyBitsy M4 Express și multe alte plăci M0 și M4 au toate un singur LED NeoPixel sau DotStar RGB pe placă care indică starea CircuitPython. Aici se află între (C) și pinul A0.

Iată ce înseamnă culorile și clipirea:

  • VERDE constant: code.py (sau code.txt, main.py sau main.txt) rulează
  • VERZI pulsant: code.py (etc.) a terminat sau nu există
  • GALBEN constant la pornire: (4.0.0-alfa.5 și mai nou) CircuitPython așteaptă o resetare pentru a indica faptul că ar trebui să înceapă în modul sigur
  • pulsând GALBEN: Circuitul Python este în modul sigur: s-a prăbușit și a repornit
  • ALB stabil: REPL rulează
  • ALBASTRU constant: boot.py rulează

Culorile cu mai multe blițuri următoare indică o excepție Python și apoi indică numărul de linie al erorii. Culoarea primului bliț indică tipul de eroare:

  • VERZ: IndentationError
  • CYAN: SyntaxError
  • ALB: NameError
  • ORANGE: OSError
  • PURPLE: ValueError
  • GALBEN: altă eroare

Acestea sunt urmate de blițuri care indică numărul liniei, inclusiv valoarea poziției. Blițurile ALB sunt locul mii, ALBASTRUL sunt locul sutelor, GALBENUL sunt locul zecilor, iar CYAN sunt locul cuiva. Deci, de exemplu, o eroare pe linia 32 ar clipi GALBEN de trei ori și apoi CYAN de două ori. Zero-urile sunt indicate printr-un spațiu întunecat extra-lung.

Acestea sunt destul de greu de numărat. Aveți întotdeauna fereastra REPL deschisă atunci când dezvoltați un script și mesajele de eroare, în limba engleză, vor apărea acolo.

Pasul 9: Privind înainte - Peste tine

Privind înainte - Peste tine
Privind înainte - Peste tine

Când am început acest Instructable, mă așteptam să fie primul dintr-o serie care explorează CircuitPython și Physical Computing. Planul meu pentru următoarea este de a acoperi intrarea și ieșirea de bază cu aritmetică, LED-uri, comutatoare, potențiometre și instrucțiuni de intrare. De asemenea, va acoperi metodele de buclare și listele (matrici).

Înainte să-l scriu, solicit niște feedback, astfel încât să îl pot adapta publicului.

Genul de lucruri pe care aș dori să le știu sunt:

  • Ritmul este OK?
  • Detaliul este prea mult, prea puțin sau nu?
  • Doriți niște exerciții practice?

Este randul tau.

Recomandat: