Premio Scuola Digitale 2018 – Fase Provinciale Alessandria e Asti

La città dorata 4.0 – Tre giorni per il piano nazionale scuola digitale: formazione, dibattiti, esperienza.

Sono felice di informarvi che sono stato nominato dal MIUR membro della giuria (costituita 9 soggetti), per la valutazione dei progetti didattici innovativi in concorso per le province di Alessandria ed Asti, nei prossimi giorni la valutazione.
I finalisti al concorso parteciperanno all’iniziativa finale interprovinciale, che si svolgerà in data 28 settembre 2018 a Valenza, in una fase successiva il progetto vincitore a livello regionale parteciperà alla sessione finale nazionale del Premio.

Il Premio Scuola Digitale intende promuovere l’eccellenza e il protagonismo delle scuole italiane nell’apprendimento e nell’insegnamento digitale, incentivando l’utilizzo delle tecnologie digitali nel curricolo, secondo quanto previsto dal Piano nazionale per la scuola digitale, e favorendo l’interscambio delle esperienze nel settore della didattica digitale coinvolgendo le istituzioni scolastiche dei singoli territori.

Sicuramente per me un bel momento da vivere per vedere quanto di positivo riescono a produrre i nostri allievi.

STOP CYBERVIOLENCE: si parte il 19 settembre

Mi segnalano e volentieri pubblico il corso gratuito in oggetto.
Il progetto Erasmus+ Stop Cyber Violence si rivolge ai giovani, agli operatori giovanili, agli insegnanti e alle famiglie e ha l’obiettivo di aumentare la consapevolezza aiutando gli adulti nel cogliere i segnali di cyberbullismo, fornendo un approccio metodologico adeguato per dare agli operatori giovanili, agli educatori e agli insegnanti gli strumenti per comprendere le opportunità e i rischi del mondo digitale.

Per raggiungere questi obiettivi il progetto produrrà materiali a supporto e organizza un corso di formazione gratuito della durata di 48 ore, che si svolgerà nei mesi di Ottobre e Novembre 2018.

Per maggiori informazioni vi rimando al link in allegato.

Arduino – Concatenare la stampa di stringhe e variabili

In un recente post ho approfondito l’uso di Serial.write() e Serial.print(), proseguo riprendendo gli appunti che di volta in volta aggiungo a quanto sviluppato durante i corsi. Come sapete per inviare sulla seriale un testo molto lungo è necessario scrivere molte linee di codice, una sequenza di Serial.print() che hanno come argomento il testo che si vuole visualizzare, questo un esempio:

Serial.print("Nel mezzo ");
Serial.print("del cammin ");
Serial.print("di nostra vita ");
Serial.print("mi ritrovai ");
Serial.print("per una selva oscura ");
Serial.print("ché la diritta via ");
Serial.print("era smarrita. ");

Tutte queste righe potrebbero essere scritte in una forma più compatta, accodando tutte le Serial.print() :

Serial.print("Nel mezzo ");Serial.print("del cammin ");
Serial.print("di nostra vita ");Serial.print("mi ritrovai ");
Serial.print("per una selva oscura ");
Serial.print("ché la diritta via ");Serial.print("era smarrita. ");

Sarebbe interessante poter avere la possibilità di concatenare il testo da stampare così come è possibile fare con altri linguaggi di programmazione: Java / VB / C # / C ++, ecc…

Questa funzionalità è stata implementata qualche tempo fa da Mikal Hart che ha realizzato la libreria Streaming (file zip). I vantaggi di utilizzo risiedono nella compattezza del codice prodotto e nella velocità di scrittura.

Con l’uso della libreria Streaming il codice precedente che stampa una serie di stringhe utilizzando la Serial.print(), diventa:

Serial << "Nel mezzo " << "del cammin " << "di nostra vita " << "mi ritrovai " << "per una selva oscura " << "ché la diritta via " << "era smarrita."<< endl;

Nel caso si volesse suddividere l’invio sulla seriale su più linee::

Serial << "Nel mezzo " << "del cammin " << "di nostra vita " << endl;
Serial << "mi ritrovai " << "per una selva oscura " << endl;
Serial << "ché la diritta via " << "era smarrita. " << endl;

