Arduino

Tutorial Arduino con Python per principianti

Tutorial Arduino con Python per principianti

Quando hai iniziato a giocare con le schede Arduino, il linguaggio di programmazione standard è fornito da Arduino. Questo linguaggio è estremamente utile per iniziare e può anche essere usato per un uso reale. Le persone che lo usano da un po', però, notano alcune limitazioni. Potresti anche essere già abituato a programmare in Python. Per questo motivo, gli sviluppatori hanno inventato Micropython.

Con Micropython, hai tutte le basi di Python, con limitazioni dovute all'hardware su cui lo stai finalmente utilizzando. Questo articolo non discuterà queste limitazioni. Spero che tu abbia un'immagine chiara di cosa può fare un microcontrollore. Molto probabilmente, scoprirai che può fare molto di più di quanto immaginassi prima di iniziare.

Alcune soluzioni

Esistono molti modi per iniziare a programmare un Arduino usando Python. Prima di iniziare, vuoi pensare se stai preparando un nuovo programma Arduino o vuoi parlare con uno. Esistono diverse librerie che creano nuovi programmi Arduino, bypassando il sistema di programmazione standard che forniscono.

Hai schede che eseguono già Micropython; li trovi nelle rispettive home page.

Potresti voler creare un programma Python che parli con un microcontrollore standard. Se lo fai, hai alcune librerie di interfaccia per Python. Quelli ben noti sono Micropython e CircuitPython; queste sono distribuzioni pronte per essere eseguite su schede speciali special. Puoi compilare per altre schede se hai le competenze.

Il mu-editor per micropython

Un editor semplice da usare è un mu-editor. Questo editor è preparato in modo che rilevi la tua scheda sulla porta seriale se ne hai una. Se non ne hai uno, puoi iniziare a lavorare con Python normale. Per scegliere, cambia la modalità dall'angolo in alto a sinistra. Il Python standard funziona e puoi abituarti all'editor.

Questo editor ha alcune funzionalità IDE, come il completamento del codice, l'evidenziazione e puoi avviare un REPL. Queste caratteristiche funzionano tutte anche se collegate direttamente alla scheda. Per installare l'editor, puoi trovarlo nel repository della tua distribuzione.

$ sudo apt install micropython mu-editor mu-editor-doc

Questi sono tutti gli strumenti di cui hai bisogno con una scheda che ha già Micropython su di essa. Un semplice codice che puoi provare è il lampeggio comune del LED sulla scheda. Per arrivare all'hardware, come un LED, devi importare la libreria.

da pyb import LED
tempo di importazione
stato=Falso;
mentre vero:
tempo.dormire (0.5)
se stato == Falso:
LED (acceso);
stato=Vero;
altro:
LED (spento);
stato=Falso;

Usa il codice qui sopra per provare la tua nuova tavola. Nota che il 'pyb' varierà da una tavola all'altra, Adafruit usa la macchina. Prenditi del tempo per imparare quali sono i valori delle tue schede dalla documentazione.

REPL - Leggi, valuta, stampa, loop

Quando usi MicroPython, o qualsiasi Python, hai un REPL disponibile. Questo è un ottimo modo per testare brevi frammenti di codice. In questo caso, puoi usarlo per scoprire quali moduli sono disponibili. La funzione help() fa un ottimo lavoro nel guidarti attraverso le basi di ciò che hai a disposizione.

Quando esegui help() senza parametri, ti dà un elenco di opzioni. Dopodiché, è interattivo; digita ciò di cui hai bisogno per chiedere e indicazioni su come usarlo.

Usa REPL per trovare quali librerie supporta la scheda. È un metodo di apprendimento leggermente più difficile, ma prendi l'abitudine di usare la documentazione integrata. Per imparare veramente, devi seguire alcuni tutorial e costruire qualcos'altro su di essi.

Schede che eseguono Micropython

Il modo più semplice per iniziare a programmare per Arduino usando Python è acquistare una scheda pronta per questo. Le schede che esistono sul mercato sono impressionanti e provengono da molti fornitori. Le librerie principali sono CircuitPython e Micropython.

Un'impressionante linea di schede proviene da Adafruit, chiamata Circuit Playground. Queste tavole sono rotonde, il che è strano. Ancora più importante, hanno 10 Neopixel integrati, e questa è solo la parte visiva. Diversi sensori sono sulla scheda, inclusi anche due pulsanti e un interruttore a scorrimento. I pin di input/output sono realizzati per l'utilizzo di clip a coccodrillo pur essendo disponibili come pulsanti a sfioramento capacitivi.

Seedstudio ha anche una gamma di schede che supportano CircuitPython. Questi sono disponibili in una gamma da molto piccoli a molto capaci. Il WiPy 2.0 è una piccola scheda pronta per l'uso, anche se è utile procurarsi il kit dell'antenna. La scheda sfoggia un modulo WiFi per ESP32, un LED RGB e un interruttore di ripristino. Ottieni molto meno hardware, ma le dimensioni sono 42 mm x 20 mm x 3.5mm, e hai ancora molti pin sulla scheda.

Progetti semplici per iniziare

Dopo aver creato il tuo programma di battito di ciglia, sei certo di voler provare qualcosa di più difficile. Assicurati di avere qualcosa di avvincente che sia impegnativo ma risolvibile. Ecco alcuni suggerimenti.

Crea un programma che lampeggi una luce a un ritmo costante. Allo stesso tempo, fai in modo che un pulsante accenda e spenga un'altra lampada. Vedrai rapidamente i limiti del ritardo()!

Crea un controller MIDI.

Crea un semplice sistema di allarme utilizzando un sensore a infrarossi e alcuni NeoPixel.

Conclusione

Il modo migliore per iniziare con MicroPython è ottenere una scheda decente che supporti già MicroPython o CircuitPython e iniziare a provare le tue idee. Poiché l'idea è controllare altre cose, cerca un pacchetto, o un kit, che contenga alcuni sensori e un display o due.

Felice Hacking.

I migliori giochi da riga di comando per Linux
La riga di comando non è solo il tuo più grande alleato quando usi Linux, ma può anche essere una fonte di intrattenimento perché puoi usarla per gioc...
Le migliori app di mappatura del gamepad per Linux
Se ti piace giocare su Linux con un gamepad invece di un tipico sistema di input di tastiera e mouse, ci sono alcune app utili per te. Molti giochi pe...
Strumenti utili per i giocatori Linux
Se ti piace giocare su Linux, è probabile che tu abbia utilizzato app e utilità come Wine, Lutris e OBS Studio per migliorare l'esperienza di gioco. O...