Sono stato sgridato da un mio allievo 🙂
“Ma Prof. è mai possibile che per trovare la sua WebApp bisogna scrollare tutta la pagina?”
E come dargli torto…
Aggiunto banner in colonna destra.

Sono stato sgridato da un mio allievo 🙂
“Ma Prof. è mai possibile che per trovare la sua WebApp bisogna scrollare tutta la pagina?”
E come dargli torto…
Aggiunto banner in colonna destra.

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:
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.
Per quanto riguarda gli aspetti tecnici della scheda vi rimando al mio primo post su Arduino Due da cui potete ricavare tutte le informazioni sulla disposizione dei pin sulla scheda.

In questa prima lezione spiegherò come effettuare l’installazione dell’IDE in ambiente Mac OS X Lion e come procedere per effettuare il primo test.
Per una breve spiegazione sull’installazione su Windows (Xp e 7) seguite il link.
Effettuate il download dell’IDE per Arduino Due per il vostro sistema operativo seguendo il link
Da oggi tra le mie mani la nuova scheda Arduino Due e mentre scrivo questo breve post sto effettuando i primi test.


La scheda Arduino Due è basata sul microcontrollore Atmel SAM3X8E ARM Cortex-M3 (datasheet). Arduino Due è la prima scheda Arduino a 32 bit, è fornita di 54 piedini I/O digitali (di cui 12 utilizzati come uscite PWM), 12 input analogici, 4 UARTs (porte seriali hardware), ha un clock a 84 MHz, 2 DAC (digital/analog), 2 TWI (per la comunicazione I2C o Two Wire), jack di alimentazione da 2,1 mm con positivo centrale, una JTAG per la programmazione diretta del microcontrollore e per il debug, un bottone di reset ed uno di cancellazione.
A differenza di altre schede Arduino, la scheda Arduino Due funziona a 3.3V. La tensione massima che i pin I /O sono in grado di tollerare è di 3,3V. Fornire tensioni più elevate, come 5V a un pin I /O potrebbe danneggiare la scheda.
Per poter programmare la scheda è sufficiente connetterla alla micro USB di programmazione (fate riferimento a questa pagina). L’alimentazione viene fornita direttamente dalla USB oppure mediante un alimentatore esterno. Arduino Due è compatibile con tutti gli shield Arduino che funzionano a 3,3 V e compatibili con il pinout di Arduino Uno.
E’ disponibile una porta USB nativa da usare quando si desidera usare Arduino Due come una qualsiasi periferica USB (così come avviene per un mouse o una tastiera) oppure quando si vuole usare la scheda come host in modo che altri dispositivi si possano collegare ad essa (mouse, tastiere o telefoni Android) per connettere mediante micro USB altri dispositivi esterni. Quando la scheda è utilizzata come host USB è indispensabile alimentarla tramite connettore di alimentazione.
La USB nativa può essere usata come porta seriale virtuale usando l’oggetto “SerialUSB” nel linguaggio di programmazione di Arduino.
Caratteristiche tecniche:


Per maggiori informazioni tecniche e risorse per l’utilizzo della scheda:
IDE
Per poter programmare sulla nuova scheda è indispensabile utilizzareun IDE diverso da quello che attualmente viene usato per Aduino Uno, si tratta dell’IDE 1.5.0 disponibile già per tutte le piattaforme (Mac, Linux, Windows) .
Prossimamente ulteriori dettagli.

Serial.begin(rate)
Apre la porta seriale ed imposta la velocità di trasmissione (baud rate) seriale per trasmettere i dati. La velocità di trasmissione tipica per la comunicazione del computer è di 9600 bps (bps: baud rate per secondo)
Nota: attensione a non confondere la sigla bps con bit al secondo, nel nostro caso parliamo di boud, cioè simboli e ad ogni simbolo possono corrispondere più bit.
void setup()
{
serial.begin(9600); // apre la porta seriale ed imposta
// la velocità di trasmissione a
// 9600 bps
}
Nota: quando si usa la comunicazione seriale, i pin digitali 0 (RX) e 1 (TX) non possono essere utilizzati contemporaneamente.
Serial.println(data)
Stampa i dati sulla porta seriale (invia i dati alla seriale e li visualizza) seguito da un ritorno a capo automatico ed un avanzamento linea.
Questo comando ha la stessa struttura della Serial.print() ma è più semplice da usare per la lettura sul serial monitor.
Serial.println(analogValue); // invia il valore di
// analogValue
Nota: Per ulteriori informazioni sui possibili utilizzi della Serial.println() e della Serial.print() fare riferimento al manuale on-line su Arduino.cc.
L’esempio che segue legge un valore dal pin analogico 0 ed invia i dati ogni secondo al computer:
void setup()
{
Serial.begin(9600); // imposta la comunicazione seriale
// a 9600 pbs
}
void loop()
{
Serial.println(analogRead(0)); // invia il valore analogico
delay(1000); // fa una pausa di 1 secondo
}
Per le lezioni precedenti consultare la sezione Appunti di programmazione che trovate nella pagina Arduino di questo sito.