Arduino ESP32 Micropython blink

Arduino ESP32 Micropython blink proviamo a realizzare un primo sketch da eseguire sul nostro micro controllore in runtime

Arduino ESP32 Micropython blink

Per sapere come iniziare con Micropython sulle schede Arduino, e/o altri micro controllori, che lo supportano puoi leggere l’articolo: Arduino ESP32 Micropython.

Arduino Lab IDE for Micropython

Dal precedente articolo avrai già scaricato ed installato l’arduino Lab IDE for Micropython, se non fosse così puoi seguire i passi descritti qui.

Appena apri l’IDE for Micropython ti ritrovi la seguente schermata:

Arduino Lab for MicroPython start

cliccando sul primo pulsante in alto a sinistra potrai selezionare la porta di connessione della tua board arduino per connettertici.

Dopo aver avuto accesso all’Arduino ESP32, in questo esempio, avrai la seguente schermata:

Arduino Lab for MicroPython connected

In cui la seconda parte dell’IDE, quella nera, ti conferma la connessione avvenuta con l’arduino ESP32.

L’IDE per micropython, infatti, è diviso in 2 parti, come l’IDE Arduino 2.0.x ed i precedenti:

tuttavia la parte in basso ( nera ) è un prompt dei comandi in cui puoi scrivere cosa eseguire direttamente sulla scheda.

In questo modo la programmazione risulta interattiva e più veloce.

Puoi scrivere il comando per accendere il LEDBULTIN nella parte in basso dell’IDE ed esso verrà eseguito direttamente sul micro controllore, quasi in tempo reale.

Considera che micropython, è un linguaggio interpretato, e non compilato; pertanto risulta leggermente più lento rispetto ai linguaggi compilati: per questo diciamo che è eseguito in tempo “quasi” reale.

Arduino ESP32 Micropython blink

Inizia ora a scrivere il codice per il blink del led BUILTIN, inizia con includere le classi e librerie necessarie.

Ecco il codice che dovrai scrivere:

Arduino Lab for MicroPython blink

ed ecco il medesimo codice in formato testo se volessi copiarlo e incollarlo nel tuo IDE:

from machine import Pin
import time

led = Pin("D13",Pin.OUT)

while True:
  led.on()
  time.sleep(1)
  led.off()
  time.sleep(1)

Descrizione dello sketch

Nelle prime linee indichi i metodi che utilizzerai nel tuo programma delle librerie “machine” e “time”

la successiva linea 04: imposta il pin su cui agire e la modalità in cui ci interagirai, la sintassi ti ricorda, probabilmente il comando pinMode(D13,OUTPUT) che conosci della programmazione Arduino;

la linea 06: deninisce un ciclo infinito simile al loop();

linea 07: accende il led, esistono più modi di farlo uno è con il comando led.on(), un’altro è led.value(1) sono equivamenti in questo esempio;

la linea 08: definisce un delay() ossia uno sleep, in micropython, usando la classe time ed il metodo sleep che ti ricordo essere in secondi, per cui scrivi time.spleep(1) e non time.sleep(1000) altrimenti dovrai attendere 1000 secondi, ossia 1000/60 oltre 16,6 min.

le linee 09-10: spengono il led e aspettano un secondo come per le precedenti 2.

Esecuzione dello sketch

Dopo aver scritto il codice da qualche invio e il programma viene eseguito sul micro controllore, prima accende il led connesso al pin D13:

Arduino Nano ESP32 led on

poi, dopo un secondo, lo spegne:

Arduino Nano ESP32 led off

e successivamente dopo un secondo ricomincia il ciclo di accensione/spegnimento come il blink a cui sei abituato ma hai realizzato l’Arduino ESP32 Micropython blink.

In un prossimo articolo vedremo come salvare il programma sia in locale sia sul micro controllore e come usare un comando equivalente al Serial.print().

  • Questo sito ed i suoi contenuti è fornito "così com'è" e Mauro Alfieri non rilascia alcuna dichiarazione o garanzia di alcun tipo, esplicita o implicita, riguardo alla completezza, accuratezza, affidabilità, idoneità o disponibilità del sito o delle informazioni, prodotti, servizi o grafiche correlate contenute sul sito per qualsiasi scopo.
  • Ti chiedo di leggere e rispettare il regolamento del sito prima di utilizzarlo
  • Ti chiedo di leggere i Termini e Condizioni d'uso del sito prima di utilizzarlo
  • In qualità di Affiliato Amazon io ricevo un guadagno dagli acquisti idonei qualora siano presenti link al suddetto sito.

Permalink link a questo articolo: https://www.mauroalfieri.it/elettronica/arduino-esp32-micropython-blink.html

Lascia un commento

Il tuo indirizzo email non sarà pubblicato.

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.