News
Progetto didattico “DICE ROLLER – Arduino Explore Iot Kit”
- 1 Marzo 2021
- Posted by: Giovanni Cassina
- Category: ITI

PROGETTO DIDATTICO DICE ROLLER – ARDUINO EXPLORE IOT KIT
Il nuovo Explore IOT Kit di Arduino, fornito al Bearzi da CampuStore, è un dispositivo che permette la realizzazione di progetti legati al mondo dell’Internet of Things (IOT).
In questa pagina viene presentato un possibile futuro progetto didattico che prevede l’utilizzo di questo dispositivo.
OBIETTIVO DEL PROGETTO
Realizzare un dispositivo che simuli il lancio di diverse tipologie di dadi, registrando nel cloud il risultato ottenuto e producendo informazioni statistiche.
VIDEO DI RIFERIMENTO
A CHI È RIVOLTO
Il progetto è rivolto ai ragazzi del secondo ciclo di istruzione (medie-superiori) all’interno dei contenuti relativi al calcolo combinatorio e (per i più grandi) statistico.
MATERIALE NECESSARIO
- Arduino MKR1010
- MKT IoT Carrier
- Cavo Micro USB
- Piattaforma di lancio (disponibile qui: https://drive.google.com/drive/folders/1TeowFUBg4Nv7FH51kyUIL4xmfP0BvTTD?usp=sharing)
MATERIE SCOLASTICHE DI RIFERIMENTO
Matematica, Geometria, Informatica.
ARGOMENTI DI STUDIO DISCIPLINARE
Geometria: i solidi platonici tetraedro, cubo, ottaedro, icosaedro.
Matematica di base: il calcolo combinatorio applicato al lancio di un dado; la media, la mediana e la moda, la varianza e lo scarto quadratico medio nella ripetizione dei lanci di un dado
Matematica avanzata: densità di probabilità nel discreto; la densità di probabilità uniforme nel lancio di un dado perfettamente equilibrato; la densità di probabilità gaussiana o anti-gaussiana nel lancio di un dado sbilanciato sui valori centrali o sugli estremi; studio della densità gaussiana in base a media e scarto quadratico medio
Informatica: la registrazione su rete WiFi e la comunicazione sul cloud; il servizio Arduino Dashboard per la visualizzazione dei dati raccolti; la programmazione di un software in grado di generare numeri casuali seguendo una determinata distribuzione
DESCRIZIONE DEL MATERIALE
Arduino MKR1010 è un microcontrollore programmabile dotato di scheda Wifi per la connessione ad una rete wireless.
MKT IoT Carrier è un dispositivo che integra diversi componenti. I moduli necessari ai fini di questo progetto sono:
- Display LCD
- Pulsanti touch
- Led RGB
- Buzzer
La piattaforma di lancio è pensata per ospitare al suo centro il Carrier e indicare agli utilizzatori quali pulsanti premere per lanciare le diverse tipologie di dado (a 4 facce, a 6 facce, a 8 facce, a 20 facce) e quale pulsante utilizzare per cambiare la statistica di lancio (uniforme, gaussiana, gaussiana-inversa).
PRE-REQUISITI
Accesso alla rete Wifi e al pc
Il progetto prevede il collegamento del dispositivo:
- ad un computer tramite cavo USB
- ad una rete Wifi tramite SSID (nome della rete) e password
Installazione del software necessario:
Seguire questa guida se si utilizza per la prima volta Arduino Web Editor https://create.arduino.cc/projecthub/Arduino_Genuino/getting-started-with-arduino-web-editor-on-various-platforms-4b3e4a
Per il download del plugin “Arduino Create Agent” si può utilizzare direttamente questo link e selezionare il proprio browser e sistema operativo https://github.com/arduino/arduino-create-agent/releases)
Per essere sicuri che tutto funzioni seguire le indicazioni riportate in questa pagina: https://explore-iot.arduino.cc/iotsk/module/iot-starter-kit/lesson/get-to-know-the-kit
Registrazione del dispositivo nella Dashboard
- Accedere alla sezione cloud https://create.arduino.cc/iot ed effettuare il login
- Creare una nuova “cosa” (thing) che rappresenterà il dispositivo per il lancio dei dadi.
- Cliccare su “Untitled” per rinominare il progetto.
- Collegare il MKR WiFi 1010 al pc
- Cliccare su Select Device
- Nella finestra popup selezionare “Set up an Arduino device”
- Attendere la finestra con scritto “Arduino MKR WiFi 1010 found!”
- Cliccare su Configure
- Se si vuole, scegliere un nome per il dispositivo e cliccare su Next
- Alla fine, premere il pulsante Done
FASI DEL PROGETTO – VERSIONE BASE
Parte prima: download del materiale
Il materiale è disponibile qui:
https://drive.google.com/drive/folders/1d9LZAOO2xChxGCUTEEDeJgdWb_4Q5hTL?usp=sharing
Verranno scaricati:
- La piattaforma di lancio
- Il file diceRoller.zip contenente il codice del progetto
Parte seconda: realizzazione della plancia di lancio
La plancia di lancio è pensata per essere stampata in un foglio A4 (preferibilmente rigido) e ritagliata lungo le linee tratteggiate.
Parte terza: creazione dell’attività nella Dashboard
In https://create.arduino.cc/iot selezionare la “cosa” relativa al progetto.
Successivamente seguire questi passi:
- Selezionare Add Variable
- Inserire come nome “risultatoD4”, come tipo “int” e come modalità di aggiornamento “On Change”
- Premere Add Variable: questa variabile rappresenta il risultato del lancio del dado a 4 facce
- Ripetere i punti 1-3 creando le variabili per gli altri tre dadi: risultatoD6, risultatoD8 e risultatoD20
- Nella sezione “Dashboard” selezionare il progetto
- Premere Add e selezionare la tipologia “Value”
- Nella scheda di configurazione che si sarà aperta, impostare come nome “risultato del lancio”
- Premere il simbolo Link Variable
- Selezionare la variabile “risultatoD4” e successivamente “Link Variable”
- Premere Done
- Ripetere i passi 6-10 per le altre tre variabili
Parte quarta: configurazione dello sketch
Ritornare alle “cose” (things) utilizzando il menù di navigazione e selezionare la scheda Sketch.
Verrà visualizzato del codice già configurato. Premere l’icona “</>Open full editor”
Nella scheda “Secret” inserire il nome della rete Wifi (SECRET_SSID) e la password (SECRET_PASS).
Testare l’effettivo accesso alla rete caricando il codice nel dispositivo (icona in alto a forma di freccia rivolta a destra) e, una volta terminato il caricamento, nella colonna a sinistra selezionare “Monitor”.
Dovrebbe comparire un messaggio di avvenuta registrazione alla rete.
Parte quinta: caricamento del codice nel dispositivo
Aprire il file scaricato “diceRoller.zip”, copiare il codice del file “diceRoller.cpp” all’interno della prima scheda presente in Arduino Web Editor, rimuovendo tutto il vecchio codice presente.
Caricare infine il codice nel dispositivo e ritornare, attraverso la dashboard, alla visualizzazione del riquadro contenente la variabile “risultato”.
Parte sesta: utilizzo del dispositivo
Una volta visualizzata la schermata di benvenuto nel display, premere uno dei dadi: il risultato verrà mostrato per 3 secondi nel display e nel riquadro all’interno della dashboard
FASI DEL PROGETTO – VERSIONE AVANZATA
Parte prima: download del materiale
Il materiale è disponibile qui:
https://drive.google.com/drive/folders/1d9LZAOO2xChxGCUTEEDeJgdWb_4Q5hTL?usp=sharing
Verranno scaricati:
- La piattaforma di lancio
- Il file diceRoller.zip contenente il codice del progetto
Dalla parte prima alla parte quarta seguire le istruzioni del progetto base.
Parte quinta: implementazione delle diverse funzionalità
Aprire il file scaricato “diceRoller.zip”, copiare il codice del file “diceRoller.cpp” all’interno della prima scheda presente in Arduino Web Editor, rimuovendo tutto il vecchio codice presente.
Il file contiene tutte le funzioni necessarie ma molte non sono implementate. Seguire le indicazioni riportate nei commenti per riempirle.
Al termine, caricare il codice nel dispositivo e ritornare, attraverso la dashboard, alla visualizzazione del riquadro contenente le variabili dei risultati dei dadi.
Parte sesta: utilizzo del dispositivo e studio
Una volta visualizzata la schermata di benvenuto nel display, premere uno dei dadi: il risultato verrà mostrato per 3 secondi nel display e nel riquadro all’interno della dashboard.
Cliccando nell’icona a forma di orologio può essere scaricato lo storico (i valori precedenti) della variabile.
Lo storico può essere utilizzato per costruire un grafico delle frequenze per ogni faccia di un dado: si veda il video per una dimostrazione.
ULTERIORI SVILUPPI
Questo progetto può essere arricchito:
- Personalizzando la piattaforma di lancio, anche realizzandola in 3D con cartone, legno o stampante 3D
- aggiungendo altre tipologie di dadi (10, 12, 25 o 30 facce)
- permettendo all’utilizzatore di scegliere la quantità di dadi da lanciare per ogni tipologia
- implementando da remoto (app dello smartphone o web-app) un sistema per lanciare i dadi senza toccare il Carrier
CONCLUSIONI
Nel progetto appena descritto si è posto il duplice obiettivo del gioco e dello studio. L’attività è stata pensata sia in una versione basilare sia in una versione avanzata per mettere alla prova i ragazzi che hanno già acquisito abilità di programmazione.
Il legame con l’aspetto solido-geometrico e statistico-matematico rende questo progetto interdisciplinare permettendo ai più piccoli di imparare le proprietà dei solidi platonici e le regole di base del calcolo combinatorio e ai ragazzi più grandi di studiare la distribuzione di un fenomeno aleatorio e di esercitarsi nella modellazione di una generazione supervisionata di numeri casuali.