Come utilizzare una scheda Wemos D1 mini con Arduino IDE
Cos’è Arduino?
Com’è riportato dal sito wikipedia, Arduino è una piattaforma hardware composta da una serie di schede elettroniche dotate di un microcontrollore. È stata ideata e sviluppata nel 2005 da alcuni membri dell’Interaction Design Institute di Ivrea come strumento per la prototipazione rapida e per scopi hobbistici, didattici e professionali.
Con Arduino si possono realizzare in maniera relativamente rapida e semplice piccoli dispositivi come controllori di luci, di velocità per motori, sensori di luce, automatismi per il controllo della temperatura e dell’umidità e molti altri progetti che utilizzano sensori, attuatori e comunicazione con altri dispositivi. È abbinato ad un semplice ambiente di sviluppo integrato per la programmazione del microcontrollore. Tutto il software a corredo è libero, e gli schemi circuitali sono distribuiti come hardware libero.
Il software per programmare queste schede si chiama Arduino IDE ed è disponibile gratuitamente direttamente dal sito del produttore (Arduino.cc)
Cos’è una scheda Wemos D1 mini?
Una scheda Wemos D1 mini è una versione in miniatura di una NodeMCU. E’ una piattaforma open source sviluppata specificatamente per l’IoT (Internet of Things). Essa include un firmware che funziona tramite il modulo Wi-Fi SoC ESP8266 e hardware con la base del modulo ESP-12 ed è programmabile in Lua o Arduino IDE.
Come programmare un Wemos D1 mini tramite Arduino IDE
Il primo passaggio da eseguire sarà quello di scaricare ed installare il driver CH340 per far riconosce la porta seriale della nostra scheda al nostro computer o Mac.
Una volta scaricato ed installato il driver procediamo a scaricare e successivamente ad installare Arduino IDE sulla nostra macchina.
Ora dobbiamo scaricare la libreria hardware https://github.com/esp8266/Arduino e copiarla all’interno della cartella “hardware” oppure in alternativa facciamo partire il programma Arduino IDE, dopo di che clicchiamo su File –>Impostazioni ed aggiungiamo il seguente link http://arduino.esp8266.com/stable/package_esp8266com_index.json nel campo “URL aggiuntive per il gestore schede“
e applicachiamo le modifiche premendo sul tasto OK in basso a destra.
Ora dobbiamo cliccare sul menù Strumenti –> Scheda –> Gestore Schede e nella finestra che si aprirà inseriremo nel campo di ricerca ESP8266 (che non è altro che il chip montato sulla nostra WemosD1) di seguito eseguiamo l’installazione premendo su installa.
A questo punto clicchiamo nuovamente sul menù Strumenti –> Scheda e noteremo che compariranno le schede basate su ESP8266, selezioniamo “generic 8266” o anche “Wemos D1”. Ora cklicchiamo sul menù Strumenti –> Porta e selezioniamo la porta COM sulla quale è connessa la nostra scheda.
Sketch di esempio “Blink”
Per cominciare a prendere confidenza con la nostra scheda, conviene iniziare dagli sketch di esempio che troveremo direttamente all’interno del programma Arduino IDE. (Questi sketch si popolano attraverso le librerie che aggiungiamo al programma o anche dalle schede che vengono aggiunte dal gestore schede).
Clicchiamo sul menù File –> Esempi –> 01.Basic –> Blink
Questo è lo sketch base da dove tutti son partiti.
In pratica questo codice una volta caricato sulla scheda non farà altro che far lampeggiare il led montato sulla nostra scheda(per un secondo On e poi 1 secondo Off), insomma nulla di così esaltante, ma se andiamo ad analizzare il codice capiremo come lavora la nostra scheda e dove dobbiamo scrivere/modificare il codice per fargli fare quello che vogliamo.
Analizziamolo nel dettaglio…
/*
Blink
Turns an LED on for one second, then off for one second, repeatedly.
Most Arduinos have an on-board LED you can control. On the UNO, MEGA and ZERO
it is attached to digital pin 13, on MKR1000 on pin 6. LED_BUILTIN is set to
the correct LED pin independent of which board is used.
If you want to know what pin the on-board LED is connected to on your Arduino
model, check the Technical Specs of your board at:
https://www.arduino.cc/en/Main/Products
modified 8 May 2014
by Scott Fitzgerald
modified 2 Sep 2016
by Arturo Guadalupi
modified 8 Sep 2016
by Colby Newman
This example code is in the public domain.
http://www.arduino.cc/en/Tutorial/Blink
*/
// the setup function runs once when you press reset or power the board
void setup() {
// initialize digital pin LED_BUILTIN as an output.
pinMode(LED_BUILTIN, OUTPUT);
}
// the loop function runs over and over again forever
void loop() {
digitalWrite(LED_BUILTIN, HIGH); // turn the LED on (HIGH is the voltage level)
delay(1000); // wait for a second
digitalWrite(LED_BUILTIN, LOW); // turn the LED off by making the voltage LOW
delay(1000); // wait for a second
}
Tutta la prima parte di codice (da /*
a */
) è un commento e non verrà presa in considerazione dalla scheda che andremo a programmare. Anche le righe che iniziano con //
sono dei commenti.
Successivamente troviamo una sezione chiamata void setup(){...}
In questa sezione, vengono dichiarati i PIN e come verranno utilizzati nello sketch, nel nostro caso pinMode(LED_BUILTIN, OUTPUT);
andrà ad impostare il PIN dove è collegato il led pre-saldato sulla nostra scheda come OUTPUT.
Questa parte di codice viene eseguita solo nella fase di accensione della scheda e non verrà ripetuta (a meno che non venga spenta e riaccesa la scheda).
Subito dopo invece troviamo la sezione void loop(){...}
Qui invece troviamo il codice che rimarrà perennemente in esecuzione. Come potete notare nella riga digitalWrite(LED_BUILTIN, HIGH);
gli viene detto di impostare il LED_BUILTIN come HIGH, nella riga successiva è impostata una pausa delay(1000);
di 1000 millisecondi (1 secondo), subito dopo troviamo digitalWrite(LED_BUILTIN, LOW);
il che imposterà il LED_BUILTIN su LOW e poi di nuovo una pausa di 1000 millisecondi. Arrivato alla fine di questa sezione, il codice ripartirà dall’inizio di questa sezione e proseguirà all’infinito.
Per vedere in esecuzione come si comporta la nostra scheda clicchiamo sul pulsante Carica in alto a sinistra della nostra finestra di Arduino IDE, attendiamo qualche secondo per il caricamento e successivamente vedremo il nostro codice in esecuzione sulla nostra scheda.
Fatto questo il gioco è fatto, possiamo cominciare a programmare la nostra scheda Wemos D1 mini dal nostro Arduino IDE in tutta libertà.