Coding a scuola con BBC micro: scatolotto:bit

Condivido la scheda di lavoro per la realizzazione di un’attività di Coding con micro:bit che utilizzo durante i miei corsi di formazione per scuole medie ed elementari e durante la formazione per docenti. L’attività è stata sperimentata con allievi di quarta elementare. Attualmente sono in fase di preparazione schede di lavoro per studenti di 3′ media in cui scatolotto:bit diventa sensibile al tocco ciò viene realizzato mediante l’utilizzo di nastro di rame adesivo e inchiostro conduttivo.

L’obiettivo dell’attività è quello di utilizzare come sistema di input il giroscopio e l’accelerometro della scheda.

OBIETTIVO: realizziamo il nostro primo robot con una scatola e facciamolo reagire alle sollecitazioni esterne

PASSO 1

Cancellare l’istruzione forever trascinandola sulla sezioni istruzioni oppure click con tasto destro sull’istruzione e successivamente “Delete Block”

PASSO 2

Dalla sezione Basic selezionare l’istruzione “show leds” trascinatela nell’area di programma all’interno del blocco “on start” e disegnate una faccina che ride:

PASSO 3

Dalla sezione Input selezionare l’istruzione “on shake” e trascinatela nell’area di programma

PASSO 4

Dupilcate quattro volte l’istruzione “on shake” e dal menù a discesa selezionate: “logo down”, “screen up”, “logo up”, “free fall” ed inserite all’interno di ciascuna il disegno di un quadrato, di una faccina triste, di una faccina indifferente, una faccina che ride ed un quadrato grande, così come appare nelle immagini che seguono:

PASSO 5

Fate click su Download per trasferire il programma sul micro:bit

PASSO 6

Inserite il micro:bit all’interno di una scatola e per rendere più stabile il tutto, con dello scotch fissate la batteria ed il microbit come indicato nell’immagine, fate attenzione a non incollare lo scotch sopra la scheda

PASSO 7

Collegate la batteria al micro:bit e provate a muovere il vostro piccolo robot. Ricordate di personalizzare il robot con colori oppure incollando oggetti, potreste ad esempio aggiungere delle braccia e delle gambe, oppure realizzare dei capelli con del filo di lana.

PASSO 8

Aggiungiamo la funzione che aggiunge una faccina triste rivolta a destra e a sinistra quando il robot viene ruotato di 90° a destra o a sinistra. Al programma precedente aggiungere le istruzioni:

Programma completo

Proposte di esercizio

Prerequisiti

Aggiungere un piccolo altoparlante, in alternativa le cuffie del cellulare e collegarlo come riportato nell’immagine che segue tra il contatto 0 e il contatto GND del micro:bit

Esercizi

  • Far emettere una melodia musicale quando si avvia il micro:bit
  • Far emettere una nota musicale diversa per ogni posizione del micro:bit

Suggerimento

Per rendere più agevole l’utilizzo in classe, allego questa scheda di lavoro impaginata in formato PDF.

scheda di lavoro – scatoletta:bit (PDF)

Buon Coding a tutti 🙂

Nuova famiglia Arduino Nano

Ricevo e volentieri pubblico la rassegna stampa di Arduino.cc in cui viene presentata la nuova famiglia di Arduino Nano.

New Arduino Nano family

Small, iconic, powerful. An affordable, robust, compact and easy to program board’s family, with Arduino ‘signature’ quality.

Maker Faire Bay Area, May 17th 2019, Arduino announces the new Nano family.
Designed with makers in mind, the new Nano family offers affordable boards for everyday projects. Retaining  Arduino quality and reliability they make it easier than ever to turn your project ideas into a reality. They are  compatible with classic Arduino boards, have low energy consumption and more powerful processors.

New Nano family is composed by 4 boards:

  • Arduino Nano Every – perfect ​for everyday projects.
  • Arduino Nano 33 IoT – small, secure and IoT connected.
  • Arduino Nano 33 BLE – small, low-power, and Bluetooth connected.
  • Arduino Nano BLE Sense – small, low-power, and Bluetooth connected with a wide range of on-board sensors.

