Un’App per iPad per mostrare i Robot più incredibili del mondo


Il magazine di tecnologia IEEE Spectrum ha da poco reso disponibile su App Store l’applicazione per iPad “Robot for iPad” in cui sono catalogati 126 robot provenienti da 19 paesi. L’applicazione include dati tecnici, immagini interattive, una timeline sull’evoluzione robotica e glossario. I robot possono essere visualizzati in modalità 360°, ricercati per tipologia, paese, data e dimensione.
L’applicazione viene aggiornato quotidianamente con notizie di IEEE Spectrum. Sono inclusi inoltre nell’app consigli su come incominciare lo sviluppo di sistemi robotici. Sono inoltre presenti autorevoli contributi audio tra cui quelli di Rodney Brooks e Colin Angle.

Per maggiori informazioni si consulti il sito di riferimento.

Programmazione C e non solo su Lego Mindstorm NXT 2.0

Mi è giunta in questa settimana la mail di Luigi B. che vi allego:

buongiorno,
scusi se la disturbo. le scrivo per chiederle un’informazione..sto pensando all’acquisto di Lego Mindstorm NXT 2.0 ma non sono riuscito a capire una cosa, è possibili programmare il robot in linguaggio C su sistema operativo Mountain Lion?

grazie mille e scusi il disturbo di nuovo

Ringrazio Luigi perché mi da spunto per realizzare un post riepilogativo su una domanda che spesso mi viene sottoposta da diversi utenti.
Risponderò brevemente non soltanto per quanto riguarda la programmazione in C, ma più in generale dando alcuni riferimenti sulle modalità di programmazione sull’NXT.

Premetto che per tutti gli ambienti di sviluppo ove non è prevista una versione per Mac OS X è possibile virtualizzare (in alcuni casi con qualche limitazione) ed usare l’ambiente di sviluppo specifico.

Per maggiori informazioni sugli ambienti di virtualizzazione fate riferimento a questi link:

Prima di ogni cosa vi rimando alla tabella di riepilogativa  (sistema operativo/ambiente di sviluppo) che trovate su teamhassenplug.org sito che vi consiglio vivamente di aggiungere ai vostri bookmarks.
Dovreste trovare sufficienti informazioni per incominciare a comprendere cosa possa essere necessario per voi o per la vostra classe se siete insegnanti.

Tra gli ambienti di sviluppo più noti segnalo:

ROBOTC
Poiché la richiesta è la programmazione in C allora ROBOTC è sicuramente una scelta da considerare, con esso potrete programmare in C standard sull’NXT. ROBOTC è stato sviluppato dalla Robotics Academy della Carnegie Mellon University e potete acquistarlo direttamente sul sito di riferimento. Per quanto riguarda la compatibilità co Mac OSX guardate la pagina How to install ROBOTC on a MAC

NXC … Not eXactly C
E’ un C-like per l’NXT. NXC deriva dall’ambiente di sviluppo Bricx originariamente creato per la programmazione sulla prima generazione Lego, il Lego RCX. NXC è l’evoluzione per la programmazione su NXT.

Di estremo interesse per un uso didattico:

PBLUA
Pblua è un linguaggio di scripting relativamente nuovo che sta ricevendo attenzione soprattutto a livello accademico.

leJOS NXJ – Java for Lego Mindstorms
leJOS è l’implementazione Java per l’NXT. Viene impiegato Java standard, ma con una libreria di classi più piccola in quanto la limitata quantità di memoria dell’NXT non potrebbe contenere tutte le librerie.

Centinaia di progetti elettronici da prelevare e studiare

Ricevo da Elettronica In la segnalazione che sul sito della rivista sono disponibili gratuitamente centinaia di progetti elettronici dal numero 133 (dicembre 2008) ad oggi. Alla raccolta di progetti si può accedere sfruttando il modulo di ricerca per categorie ed argomento.

WebApp Arduino – le mie lezioni di programmazione su Arduino in formato portable

