Taula de continguts:

CircuitPython amb un Itsybitsy M4 Express 1: configuració: 9 passos
CircuitPython amb un Itsybitsy M4 Express 1: configuració: 9 passos

Vídeo: CircuitPython amb un Itsybitsy M4 Express 1: configuració: 9 passos

Vídeo: CircuitPython amb un Itsybitsy M4 Express 1: configuració: 9 passos
Vídeo: Sockets Tutorial with Python 3 part 1 - sending and receiving data 2024, Desembre
Anonim
CircuitPython amb un Itsybitsy M4 Express 1: configuració
CircuitPython amb un Itsybitsy M4 Express 1: configuració

Ets nou en codificació? Només s’utilitza Scratch i voleu passar a un llenguatge textual que faciliti l’accés a la informàtica física amb LEDs, commutadors, pantalles i sensors? Aleshores això pot ser per a vosaltres.

He observat que aquest lloc conté moltes instruccions sobre la codificació amb Arduinos mitjançant l'IDE Arduino, però molt poques sobre Python. He estat ensenyant codificació des del 1968. (Aleshores en dèiem programació i utilitzàvem les entrades FORTRAN IV amb targetes Hollerith!) Des d’aquells primers dies he utilitzat molts idiomes diferents amb estudiants (d’entre 11 anys i adults), inclosos LISP, Pascal i molts diferents versions a BASIC.

Més recentment, moltes escoles del Regne Unit han començat a utilitzar Python a les seves lliçons a mesura que els estudiants passen de la codificació 'bloqueja' amb Scratch o similar a declaracions de text. Python és probablement un pas més fàcil que utilitzar l'IDE Arduino. El codi CircuitPython es pot executar simplement desant el codi a la placa de desenvolupament com si fos una unitat USB. He utilitzat Python amb èxit per a la informàtica física amb nens de 8 a 11 anys al Club de Codificació de l'escola primària de la meva néta.

He decidit utilitzar Itsybitsy M4 Express d'Adafruit per a aquests instruccions pels motius següents:

  • Barat: menys de 15 dòlars (15 lliures esterlines)
  • Fàcil de configurar i programar amb CircuitPython (una versió de Python ideal per a aquells que són nous a la codificació)
  • Pins d'entrada / sortida digitals: és molt divertit jugar amb Blinkies
  • Pins analògics - ADC i DAC de 12 bits - alta precisió
  • LED vermells i LED DotStar RGB incorporats
  • Condueix directament Neopixels
  • Compatible amb I2C i SPI: per a sensors i pantalles
  • Àmplia gamma de controladors a l’extensa biblioteca
  • Ràpid i potent: processador ATSAMD51 Cortex M4 ultra ràpid que funciona a 120 MHz
  • Molt memòria: 2 MB de memòria flash SPI per a fitxers de codi o dades de CircuitPython
  • Gran suport d'Adafruit amb documentació completa, guies i un fòrum d'ajuda a Internet
  • Només necessita un ordinador portàtil o un ordinador vells: no hi ha cap monitor, teclat, font d'alimentació o ratolí dedicats.
  • L'usuari pot convertir a Arduino IDE, al mateix tauler, un cop hagi experimentat amb Python.

Aquest primer instructable explica com configurar el tauler i executar els primers scripts.

Pas 1: què necessiteu per començar

Què necessiteu per començar?
Què necessiteu per començar?

Maquinari:

  • Itsybitsy M4 Express (adafruit.com, Pimoroni.com)
  • cable microUSB
  • Ordinador: farà un portàtil antic
  • Soldador
  • Soldar
  • Taula de pa
  • Franja de capçalera femenina (opcional)

Programari:

Editor de Mu

Descarregueu l'editor Mu des de

Instal·leu-lo al vostre ordinador. Molt fàcil amb instruccions completes al lloc.

Pas 2: comproveu que CircuitPython estigui instal·lat

Comproveu que CircuitPython estigui instal·lat
Comproveu que CircuitPython estigui instal·lat

