Archivi categoria: i miei allievi

IoT a basso costo con un ESP 01 – una veloce introduzione per i miei studenti

Sto svolgendo in queste settimane un corso Arduino per i miei allievi di II’, ma gli impegni dei consigli di classe e le attività di vicepresidenza mi hanno portato a spostare un paio di lezioni e per farmi perdonare ho deciso di implementare velocemente una breve lezioni che generi l’effetto “waooo” 🙂 spero possa funzionareL’idea è quella di comandare la marcia e l’arresto di motori asincroni trifase (380 Vac) remotamente attraverso comandi dati da cellulare utilizzando tecnologia a basso costo.

Aggiungere funzionalità di controllo remoto via WiFi ai propri progetti Arduino è ormai diventato relativamente semplice e molto economico. E’ da qualche tempo che sto utilizzando i noti ESP8266 nella versione più economica ESP01 per effettuare esperimenti di domotica a basso costo. ESP8266 è un microcontrollore programmabile in una modalità molto simile a quanto viene fatto per Arduino è costituito da un circuito SoC (System on Chip) dalle dimensioni ridottissime (5 x 5 mm) e la scheda che lo ospita integra un’antenna WiFi.

05

Esistono diversi modelli di ESP che includono l’ESP8266 ad essi è stato assegnato un nome che ha la seguente struttura ESP-XX dove XX è un numero che in questo momento va da 01 a 13 e che sicuramente nei prossimi mesi sarà destinato ad aumentare. In generale numeri più alti indicano funzionalità e performance più elevate, ma sicuramente ad oggi la versione più diffusa per semplicità di utilizzo e costi resta ancora l’ESP01.

I modelli ESP differiscono uno dall’altro per le seguenti caratteristiche:

  • dimensioni del modulo;
  • memoria flash, esterna al chip e varia da 512 KByte fino a 4MByte;
  • numero di pin;
  • antenna WiFi stampata su scheda o su apposito connettore a cui collegare un’antenna

Nell’immagine che segue un elenco dei più diffusi moduli ESP disponibili:

famiglia-esp

In questa breve trattazione utilizzerò l’ESP01.

Continua a leggere

Espandere gli I/O analogici di Arduino

Come già accennato in precedenti post in questi mesi sto svolgendo una serie di attività di prototipazione rapida di sistemi di rilevazione ambientale presso la facoltà di Agraria di Padova e l’esigenza di espandere la quantità di ingressi analogici di Arduino è una necessità reale che può essere superata agevolmente con pochissimi euro (per la precisione 1€ 🙂 ) utilizzando l’integrato 4051 Multiplexer/Demultiplexer analogico ad 8 canali in grado appunto di ampliare il numero di I/O di Arduino.
Esigenze di questo tipo si presentano spessissimo, ad esempio nel caso voi vogliate collegare più sensori analogici ad un ESP che dispone di un solo ingresso analogico, o più semplicemente andare oltre i 6 pin analogici di Arduino UNO R3, situazione che si presenta ad esempio nel caso in cui si stanno occupando i pin analogici A4 e A5 per la comunicazione I2C  per altri dispositivi.

L’integrato 4051 viene realizzato da diverse aziende vi allego i datasheet corrispondenti alla versione prodotta da Philips e Texas Instruments, identici nelle funzionalità:

All’interno trovate tutte le indicazioni necessarie per poterlo usare che vi riassumo nelle righe che seguono.

Piedinatura dell’integrato

01-4051

Dove:

  • Z: pin input/output (connesso agli Input/Output Arduino )
  • E: pin di enable (attivo basso, cioè attivo su LOW da connettere a GND)
  • VEE: tensione di alimentazione negativa (da connettere a gnd)
  • VSS: terra (0 V)
  • A0-A1-A2: pin di selezione input (connessi a tre pin digitali di Arduino) – A0 bit meno significativo (LSB), A2 bit più significativo (MSB)
  • Da Y0 a Y7: pin di inputs/outputs
  • VDD: tensione di alimentazione positiva (da 3V a 5v)

Tabella di verità

02-4051

Dalla tabella si evince che per poter far funzionare l’IC è necessario connettere E (Enable) a GND.

Il 4051 è un integrato in tecnologia CMOS dotato di 8 ingressi (nominati Y) che può accettare segnali analogici compresi tra 0V e 5 V, tali segnali possono essere selezionati mediante tre pin di selezione nominati: A0, A1, A2 ed inviati direttamente ad un pin analogico di Arduino per la successiva elaborazione.

La selezione del canale Y scelto (in altre parole del segnale analogico che si desidera leggere o scrivere) può essere fatta sfruttando lo stesso Arduino mediante 3 pin digitali, sui 3 pin si comporrà il numero binario corrispondente all’ingresso analogico Y scelto.

A titolo di esempio, ricordando che con tre bit possiamo rappresentare tutti i numeri tra 0 e 7 (2^0 = 1; 2^1 = 2; 2^2 = 4):

  • Se A0 = 1, A1 = 1 e A2 = 0 allora l’uscita selezionata sarà la Y3
    (2^1 + 2^1 + 2^0 = 2 + 1 + 0 = 3)
  • Se A0 = 1, A1 = 0 e A2 = 1 allora l’uscita selezionata sarà la Y5
    (2^1 + 2^0 + 2^2 = 2 + 0 + 4 = 5)

Per chiarirne il funzionamento analizziamo le due modalità operative:

  • Input: lettura di segnali analogici presenti sugli ingressi Y del 4051
  • Output: invio di un segnale analogico su una delle 8 uscite Y del 4051

4051 usato come multiplexer con Arduino
Lettura di segnali analogici presenti sugli ingressi Y del 4051
Continua a leggere

L’alfabeto di Scratch

banner-alfabeto-di-scratch
Come preannunciato con video in un mio precedente post, in occasione del mio corso in presenza nella stupenda Sicilia, ho realizzato la seconda versione delle mie slide introduttive sull’uso di Scratch, nello specifico l’uso di Scratch 2 e come promesso desidero renderle pubbliche a tutti.

Sto realizzando ulteriori lezioni e raccolte di esercizi che renderò disponibili in modalità open e gratuita.

Presentazione

Coding e Computational Thinking a scuola con Scratch

Il seguente corso intende fornire le competenze di base per insegnare a programmare in modo creativo e mostrare come l’uso dell’informatica a scuola possa diventare una strategia per insegnare a progettare il proprio apprendimento e fornire le competenze per risolvere problemi.

Questa presentazione è la seconda versione delle mie lezioni su Scratch e fa seguito a quanto già pubblicato negli scorsi anni con “Corso di Scratch – lezione 1 e lezione 2” e “Micro Corso di Scratch”.

L’alfabeto di Scratch è una raccolta di appunti che utilizzo durante le sperimentazioni laboratoriali con i miei studenti e durante i corsi di formazione per docenti e sono da intendersi come un’introduzione alla programmazione con Scratch.

L’impostazione di queste slide è pensata per essere immediatamente utilizzabile in classe.

I link diretti su slideshare sono:

Aggiungere librerie nell’IDE Arduino

Durante un mio recente corso presso l’Universit di Padova ho spiegato come installare e creare librerie in Arduino utilizzando le informazioni che scrissi tempo fa nel tutorial: Arduino lezione 08: display a 7 segmenti e creazione di librerie
aggiungo a quanto gi scritto alcuni approfondimenti e precisazioni che credo possano essere utili per chi incomincia ad utilizzare Arduino.

Esistono due modi per installare una libreria in Arduino:

Modo 1

Dalla versione 1.0.5 in avanti possibile linstallazione automatica delle librerie allinterno della cartella sketchbook.
La posizione esatta della cartella libraries funzione del sistema operativo. Tipicamente la libreria costituitada ungruppo di file compressi in formato .zip da importare dal men principale.

A titolo di esempio supponiamo di voler installare la libreria per la gestione del Real Time Clock DS1307 dal sito PJRC e installiamola importandola comefile .zip

02-arduino-library

Sul sito indicato prelevate il file facendo click sul link che vi indica lultima versione, cos come riportato nellimmagine che segue, sarete reindirizzati sul sito GitHub da cui potrete prelevare lintera libreria.

03-arduino-library

04-arduino-library

Importare il file .ZIP attraverso il men:

Sketch -> Include Library -> Add .ZIP Library…

01-arduino-library

Selezionate la cartella o il file .zip che contiene tutti i file che costituiscono la libreria.

Dopo linstallazione necessario riavviare lIDE.

