Archivi tag: scuola

DotBot K il robot per i più piccoli e non solo

dotbotk-01Lo avevo promesso nei mesi scorsi e finalmente sono riuscito ad implementare la prima versione di DotBot dedicata ai più piccoli, nome in codice DotBot K, dove K sta per Kids.
La nascita di quesa versione, che vi avevo preannunciato in precedenti post nasce da una domanda semplice che mi venne posta da una mia cara collega di scuole elementari quando vide il primo DotBot: “E a noi non hai pensato?” 🙂
In realtà ora lo posso dire, nei miei pensieri questa che vedete è stata la mia prima versione di DotBot, nelle prime bozze su carta era più piccolo e con un’elettronica diversa, ma io ho incominciato a pensare ad un kit robotico per gli studenti proprio avendo nella mente questo piccolo parallelepipedo, immaginavo ad un oggetto su cui aggiungere funzionalità successive al crescere delle competenze dello studente, una “mascotte” sufficientemente resistente da portare in cartella e da disporre sulla scrivania dello studente su cui effettuare esercitazioni di informatica e personalizzarlo con involucri personalizzati dallo studente.

Avevo necessità di realizzare un artefatto che permettesse di unire le parti mediante incastri riducendo al minimo le viti metalliche. Mi sono focalizzato su una serie di progetti open: BOB, Bobwl, ZOWI, Otto ed altri. Da essi ne ho estratto gli elementi che ritenevo più interessanti rinforzando la struttura ed adattandola alle funzionalità che desideravo inserire.
Quindi certamente in esso ritroverete caratteristiche dei progetti sopra citati, ma ne ho volute fare qualcosa di più, che andasse oltre la semplice realizzazione di un kit robotico, cosa? Spero possa trasparire nelle righe successive ed in ciò che farò nelle prossime settimane.

Ho partecipato spesso a discussioni con colleghi per immaginare quali dovessero essere sia le funzionalità che la forma del robot e le richieste, quasi tutte lecite, mi portavano in una direzione che rapidamente faceva aumentare i costi e le difficoltà di assemblaggio.

lo vogliamo:
resistente, colorato, personalizzabile, programmabile alla Scratch, comandato da smartphone, tablet e che costi poco.

Comprenderete, anche se non siete esperti dell’argomento, che pensare ad un oggetto di simili caratteristiche a costi contenuti, è complicato, inoltre desideravo che il tutto potesse essere pensato e prodotto in non più di 3 mesi di lavoro. Quindi come fare?
Sono partito da lontano ed ho riflettuto sull’obiettivo del tutto: fare coding non solo per insegnare a programmare ma anche per insegnare a pensare e per insegnare a pensare, se si pensa bene, lo si può fare con pochi soldi 🙂
L’idea quindi è quella di non pretendere un’oggetto tecnologicamente all’ultima moda, ma offrire qualcosa che potesse permettere di realizzare un percorso di project learning con i propri allievi, che parte dalla modellazione 3D per giungere alla fine al coding.
Infatti tutte le strutture fisiche che vedete stampate in 3D fanno anch’esse parte del processo di apprendimento, infatti sono state implementate volutamente tutte con Thinkercad, che come molti di voi sapranno, è un applicativo online gratuito di facile utilizzo che può essere utilizzato con gli studenti più giovani. L’intero processo di modellazione 3D è stato documentato, ne darò informazione più avanti, in modo da poter essere usato dagli insegnanti come manuale didattico con possibilità di rimodulazione in tutte le parti da parte di docenti e allievi secondo le necessità.

dotbotk-06
Le fasi di programmazione potranno essere realizzate usando ambienti di sviluppo di diverso tipo tra cui sistemi simili a Scratch. Nelle prossime settimane fornirò sketch di esempio che permetteranno ai più esperti di riprogrammare il robot.
Quindi pensare alla moderazione 3D e costruzione del robot come ad un’attività didattica che giunge fino al coding quindi costruzionismo (per dirla alla Papert) dall’inizio alla fine ed è questo che desidero sia DotBot K.

Ma quali sono le caratteristiche di base?
E’ costituito da due modalità di movimento, una autonoma che utilizza un sensore ad ultrasuoni che permette in autonomia di evitare gli ostacoli ed una comandata per passi che fa uso di un qualsiasi telecomando di TV che consente di movimentare il robot in avanti, indietro e fargli eseguire rotazioni di 90 gradi a destra e sinistra la modalità di movimento è selezionabile da telecomando.
Nella prima versione proposta il controllo del piccolo robot è costituito da un Arduino Nano, mentre la movimentazione viene eseguita mediante servomotori a rotazione continua di piccole dimensione. Due i dispositivi di output per la segnalazione di azioni compiute dal robot: un led RGB che costituisce il naso di DotBot K per l’emissione di luce colorata ed un buzzer per la produzione di suoni. Alimentazione totale 6V.

Piccola precisazione riguarda alla fase di assemblaggio.
DotBot K è da pensare ad una sorta di BeeBot quindi immagino il robot consegnato già montato, i giovani studenti si dovranno solo preoccupare di personalizzare la struttura o programmarlo in modo diverso, l’assemblaggio delle parti interne sarà a carico di insegnanti o altre figure (studenti di scuola superiore).

dotbotk-02

dotbotk-03

Quindi essenziale, ma sufficiente per svolgere ad esempio quanto già descritto in precedenza per DotBot S che meglio si adattano alla versione K se pensiamo a bambini:

Ho immaginato tanti DotBot K pilotati a distanza mediante i telecomandi che ogni studente si porterà casa. In un’attività ad esempio di educazione stradale, i DotBot K 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 disposte le parti mischiate di una frase e i bambini devono far percorrere ai DotBot K 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 K 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.

Probabilmente alcuni si aspettavano un grado di interattività maggiore e certamente ho pensato a qualcosa di più con caratteristiche più performanti: motori, sensori, estensioni IoT, programmazione diretta senza PC, memorizzazione dei passi… ci sono già, sono step del progetto già in fase di sviluppo e che vedranno la luce nei prossimi mesi, come ad esempio estensioni IoT di interattività di DotBot K in funzione di messaggio proveniente da social network che sto sperimentando mentre scrivo questo articolo… però chiedo come sempre pazienza 🙂

dotbotk-04

dotbotk-05

Ovviamente vi spiegherò come realizzare un DotBot K, ma prima di far ciò vi elenco la lista delle attività che saranno svolte nei prossimi giorni:

  1. Presentarvi DotBot K alla Maker Faire di Roma che ci sarà la prossima settimana presso il padiglione 5 postazione C25.
    Saremo: Maffucci Michele, Russo Ludovico Orlando, Mattia Maffucci (figlio), Vernotico Silvia e new entry Gabriele Ermacora e tutti insieme stiamo condividendo lo sviluppo progetto DotBot, ciascuno per la propria competenza, sia su piattaforma Arduino che Raspberry Pi con particolare attenzione allo controllo mediante ROS.
    Durante la Maker Faire di Roma mi piacerebbe presentarvi quanto stiamo realizzando,  avere un confronto con colleghi e studenti per condividere idee e progetti, quindi vi aspettiamo, stiamo pensando di organizzare due momenti di incontro specifici a cui bisognerà prenotarsi mediante form on-line che predisporrò nelle prossime ore.
  2. Mettere a disposizione l’intero progetto in modalità Open Source, credo di poterlo fare subito prima o subito dopo la Maker Faire di Roma, quindi link ai sorgenti per la stampa ed esempi di programmazione.
  3. Effettuare una guida esaustiva sulla realizzazione di DotBot K.
  4. Realizzare un corso per bambini di quinta elementare che fa uso di DotBot K.
  5. Aggiungere memorizzazione dei passi ed esecuzione del percorso.
  6. Estensioni IoT di DotBot K.
  7. Apportare modifiche ai motori.

Tutto a partire dalla prossima settimana.

Quindi per ora un grazie a tutti voi, a chi mi ha scritto per dirmi che sta usando DotBot con i propri studenti o con i propri figli, vi aspettiamo alla MakerFaire di Roma.

Un caro saluto a tutti.

DotBot è su Facebook

Per rispondere prontamente alle richieste dei numerosi utenti che desiderano informazioni più precise su DotBot, abbiamo deciso di aprire una pagina dedicata su Facebook in modo da mantenere un diario aggiornato di tutto ciò che stiamo sviluppando e sperimentando, quindi dal nostro banco di laboratorio a voi per sapere come evolve la nostra proposta di robot open source per fare coding a scuola, progetto che è nato e si sta sviluppando con lo sforzo e la passione di docenti della scuola superiore e ricercatori dell’università.

Cosa riserva il futuro?
Comunicazione tra DotBot diversi
Sviluppo di una versione dedicata per la scuola elementare

e molto altro…

DotBot-pagina-facebook

DotBot – avanzamento lavori e sviluppi futuri

Scrivo questo post perché ho ricevuto molte mail in cui mi si chiedeva dove reperire ed acquistare i materiali e quali saranno i futuri sviluppi del progetto, ho raccolto le principali domande che mi sono state poste. Ricordo prima di ogni cosa che il progetto sviluppato da me Michele Maffucci e l’amico Ludovico Russo è assolutamente open sia nella struttura che nelle parti software.

  1. Quali sono gli obiettivi del progetto?
    L’obiettivo principale del progetto è l’insegnamento del coding per ogni grado di istruzione, sono in progetto software e modifiche di struttura a DotBot (anche diverse dall’attuale forma esagonale) pensate per la scuola elementare, media superiore ed università.
  2. Da quante persone è costituito il gruppo di lavoro?
    I fondatori del progetto sono:
    Michele Maffucci, insegnate di scuola superiore e per ora mi sono occupato dello sviluppo della struttura meccanica e implementazione codice per Arduino.
    Ludovico Russo dottorando presso il Politecnico di Torino e si occupa di Robotica e formazione all’interno del Politecnico ed attualmente è concentrato sullo sviluppo software dell’IDE di programmazione in ROS di DotBot. Al gruppo di lavoro si aggiungeranno studenti delle scuole superiori, insegnanti della secondaria di secondo grado e studenti universitari che ci aiuteranno nello sviluppo delle varie parti della piattaforma.
  3. Sono previste modalità di programmazione alla “Scratch” di DotBot?
    Sì, abbiamo implementato una prerelease ancora in alfa, non appena riusciremo ad entrare in versione beta verrà resa pubblica.
  4. Vorrei modificare la struttura di DotBot, posso farlo?
    Assolutamente Sì, ti chiediamo solamente di citare il progetto DotBot nei documenti che produrrai e renderai pubblici.
  5. Vorrei acquistare DotBot con tutti i componenti elettronici, come posso fare?
    Nel prossimo futuro sì. Siamo insegnanti e non ci siamo mai occupati di vendita, quindi stiamo valutando una forma semplice per permettervi di acquistare DotBot. Prossimamente verrà aperto un sito per raccogliere le richieste e permetterci di valutare la modalità più semplice e veloce per fornire DotBot.
  6. Ma dietro a questa azione di formazione si nasconde una forma di business?
    Non nascondiamo nulla, come puoi vedere su questo sito esiste un campo di donazione che mi permette di mantenere questo servizio (dominio, banda usata, tempo, ecc…) e continuare la mia attività di divulgazione che viene fatta per passione e per amore del mio mestiere. Alla stesso modo per portare avanti un progetto di divulgazione scientifica come DotBot sono necessari investimenti in materiali (elettronica, materiale per la stampa 3D, tempo per lo sviluppo, ecc…), quindi sì chi lo vorrà potrà sostenere il progetto con donazione o acquistando i materiali. Secondo noi questo è l’unico modo per portare avanti un progetto di tale entità.
  7. Vorrei usare DotBot nella mia scuola/università attività di formazione all’interno di un CoderDojo, posso farlo?
    Sì, è l’obiettivo principale del progetto, ti chiediamo se possibile di inviarci documentazione (fotografie, filmati, relazione, ecc…) in modo che noi lo si possa mettere in evidenza sul futuro sito dedicato.
  8. Potete fornirci la lista dei materiali elettronici da acquistare?
    Sì, nel breve forniremo la lista dei materiali consigliati che potrete acquistare da chi vorrete.
  9. Vorrei usare DotBot in attività di formazione a pagamento, posso farlo?
    Sì, ti chiediamo di citare il progetto, con link al sito di riferimento di DotBot, per ora, visto che il sito è in costruzione ti chiedo di fare riferimento a questo sito.
  10. Posso vendere DotBot?
    No.
  11. Pensate di dare supporto software per pilotare DotBot?
    Sì, l’obiettivo è quello di implementare una serie di tutorial da cui partire e permettere alla comunità di migliorare quanto da noi proposto e sviluppare altro software.
  12. Esiste un forum di discussione dove chiedere supporto su DotBot?
    Non ancora, nel breve ne verrà aperto uno. Inoltre l’intenzione è quella di implementare una comunità su cui condividere risorse e scaricare liberamente tutti i sorgenti.
  13. Esistono scuole/università che stanno usando DotBot?
    Il progetto è appena nato, poco più di un mese, ma è stato già utilizzato in beta in attività di formazione in alcune scuole superiori, FabLab, e nel breve sarà usato all’università, pubblicheremo lista degli enti che adottano DotBot.
  14. L’uso di schede elettroniche è però un po’ complicato per bambini di scuola elementare, consigli comunque l’uso di DotBot?
    Abbiamo sperimentato l’uso di DotBot con alcuni allievi, motivati, di scuola media è si riesce a predisporre lezioni coinvolgenti. Per quanto riguarda gli allievi di scuola elementare l’idea è quella di implementare una struttura alla “lego” fatta di moduli funzionali, in cui l’elettronica è nascosta e l’allievo assembla e programma il robot con una filosofia molto simile alla programmazione a blocchi di Scratch, questa fase è stata implementata con un prototipo a cui è stato aggiunto un display oled e altoparlante che permette di implementare messaggi emozionali (esperssioni di un viso), di dimensioni ridotte, comandato con una modalità simile al Bee-Bot, si veda la pre-release nelle immagini allegate a questo post.
  15. Esiste un legame tra il progetto DotBot ed EduRobot?
    Sono progetti paralleli, EduRobot ha l’obiettivo di semplificare al minimo i costi di implementazione per sviluppare una didattica della robotica, DotBot è da intendersi come un “forking project” di EduRobot, ma il progetto EduRobot non verrà abbandonato.

Momentaneamente, verrà aperto su questo sito una sezione (accessibile con bottone in colonna destra) dove reperire tutte le informazioni pubblicate su DotBot.

Entro la prossima settimana verrà resa pubblica la versione 2 del telaio di DotBot a cui sono state fatte alcune modifiche elencate di seguito con dettagli fotografici:

  • struttura per motori passo passo 28BYJ-48
  • struttura per motori passo passo NEMA 17
  • struttura servo motori a rotazione continua (360°) questo per consentire a chi lo vorrà di non utilizzare uno shield motori aggiuntivo risparmiando sulle spese per l’acquisto dell’elettronica.
  • sostituzione dei supporti esagonali metallici da 25 mm con struttura stampata in 3D con fori in ogni direzione in modo da avere un elemento multifunzionale per aggancio di altre strutture, questa modifica ha permesso una riduzione dei costi su viti e dadi e l’aumento della velocità di assemblaggio.
  • Variazioni delle basi di appoggio con fori per: alloggiamenti nuovi motori, sensori per implementare segui linea, passaggio cavi, fissaggio per tutte le tipologie di motori, facilitazione per assemblaggio, predisposizione per terzo livello di DotBot dove poter alloggiare ulteriori elementi (schede elettroniche, adattamenti estetici, ecc…)

Alla nuova versione, con la nuova tipologia di motori, verranno resi pubblici esempi di programmazione.

DotBot-01

DotBot-02

DotBot-03

DotBot-04

Alfa version per studio di fattibilità pensato per bambini di scuola elementare, nella versione successiva i componenti elettronici saranno rinchiusi all’interno di involucri che il bambino assemblerà in modo simile ai mattoncini lego:

pre-release-DotBot-mini-01

pre-release-DotBot-mini-02

pre-release-DotBot-mini-03

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