For makers who want to prototype compact projects, the Arduino Nano offer a small and powerful solution,  affordable for everyone, but with the Arduino quality our users deserve. Because every project counts.

Massimo Banzi – co-founder of Arduino – commented: ​“The new Nano’s are for those millions of makers who  love using the Arduino IDE for it’s simplicity and open source aspect, but just want a great value, small and powerful board they can trust for their compact projects. With prices from as low as $9.90 for the Nano Every,  this family fills that gap in the Arduino range, providing makers with the Arduino quality they deserve for those  everyday projects”.

A focus on new boards

Arduino Nano Every
The Arduino Nano Every is a miniature sized module based on the Microchip ATMega4809 microcontroller. The  board can be used in a breadboard when mounting pin headers, or as a SMT module directly soldered on a PCB  thanks to its castellated pads. It’s a compact workshorse, that can replace the classic Arduino Nano in all  projects where users need more capabilities. An ATSAMD11 (with Arm Cortex M0+ processor) acts as a high  performance USB to serial converter that could re-programmed by skilled users to achieve even more.

Arduino Nano 33 IoT
The Arduino Nano 33 IoT is a miniature sized module containing an Arm Cortex-M0+ processor based ATSAMD21  microcontroller, a WiFi+BT module based on Espressif ESP32, a 6-axis IMU, and a crypto chip which can securely  store certificates and pre shared keys. The board can either be used in a breadboard, or as a SMT module,  directly soldering it via the castellated pads. An ATSAMD11 Arm Cortex-M0+ processor acts as a high  performance USB to serial converter that could re-programmed by skilled users to achieve even more. The board is compatible with Arduino IoT Cloud.

Arduino Nano 33 BLE
The Arduino Nano 33 BLE is a miniature sized module containing a ublox NINA B306 module, based on Nordic  nRF52480 and containing an Arm Cortex-M4F and a 9-axis IMU. The module can either be mounted as a DIP  component, or as a SMT component, directly soldering it via the castellated pads.

Arduino Nano BLE Sense
The Arduino Nano 33 BLE Sense is a miniature sized module containing a ublox NINA B306 module, based on  Nordic nRF52480 and containing a powerful Arm Cortex-M4F and a large set of sensors. The module can either  be mounted as a DIP component, or as a SMT component, directly soldering it via the castellated pads. Built for low power consumption, Nano 33 BLE Sense is designed for environmental sensing (barometer, humidity,  temperature, light) and human interface applications thanks to the embedded microphone and proximity/gesture sensor.

The Arduino Nano family is available in pre-order. Arduino Nano Every and Arduino Nano 33 IoT are available from  mid June. Arduino Nano 33 BLE and Arduino Nano BLE Sense are available from mid July.

[press release]

Coding a scuola con BBC micro:bit – caccia al tesoro

Condivido la scheda di lavoro per la realizzazione di un’attività di Coding con micro:bit che ha come obiettivo all’allenamento allo svolgimento delle simulazioni delle prove INVALSI per i bambini di scuola elementare attraverso la realizzazione di un gioco di caccia al tesoro con micro:bit

L’attività è stata realizzata qualche giorno fa con allievi di 4’ elementare.

E’ possibile, con piccole modifiche adattare l’attività per studenti delle scuole medie, per gli studenti di scuola superiore potrebbe esssere proposto l’utilizzo dei linguaggi di programmazione JavaScript oppure MicroPython.

Preparazione

Tesoro: costituito da una scatola di caramelle al cui interno viene inserito un micro:bit che emette un segnale identificativo a bassa potenza. La scatola di caramelle viene nascosta nel giardino della scuola.

Sistema di ricerca: ogni allievo, o gruppi di allievi, viene assegnato un micro:bit da utilizzare come sistema di ricerca tesoro.

L’attività è suddivisa in 4 parti

Parte 1

Spiegazione e realizzazione programmi da inserire sui micro:bit “cercatori”

Parte 2

Tutti i kit micro:bit vengono ripresi dal docente che provvederà a disasseblare ogni parte nel seguente modo:

1. scheda
2. contenitore batterie
3. coperchio contenitore batteria
4. batteria 1
5. batteria 2

I kit disassemblati saranno inseriti in apposita scatola che identifica l’allievo o il gruppo.