Continua a leggere

DotBot S – il piccolo robot per i vostri primi esperimenti di coding con Arduino

DotBotS-00

Mio figlio: “papà ma non è che tu sei un po’ fissato per la robotica?” 🙂
Io: “sicuramente figlio! Ma io al tuo Pokémon Go preferisco DotBot” 🙂

Le avventure di DotBot continuano…

Durante l’ultima Mini Maker Faire di Torino mi è stato chiesto se mi aspettassi altro da DotBot oltre che la mia personale azione didattica ed ho risposto in questo modo:
creare oggetti fisici utili per l’apprendimento è per me parecchio stimolante inoltre il feedback che ne ricevo dagli utenti induce ovviamente alla relazione e allo studio continuo aggiungendo ogni volta l’esperienza anche di altri, quindi utilissimo anche per sperimentare altre azioni didattiche”, quindi alla fine tratto DotBot come un catalizzatore per fare anche altro.
In un certo senso sto cercando di applicare il metodo Lean Startup con DotBot in modo da fare piccoli passi di “innovazione” (per me) senza sprechi per giungere a qualcosa di interessante.

La versione di DotBot che conoscete è il frutto di una serie di prototipi realizzati nei mesi passati. Negli scorsi giorni ho ripreso una delle primissime idee, rielaborando alcune parti, ed in un paio di giorni ho realizzato una piccolo robottino che abbiamo chiamato DotBot S, molto semplice nella forma e nelle funzionalità, ma proprio per questo ritengo utile per chi incomincia con l’elettronica e il coding, con la speranza che altri ne facciano un branch… per dirla alla git e producano altro.

Durante la mia convalescenza alcuni utenti (studenti) mi hanno chiesto di portare avanti il progetto EduRobot e per ottimizzare gli sforzi ho deciso di unirlo al progetto DotBot creando un elemento che facesse da ponte tra le due sperimentazioni molto simili, questo elemento di unione è appunto DotBot S che porta con se le idee che poi sono state utilizzate anche sul fratello maggiore DotBot.

Ma qual é l’idea?
La necessità di avere uno strumento multifunzionale da unire ai vari starter kit di Arduino, italiani e non originali o compatibili 🙂 che permettesse di avere una base di lavoro dove disporre scheda e breadboard per effettuare le prime sperimentazioni per poi trasformarla con pochissimi elementi in un semplicissimo robot su cui poter effettuare espansioni personali, ho immaginato ad esempio gli studenti di scuola elementare e media che caratterizzano con cartoncino colorato DotBot S.
Gli elementi di blocco (come si possono notare nelle fotografie che seguono) per scheda Arduino e breadboard non fanno uso di viti metalliche e permettono di assemblare il tutto rapidamente, le viti vengono usate esclusivamente per la composizione della configurazione Robot.

Questa versione di DotBot è stata pensata certamente per tutti coloro che intendono incominciare le prime sperimentazioni con Arduino e la robotica, ma soprattutto per gli insegnanti che si trovano nella condizione di dover realizzare atelier digitali ed implementare subito con i propri allievi strutture robotica semplici da montare, immaginando il percorso: modellazione 3D, stampa 3D, coding.
Nelle prime fasi di sperimentazioni il rischio di sprecare materiale e tempo è abbastanza elevato pertanto avere sussidi che abbiano costi bassi credo sia essenziale, deciderà poi l’insegnante se sperimentare con altre tipologie di robot come ad esempio il più grande DotBot.

Giusto per chiarire, per chi si aspetta una versione di DotBot con funzioni simili all’apina BeeBot come promesso dico che è già fatta, stiamo solo cercando di ridurre i costi, DotBot S non è la risposta a questa necessità, DotBot S è un’altra cosa.

Ma quanto costa realizzare DotBot S?

Pensando ad una stampa in PLA con un costo di 22 € al kg abbiamo scelto di ridurre leggermente la qualità scegliendo lo spessore del layer di 0,3 mm e riempimento al 15% il costo complessivo di produzione, comprensivo di consumi elettrici è di circa € 1,30.
Noterete anche nelle fotografie che la qualità di stampa volutamente non è alta semplicemente per questione di costi (ed è anche un po’ una scusa per non dire che la stampante necessitava di taratura… ho le cinghie della stampante da sostituire 🙂 )

DotBotS-print

