Archivi tag: arduino

Corso: i miei primi esperimenti con Arduino e la robotica

image

Un corso gratuito di coding e robotica in un paese da sogno 🙂 in cui sperimenterò per la prima volta l’uso di DotBot S.

In occasione delle attività estive del Comune di Calitri (Av), mio paese di origine, svolgerò un corso gratuito di 3 giorni su Arduino e Robotica presso l’IIS A.M. Maffucci di Calitri nei giorni 10, 11, 12 agosto prossimo dalle ore 9,30 alle 12,30.

Il corso è patrocinato dal comune di Calitri.

Per chi non conosce il paese, Calitri è uno stupendo paese dell’alta Irpinia noto ai più per l’evento Sponz Fest organizzato dall’eclettico artista Vinicio Capossela, luogo di antiche tradizioni, cibo ottimo ed un centro storico caratteristico, quindi ideale per chi desidera trascorrere vacanze in piena serenità.

Il corso

Il focus del corso è quello di fornire le nozioni di base per la prototipazione elettronica e robotica al fine di fornire le competenze necessarie per sviluppare in autonomia o in corsi successivi sistemi di automazione civili ed industriale.

Tali competenze verranno fornite utilizzate la scheda elettronica Arduino costituito da un microcontrollore e da un’elettronica aggiunta, utile per creare rapidamente prototipi sia per scopi hobbistici e semiprofessionali ma soprattutto utilissima in campo didattico per l’apprendimento della programmazione.

A chi è rivolto il corso

Rivolto a tutti quelli che non hanno mai usato Arduino e vogliono essere guidati a fare il primo passo, quindi si rivolge a tutti, studenti e non, ragazzi ed adulti a tutti coloro che hanno uno spirito maker.

Unico prerequisito necessario è la curiosità.

La finalità del corso è permettere di gestire e progettare in autonomia le le idee dei partecipanti, sfruttando a pieno la piattaforma Arduino. Il corso è basato sui componenti dell’Arduino Starter kit.

Metodologie

Il corso si svolgerà con metodologia laboratoriale, in modo cooperativo in aula, e l’intero processo di formazione sarà supportato da una piattaforma di formazione on-line, predisposta dal docente, sulla quale sarà realizzata una classe virtuale a cui saranno iscritti tutti i partecipanti al corso. In questo modo sarà possibile sviluppare sperimentazioni didattiche, nonché fornire indicazioni di articoli di approfondimento e svolgimento di attività pratiche sull’uso di tecnologie che saranno illustrate nei momenti in presenza.
Si cercherà di usare la tecnologia divertendosi, verrà stimolata la creatività la logica e l’autonomia ma anche la capacità di raggiungere un obiettivo e lavorare in team.

Requisiti tecnici

  1. Un PC portatile abilitato a navigare in wi-fi, il computer potrà essere dotato di sistema operativo Windows, Mac o Linux, non è necessario disporre di computer con prestazioni elevate.
    Il corso si svolgerà presso un laboratorio informatico attrezzato, quindi per chi non fosse dotato di portatile, sarà possibile utilizzare il computer messo a disposizione dell’organizzazione.
  2. L’Arduino starter kit acquistabile a questo indirizzo: https://store.arduino.cc/product/GKX01007?language=it. Per chi ne fosse sprovvisto il docente metterà a disposizione 15 kit
  3. IDE Arduino precaricato per il proprio sistema operativo. https://www.arduino.cc/en/Main/Software

Modalità di iscrizione

Avranno priorità di iscrizione al corso persone residenti o originarie di Calitri, nel caso di disponibilità verranno accettate persone di altri paesi.

L’iscrizione al corso puó essere fatto on-line seguendo il link:

https://www.maffucci.it/estate-calitri-2016/
nella stessa pagina potranno essere letti avvisi ed indicazioni utili per i corsisti.

Le iscrizioni termineranno il 08.08.2016

Nel caso sopraggiungano impegni che non permettano la partecipazione al corso si prega di comunicare tempestivamente in modo da permettere ad altri di frequentare il corso.

Nel caso di eccedenza di prenotazioni l’ente organizzatore valuterà la replica del corso durante il mese di agosto.

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

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

Progetto automazione e internet of things con Raspberry Pi