Obriu l'Explorador de fitxers a l'ordinador.

Connecteu l'extrem petit del cable USB al connector de la màquina Itsybitsy.

Connecteu l’altre extrem del cable a un port USB de l’ordinador.

Hauríeu de veure com apareix una nova unitat anomenada CIRCUITPY. (Si no és així, aneu a la pàgina ACTUALITZACIÓ).

Feu doble clic a boot_out i hauríeu de veure un missatge com aquest:

Adafruit CircuitPython 3.1.1 el 02-11-2018; Adafruit ItsyBitsy M4 Express amb samd51g19

Això demostra que teniu una versió anterior de CircuitPython, ja que actualment estem a la versió 4. Això estarà bé per ara, actualitzarem la versió més endavant. Adafruit millora freqüentment CircuitPython i publica actualitzacions. Aquestes actualitzacions són molt fàcils d’instal·lar.

Aneu a la carpeta de documents i creeu una carpeta nova anomenada Code-with-Mu.

Inicieu l'editor Mu

Pas 3: Utilitzeu l'editor Mu per al vostre primer programa

Ús de l’editor Mu per al vostre primer programa
Ús de l’editor Mu per al vostre primer programa

Feu clic a la icona de sèrie a la part superior de l'editor. Això hauria d'obrir la finestra REPL a la part inferior de la pantalla. A l'extrem inferior esquerre hauria de dir Adafruit. Mu ha reconegut que una placa CircuitPython s'ha connectat a l'ordinador.

Ara podem escriure el nostre primer programa o guió. Feu clic amb el ratolí a la finestra superior i escriviu:

print ("Hola, món!")

Feu clic a la icona Desa. Seleccioneu la unitat CIRCUITPY. Escriviu main.py al quadre del títol i feu clic al botó Desa.

Això fa molt. El vostre script es desa al vostre Itsybitsy amb el nom "main.py". Qualsevol fitxer amb aquest nom és executat immediatament per la junta. La sortida de la declaració d'impressió apareix a la finestra inferior REPL.

Editeu la línia del programa per:

imprimeix ("\ nHola, codificador!") i fes clic a la icona Desa.

Proveu d'afegir algunes declaracions d'impressió similars i executeu el vostre nou codi.

Mireu la vostra Itsybitsey mentre pengeu un script. El DotStar de color verd intermitent es posa VERMELL mentre es guarda l’escriptura i torna a VERD.

Cometem un error per veure què passa. Només heu de suprimir el caràcter de pressupost final i tornar a executar l'script. L'editor indica l'error i la sortida indica el tipus d'error (sintaxi) i el número de línia que us ajudaran a corregir l'error. El DotStar indica la falla canviant de color. Més informació sobre això en una secció posterior.

Corregiu l'error i torneu a executar l'script.

Ara hem de desar el nostre script en un lloc segur perquè el puguem utilitzar més endavant.

Feu doble clic a la pestanya que hi ha a sobre de l'script. Aneu a la carpeta Code-with-Mu dels vostres documents i deseu-hi el script amb un nom de fitxer útil com FirstProg.py. Fixeu-vos que el nom i el camí del fitxer apareixen a la part inferior de l'editor.

Pas 4: el vostre segon guió: parpelleja

El vostre segon guió: parpelleja
El vostre segon guió: parpelleja

Escriviu l'script, deseu-lo a CIRCUITPY com a main.py i feu clic a Sí per substituir el main.py anterior.

(Utilitzeu sempre el nom de fitxer main.py per al vostre script quan el deseu al ItsyBitsy. CircuitPython executarà immediatament el nou script.)

Què fa el guió:

  • Importa biblioteques per als noms dels pins al tauler, temps per controlar els retards i control dels pins digitals,
  • Configura el pin 13 per generar tensions al LED vermell de la placa
  • Executa un bucle sense fi per encendre i apagar el LED
  • Espera per retards breus perquè el LED parpellegi.

El guió conté molts comentaris per explicar què passa. Els comentaris comencen amb un caràcter "#". Són per a ús humà per ajudar-vos a recordar el vostre pensament en aquell moment. Els bons guions tenen molts comentaris.

  1. Proveu de canviar els valors de les instruccions sleep ().
  2. Mantingueu el LED encès el doble de temps que estigui apagat.
  3. Què passa si els retards són molt curts? (0,001 segons)

Feu doble clic a la pestanya que hi ha a sobre del vostre script i deseu-lo amb el nom Blink.py a la carpeta Code-with-Mu.

Pas 5: actualització de la vostra versió de CircuitPython

Actualitzant la vostra versió de CircuitPython
Actualitzant la vostra versió de CircuitPython

Aneu a https://circuitpython.org/downloads a Internet. Feu clic a la imatge del Itsybitsy M4 Express (no la versió M0).

Feu clic al botó morat per descarregar el fitxer. UF2.

Inicieu l'Explorador de fitxers i localitzeu el fitxer. UF2

Connecteu el vostre Itsybitsy M4 Express al port USB i localitzeu la seva unitat: CIRCUITPY

Feu doble clic al botó de restabliment i el nom del fitxer hauria de canviar a ITSYM4BOOT de CIRCUITPY. Cal fer doble clic amb força rapidesa.

Arrossegueu el fitxer UF2 i deixeu-lo anar a la unitat ITSYM4BOOT. El fitxer UF2 es copiarà a la placa IBM4 i el nom de la unitat tornarà a CIRCUITPY.

Seleccioneu la unitat CIRCUITPY i feu doble clic al fitxer boot_out.

Podeu llegir el número de versió nova per comprovar que s’hagi actualitzat.

Feu una nova carpeta a la unitat CIRCUITPY anomenada lib. Ho necessitarem en instruccions posteriors per contenir els controladors de sensors i pantalles.

Reinicieu l'editor Mu. Carregueu el fitxer main.py des de l'IBM4 i deseu-lo de nou a l'IBM4. El LED vermell hauria de començar a parpellejar.

Si feu un sol clic al botó de reinici, reiniciarà l'script main.py carregat.

Pas 6: el REPL

El REPL
El REPL

La finestra de la part inferior de l’editor, activada i desactivada amb la icona de sèrie, és molt més que una simple finestra d’impressió.

"Un bucle de lectura-avaluació-impressió (REPL), també anomenat shell interactiu de nivell superior o de llenguatge, és un entorn de programació informàtic senzill i interactiu que pren entrades d'un sol usuari (és a dir, expressions individuals), les avalua i retorna el resultat a l'usuari; un programa escrit en un entorn REPL s'executa a trossos. " (Google)

Bàsicament, si escriviu una única sentència python al REPL, l'executarà alhora. Provem-ho.

Feu clic amb el ratolí a la finestra REPL.

Mentre executeu l'script, manteniu premuda la tecla i toqueu (CTRL-C). Això atura el vostre guió.

Toqueu qualsevol tecla per entrar a REPL i apareixerà un missatge ">>>".

escriu a la impressió (4 + 100)

Immediatament torna la resposta 104