La necessità di convertire le lezioni di programmazione su Arduino in una WebApp nasce dalla mia personale esigenza di sperimentare nuove tecniche di formazione improntate su una filosofia Open Source e sulla libertà di apprendere sempre ed in ogni luogo. Ritengo lo smartphone, più che il tablet, l’oggetto tecnologico più utilizzato da uno studente e disegnare una didattica che utilizza anche questo strumento deve, a mio parere, essere presa in seria considerazione, soprattutto perché l’apprendimento “portable” è istantaneo e può essere fruito comodamente in qualsiasi momento.

Da sempre, come più volte ho avuto modo di dire su queste pagine, assimilo il mio cellulare ad un “tricorder” che mi assiste e mi aiuta nella risoluzione di problemi e partendo da questa banale osservazione ho pensato di fare i primi esperimenti realizzando una WebApp su alcuni dei contenuti di questo blog che vengono consultati moltissimo dai lettori del sito.

In questa settimana ho studiato quale potesse essere il modo più rapido e meno dispendioso per creare documentazione didattica, ma anche applicazioni interattive su smartphone che potessero aiutarmi nel mio lavoro.

In genere quando si pensa ad applicazioni per dispositivi mobili si immagina di operare con applicazioni native, cioè usabili solamente da uno specifico dispositivo e quindi per supportare più dispositivi (iOS, Android, ecc…) bisognerebbe implementare la propria App su più sistemi operativi.

Per gli impiegni e per le risorse (in tempo e denaro) attuali di cui dispongo ho necessità di giungere in modo veloce al risultato e il miglior compromesso è, per ora, usare i framework per applicazioni web mobile, che possono fornire un’esperienza molto vicina a quella delle applicazioni native, con il vantaggio che si riesce ad essere “compatibili” su un buon numero di dispositivi e sistemi operativi diversi.

Il framework che ho utilizzato è jQuery Mobile compatibile con molte piattaforme, una griglia completa di compatibilità la potete trovare seguendo il link: Mobile Graded Browser Support.

Ho creato la WebApp in tre giorni, districandomi tra lavoro ed impegni familiari e sicuramente in essa potrete ritrovare alcune imperfezioni di fruizione o di contenuto, per questo me ne scuso fin d’ora, sarà mia premura correggere gli errori che mi segnalerete.
Ho pensato ad una App fruibile da cellulare iOS ed Android, l’uso su tablet non è ottimizzato, ma possibile (penserò più avanti ad una nuova release).

Per usare la WebApp Arduino collegatevi al seguente link:

www.maffucci.it/m/arduino/

Di seguito le pagine che in successione vi vengono mostrate.

Collegandovi al link sopra indicato vedrete la pagina al “passo 1” e dopo qualche secondo, “passo 2”, comparirà il bookmark bubble che vi proporrà di installare l’applicazione sul vostro iPhone (in realtà ciò che viene installato è un link alle pagie on-line):

Accettando di installare l’App vi verranno proposte le schermate “passo 3” e “passo 4”:

A questo punto verrà aggiunta l’icona “Arduino” come da “passo 5” e il tap sull’icona vi consentirà di aprile l’App come una applicazione nativa:

I passi per sistema operativo Android sono similari con l’unica differenza che non apparirà all’avvio il bookmark bubble.

All’interno troverete l’elenco delle lezioni e i link che vi condurranno direttamente alla pagina di riferimento Arduino su questo blog e al reference on-line del sito Arduino.cc, inoltre da tutte le pagine potrete inviare segnalazioni.

Nei prossimi giorni varierò ulteriormente le pagine aggiungendo contenuti ed ottimizzando il codice dell’App.

Spero che questo mio lavoro possa essere di vostro aiuto.

Un caro saluto.

Aggiornamento lezione – Appunti di programmazione su Arduino: tipi di dati

Nella lezione è stato aggiunto l’approfondimento sui possibili problemi a cui si può incorrere quando si confrontano valori in virgola mobile mostrando una possibile soluzione.

Vai alla lezione.