Parte 3

Si dispongono in ogni scatola 5 domande (ogni domanda scritta su un singolo foglietto) prese dai questionari dell’INVALSI. Ogni allievo o gruppo avrà domande diverse dagli altri studenti.

Parte 4

Caccia al tesoro

Procedura

  1. Ad ogni domanda sarà associato un elemento del kit.
  2. Per rispondere alle domande gli allievi dovranno essere muniti solo di una matita e di una gomma.
  3. Alla partenza del gioco l’insegnante assegnerà a ciascun allievo/gruppo la prima domanda, se la risposta dello studente sarà corretta l’allievo guadagnerà un elemento del kit e potrà richiedere il secondo fogliettino su cui è riportato il secondo quesito e così di seguito fino all’ultima domanda.
  4. Quando il kit sarà completato e quindi lo studento o il gruppo avrà risposto correttamente a tutte le domande allora sarà possibilità correre in giardino per cercare il tesoro.
  5. Il gruppo che trova il tesoro, costituito da caramelle gommose, regala a ciascun allievo della classe una caramella e tiene per se la restante parte di caramelle.
    Perché quelle gommose? Perché io ne sono goloso 😉

Variante 1

E’ possibile guadagnare degli indizi rispondendo ad altre domande INVALSI.

Fasi di svolgimento dell’attività

  • Fase 1
    Caccia al tesoro 1: creare dei gruppi di allievi (massimo 3 per gruppo) che rispondono insieme alle domande.
  • Fase 2
    Caccia al tesoro 2: attività svolta singolarmente da ogni studente

Variante 2 (facilitata)

  • Fase 1
    Tutti gli allievi singolarmente svolgono la simulazione della prova INVALSI
  • Fase 2
    La maestra corregge e spiega in classe le prove insieme agli allievi
  • Fase 3
    Si ripete l’attività di caccia al tesoro con le stesse domande svolte singolarmente nella fase 1

Variante 3 (divertente)

  • La maestra n. 1, munita della sua borsa/zaino personale annuncia alla classe che uscirà dalla classe per nascondere il tesoro in giardino, appena esce dalla classe, senza essere vista dagli allievi nasconde la scatola nella sua borsa.
  • La maestra 2 in classe dirà agli allievi di collegare le batterie solamente quando saranno in giardino e quando darà il via.
  • Mentre gli allievi cercano il tesoro, la maestra 1 con aria indifferente, camminerà nel giardino, dopo un po’ di tempo la maestra 2 dirà: “ragazzi mi sembrate in difficoltà! Non sarà il caso di chiedere qualche indizio?”
    Chiedere un indizio, come detto sopra consiste nel rispondere ad altre domande INVALSI.
  • Procedere fino a quando ritenete 🙂

Ovviamente potete procedere aggiungendo delle prove per far ottenere indizi agli allievi, ad esempio:

Per ottenere l’indizio bisogna:

  1. rispondere alle domande invalsi
  2. fare una capriola
  3. fare un giro di campo
  4. bere un bicchiere d’acqua
  5. mangiare una mela

o quello che vie viene in mente e che pensate possa essere utile per il bene dell’allievo.

L’attività di Coding per la realizzazione dei programmi per il tesoro e per la ricerca del tesoro sono ripresi integralmente dall’attività: Hot or Cold sul sito di riferimento.
Sempre allo stesso link trovate anche gli esempi per realizzare il codice per una caccia al tesoro in cui si bisogna cercare più tesori.

Fasi in via di sperimentazione

Realizzare un sistema di ricerca munito di altoparlante che emette impulsi a frequenza diversa in funzione della distanza dal tesoro.


Scheda di lavoro

OBIETTIVO

  • Utilizzo di un micro:bit per cercare un TESORO.
    Il TESORO è nascosto all’interno di una scatola al cui interno è disposto un micro:bit TRASMETTITORE che emette un segnale identificativo a bassa potenza.
    Il sistema di ricerca è costituito da un micro:bit CERCATORE assegnato agli allievi.

Requisiti

  • Per lo svolgimento dell’attività è indispensabile avere 1 micro:bit per il TESORO e almeno 1 micro:bit per allievo o gruppo di allievi da utilizzare come sistema di ricerca.

Ripasso

Usare la funzione radio di micro:bit

  • Il micro:bit può funzionare come una radio, può inviare e ricevere messaggi attraverso un segnale radio
  • Una radio che può inviare e ricevere informazioni è chiamata ricetrasmettitore
  • Attraverso il segnale radio di micro:bit è possibile inviare testo, numeri o anche informazioni dai sensori collegati al micro:bit

Configurazione della trasmissione radio

  • Così come accade per una trasmissione radio che deve essere selezionata per ascoltarla, così anche con micro:bit bisogna selezionare una stazione, nel caso di micro:bit viene chiamato canale o gruppo, in questo modo due o più micro:bit “sintonizzandosi” sul medesimo gruppo potranno ricevere ed inviare messaggi sul gruppo.
  • L’impostazione del gruppo avviene selezionando un numero da 0 a 255, per fare un’analogia con la radio con cui ascolti la musica e come se ci fossero 255 stazioni radio su cui però non puoi solo ascoltare, ma anche inviare i tuoi messaggi.

IMPOSTAZIONE DEL micro:bit TESORO

PASSO 1
Dalla sezione Radio trascinare l’istruzione “radio set group 1” all’interno dell’istruzione “on start”

PASSO 2
Dalla sezione Radio trascinare l’istruzione “radio set trasmission number”
all’interno dell’istruzione “on start”

PASSO 3
Dalla sezione Radio trascinare l’istruzione “radio set trasmission power” ed impostate la potenza ad 1

PASSO 4
All’interno dell’istruzione forever inserire l’istruzione “radio send number 0” che si trova nella sezione Radio

PASSO 5
Dalla sezione Basic inserire due istruzioni “show icon”, una con un cuore grande ed un’altra con un cuore piccolo

PASSO 6
Fate click su Download per trasferire il programma sul micro:bit TESORO

IMPOSTAZIONE DEL micro:bit ESPLORATORE IL MESSAGGIO

PASSO 7
Realizzare un nuovo programma. Cancellate l’istruzione forever
Per poter ascoltare il messaggio che proviene dal TESORO bisogna impostare anche per l’ESPLORATORE lo stesso canale di trasmissione.
Dalla sezione Radio trascinare l’istruzione “radio set group 1” all’interno dell’istruzione “on start”

PASSO 8
Dalla sezione Variables, create una nuova variabile con nome segnale

PASSO 8
Dalla sezione Radio trascinare l’istruzione “on radio received receivedNumber”

PASSO 9
Dalla sezione Variables trascinare l’istruzione “set segnale to” all’interno del campo di

PASSO 10
Dalla sezione Radio trascinare l’istruzione “on radio received signal strenght” al posto dello zero nell’istruzione “set segnale to”

PASSO 11
Per verificare se il TESORO è in prossimità del CERCATORE bisognerà controllare se:

  • il segnale emesso dal TESORO è minore di -90 allora visualizza un diamante piccolo
  • il segnale emesso dal TESORO è minore di -80 allora visualizza un diamante grande
  • se nessuna delle condizioni precedenti è vera, perché il segnale è ancora più potente allora vicinissimi al tesoro, quindi visualizziamo un quadrato

N.B. Fate alcuni esperimenti per valutare la sensibilità del micro:bit usato per cercare il tesoro. Nel caso desiderate cambiare la sensibilità agite sui valori -90 e -80.

PASSO 12
Fate click su Download per trasferire il programma sul micro:bit CERCATORE

Per rendere più agevole l’utilizzo in classe, allego questa scheda di lavoro impaginata in formato PDF.

Scheda di lavoro – caccia al tesoro

Errori comuni nell’uso di Arduino – evitare lo stato flottante di un pin di Arduino

Uno degli errori tipici che riscontro durante le correzioni degli esercizi dei miei studenti alle prime esperienze nell’uso dei microcontrollori, è quello di ritenere che su un pin non collegato a nulla vi sia la presenza di uno stato logico LOW, questo non è corretto. Viene definito floating (flottante) un pin di ingresso a cui non è collegato nulla, in questa condizione sul pin potrebbe essere presente qualsiasi stato.

L’uso di un resistore collegato in modalità pull-up o pull-down costringerà il pin a uno stato noto, ma questa non è l’unica modalità.  E’ possibile fissare uno stato su un pin utilizzando un metodo, in parte già illustrato in un mio precedente post, che sfrutta l’utilizzo di un resistore di pull-up interno alla scheda. Per abilitare questa resistenza sarà sufficiente indicare all’interno del setup la funzione pinMode() con largomento “INPUT_PULLUP” oppure nella stessa maniera utilizzando le istruzioni:

pinMode(pin, INPUT);       // imposta 'pin' come input
digitalWrite(pin, HIGH);   // attiva la resistenza di pull-up,
                           //'pin' viene impostato HIGH

Per entrambe le modalità noterete che il LED è normalmente accesso, alla pressione del pulsante si spegnerà.

Circuito

 

Modalità 1

void setup() {
  pinMode(8, OUTPUT);       // Utilizzo del LED sul pin 8

  // Abilita la resistenza interna di Pull-Up
  pinMode(7, INPUT);        // Collegamento del pulsante al pin 7
  digitalWrite(7, HIGH);    // attiva la resistenza di pull-up, sul pin 7

}

void loop() {
  bool statoPulsante = digitalRead(7);   // memorizza lo stato corrente sul pin 7
  digitalWrite(8, statoPulsante);        // accende il LED se statoPulsante e 1, lo spegne se 0
}

Modalità 2

void setup() {
  pinMode(8, OUTPUT);              

  // INPUT_PULLUP abilita la resistenza interna di Pull-Up
  pinMode(7, INPUT_PULLUP);       // Collegamento del pulsante al pin 7
}

void loop() {
  bool statoPulsante = digitalRead(7);  // memorizza lo stato corrente sul pin 7
  digitalWrite(8, statoPulsante);       // accende il LED se statoPulsante e 1, lo spegne se 0
}

Nel caso abbiate la necessità di invertire lo stato e fare in modo che il LED sia normalmente spento e si accenda alla pressione del pulsante sarà sufficiente applicare l’operatore NOT, indicato con il simbolo “!”  alla funzione digitalRead(7):

bool statoPulsante = !digitalRead(7);

Lo sketch completo sarà:

void setup() {
  pinMode(8, OUTPUT);              

  // INPUT_PULLUP abilita la resistenza interna di Pull-Up
  pinMode(7, INPUT_PULLUP);       // Collegamento del pulsante al pin 7
}

void loop() {
  bool statoPulsante = !digitalRead(7);  // memorizza lo stato corrente sul pin 10
  digitalWrite(8, statoPulsante);        // accende il LED se statoPulsante e 1, lo spegne se 0
}

Potete trovare un ulteriore esempio di applicazione alla pagina 78 delle slide: Alfabeto di Arduino – lezione 2

Il Coding con il nuovo Scratch 3: per una didattica attiva – 2ª edizione

Innegabile, l’uso di Scratch interessa tantissimo, ne ho continuamente riscontro anche quando svolgo corsi in presenza. Appassionano tantissmo le nuove possibilità di connessione ai dispositi esterni: Lego Mindstorms Ev3, Lego WeDo 2.0, BBC micro:bit, MakeyMakey e molte delle domande che mi sono state fatte durante la passata edizione riguardavano l’interazione con questi kit didattici utilissimi per fare Coding e Robotica.
Ecco che la proposta di Tecnica della Scuola non si è fatta attendere e pertanto condurrò dalla prossima settimana un corso che ha i medesimi contenuti, però metterò ancor di più in evidenza le nuove caratteristiche di interattività con nuove proposte di sperimentazione.

Nel caso foste interessati si solgeranno 4 incontri in webinar di 2 ore ciascuno per un totale di 8 ore di formazione

  • 
Mercoledì 8 maggio 2019 – Ore 17.00/19.00
  • Mercoledì 15 maggio 2019 – Ore 17.00/19.00
  • Giovedì 30 maggio 2019 – Ore 17.00/19.00
  • Venerdì 31 maggio 2019 – Ore 17.00/19.00

Per i contenuti e per la la modalità di iscrizione vi rimando al sito di Tecnica della Scuola.