Prendendo spunto dall’esempio che trovate nella libreria:

#include <Streaming.h>

void setup()
{
  Serial.begin(9600);
  int lettera = 'M';
  int mese = 7, giorno = 6, anno = 1967;
  
  Serial << "Questo è un esempio dell'uso della libreria Streaming," << endl;
  Serial << "che ti permette di stampare variabili" << endl;
  Serial << "senza dover digitare ad ogni riga" << endl;
  Serial << "Serial.print().  Esempio: " << endl;
  
  Serial << "M è " << lettera << "." << endl;
  Serial << "La mia data di nascita è " << giorno << "-" << mese << "-" << anno << "." << endl;
  
  Serial << "Puoi anche usare i modificatori, per esempio:" << endl;
  Serial << _BYTE(lettera) << " e " << _HEX(lettera) << " in esadecimale. " << endl;
}

void loop()
{}

Realizzimo uno sketch che conta il numero di pressioni del pulsante e visualizziamo sulla Serial Monitor una stringa che ne da indicazione, il circuito è costituito da:

  • Arduino UNO R3
  • Resitore da 1KOhm
  • 1 pulsante

Lo sketch di esempio è il seguente:

#include <Streaming.h>

#define PULSANTE 11 // pin di input a cui è collegato il pulsante

// Variabili
int ContatorePulsantePremuto = 1; // conta il numero di volte che il pulsante è premuto buttonPushCounter 
int StatoPulsante = 0;            // stato corrente del pulsante
int StatoPulsantePrecedente = 0;  // stato precedente del pulsante

void setup() {
  pinMode(PULSANTE, INPUT); // imposta il pin digitale come output
  Serial.begin(9600);       // inizzializza la seriale a a 9600 bps
}

void loop() {
  StatoPulsante = digitalRead(PULSANTE);
  // legge il valore dell'input e lo conserva

  if (StatoPulsante != StatoPulsantePrecedente) {   // compara lo stato del pulsante attuale con il precedente
    if (StatoPulsante == HIGH) {                    // se lo stato è cambiato incrementa il contatore
      // se lo stato corrente è alto, il pulsante è passato da off a on
      
      // Stampa sulla seriale il numero di pressioni del pulsante
        Serial << "Il pulsante è stato premuto " << ContatorePulsantePremuto << " volte" << endl;
      
      ContatorePulsantePremuto++;
    }
  }

  // salva lo stato corrente nella variabile che indica lo stato precedente per il loop successivo 
  StatoPulsantePrecedente = StatoPulsante;
}

Ad ogni pressione del pulsante sulla seriale compariranno le stringhe:

Esercizio

L’invio dello dello stream del testo può avvenire non solo sulla seriale ma anche su qualsiasi classe derivata da Print, ad esempio su display.

Sapreste ottenere la stessa cosa con un display a 16 colonne e 2 righe?

Suggerimento:

lcd << "Il pulsante è stato premuto " << contatore << " volte" << endl;

Buon Coding a tutti 🙂

DotBot:Smart – un robot didattico veloce da costruire

Durante alcuni corsi di Coding e robotica per colleghi di scuola media mi è stato manifestato il desiderio di poter avere a disposizione un kit robotico estremamente semplice da realizzare poco costoso e che occupasse poco spazio, che potesse adattarsi, come sempre, a microcontrollori di ogni tipo, soprattutto Arduino e micro:bit.

Esplorando per altri scopi il sito youmagine ho scoperto i moltissimi lavori realizzati da RCCM anche lui come me insegnante (vi consiglio di guardare i suoi lavori) ed ho notato il progetto Micro Servo Chassis, per cui sulla stessa idea ho realizzato una struttura simile ed inserito gli elementi di aggancio per i servomotori che avevo realizzato per il DotBot:bit.

Per ridurre la quantità di materiale ho eliminato, rispetto alle strutture precedentemente realizzate la caster ball, la biglia di supporto, che ho sostituito con una piccola bacchetta costituita da un punto di appoggio al terreno ricurvo, il tutto vincolato alla struttura portante dei motori.

Nel caso si debba aggiungere parecchia elettronica, per aumentare ancor di più la stabilità ho sviluppato una doppio supporto strisciante così come potete notare nelle immagini allegate.

Su questo piccolo chassis robotico potrete, secondo necessità ed in funzione di ciò che disponete, predisporre una base di appoggio come ad esempio: cartone, compensato o plexiglas fissata con viti o fascette di plastica.

Ecco giustificato il nome DotBot:Smart perché veloce da costruire, due elementi da stampare e poi Coding a volontà 🙂

Questo nuovo kit didattico si aggiunge alla famiglia DotBot.

Nel caso desiderate effettuare la stampa questo il link diretto di DotBot:Smart su Thingiverse.

Come sempre se durante le sperimentazioni con i vostri allievi si evidenziano correzioni o miglioramenti da fare, non esitate a contattarmi.

Di seguito le foto che mostrano come costruire il robot.

Materiali occorrenti

  • qualsiasi tipo di microcontrollore: micro:bit, Arduino, oppure Raspberry Pi (qualsiasi modello)
  • n. 2 bulloni M3 – viti da 10 mm
  • n. 2 FS90R servo a rotazione continua
  • n. 2 due ruote per FS90R 60mm x 8mm

La barra centrale deve avere un orientamento, rispetto ai servomotori, identico a quello indicato nell’immagine (notate l’albero di rotazione del servo). I servomotori sono fissati con piccole viti in dotazione quando acquistate i servo:

Le viti di blocco della barra centrale sono sotto il livello di appoggio della base in modo da non creare un rialzamento:

Scegliete il materiale di cui disponete, (nell’immagine cartone) e con del nastro biadesivo fissate breadboard ed elettronica:

Il fissaggio può avvenire mediante fascette di plastica:

Nel caso abbiate necessità di maggior superficie di appoggio e maggior stabilità potete utilizzare la barra centrale con doppio appoggio:

Buon Coding a tutti.

Tecnica del pomodoro con un orologio Casio da pochi euro

Durante i Webinar che ho svolto negli scorsi mesi per Tecnica della Scuola, mi sono occupato anche di tecniche di gestione del tempo studio e lavoro e nelle scorse settimane via mail alcuni colleghi mi hanno chiesto qualche suggerimento su modalità semplici per gestire il timing della tecnica del pomodoro.

Smartphone, Smartwatch…. SmartQualcosa… abbondano i sistemi per gestire progetti e tempi di lavoro, in realtà il sistema che adotto dipende da luogo in cui mi trovo e dagli oggetti che uso.

Quando sono seduto davanti al mio Mac od uso l’iPhone prediligo Be Focused Pro estremamente pratica e semplice da utilizzare, tra le funzioni che apprezzo di più il report dei “pomodori”.

Molto spesso però utilizzo anche altre strategie molto meno digitali non ultima quella che ho proposto qualche tempo fa in cui utilizzo mattoncini Lego, una soluzione che ben si adatta all’utilizzo con gli studenti più piccoli.

Come sapete per usare la tecnica del pomodoro è sufficiente un timer, anche meccanico, carta e penna. Usare il cellulare è comodo ma in diverse occasioni diventa poco pratico, ad esempio se state svolgendo un’attività manuale.

Ho quindi pensato di aggiungere al set di strumenti anche un orologio da polso.

Caratteristiche cercate:

  • economico
  • robusto
  • subacqueo
  • dotato di almeno 3 timer

La mia scelta è stata: Casio H5AE-1300WH-8AV acquistato qualche tempo fa per circa € 30 su Amazon.

I 9 timer programmabili sono più che sufficienti per applicare la tecnica del pomodoro, inoltre l’essere impermeabile fino a 100 m lo rendono compagno ideale durante le immersioni insieme al computer che porto al polso.

A questo punto mi direte: “è come mantieni traccia con un orologio del numero di pomodori necessari per svolgere il compito?

I 9 timer disponibili sono programmabili in durata, pertanto con 9 timer posso impostare 4 pomodori da 25 min, 4 intervalli da 5 min ed un intervallo lungo da 15 min.

Di seguito un estratto del manuale:

Vi allego le schermate per impostare i 9 timer ed il link al PDF del manuale sintetico.