iot433-01
E’ da tempo che sto pensando di ristrutturare il laboratorio di domotica che ho nella mia scuola, aggiungendo agli apparati di note aziende del settore, anche sistemi fortemente open e gratuiti a basso costo e facilmente espandibile in modo che gli studenti possano poi avere uno spettro pi ampio sulle tecnologie disponibili. Ovviamente il lavoro per riformulare la didattica in tal senso enorme e quindi il mio intento era quello di assegnare una serie di tesine di maturit ad allievi di buona volont 🙂 tesine da usare come mattoni di partenza per aggiungere nei prossimi anni scolastici argomenti nuovi.

Fortunatamente ho avuto l’occasione di conoscere alcune settimane fa via e-mail Rocco Musolino, un bravissimo programmatore che mi ha inviato la segnalazione del suo splendido lavoro, che parte della sua tesi di laurea magistrale e tratta appunto del controllo di sistemi a 433mhz mediante Raspberry Pi, quindi se desiderate sperimentare “un vero IoT” provate il lavoro di Rocco Musolino, io lo far certamente con le mie classi 4′ e 5′ elettrici.

iot433-02

Grazie quindi a Rocco, che mi ha inviato la sua recensione che vi allego, per vi invito alla consultazione del suo sito su cui trovate un tutorial ben dettagliato che vi guider passo passo all’installazione del sistema.

Nelle prossime settimane sul sito di Rocco Musolino il PDF della tesi con il lavoro completo.

iot433-03

Di seguito la sua presentazione.

Il progetto iot-433mhz nasce con l’idea di offrire una dashboard o “centralina” di controllo per sensori e attuatori funzionanti sulla frequenza 433mhz, gi largamente diffusi sul mercato.
La dashboard costruita usando interamente tecnologie per il Web e rilasciata sotto licenza MIT, open source.
Persino l’unit di controllo, che gestisce la comunicazione seriale con il gateway di trasmissione radio (un arduino connesso a dei moduli radio operanti a 433mhz) realizzato in Javascript e basato su Node.js.

Node.js garantisce alte performance e un supporto multipiattaforma: Windows, Mac, Linux. Quindi se sul vostro sistema possibile installare Node.js ed il suo gestore di pacchetti NPM, allora il software pu tranquillamente essere installato velocemente ed eseguito senza alcun problema.

Sulla pagina git ufficiale del progetto presente la documentazione che meglio spiega come effettuare l’installazione sui vari OS e le relative dipendenze necessarie.
Sulla pagina dedicata all’Hardware invece, una panoramica sui moduli radio consigliati e i dispositivi radio con cui il software compatibile.
Sono molti i dispositivi radio con cui possibile interagire, prese telecomandate, sensori di movimento piroelettrici e sensori per porte e finestre magnetici.

La peculiarit del progetto, oltre a garantire una pratica dashboard di controllo, in linea con le guidelines di google sul Material Design, quella di aver la possibilit di sviluppare parallelamente un sistema che si appoggi alle API offerte da iot-433mhz, per estenderne le capacit o personalizzarne i casi d’uso.
Ogni singola API documentata sulla repository ufficiale. L’interazione immediata e da poco sono stati introdotti i webHooks, componenti che similmente alle API, estendono le capacit del sistema, permettono di registrare una URL all’interno del sistema stesso e far si che venga richiamata al verificarsi di un evento.

Un’altra feature interessante sono le notifiche Telegram. Telegram uno dei pochi client di messaggistica che permette la creazione di Bot automatici. Ogni istanza di iot-433mhz installata su un PC in grado di comunicare con un unico back-end che gestisce per l’appunto l’interazione con il bot telegram. Attivare le notifiche telegram per il proprio account semplice, basta andare nelle Impostazioni copiare la stringa che appare e incollarla al bot @my_iot_bot. Dunque ogniqualvolta un’allarme armata scatter, il sistema attraverso il bot di telegram lo far sapere all’utente in tempo reale.

Il progetto iot-433mhz attualmente giunto alla versione 1.0.24, e viene costantemente aggiornata per risolvere bug o introdurre nuove feature.
E’ utilizzabile in “produzione” e si contano gi oltre 1000 download (npm), 104 stars e 7 fork. Che non affatto male considerando si tratti di un progetto nuovo, altamente specifico, pensato per hobbysti e in generale appassionati di automazione e domotica.

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