Sommario:

CircuitPython con un Itsybitsy M4 Express 1: installazione: 9 passaggi
CircuitPython con un Itsybitsy M4 Express 1: installazione: 9 passaggi

Video: CircuitPython con un Itsybitsy M4 Express 1: installazione: 9 passaggi

Video: CircuitPython con un Itsybitsy M4 Express 1: installazione: 9 passaggi
Video: Getting Started with CircuitPython - Hosted by Dan 2024, Dicembre
Anonim
CircuitPython con un Itsybitsy M4 Express 1: Setup
CircuitPython con un Itsybitsy M4 Express 1: Setup

Nuovo per la codifica? Hai usato solo Scratch e vuoi passare a un linguaggio testuale che dia un facile accesso al Physical computing con LED, interruttori, display e sensori? Allora questo potrebbe essere per te.

Ho notato che questo sito contiene molti Instructables sulla codifica con Arduino usando l'IDE di Arduino ma pochissimi su Python. Insegno programmazione dal 1968. (Allora la chiamavamo programmazione e usavamo FORTRAN IV con le schede Hollerith per l'input!) Da quei primi giorni ho usato molte lingue diverse con gli studenti (dagli 11 anni all'età adulta) tra cui LISP, Pascal e molti diverse versioni su BASIC.

Più di recente, molte scuole nel Regno Unito hanno iniziato a utilizzare Python nelle loro lezioni mentre gli studenti passano dalla codifica "a blocchi" con Scratch o simili alle istruzioni di testo. Python è probabilmente un passo avanti più semplice rispetto all'utilizzo dell'IDE Arduino. Il codice CircuitPython può essere eseguito semplicemente salvando il codice sulla scheda di sviluppo come se fosse un'unità USB. Ho usato con successo Python per il Physical Computing con bambini dagli 8 agli 11 anni nel Coding Club della scuola primaria di mia nipote.

Ho deciso di utilizzare Itsybitsy M4 Express di Adafruit per questi Instructables per i seguenti motivi:

  • Economico: meno di $ 15 (£ 15)
  • Facile da configurare e programmare con CircuitPython (una versione di Python ideale per chi è alle prime armi con la programmazione)
  • Pin di ingresso/uscita digitale: è molto divertente giocare con i Blinkies
  • Pin analogici - ADC e DAC a 12 bit - alta precisione
  • LED rossi e LED RGB DotStar integrati
  • Pilota direttamente i Neopixel
  • I2C e SPI supportati – per sensori e display
  • Ampia gamma di driver nell'ampia libreria
  • Veloce e potente: processore ATSAMD51 Cortex M4 ultraveloce funzionante a 120 MHz
  • Molta memoria: 2 MB di memoria Flash SPI per codice CircuitPython o file di dati
  • Grande supporto da parte di Adafruit con documentazione completa, guide e un forum di assistenza su Internet
  • Ha bisogno solo di un vecchio laptop o computer: nessun monitor, tastiera, alimentatore o mouse dedicati.
  • L'utente può convertire in Arduino IDE, sulla stessa scheda, una volta acquisita esperienza con Python.

Questo primo Instructable spiega come impostare la tua scheda ed eseguire i tuoi primi script.

Passaggio 1: cosa ti serve per iniziare

Cosa ti serve per iniziare
Cosa ti serve per iniziare

Hardware:

  • Itybitsy M4 Express (adafruit.com, Pimoroni.com)
  • cavo microUSB
  • Computer: andrà bene un vecchio laptop
  • Saldatore
  • Saldare
  • tagliere
  • Striscia di intestazione femmina (opzionale)

Software:

Mu Editor

Scarica l'editor Mu da

Installalo sul tuo computer. Molto facile con istruzioni complete sul sito.

Passaggio 2: verifica che CircuitPython sia installato

Verifica che CircuitPython sia installato
Verifica che CircuitPython sia installato

Apri Esplora file sul tuo computer.

Collega l'estremità più piccola del cavo USB al connettore di Itsybitsy.

Collega l'altra estremità del cavo a una porta USB del computer.

Dovresti vedere apparire una nuova unità chiamata CIRCUITPY. (In caso contrario, vai alla pagina AGGIORNAMENTO.)

Fai doppio clic su boot_out e dovresti vedere un messaggio come questo:

Circuito AdafruitPython 3.1.1on 2018-11-02; Adafruit ItsyBitsy M4 Express con samd51g19

Questo mostra che hai una versione precedente di CircuitPython poiché siamo attualmente alla versione 4. Per ora andrà bene, aggiorneremo la versione in seguito. Adafruit migliora frequentemente CircuitPython e pubblica aggiornamenti. Questi aggiornamenti sono molto facili da installare.

Passa alla cartella dei documenti e crea una nuova cartella chiamata Code-with-Mu al suo interno.

Avvia l'editor Mu

Passaggio 3: utilizzo dell'editor Mu per il primo programma

Utilizzo dell'editor Mu per il tuo primo programma
Utilizzo dell'editor Mu per il tuo primo programma

Fare clic sull'icona Seriale nella parte superiore dell'editor. Questo dovrebbe aprire la finestra REPL nella parte inferiore dello schermo. Nell'angolo in basso a sinistra dovrebbe dire Adafruit. Mu ha riconosciuto che una scheda CircuitPython è stata collegata al computer.

Ora possiamo scrivere il nostro primo programma o script. Fare clic con il mouse nella finestra superiore e digitare:

print("Ciao, Mondo!")

Fare clic sull'icona Salva. Selezionare l'unità CIRCUITPY. Digita main.py nella casella del titolo e fai clic sul pulsante Salva.

Questo fa molto. Il tuo script viene salvato nel tuo Itsybitsy con il nome "main.py". Qualsiasi file con questo nome viene immediatamente eseguito dalla scheda. L'output dell'istruzione print viene visualizzato nella finestra REPL inferiore.

Modifica la riga del programma in:

print("\nCiao, programmatore!") e fai clic sull'icona Salva.

Prova ad aggiungere alcune istruzioni di stampa simili ed esegui il tuo nuovo codice.

Guarda il tuo Itsybitsey mentre carichi uno script. Il DotStar verde lampeggiante diventa ROSSO mentre lo script viene salvato e torna a VERDE.

Facciamo un errore per vedere cosa succede. Basta eliminare il carattere di citazione finale ed eseguire nuovamente lo script. L'editor indica l'errore e l'output indica il tipo di errore - sintassi - e il numero di riga - per aiutarti a correggere l'errore. Il DotStar indica il guasto cambiando colore. Maggiori informazioni su questo in una sezione successiva.

Correggere l'errore ed eseguire nuovamente lo script.

Ora dobbiamo salvare il nostro script in un posto sicuro in modo da poterlo utilizzare in seguito.

Fare doppio clic sulla scheda sopra lo script. Passa alla cartella dei tuoi documenti Code-with-Mu e salva lì il tuo script con un nome file utile come FirstProg.py. Notare che il nome del file e il percorso sono visualizzati nella parte inferiore dell'editor.

Passaggio 4: il tuo secondo script - Blink

Il tuo secondo copione - Blink
Il tuo secondo copione - Blink

Digita lo script, salvalo su CIRCUITPY come main.py e fai clic su Sì per sostituire il precedente main.py.

(Usa sempre il nome del file main.py per il tuo script quando salvi in ItsyBitsy. CircuitPython quindi esegue immediatamente il nuovo script.)

Cosa fa lo script:

  • Importa librerie per i nomi dei pin sulla scheda, il tempo per controllare i ritardi e il controllo dei pin digitali,
  • Imposta il pin 13 per l'uscita delle tensioni al LED rosso di bordo
  • Esegue un ciclo infinito per accendere e spegnere il LED
  • Attende brevi ritardi in modo che il LED lampeggi.

Lo script ha molti commenti per spiegare cosa sta succedendo. I commenti iniziano con un carattere '#'. Sono ad uso umano per aiutarti a ricordare il tuo pensiero in quel momento. I buoni script hanno molti commenti.

  1. Prova a cambiare i valori nelle istruzioni sleep().
  2. Tieni il LED acceso per il doppio del tempo in cui è spento.
  3. Cosa succede se i ritardi sono molto brevi? (0,001 secondi)

Fare doppio clic sulla scheda sopra lo script e salvare con il nome Blink.py nella cartella Code-with-Mu.

Passaggio 5: aggiornamento della versione di CircuitPython

Aggiornare la tua versione di CircuitPython
Aggiornare la tua versione di CircuitPython

Vai a https://circuitpython.org/downloads su Internet. Clicca sull'immagine dell'Itsybitsy M4 Express (non la versione M0).

Fare clic sul pulsante viola per scaricare il file. UF2.

Avvia Esplora file e individua il file. UF2

Collega il tuo Itsybitsy M4 Express alla porta USB e individua la sua unità - CIRCUITPY

Fare doppio clic sul piccolo pulsante di ripristino e il nome del file dovrebbe cambiare in ITSYM4BOOT da CIRCUITPY. È necessario fare doppio clic abbastanza rapidamente.

Trascina il file UF2 e rilascialo sull'unità ITSYM4BOOT. Il file UF2 verrà copiato sulla scheda IBM4 e il nome dell'unità tornerà a CIRCUITPY.

Selezionare l'unità CIRCUITPY e fare doppio clic sul file boot_out.

Puoi leggere il nuovo numero di versione per verificare che sia stato aggiornato.

Crea una nuova cartella sull'unità CIRCUITPY chiamata lib. Ne avremo bisogno in Instructables successivi per contenere i driver per sensori e display.

Riavvia l'editor Mu. Carica il tuo file main.py da IBM4 e salvalo nuovamente su IBM4. Il LED rosso dovrebbe iniziare a lampeggiare.

Se fai clic una volta sul pulsante di ripristino, lo script main.py caricato verrà riavviato.

Passaggio 6: il REPL

il REPL
il REPL

La finestra in fondo all'editor, attivata e disattivata con l'icona Seriale, è molto più di una semplice finestra di stampa.

"Un ciclo di lettura-valutazione-stampa (REPL), chiamato anche un livello superiore interattivo o shell del linguaggio, è un ambiente di programmazione per computer semplice e interattivo che accetta input di singoli utenti (cioè singole espressioni), li valuta e restituisce il risultato all'utente; un programma scritto in ambiente REPL viene eseguito a tratti." (Google)

Fondamentalmente, se scrivi una singola istruzione python nel REPL, la esegue immediatamente. Proviamolo.

Fare clic con il mouse nella finestra REPL.

Durante l'esecuzione dello script, tieni premuto il tasto e tocca (CTRL-C). Questo interrompe il tuo script.

Tocca un tasto qualsiasi per accedere al REPL e viene visualizzato un prompt '>>>'.

digita print(4 + 100)

Torna subito la risposta 104

Guarda la foto e provane qualcuna di tua proprietà. (Prova +, -, *, /, // e %)

Prova questo:

>> scheda di importazione

>> dir (scheda)

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

>>

Questo è un elenco dei nomi dei pin disponibili sulla scheda IBM4

Per tornare alla normalità con un riavvio graduale basta digitare CTRL-D e main.py si riavvia.

Scollegare la scheda

Espellere sempre l'unità CIRCUITPY prima di disconnettersi dal computer. Non estrarlo mai durante il trasferimento dei dati.

Passaggio 7: indossare le gambe

Mettere sulle gambe
Mettere sulle gambe
Mettere sulle gambe
Mettere sulle gambe

Le intestazioni maschili sono troppo lunghe per il tabellone, quindi scatta/tagliane 2 alla lunghezza corretta.

Inserirli in una breadboard, posizionare sopra l'IBM4 e saldarli. Assicurati che la tavola sia nella giusta direzione! (Chip sopra)

Non mettere intestazioni maschili nella parte superiore. Uso una striscia di 5 intestazioni femminili nella parte superiore in modo da poter utilizzare tutti i pin. Usa una morsa per tenere saldamente la striscia di intestazione, vicino al punto di taglio. Usa un seghetto affilato per tagliare il centro di un foro: il connettore in ottone cadrà mentre tagli. Lima il bordo tagliato per ottenere una finitura pulita - nessuna scanalatura..

La saldatura sui pin non è difficile. Guarda i corsi Arduino ed Elettronica se non hai mai usato un saldatore prima. Essere in grado di saldare significa che puoi realizzare versioni ordinate di lunga durata dei tuoi progetti su strip board e quindi riutilizzare la breadboard.

Per evitare che la scheda si surriscaldi, ti suggerisco di non saldare un lato e poi l'altro. Lascia degli spazi vuoti e riempi in seguito. cioè pin 10, RX, 2, A3, RS, BAT, 9, MI ……ecc

Passaggio 8: spia di stato RGB di CircuitPython - per aiutarti a trovare gli errori

Indicatore di stato RGB CircuitPython - per aiutarti a trovare gli errori
Indicatore di stato RGB CircuitPython - per aiutarti a trovare gli errori

ItsyBitsy M4 Express e molte altre schede M0 e M4 hanno tutte un singolo LED NeoPixel o DotStar RGB sulla scheda che indica lo stato di CircuitPython. Qui è tra (C) e il pin A0.

Ecco cosa significano i colori e il lampeggiamento:

  • VERDE fisso: code.py (o code.txt, main.py o main.txt) è in esecuzione
  • VERDE lampeggiante: code.py (ecc.) è terminato o non esiste
  • GIALLO fisso all'avvio: (4.0.0-alpha.5 e successivi) CircuitPython è in attesa di un ripristino per indicare che dovrebbe avviarsi in modalità provvisoria
  • GIALLO lampeggiante: Circuit Python è in modalità provvisoria: si è arrestato in modo anomalo e si è riavviato
  • BIANCO fisso: REPL è in esecuzione
  • BLU fisso: boot.py è in esecuzione

I colori con più lampeggi successivi indicano un'eccezione Python e quindi indicano il numero di riga dell'errore. Il colore del primo lampeggio indica il tipo di errore:

  • VERDE: errore di indentazione
  • CIANO: Errore di sintassi
  • BIANCO: NomeErrore
  • ARANCIO: OSErrore
  • VIOLA: ValueError
  • GIALLO: altro errore

Questi sono seguiti da lampeggi che indicano il numero di riga, compreso il valore posizionale. I lampi BIANCHI sono il posto delle migliaia, il BLU è il posto delle centinaia, il GIALLO è il posto delle decine e il CIANO è il posto dell'individuo. Quindi, ad esempio, un errore sulla riga 32 lampeggerà in GIALLO tre volte e poi in CIANO due volte. Gli zeri sono indicati da uno spazio scuro extra lungo.

Questi sono abbastanza difficili da contare. Tieni sempre aperta la finestra REPL quando sviluppi uno script e i messaggi di errore, in inglese, appariranno lì.

Passaggio 9: in attesa - La parola a te

Non vedo l'ora - A voi
Non vedo l'ora - A voi

Quando ho iniziato questo Instructable mi aspettavo che fosse il primo di una serie che esplorava CircuitPython e Physical Computing. Il mio piano per il prossimo è quello di coprire l'input e l'output di base con aritmetica, LED, interruttori, potenziometri e istruzioni di input. Coprirà anche i metodi e gli elenchi di loop (array).

Prima di scriverlo chiedo un feedback, in modo da poterlo adattare al pubblico.

Il genere di cose che vorrei sapere sono:

  • Il ritmo è ok?
  • Il dettaglio è troppo, troppo poco o giusto?
  • Vuoi degli esercizi pratici?

A voi.

Consigliato: