Archivi tag: robotica

La rinascita del Lego Mindstorms NXT 2.0 – programmiamolo in C

Di recente ho scoperto che nella scuola presso cui lavoro sono presenti una serie di Lego Minstroms NXT 2 e come credo sappiate questa versione non può essere più programmata utilizzando l’ultima versione dall’IDE grafico di Lego, quello che attualmente viene utilizzato per per la versione EV3.
In questi giorni ho ripreso in mano la vecchia versione del mattoncino per capire come recuperarlo ed utilizzarlo in ambito didattico. In passati articoli su questo blog avevo segnalato tutti i possibili linguaggi di programmazione che possono essere utilizzati con tutte le versioni di Mindstorms, tra questi però prediligo il linguaggio C in quanto i miei allievi devono utilizzarlo in altri ambiti: microcontrollori, PIC ecc… quindi un primo passo potrebbe essere quello di imparare a programmare in C realizzando robot con l’NXT 2.

Premessa importante.

On-line trovate una serie di tutorial per usare il vecchio mattoncino, alcuni consigliano di utilizzare addirittura Windows XP su un vecchio PC o su PC virtualizzato, ovvimente io sconsiglio vivamente questa strategia soprattutto perchè da anni Microsoft non supporta più XP ed inoltre mina seriamente la sicurezza del computer (virus).

Prelevate dal link indicato di seguito l’ultima versione dell’NXT-G rilasciata dalla Lego al cui interno sarà già presente il driver corretto per il vostro sistema operativo Windows 10, driver che per altro sarà indispensabili per chi intende anche programmare in C il mattoncino. Nello stesso link trovate i riferimenti per gli utenti MacOS X.

Nel caso abbiate sul vostro computer una versione precedente dell’NXT-G non più funzionate potete procedere alla sola installazione del driver NXT Fantom Driver che risolve una serie di problemi di comunicazione, inoltre questo driver permetterà di sistemare tutti i problemi che si hanno con altri ambienti di sviluppo come: LejOS, RobotC, ecc…

Pagina di riferimento per il download

Windows 10

MacOSX

Veniamo ora all’ambiente di sviluppo in C.
Vi consiglio di utilizzare Bricx Command Center (BricxCC) ambiente Open Source adatto per tutte le versioni Mindstorms: RCX, NXT ed EV3. L’IDE di programmazione funziona per tutte le versioni di Window a 64 bit.

Nella pagina trovate il link “latest version” che NON dovete prendere in considerazione in quanto vi rimanda ad una serie di versioni NON compatibili con Windows 10.

SEGUITE invece il link test release, il nome è fuorviante, ma è quello giusto.

Dopo una serie di test ho verificato che la versione corretta è quella che fa riferimento al file: bricxcc_setup_33810_20130220.exe

E’ un file autoscompattante, all’interno ritroverete la seguente struttura:

Doppio click sul file BricxCC

Comparirà la finestra “Find Brick”

Queste le impostazioni:

Port: Automatic
Brick Type: NXT
Firmware: “Standard”

Nel caso abbiate la necessità di caricare l’ultima versione del Firmware sul mattoncino potete procedere in due modi:

Modo 1 (consigliato): utilizzate NXT-G ed aggiornate il firmware

Modo 2: da BricxCC, menù Tools > Download Firmware selezionate l’ultima versione che trovate nella cartella BricxCC: lms_arm_nbcnxc_132.rfw

Per quanto riguarda le impostazioni dell’ambiente BricxCC dal menù: Edit > Preferences…

Queste le impostazioni del pannello: Compiler > NBC/NXC

Bene! Il vostro vecchio mattoncino NXT 2 è rinato 🙂 pronto per realizzare tutti i robot che desiderate.

Buon Coding a tutti 🙂

About Robotics – A proposito di Robotica | European Robotics Week 2019

Dal 14 al 25 novembre 2019 si svolgerà in Europa e in altre nazioni del mondo la nona Edizione della European Robotics Week, una manifestazione che vuole mettere in evidenza l’importanza e i vantaggi della robotica in ogni settore. Numerosi sono gli eventi organizzati anche in Italia uno degli appuntamenti fissi è quello che a Torino organizza il Fab Lab di Torino insieme al gruppo Robot Side e per tale occasione sono stato invitato come relatore il 24/11/2019 il mio intervento è previsto per le 16,30.

Poichè sono insegnante il mio talk sarà centrato sulla didattica della robotica, sulle sperimentazioni che svolgo con i miei allievi dell’ITIS G.B. Pininfarina di Moncalieri e con i docenti che seguono i miei corsi di formazione. Porterò con me le automazioni che utilizzo ogni giorno, i kit robotici costruiti per far didattica e parlerò di progetti in cantiere.

Per maggiori informazioni sul programma e le modalità di iscrizione seguite il link all’evento su Facebook.

Vi aspetto 🙂

Coding a scuola con BBC micro: scatolotto:bit