Spesso abbiamo notato che le scuole medie e superiori acquistano i soliti starter kit Arduino quindi a questi sarà sufficiente aggiungere poco di più, due servomotori una batteria da 9V ed un sensore ad ultrasuoni.

Perché i servomotori a rotazione continua?
Perché volevamo evitare, almeno in questa fase, l’uso di shield motori e ridurre la complessità per gli studenti più giovani, dopo di che, poiché tutto è open lascio ad altri modifiche al progetto con l’uso dei motori che si preferisce.

In aggiunta se la necessità è risparmiare si possono sempre effettuare lavori di gruppo e magari divertirsi e sperimentare del project learning.

Lista della spesa

N. 2 servomotori a rotazione continua
N. 1 scheda Arduino
N. 1 sensore ad ultrasuoni HC-SR04
N. 1 batteria da 9V
N. 1 connettore per batteria 9V con jack 2,1×5 mm
N. 14 viti M3 da 10 mm
N. 14 dadi M3
N. 2 biglie di vetro da 16 mm
N. 2 elastici da 50 mm
pin di connessione tra breadboard e servomotore.

Se possedete già una scheda Arduino in versione originale o compatibile, il costo più elevato risiede nei servomotori a rotazione continua, che possono essere acquistati ad una cifra di circa 12 € l’uno, dovreste riuscire a rimanere sotto la soglia dei 30 € che ritengo decisamente economico.

Lascio alla vostra fantasia e a quella dei vostri studenti implementare attività didattiche interessanti, basterebbe ad esempio un sensore ad infrarossi ed un qualsiasi telecomando per TV per avere robot comandati a distanza quindi con pochi euro possiamo aumentare parecchio le possibilità di sperimentazione.

Ho immaginato tanti DotBot S pilotati a distanza mediante i telecomandi che ogni studente si porterà casa. In un’attività ad esempio di educazione stradale, i DotBot S diventano le automobili su cui ogni studente deve agire.
Immagino l’attività di apprendimento della composizione di una frase in italiano, su di un piano vengono dispose le parti mischiate di una frase e con bambini con i DotBot S devono percorrere la strada giusta per comporre correttamente la frase.
Ma ancora l’attività in cui i bambini imparano ad usare Thinkercad stampando dei numeri dopo di che i numeri vengo disposti a terra. Con dei DotBot S i bambini potrebbero, mediante telecomando che comanda il robot, spostare i numeri nell’insieme pari e nell’insieme dispari. Attività simili si possono pensare con vocali e consonanti, oppure forme geometriche, ecc… Insomma l’attività didattica diventa un’incredibile attività laboratoriale e la robotica una materia trasversale a tutte le discipline.

Cosa succederà ora?
Come già scritto in precedenti articoli, DotBot e DotBot S saranno oggetti che utilizzerò nei prossimi mesi e ciò che ho suggerito come attività di sperimentazioni didattiche diventeranno vere attività implementate da colleghi che hanno dimostrato forte interesse per il progetto. Ovviamente ne faremo dei report che verranno pubblicati.

Nel messe di agosto organizzerò dei CoderDojo e attività di formazione gratuite su robotica ed Arduino presso il mio paese di origine e proprio in quella occasione farò scorrazzare per la piazza del paese un po’ di DotBot e DotBot S, ma ne darò notizia nei prossimi giorni.

Alcuni suggerimenti che giungono da mia figlia che frequenta le scuole medie: “papà ricordati che i ragazzi amano personalizzare quindi dagli la possibilità per aggiungerci elementi: faccine, occhi, tentacoli, orecchie…”

Ok allora mi metto a lavoro,
meno male che ho la figlia che mi sta con il fiato sul collo 😃

Spero che questa mia idea possa essere utile.

Per prelevare i sorgenti stl per la stampa seguite il link che vi porterà sulla pagina Dotbot-io su thingiverse.

Di seguito le fasi di montaggio.

Come si evince dall’immagine il kit è costituito da pochissime parti, 14 sono gli elementi da stampare.

DotBotS-01

Inserimento della breadboard da 400 fori. In commercio troverete due misure di questa breadboard che differiscono di pochi millimetri l’una dall’atra. Gli elementi di blocco permettono il fissaggio di tutte e due le tipologie di breadboard.

DotBotS-02

Continua a leggere