Mireu la imatge i proveu-ne alguns. (Proveu +, -, *, /, // i%)

Prova això:

>> tauler d’importació

>> dir (tauler)

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

>>

Aquesta és una llista dels noms dels pins disponibles a la placa IBM4

Per tornar a la normalitat amb un reinici suau, escriviu CTRL-D i main.py reinicia.

Desconnectant el tauler

Expulseu sempre la unitat CIRCUITPY abans de desconnectar de l'ordinador. No la traieu mai mentre transfereix dades.

Pas 7: Posar-se les cames

Posar-se les cames
Posar-se les cames
Posar-se les cames
Posar-se les cames

Les capçaleres masculines són massa llargues per al tauler, de manera que en retireu / retalleu 2 a la longitud correcta.

Introduïu-los en una tauleta de suport, col·loqueu l'IBM4 a la part superior i soldeu-los. Assegureu-vos que el tauler sigui el camí correcte. (Xip a la part superior)

No col·loqueu capçaleres masculines a la part superior. Faig servir una tira de 5 capçaleres femenines a la part superior per poder utilitzar tots els pins. Utilitzeu un vici per mantenir fermament la tira de capçalera, a prop del punt de tall. Utilitzeu una serra de tall afilada per reduir el centre d’un forat; el connector de llautó caurà a mesura que talleu. Arxiveu la vora tallada per obtenir un acabat net, sense solc..

Soldar als passadors no és difícil. Mireu els cursos d’Arduino i Electrònica si mai no heu utilitzat un soldador. El fet de poder soldar significa que podeu fer versions de llarga durada dels vostres projectes sobre taulers i tornar a utilitzar la tauleta.

Per ajudar a evitar que el tauler es sobreescalfi, us suggereixo que no soldeu cap a un costat i després cap a l'altre. Deixeu els buits i empleneu més tard. és a dir, els pins 10, RX, 2, A3, RS, BAT, 9, MI … etc.

Pas 8: llum d'estat de CircuitPython RGB: per ajudar-vos a trobar els errors

Llum d’estat de CircuitPython RGB: per ajudar-vos a trobar els errors
Llum d’estat de CircuitPython RGB: per ajudar-vos a trobar els errors

ItsyBitsy M4 Express i moltes altres plaques M0 i M4 tenen un sol LED NeoPixel o DotStar RGB a la placa que indica l’estat de CircuitPython. Aquí es troba entre el (C) i el pin A0.

Això és el que signifiquen els colors i el parpelleig:

  • VERD constant: code.py (o code.txt, main.py o main.txt) s'està executant
  • VERD pulsant: code.py (etc.) ha finalitzat o no existeix
  • GROC constant a l’inici: (4.0.0-alpha.5 i versions posteriors) CircuitPython espera un restabliment per indicar que hauria d’iniciar-se en mode segur
  • groc palpitant: el circuit Python està en mode segur: es va bloquejar i es va reiniciar
  • BLANC fix: REPL s'està executant
  • BLAU fix: s’està executant boot.py

Els colors amb diversos flaixos següents indiquen una excepció de Python i després indiquen el número de línia de l'error. El color del primer flaix indica el tipus d'error:

  • VERD: sagnatError
  • CIAN: SyntaxError
  • BLANC: Error de nom
  • TARONJA: OSError
  • PURPURA: ValueError
  • GROC: altre error

Aquests són seguits de flaixos que indiquen el número de línia, inclòs el valor de lloc. Els flaixos blancs són els milers, el BLAU són els centenars, el GROC és el lloc de les desenes i el CIAN és el lloc d’un. Així, per exemple, un error a la línia 32 parpellejaria GROC tres vegades i després CYAN dues vegades. Els zeros s’indiquen amb un buit fosc molt llarg.

Són difícils de comptar. Tingueu sempre oberta la finestra REPL quan desenvolupeu un script i els missatges d’error, en anglès, hi apareixeran.

Pas 9: Mirar cap endavant: cap a vosaltres

Mirant cap endavant: cap a vosaltres
Mirant cap endavant: cap a vosaltres

Quan vaig començar aquest Instructable, esperava que fos el primer d’una sèrie que explorava CircuitPython i Physical Computing. El meu pla per al següent és cobrir les entrades i sortides bàsiques amb aritmètica, LED, commutadors, potenciòmetres i sentències d’entrada. També cobrirà mètodes de bucle i llistes (matrius).

Abans d’escriure-ho, demano algun comentari perquè pugui adaptar-lo al públic.

El tipus de coses que voldria saber són:

  • El ritme està bé?
  • El detall és massa, massa poc o és correcte?
  • Voleu exercicis pràctics?

A vosaltres.

Recomanat: