Sono contento di condividere con voi EduRobot MicroMoto, nato durante lo svolgimento di un corso per insegnanti della scuola primaria e secondaria di primo grado ed è un mio esempio di come la tecnologia possa essere inclusiva e stimolante utilizzando strumenti semplici.
Probabilmente la parola che meglio di tutte descrive questo progetto è: “semplicità”, sia nella costruzione che nell’utilizzo.
Volutamente compatto e simmetrico, le dimensioni sono di 10×10 cm, ha la forma di una scatolina, le cui falde sono state unite con colla a caldo. Questa scelta di assemblaggio, suggerita dai colleghi della primaria, ha reso il processo di assemblaggio non solo più sicuro ma anche più rapido rispetto alla prima versione in cui utilizzavo viti, ciò ha semplificato e velocizzato la fase costruttiva.
L’uso del cartone rende agevole l’espandibilità e la personalizzazione, infatti si parte da una base di cartone da 4 mm di spessore, ricoperta da un foglio bianco con stampati i contorni per il taglio, in questo modo gli studenti possono dare sfogo alla loro creatività colorando e personalizzando le facce bianche. Inoltre come mostrate nelle immagini che seguono MicroMoto può essere migliorato incollando sulle sue facce blocchetti Lego, permettendo così di adattarlo a diverse necessità didattiche.
Il piccolo robot è controllato da BBC micro:bit ed il controllo motori è affidato a :MOVE di Kitronik, una soluzione intuitiva che permette una facile gestione dei servomotori a rotazione continua. Questi ultimi, fissati alla struttura senza viti ma con l’ausilio di elastici, conferiscono al robot una grande praticità di montaggio e manutenzione.
Ovviamente potranno essere utilizzate anche altre tipologie di schede di controllo, una versione che sto realizzando per un altro corso prevede l’utilizzo di una scheda Arduino.
Condivido il file PDF con le 5 facce di taglio. Io ho utilizzato un foglio bianco A4 adesivo, ma potete utilizzare un normalissimo foglio di carta che incollerete con la colla sul cartone.
Se volete insieme a me costruire il robot nei prossimi mesi organizzerò un corso in presenza per insegnanti in cui mostrerò come realizzare e programmare EduRobot MicroMoto, se siete interessati potete seguire il link per la preadesione, sarete da me ricontattati quando il corso sarà disponibile.
Di seguito le fasi di costruzione EduRobot MicroMoto.
Procurarsi un foglio di carta A4 e stampare il profilo di taglio.
Al fine di supportare i colleghi che seguono i miei corsi, ho realizzato una struttura robotica che deriva da un precedente progetto che ho sviluppato per i miei studenti, si tratta della versione n. 6 del kit robotico che ho chiamato EduRobot, nominata “Black Panther”.
Ho pensato ad una struttura estremamente economica in cui, ad esclusione delle viti di serraggio delle varie parti, il resto dei materiali è costituito da schede di controllo, motori e sensori.
La struttura minima richiede almeno 3 livelli, ma è possibile innalzarla per aggiungere tutta l’elettronica necessaria per espandere le funzionalità del robot.
Tutti gli elementi sono stati stampati in 3D ed il materiale scelto è il PLA.
I costi complessivi di stampa, viti di serraggio e dadi, non supera i 10€.
Le funzioni che possono essere programmate sono le medesime dei più blasonati kit robotici in commercio, pertanto se la vostra scuola ha acquistato una stampante 3D, sarà sufficiente una manciata di elettronica a basso costo per realizzerete robot assolutamente inclusivo, sia per il portafoglio delle famiglie degli allievi che di quelle del docente.
Il cilindro di occupazione del robot ha un diametro di 135 mm e i motori sono esattamente centrati rispetto alla base del cilindro.
Per evitare spese aggiuntive al posto delle caster ball ho preferito utilizzare un elemento dotato di superficie curva, ovviamente tale elemento se lo desidera può essere sostituito da una caster ball metallica.
Sul terzo livello del robot sono stati già inseriti fori per fissare i microcontrollori: Arduino UNO R3 e BBC micro:bit e computer Raspberry Pi 3 o 4.
Sempre sul terzo livello nel caso si desidera utilizzare un BBC micro:bit, è possibile fissare una scheda motorbit.
Nel caso il controllo avvenisse con Arduino UNO R3 la scheda di controllo motori è costituita da un L298N che andrà impilato sulla scheda Arduino, secondo quanto indicato nel tutorial che segue.
Nei kit di base sul 3’ livello viene utilizzata una minibreadboard per facilitare la connessione tra i vari dispositivi elettronici.
Per entrambe le versioni il robot è dotato di un sensore ad ultrasuoni HC-SR04 fissato alla struttura. Per la valutazione della distanza dell’ostacolo si è preferito evitare l’utilizzo di un servomotore che facesse ruotare il sensore ad ultrasuoni al fine di ridurre i costi. La rotazione che valuta la distanza dell’ostacolo più vicino verrà svolta ruotando l’intero robot rispetto al suo baricentro.
Il robot è dotato di due sensori ad infrarossi da impiegare per la realizzazione di un robot segui linea.
Nella versione con scheda Arduino UNO R3 sarà possibile effettuare un controllo mediante scheda Bluetooth HC-05, il cui supporto potrà essere fissato sul terzo piano del robot.
Di seguito la lista dei materiali e le relative fotografie che ne dettagliano la costruzione delle parti meccaniche e delle schede, non viene dettagliata la connessione elettrica tra le parti e la programmazione, per ora riservato ai colleghi che frequentano o frequenteranno i miei corsi, ma molto probabilmente nel prossimo futuro, con un po’ di calma lavorativa estenderò a tutti la parte di spiegazione elettronica e programmazione.
Sto sviluppando corsi in cui mostro come, usando la medesima struttura robotica, sarà possibile controllare il robot mediante un Raspberry Pi oppure un Raspberry Pi Pico.
Per i colleghi insegnanti svolgerò nel prossimo futuro ulteriori corsi gratuiti a cui potrete iscrivervi attraverso la piattaforma ScuolaFutura, corsi che saranno svolti i diverse modalità: in presenza, MOOC e blended.
Per essere aggiornati sui progetti e sui corsi che svolgerò nel prossimo futuro vi invito ad iscrivervi al mio sito inserendo la vostra e-mail nel campo: “Iscriviti al blog tramite email” nella colonna destra in alto, in questo modo potrete essere aggiornati tempestivamente.
La sequenza di montaggio indicata di seguito è quella che secondo il mio parere vi consente di montare l’intera struttura in non più di 60 minuti, è essenziale però munirsi di cacciaviti a stella e pinza a becco lungo, ottimo sarebbe utilizzare un piccolo avvitatore.
In generale non è richiesta nessuna saldatura a stagno in quanto i motori (gialli) a 6V utilizzati possono essere acquistati anche con cavi già saldati, attenzione però che la connessione tra motore e cavi elettrici potrebbe essere delicata, pertanto si consiglia di serrare i cavi mediante una fascetta stringicavi, come dettagliato di seguito.
Se è necessario prolungare la lunghezza dei cavi è possibile adottare diversi metodi, quello che preferisco è l’utilizzo di connettori wago che possono essere acquistati con diverso numero di fori, nel caso di questo kit robot sono sufficienti wago da 3 fori.
Ovviamente, nel caso di rotture o disconnessione dei cavi dai poli del robot bisognerà per forza ricorrere alla saldatura a stagno.
La fotografia che segue mostra tutti gli elementi da stampare in 3D per le due versioni di robot.
Di seguito elenco materiali e sequenza di montaggio.
Tra le varie attività di questi giorni: supporto a colleghi di altre scuole (medie e licei) e colleghi del mio istituto del percorso meccanica e automazione sulla realizzazione di kit robotici didattici. Il kit è pensato per: la formazione docente, laboratori #STEAM, percorsi di #PCTO per le classi 3’ e per i ragazzi del biennio della scuola superiore, tutte le richieste potrebbero entrare a pieno titolo nel grande insieme dei progetti catalogati con la frase: “poca spesa tanta resa” frase che tra breve scriverò anche sulla porta d’ingresso del Lab. Territoriale.
EduRobot a.s. 22-23 è un piccolo robot da banco (per piani lisci), un cilindro che può crescere in altezza. La struttura prevede l’inserimento di schede Arduino, Raspberry Pi, BBC micro:bit, quindi adatto per più livelli scolastici. Dimensioni 135x135x134(con maniglia) mm nella configurazione mostrata nel video. Il costo di produzione dei singoli pezzi stampati in 3D e tagliati a laser al di sotto dei 10 Euro, è esclusa ovviamente l’elettronica. Per l’assemblaggio una manciata di viti M3 da 12mm e qualche dado M3. Tutti gli adattamenti e miglioramenti meccanici a carico degli studenti. I materiali utilizzati nel test: compensato e plexiglas. Tempo di progetto 1 ora e 30 min, a cui dovrò aggiungere con molta probabilità qualche minuto per correggere errori.
La versione preliminare di test nel video.
Presto la condivisione del progetto online.
P.S. sto pensando a qualcosa di più grande ed elaborato? Sì.
Qualche indiscrezione: “vacuum cleaner robot” e un “Assistant robot”
E’ possibile costruirne un kit di robotico a basso costo con materiali di recupero che abbia valenza didattica?
Come sapete nel mio caso la risposta è sì
Ho più volte proposto su queste pagine soluzioni di kit robotici che potessero essere sviluppate da colleghi insegnanti che, pur non avendo competenze elevate di informatica ed elettronica, fossero in grado di realizzare con semplicità, attività di robotica con i loro studenti. Recentemente ho svolto due edizioni del corso in Webinar: “Creare un kit robotico a basso costo”, dove ho sviluppato soluzioni con diverse tecnologie. Nell’ultima edizione ho presentato EduRobot Frisbee costruito con materiali diversi per far fronte ad ogni disponibilità economica della scuola. In questi giorni ne sto espandendo le funzionalità e per chi desiderasse tutti i progetti ed una proposta didattica è possibile seguire il progetto su Patreon.
P.S. Per i colleghi che hanno in passato seguito seguito il mio corso in Webinar è sufficiente che mi contattino direttamente via mail per avere tutti gli aggiornamenti del kit.
Grazie per tutti coloro che vorranno sostenere il mio lavoro.
Come probabilmente avrete avuto modo di verificare gestendo i due servomotori a rotazione continua, pur provenendo dal medesimo costruttore e impostando le medesime configurazione di velocità, hanno un comportamento non sempre identico. Ricordo che si tratta di apparati economici che devono rispondere a specifiche esigenze didattiche, ma in ogni caso è possibile effettuare alcune regolazioni che ne possono migliorare le prestazioni.
Un’altra funzionalità utile è quella dello start/stop del robot che potrebbe servire per evitare immediati movimenti non appena trasferiamo il codice sul robot.
In questa lezione vi dettaglio gli sketch di esempio, lasciando a voi modifiche e miglioramenti.
Regolazione dei motori
Per poter valutare la velocità e l’angolo di rotazione da impostare all’interno dello sketch è possibile attivare la funzione di calibrazione collegando a GND il pin 3, in questo modo sarà possibile dalla Serial Monitor verificare quali sono i giusti valori per:
velocità di rotazione;
durata della rotazione;
motore/i da impostare
e quindi ciò consentirà di impostare i parametri corretti per le funzioni:
orarioRobot()
antiorarioRobot()
Pertanto da serial monitor potremo comprendere come far compiere una rotazione di 90° in un senso, oppure come far avanzare di una certa quantità di centimetri il robot e molto altro, tenendo però bene a mente che tutto ciò dipenderà fortemente dalla carica della batteria.
La scelta del pin3 è puramente casuale se ritenete potete scegliere un altro pin digitale.
// inserimento da tastiera su Serial Monitor dei parametri di controllo
26
// separati da spazio o virgola
27
intvelocita = Serial.parseInt();
28
intdurata = Serial.parseInt();
29
intmotore = Serial.parseInt();
30
31
// funzione per il movimento dei servomotori con i parametri
32
// inseriti sulla serial monitor.
33
calMotoreRobot(velocita, durata, motore);
34
}
35
}
36
...
La prima parte della funzione calibrazione() esegue una sola volta la stampa sulla Serial Monitor dell’help che spiega come inserire i dati:
velocità (0-180), durata(ms), motore(1: DX, 2: SX, 3: SX+DX)
che sono tutti valori interi separati da virgola.
Nella parte restante del codice della funzione viene verificato con il metodo available() se sono presenti sulla seriale caratteri. Serial.available() restituisce TRUE se sono presenti caratteri e il corpo dell’if verrà eseguito. I valori inseriti vengono letti utilizzando la funzione parseInt() di cui trovate spiegazione approfondita con esercizi seguendo il link.
Tra i parametri che vengono passati alla funzione calMotoreRobot() è presente l’indicazione di quale/i motore/i devono essere controllati, questo parametro può assumere i valori: 1, 2, 3 e questi valori vengono utilizzati per selezionare, tramite i blocchi if corrispondenti, quale azione è da compiere. Nei commenti i dettagli di funzionamento.
motoreDX.write(calVel); // Rotazione oraria del motore DX
21
motoreSX.write(calVel); // Rotazione antioraria del motore SX
22
delay(calDurata);
23
motoreDX.write(90); // Ferma il motore DX
24
motoreSX.write(90); // Ferma il motore SX
25
Serial.println("Fine calibrazione motore DX e SX");
26
Serial.println();
27
}
28
}
29
...
La parte restante dello sketch riguarda funzioni già analizzate spiegate nelle lezioni precedenti.
Start/stop del robot
Questa semplice funzionalità viene ottenuta nel medesimo modo della calibrazione, utilizziamo il pin2 cortocircuitato a massa per evitare l’avvio del robot, secondo questa regola: