Archivi tag: coding

Risorse per fare coding a scuola: Google Computer Science Education

google-CS-education

Google ha appena lanciato un nuovo sito dedicato al mondo scuola: Google Computer Science Education una collezione di risorse e applicativi gratuiti per ogni livello di scuola che a mio avviso dovrebbe essere presa in seria considerazione da tutti i colleghi che intendono realizzare percorsi di coding con i propri allievi.

Allinterno troverete programmi di apprendimento e tool noti come: Blockly, Blockly Games, Coder e Pencil Code e proprio su questultimo vi consiglio di consultare le risorse e il manuale che oltre ad essere un libro uno splendido corso di coding, quindi se necessitate di un percorso didattico gi pronto per voi e i vostri allievi Pencil Code pu essere una buona soluzione.

Oltre ad imparare l’informatica, anche possibile utilizzare questo portale per esplorare le opportunit di borse di studio oppure dal link: Access Career Opportunities verificare le opportunit di lavoro offerte da Google.

Buon lavoro 🙂

Controlliamo DotBot con Arduino

DotBot

Questo tutorial è la prima bozza di parte delle lezioni di “Alfabeto Arduino con DotBot” per l’apprendimento dell’uso di Arduino mediante lo starter kit open source per l’insegnamento del coding e della robotica che abbiamo chiamato DotBot.
Sperimenterò questa prima parte durante il corso di cui sarò relatore presso l’IIS Cassato Gattapone (Gubbio): “Apprendimento attivo con Raspberry Pi e Arduino”.

Nel tutorial che segue illustro un schema estremamente semplice per la realizzazione del controllo di DotBot effettuata con Arduino con i relativi sketch di esempio è può essere considerato la base di partenza per ogni sperimentazione basata appunto su Arduino.
Per il pilotaggio dei motori ho utilizzato l’Arduino Motor Schield R3 di cui ho già effettuato un tutorial nei giorni scorsi (Utilizzo dell’Arduino Motor Shields R3) ed è propedeutico a questa lezione.

Più avanti aggiungerò esempi pratici con ulteriori sensori e inoltre mostrerò come far funzionare DotBot come segui linea e utilizzando soluzioni con motorini passo-passo. Vi saranno ulteriori lezioni basate su Raspberry Pi 3 e programmazione in Python e successive approfondimenti sull’uso di ROS (Robot Operating System).

L’intero tutorial sarà basato sulle indicazioni costruttive di DotBot che trovate descritte nell’articolo: DotBot: lo starter kit open source per l’insegnamento del coding e della robotica che ricordo potete stampare in 3D seguendo le indicazioni che trovate nell’articolo.
In ogni caso se non avete stampato DotBot potrete tranquillamente applicarlo al robot che disponete.

Ricordo che la rotazione, senza il controllo dei numeri di giri, dipende dalla carica delle batterie, quindi per ogni test effettuare un controllo ed eventualmente modificare la variabile: “tempoRotazione” che potrete poi tarare mediante la funzione calibrazioneRotazione() che trovate nell’ultimo sketch proposto. La soluzione ottimale per il controllo preciso del robot prevede l’uso di motorini con encoder, che mostrerò in lezioni successive.

Ovviamente anche la soluzione proposta in questo tutorial risulta approssimata (ed anche dettata da un risparmio economico) ricordo che lo scopo è comprenderne il funzionamento del movimento di DotBot, lascio a voi i successivi perfezionamenti.

Potrete sostituire alle batterie che io ho utilizzato, batterie ricarrabili, o pacchi batterie con autonomia maggiore che potrete fissare utilizzando gli appositi fori predisposti sullo chassis

Componenti utilizzati

  • Arduino UNO R3
  • Arduino Motor Shield R3
  • Sensore ad ultrasuoni HC-SR04

Montaggio del circuito

DotBot-Arduino-01

DotBot-Arduino-02

DotBot-Arduino-03

Ribadisco, come già indicato nel tutorial: Utilizzo dell’Arduino Motor Shields R3 che sono state fornite due alimentazioni diverse una per la scheda Arduino ed una per i motori, per effettuare tale operazione è indispensabile effettuare il taglio del “Vi connect

Come evidenziato i due motori sono stati collegati con polarità invertita in quanto per muovere in avanti il robot le due ruote dovranno muoversi in senso opposto.

Negli esempio che seguono verranno di volta aggiunte nuove funzioni, la lista completa è la seguente:

setupDotBot()

Imposta i pin dell’Arduino Motor Shield

driveDotBot([motore], [direzione], [velocità], [brake])

La funzione è da leggersi in questo modo:
driveDotBot pilota il [motore] (0 per A, 1 per B) in senso [direzione] (0 o 1 – orario o antiorario) a velocità [velocità] (tra 0 e 255), [brake] attiva o rilascia blocco motore.
I motori vanno avanti fino a quando non gli verrà detto di fermarsi.

stopDotBot([motore])

ferma il motore [motore] (0 o 1).

rotazioneOraria()

gira il robot di 90° in senso orario

rotazioneAntioraria()

gira il robot di 90° in senso antiorario

distanzaOstacolo()

restituisce la distanza in cm dell’ostacolo rilevato

paragonaDistanze()

verifica la distanza dell’ostacolo che si trova a distanza maggiore dal robot

scegliDirezione();

sceglie la direzione da prendere in funzione della distanza a cui si trova l’ostacolo

La spiegazione del funzionamento d ogni parte del codice è inclusa all’interno dello sketch come commento.

Nota per lo studio:
i 6 sketch proposti variano solo nel loop per la realizzazione delle funzioni richieste, la variazione tra uno sketch e l’altro consiste nell’aggiunta di poche linee di codice, sarà quindi necessario effettuare uno studio preliminare di tutte le parti dello sketch 1.

Continua a leggere

DotBot: lo starter kit open source per l’insegnamento del coding e della robotica

DotBot

Finalmente dopo alcuni mesi di lavoro siamo giunti alla versione definitiva dello starter kit di robotica educativa il nome è: DotBot

Questo kit è pensato per essere utilizzato nella didattica, per qualsiasi ordine di scuola, dalle scuole elementari alle superiori ed oltre ed ovviamente per i più piccoli della scuola elementare è necessaria l’assistenza di un adulto.

Ma di cosa si tratta e come è nato questo progetto.

Come più volte detto su queste pagine ho sempre avuto il desiderio di costruire un percorso di robotica che partisse dalla stampa 3D di tutti gli elementi del robot per giungere poi alla programmazione e costruire un kit che ogni scuola potesse autoprodursi nel proprio FabLab scolastico…
d’altronde non stanno arrivando ulteriori finanziamenti per realizzarli nelle scuole del primo ciclo?

Un po’ di storia.

Durante lo scorso anno scolastico ebbi la fortuna di conoscere un brillante dottorando del Politecnico di Torino, Ludovico Russo, che sia per ricerca che per passione si occupa di robotica e nello specifico è un esperto nell’uso di ROS. Nell’anno passato sono stato coinvolto, insieme al collega Maurizio Scebba, ad un ciclo di formazione su ROS presso il Joint Open Lab Crab di Telecom Italia, centro ricerche che ha sede presso il Politecnico di Torino, uno dei formatori era appunto Ludovico, da allora è nata un’amicizia, entrambi ci occupiamo di ricerca lui sulle tecnologie robotiche al Politecnico ed io di robotica ed automazione industriale alle superiori, quindi entrambi “super-appassionati” di robotica e maker incalliti 😃

Spesso ci siamo confrontati sull’idea di insegnare robotica in una maniera totalmente diversa rispetto a quanto viene svolto attualmente a scuola ed abbiamo una nostra, credo originale proposta sulla didattica della robotica. Per sviluppare la didattica, così come la stiamo progettando, abbiamo pensato ad un kit di base che lo studente potesse portare con se durante tutto il suo percorso formativo, dalle medie alle superiori, per imparare coding in maniera assolutamente attiva interagendo con il mondo esterno.
A me piace pensare alla mascotte robotica che lo studente porta con se e personalizza di anno in anno, più le competenze dello studente aumentano maggiore sarà il livello di interazione dell’automa con il mondo esterno.
Quindi non più il tablet ma un robot su cui è collocato un computer che lo studente potrà utilizzare sia per fare coding e robotica ma anche per utilizzarlo come semplice computer per altre attività didattiche.
Immaginate ad una valigetta che si trasforma alla bisogna in robot o computer desktop (non è una fantasia ma un progetto che espande DotBot) 😉

Ma come realizzare uno strumento di questo genere?

Prima di ogni cosa abbiamo pensato alla “nostra realtà scolastica”, la realtà delle scuole italiane, ma non dei grandi istituti tecnici nelle grandi città, ma al restante 99% delle scuole che non dispongono di budget enormi.

Quindi è indispensabile disporre di una struttura relativamente economica e semplice da assemblare, ma soprattutto facile da espandere, uno starter kit robotico da costruirsi a casa o in laboratorio, pensato per essere stampato in 3D in PLA o tagliato a laser realizzandolo in compensato.
Durante i nostri incontri, tra pizzerie, chiacchierate ad ore impensabili via skype, nei ritagli di tempo, abbiamo incominciato a progettare, io ho mostrato a Ludovico le mie sperimentazioni con EduRobot e lui le sue creazioni, da questi incontri è nato DotBot.

A che punto siamo?

Io mi sono occupato della progettazione dello struttura e Ludovico sta progettando l’IDE di programmazione basato su ROS e programmabile, per i ragazzi più grandi in C++ e Python già funzionante in versione beta su qualsiasi versione di RaspberryPi. E’ nostra intenzione, tempo ed energia fisica permettendo, implementate versioni con interfaccia grafica semplificata “alla Scratch” per gli studenti di scuola elementare e media.

Il kit robotico ovviamente permette anche un controllo con Arduino ed è proprio questo che io intendo utilizzare nel breve con i miei studenti.

Tutto il progetto dallo struttura meccanica al software è sotto licenza Creative Commons, quindi utilizzabile da tutto “l’universo conosciuto” in maniera assolutamente gratuita, ovviamente non è permessa la commercializzazione.
Ritengo quindi che questo lavoro possa essere di estremo interesse per molti, soprattutto colleghi ed allievi che non dispongono nelle proprie scuole di finanziamenti importanti per fare un “coding creativo” 🙂

Spero quindi che questo nostro lavoro possa essere utile, soprattutto per far didattica, quindi copiate, incollate e modificate, sia l’hardware che il software ed ovviamente se avete necessità di supporto per questo kit su Arduino, RaspberryPi e ROS chiedete pure a me e Ludovico, saremo ben lieti di aiutarvi.

Vi preannuncio già che questo kit con il relativo software saranno utilizzati da me e da Ludovico per implementare corsi su ROS e Arduino sia all’università che nelle scuole superiori ed in prossimi eventi pubblici.

Ovviamente di tutto ciò che abbiamo prodotto ne abbiamo fatto un test con i ragazzi ed è nostra soddisfazione dirvi che l’oggetto, nella sua semplicità, funziona e piace, spero quindi che possiate darcene anche voi riscontro (sia positivo che negativo) e grazie in anticipo se farete adottare DotBot ai vostri allievi.

A questo punto… costruiamo!

Continua a leggere

Installare Scratch 2 offline edition su Ubuntu a 64 bit

Durante i miei corsi di coding per studenti e docenti che ho realizzato nelle scorse settimane, ho utilizzato Scratch 2 la cui installazione risulta relativamente semplice per sistemi Mac e Windows, infatti richiede solamente l’installazione di Adobe Air e tutto il processo si conclude in pochissimi minuti.
Recentemente mi è stato chiesto da colleghi “Animatori digitali” come effettuare l’installazione della versione offline di Scratch 2 su Ubuntu, che risulta un po’ più complicata rispetto ai sistemi Mac e Win, sulle versioni di Ubuntu a 64 bit è richiesta una procedura più lunga e non immediata che necessita di qualche comando da terminale.
Di seguito elenco i passi necessari per l’installazione su Ubuntu, ho testato la procedura su Ubuntu 14.04.03 e 15.10 e tutto ha funzionato correttamente.

Passo 1

Effettuiamo il download di Adobe Air e Scratch 2 dal sito di riferimento:

https://scratch.mit.edu/scratch2download/

01-scratch2-ubuntu

02-scratch2-ubuntu

Passo 2

E’ indispensabile installare le seguenti librerie:

sudo apt-get install libxt6:i386 libnspr4-0d:i386 libgtk2.0-0:i386 libstdc++6:i386 libnss3-1d:i386 lib32nss-mdns libxml2:i386 libxslt1.1:i386 libcanberra-gtk-module:i386 gtk2-engines-murrine:i386

03-scratch2-ubuntu

Verrà richiesto di confermare l’installazione

04-scratch2-ubuntu

Passo 3
Continua a leggere

Come installare Scratch per Arduino (S4A) su Raspberry Pi

s4a

Continua la serie di appunti per i miei prossimi corsi su Raspberry Pi progettati per insegnanti e studenti e poi poiché sarò un futuro “Animatore Digitale” 🙂 dovrò pur divertirmi ad animare tecnologicamente 🙂

Inserisco come nota la procedura per installare S4A su Raspberry Pi, procedura estremamente semplice, anche in questo caso 1 solo comando da terminale e tutto va a buon fine. In questo brevissimo tutorial do per scontato che Arduino per Raspberry Pi sia già installato, per sapere come fare seguite il mio tutorial: Programmare Arduino su Raspberry Pi
L’IDE Arduino serve solamente per caricare firmware S4A e per la programmazione con S4A non è obbligatorio installare l’IDE, il firmware può essere caricato mediante altro computer su cui è installato Arduino.

Passo 1

Usando il Browser Epiphany su Raspberry Pi andate sul sito di riferimento di S4A 

s4a-01

Passo 2 Continua a leggere