Condivido la scheda di lavoro per la realizzazione di un’attività di Coding con micro:bit che utilizzo durante i miei corsi di formazione per scuole medie ed elementari e durante la formazione per docenti. L’attività è stata sperimentata con allievi di quarta elementare. Attualmente sono in fase di preparazione schede di lavoro per studenti di 3′ media in cui scatolotto:bit diventa sensibile al tocco ciò viene realizzato mediante l’utilizzo di nastro di rame adesivo e inchiostro conduttivo.

L’obiettivo dell’attività è quello di utilizzare come sistema di input il giroscopio e l’accelerometro della scheda.

OBIETTIVO: realizziamo il nostro primo robot con una scatola e facciamolo reagire alle sollecitazioni esterne

PASSO 1

Cancellare l’istruzione forever trascinandola sulla sezioni istruzioni oppure click con tasto destro sull’istruzione e successivamente “Delete Block”

PASSO 2

Dalla sezione Basic selezionare l’istruzione “show leds” trascinatela nell’area di programma all’interno del blocco “on start” e disegnate una faccina che ride:

PASSO 3

Dalla sezione Input selezionare l’istruzione “on shake” e trascinatela nell’area di programma

PASSO 4

Dupilcate quattro volte l’istruzione “on shake” e dal menù a discesa selezionate: “logo down”, “screen up”, “logo up”, “free fall” ed inserite all’interno di ciascuna il disegno di un quadrato, di una faccina triste, di una faccina indifferente, una faccina che ride ed un quadrato grande, così come appare nelle immagini che seguono:

PASSO 5

Fate click su Download per trasferire il programma sul micro:bit

PASSO 6

Inserite il micro:bit all’interno di una scatola e per rendere più stabile il tutto, con dello scotch fissate la batteria ed il microbit come indicato nell’immagine, fate attenzione a non incollare lo scotch sopra la scheda

PASSO 7

Collegate la batteria al micro:bit e provate a muovere il vostro piccolo robot. Ricordate di personalizzare il robot con colori oppure incollando oggetti, potreste ad esempio aggiungere delle braccia e delle gambe, oppure realizzare dei capelli con del filo di lana.

PASSO 8

Aggiungiamo la funzione che aggiunge una faccina triste rivolta a destra e a sinistra quando il robot viene ruotato di 90° a destra o a sinistra. Al programma precedente aggiungere le istruzioni:

Programma completo

Proposte di esercizio

Prerequisiti

Aggiungere un piccolo altoparlante, in alternativa le cuffie del cellulare e collegarlo come riportato nell’immagine che segue tra il contatto 0 e il contatto GND del micro:bit

Esercizi

  • Far emettere una melodia musicale quando si avvia il micro:bit
  • Far emettere una nota musicale diversa per ogni posizione del micro:bit

Suggerimento

Per rendere più agevole l’utilizzo in classe, allego questa scheda di lavoro impaginata in formato PDF.

scheda di lavoro – scatoletta:bit (PDF)

Buon Coding a tutti 🙂

Il Coding con il nuovo Scratch 3: per una didattica attiva – 2ª edizione

Innegabile, l’uso di Scratch interessa tantissimo, ne ho continuamente riscontro anche quando svolgo corsi in presenza. Appassionano tantissmo le nuove possibilità di connessione ai dispositi esterni: Lego Mindstorms Ev3, Lego WeDo 2.0, BBC micro:bit, MakeyMakey e molte delle domande che mi sono state fatte durante la passata edizione riguardavano l’interazione con questi kit didattici utilissimi per fare Coding e Robotica.
Ecco che la proposta di Tecnica della Scuola non si è fatta attendere e pertanto condurrò dalla prossima settimana un corso che ha i medesimi contenuti, però metterò ancor di più in evidenza le nuove caratteristiche di interattività con nuove proposte di sperimentazione.

Nel caso foste interessati si solgeranno 4 incontri in webinar di 2 ore ciascuno per un totale di 8 ore di formazione

  • 
Mercoledì 8 maggio 2019 – Ore 17.00/19.00
  • Mercoledì 15 maggio 2019 – Ore 17.00/19.00
  • Giovedì 30 maggio 2019 – Ore 17.00/19.00
  • Venerdì 31 maggio 2019 – Ore 17.00/19.00

Per i contenuti e per la la modalità di iscrizione vi rimando al sito di Tecnica della Scuola.

ROB-O-COD – Linguaggi di programmazione alternativi per LEGO MINDSTORMS EV3

Durante le attività di prove e registrazione della trasmissione ROB-O-COD negli studi televisivi di Rai Gulp ho portato con me la mio essere insegnante 🙂
Come sicuramente saprete il software di Lego di programmazione è un ottimo strumento,  adatto per tutti gli studenti che incominciano a programmare, ma il confronto con gli allievi mi ha portato a consigliare la sperimentazione di altri linguaggi di programmazione da utilizzare con l’EV3. Ho ritenuto il caso di realizzare un post in cui segnalare alcune soluzioni, che vanno ad integrasi alle risorse già segnalate in un precedente articolo di qualche anno fa.

MakeCode
Microsoft MakeCode è una piattaforma di programmazione online in grado di programmare l’EV3 e altri dispositivi elettronici, come ad esempio BBC micro:bit. MakeCode utilizza i blocchi grafici simili a quelli utilizzati in Scratch oppure la programmazione JavaScript.

Scratch
Scratch è sicuramente tra i linguaggi di programmazione a livello didattico più conosciuti. Nell’ultima versione, Scratch 3, l’utilizzo dell’EV3 è pienamente integrato e supportato, trovate ulteriori informazione su questo sito. Per maggiori informazioni seguire anche il link: https://scratch.mit.edu/ev3. Poiché so che molti colleghi di scuola elementare utilizzano Lego WeDo e desiderano sperimentare attività di gara simili a quelle proposte in ROB-O-COD, vi rimando per maggiori informazioni alla pagina specifica di Scratch per l’uso di WeDo 2.0 https://scratch.mit.edu/wedo

Python for EV3 (segnalazione di Gianluca Cannalire)
Programmare in Python su EV3 non è stato mai così semplice! Dal sito ufficiale Lego sarà sufficiente prelevare ed installare l’immagine MicroPython per EV3 su qualsiasi scheda micro SD, al riavvio del vostro Brick EV3 potrete immediatamente incominciare a programmare. Sul sito Lego documentazione completa con esempi.

LeJOS
LeJOS (che si pronuncia come la parola spagnola “lejos” che tradotta in italiano è “lontano”) è una Java Virtual Machine che supporta Java. Con LeJOS potrete programmare EV3, NXT e RCX.

Bricx Command Center 3.3 (segnalazione di Maurizio Pelizzone)
Bricx Command Center (BricxCC) è un IDE di programmazione open source, che permette la scrittura del programma, la compilazione e il trasferimento sul robot. L’IDE è gratuito e funziona su sistemi operativi Windows. BricxCC consente la scrittura in diversi linguaggi di programmazione tra i più noti l’NXC molto simile al C.

OpenRoberta
Open Roberta è un linguaggio di programmazione gratuito, cloud-based (quindi non avrete necessità di installare nulla sul vostro computer), funziona trascinando in un’apposita area di programmazione dei blocchi funzionali (ricorda un po’ Scratch) e potrete programmare robot LEGO EV3 e NXT.

RobotC
RobotC è un linguaggio di programmazione basato su C con un debugger software completamente integrato che supporta una vasta gamma di piattaforme hardware, potete utilizzarlo per Lego EV3, NXT, RCX. Sul sito di riferimento trovate moltissima documentazione.

Swift Playground
Swift Playgrounds è un ambiente di sviluppo integrato solo per iPad progettato esclusivamente per imparare a programmare con il linguaggio di programmazione Swift. In Swift Playground, potrete programmare il vostro robot, raccogliere informazioni da sensori e azionare motori. Per gli insegnanti che volessero utilizzare questo linguaggio di programmazione ed avere delle sperimentazioni da far svolgere agli studenti vi consiglio il libro gratuito: LEGO MINDSTORMS EV3 Animal Rescue Teacher’s Guide

EV3Python
EV3Python per tutti gli utenti che hanno dimestichezza con la programmazione in Python questa è una validissima soluzione per controllare vostro robot Lego Mindstorms EV3. Avrete necessità di utilizzare Microsoft Visual Studio Code

EV3 Basic
EV3 Basic è un linguaggio di programmazione testuale gratuito che non richiede nessuna modifica del firmware Lego brick o dell’installazione di uno specifico sistema operativo da installare sul brick. Utilizza Microsoft Small Basic. EV3 Basic è compatibile con tutti i motori e sensori EV3 e NXT e dispositivi bluetooth e Wifi Lego compatibili. Small Basic è disponibile in 17 lingue e l’estensione EV3 è disponibile in inglese, tedesco, spagnolo e francese.

EV3dev
EV3dev non è un linguaggio di programmazione, ma un sistema operativo basato su Linux Debian in grado di eseguire programmi realizzati con moltissimi linguaggi di programmazione inclusi C ++, Node.js e Python. Sul sito di riferimento trovate moltissime guide.

CoderZ
CoderZ ambiente di simulazione 3D per robot EV3. La programmazione può essere fatta con Blockly o Java. CoderZ è un prodotto commerciale e viene offerta la possibilità di utilizzarlo in prova per 14 giorni.

LabVIEW
LabVIEW per LEGO MINDSTORMS (LVLM) e LabVIEW for Education (LV4E) sono  ambienti di programmazione visuali. Il software di programmazione grafica standard di di Lego è stato realizzato usando LabVIEW, quindi LVLM rappresenta forse il passo successivo, soprattutto se state operando con studenti dei primi anni delle superiori. Troverete un’ambiente di sviluppo estremamente potente e versatile.

Per maggiori informazioni:

Buon Coding a tutti 🙂