Archivi categoria: programmazione

I genitori che insegnano ai propri figli a programmare

E’ fantastico come i figli, ma anche gli allievi ti diano motivo di studio e spesso questa azione è giustificata da un deficit dovuto ad una carenza del nostro sistema scuola che va ad una velocità certamente inferiore a quanto svolto in altri stati europei. E’ interessante ad esempio come “l’onda del coding” in Italia sia giunto circa una paio di anni dopo agli Stati Uniti e all’Inghilterra, ora il motto è: “W la programmazione” 🙂 basta pensare ad esempio a quello che sta succedendo con micro::bit (che avrò la fortuna di usare nelle prossime settimane) nella scuola inglese cosa credo “fantascientifica” da noi, ma in ogni caso nulla di male, l’importante è agire per i nostri allievi e cercare sistemi di innovazione didattica che possano più agevolmente inserirli nel mondo del lavoro. Come genitore spessissimo cerco di “raffinare” quanto già svolto dai miei figli a scuole e come ogni genitori cerco di aggiungere elementi, a mio avviso essenziali, che per carenze “strutturali” non vengono svolte a scuola.
Mi capita molto spesso di confrontarmi con amici genitori che chiedono i consigli più disparati: il miglior Istituto in cui iscrivere il figlio, il miglior indirizzo di studio o ancora lamentele o elogi sul tal collega o su un metodo didattico, insomma mi sento un po’ il parafulmine della situazione e caricato di responsabilità in quanto parliamo del futuro di bambini e ragazzi, ma in ogni caso anche se faticoso, il confronto è utile e permette di migliorarti, è bello poi quando ricevi mail come quella di Francesco Lacchia, che con il suo contributo attivo cerca di donare ai propri figli, ma anche ad altri qualcosa di più.

Questa la sua e-mail in merito all’articolo Insegnare ai bambini a programmare:

Mi sto documentando per insegnare un po’ di programmazione ai miei bambini (8-10 anni).

In merito al tuo articolo in oggetto, ho tradotto l’info-grafica in allegato. Se vuoi inserirla nel tuo articolo per chi non ha dimestichezza con l’inglese… e forse proprio chi avrebbe bisogno di essere edotto su questi temi, spesso è anche a digiuno di inglese.

Purtroppo vedo che anche molto del materiale interattivo che si trova on-line arriva da oltreoceano e non ha versioni in italiano. Questo è un po’ un limite per i bambini italiani. Infatti mi piacerebbe creare un sito per insegnare questi temi ai bambini… ma è solo un’idea embrionale… si vedrà. Intanto quest’estate metterò sotto Sara e Andro come cavie 🙂

Ciao e grazie per tutto il tuo materiale, le idee che fornisci ed induci!

Francesco

Un sincero grazie a Francesco.

Questa l’infografica (un click sull’immagine sul link o sull’immagine per aprire la versione completa).

insegnare-ai-bambini-a-programmare-small

Freedomotic – Open IoT Framework

freedomotic
Ricevo e volentieri pubblico la segnalazione di Mauro Cicolella che mi invia informazioni in merito a Freedomotic un framework open source per la domotica e l’IoT estremamente interessante e che per il livello di sviluppo mi permetto di porre in evidenza e sottoporlo ai moltissimi colleghi e studenti che si occupano di queste tematiche.

Ho letto quanto sviluppato e sono rimasto favorevolmente colpito e anche questa soluzione la proporrò il prossimo anno nelle mie classi 5′ sperando che alcuni utilizzino questo framework per sviluppare proprie tesine.

Nella Mail il Sig. Cicolella mi sottolinea:

Premetto che il nostro è un gruppo di appassionati del settore. Non siamo un’azienda nè un’associazione e l’attività è svolta in modo completamente gratuito anche se vorremmo trovare dei fondi che ci permettessero di finanziarla visto che può configurarsi come un progetto di ricerca di cui anche alcune università si sono interessate.
Stiamo lavorando con l’Università del Sannio ed Informatici senza Frontiere ad un’app per persone con disabiltà visive e/o uditive.

Spero sinceramente che ciò accada contribuendo almeno con questa segnalazione ad estendere ad altri l’uso di freedomotic.

Freedomotic is an open source, flexible, secure Internet of Things (IoT) development framework, useful to build and manage modern smart spaces. It is targeted to private individuals (home automation) as well as business users (smart retail environments, ambient aware marketing, monitoring and analytics, etc).
Freedomotic can interact with well known standard building automation protocols as well as with “do it yourself” solutions. It treats the web, social networks and branded frontends as first class components of the system.

Freedomotic can run on any OS with Java support (Linux, Windows, Mac, …). It can be deployed to the cloud, to servers, to a single standard PC, a PCs network, a network of embedded devices like Raspberry Pi, or a mixture of the previous, creating a distributed network.

Per maggiori informazioni vi rimando al sito di riferimento Freedomotic da cui potrete accedere a demo on-line, wiki dedicato e download sorgenti.
Un breve video di presentazione fatto in occasione dello Smart Home Now di Milano dello scorso 12 maggio.

Le slide di presentazione del progetto:

Interfaccia demo amministrazione:

freedomotic01

freedomotic02

freedomotic03

freedomotic04

In Bocca al Lupo attendiamo gli sviluppi.

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

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.

All’interno troverete programmi di apprendimento e tool noti come: Blockly, Blockly Games, Coder e Pencil Code e proprio su quest’ultimo 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