Ti Launchpad

Texas Instruments, famosissima azienda produttrice di ogni genere di circuito integrato, da alcuni anni si è interessata allo sviluppo di applicazioni con microcontrollori ripercorrendo quello che di fatto ha portato Arduino al successo, ovvero il fatto di essere open source e allo stesso tempo economico. Con la serie LaunchPad TI però si è superata, offrendo una piattaforma di sviluppo a bassissimo costo (meno di 10 euro) e assolutamente completa.

Mi riferisco in particolare al KIT TI LaunchPad con la scheda di sviluppo MSP-EXP430G2 che con un esborso inferiore alla decina di euro permette di avere un programmatore, debugger, 2 microcontrollori potenti a 16 bit con moltissime periferiche e un IDE di livello professionale. Il KIT di TI in italia può essere acquistato direttamente qui.

Ma analizziamo da che cosa è composto il KIT:

  • La scheda di sviluppo MSP-EXP430G2 (programmatore, debugger e scheda prototipo)
  • Microcontrollore a 16 bit MSP430G2452IN20 con 8KB di memoria flash
  • Microcontrollore a 16 bit MSP430G2553IN20 con 16KB di memoria flash
  • Cavo mini USB
  • Guida rapida di utilizzo
  • Connettori per PCB collegabili alla scheda
  • Quarzo da orologio a 32,768 kHz

L'ide di programmazione è scaricabile gratuitamente dal sito www.ti.com/launchpad  ed in particolare TI ci mette a disposizione gratuitamente i seguenti tool:
  • Code Composer Studio versione 4 (CCS) (incluso driver necessari)
  • IAR Embedded Workbench Kickstart
Ora in questo articolo non vi descrivo l'utilizzo dei tool della TI (di guide ne è pieno il web), ma di un programma che permette di programmare i micro MSP430 grazie alla scheda LaunchPad con le stesse modalità di un comune Arduino, ereditando addirittura librerie e modo di utilizzo.
Tale programma si chiama Energia ed è scaricabile qui http://energia.nu/ . Come vedete nella figura sotto il programma è identico all'IDE classico di Arduino e utilizzandolo vi accorgerete che a parte i pin di I/O tutto il resto è per la maggior parte identico.
PRIMO UTLIZZO DI ENERGIA
Innanzitutto colleghiamo tramite il cavetto miniUSB fornito il LaunchPad con un micro inserito ad una porta USB del PC. Se i driver del LaunchPad sono stati installati correttamente (tramite il software CCS o i driver TI) il LaunchPad dovrebbe essere riconosciuto e installato automaticamente dal sistema operativo (in questo caso windows). Una volta installato possiamo verificare l'installazione tramite la porta COM virtuale che il sistema operativo ha assegnato al LaunchPad. Tale porta COM viene usata sia per effettuare la programmazione, sia per comunicare direttamente con il micro durante l'esecuzione dell'applicazione. Questo permette di avere nel LaunchPad anche una potentissima interfaccia PC-MICRO con il vantaggio di poter controllare I/O ed eseguire operazioni tramite il comando diretto del PC oltre che autonomamente!
Per far comunicare correttamente Energia e le nostre applicazioni con il KIT LaunchPad è necessario girare guardando la scheda dritta i due ponticelli TX RX da verticale a orizzontale, pertanto dovremmo avere ponticellati due pin sopra e due pin sotto al connettore. Come visibile nella figura sotto.

Per verificare la porta COM in uso in windows è sufficiente andare in gestione dispositivi e nel menù porte COM e LPT dovremmo trovare la dicitura "MSP430 Application UART (COMx)" dove per x è il numero della porta COM (immagine sotto), se è così avete installato correttamente il lauchpad e sarete pronti a programmare con Energia. 
Provvediamo ora ad aprire Energia andando nella cartella scompattata ed eseguendo energia.exe, il programma si avvierà e non richiede alcuna installazione. Se siete dei perfezionisti come il sottoscritto potete anche copiare la cartella scompattata nella directory principale del sistema operativo (es. C:\) e da li creare un collegamento del desktop. In quest'ultimo caso è meglio avviare il programma con i diritti amministrativi.
Una volta aperto il programma fiondiamoci subito sul menù Tools > Board e selezioniamo il campo launchpad con la sigla di micro usato (nel kit sono presenti MSP430G2553 e MSP430G2452, la sigla è visibile sul micro stesso inserito nello zoccolo), poi andiamo in Tools >SerialPort e selezioniamo la porta COMx (dove x è il numero di porta) del launchpad che avevamo visto in gestione dispositivi alcuni momenti fa.
Una volta eseguito questi passaggi siamo pronti a scrivere il nostro primo programma sul launchpad. La struttura del programma è identica ad Arduino dove abbiamo la procedura setup che si esegue solo una volta all'avvio e la procedura loop che rimane in esecuzione continuamente all'infinito. L'unica accortezza da utilizzare riguarda l'assegnazione dei pin di I/O differente rispetto ad Arduino. Infatti gli I/O sono classificati sulla scheda LaunchPad come P1.1 P1.2 P1.3 etc e su Energia analogamente ad Arduino come semplici numeri (1,2,3). I numeri però non corrispondono alle porte di I/O pertanto è necessario usare delle sigle usate da Enigma che ci restituiscono automaticamente il numero di I/O. L'uso è paragonabile ai define in C e si tratta semplicemente di mettere al posto del numero di I/O la dicitura P1_1 (per l'I/O P1.1), P1_2 (per l'I/O P1.2) e cosi via. Ecco un semplice programma che si occupa di far lampeggiare il led e di scrivere "Hello World!" ogni secondo nella seriale virtuale del LaunchPad nel PC. Per vedere i messaggi sulla seriale basta andare nel programma Enigma in Tools > SerialMonitor oppure visualizzarlo con qualsiasi programma Terminal (es. putty). 
#define led1 P1_0 //Led1 su Launchpad
#define led2 P1_6 //Led2 su Launchpad
#define btn P1_3 //Bottone su Launchpad
void setup(){
  pinMode(led1, OUTPUT); //Configuro modalità output per I/O led1
  pinMode(led2, OUTPUT); //Configuro modalità output per I/O led2
  pinMode(btn, INPUT); //Configuro modalità output per I/O led2
  digitalWrite(led1, LOW); //Spengo i led
  digitalWrite(led2, LOW);
  Serial.begin(9600); //inzializzo seriale 9600bps
}
void loop(){
  digitalWrite(led1, LOW); //Alterno accensione led
  digitalWrite(led2, HIGH);
  delay(500); //attendo 500ms
  digitalWrite(led1, HIGH);
  digitalWrite(led2, LOW);
  delay(500); //attendo 500ms
  Serial.write("Hello World!"); //Invio al PC la scritta
  Serial.write(10); //A capo
  Serial.write(13);  
}
 
Come in Arduino una volta scritto il programma verifichiamo prima il codice con "Verify" e poi carichiamolo ed eseguiamolo sulla scheda tramite "Upload". Se tutto è avvenuto correttamente il programma nel campo informativo in basso ce ne darà conferma.

Una volta avviato il programma i 2 led del LaunchPad lampeggeranno alternativamente e attraverso il serial monitor di Enigma o con un qualsiasi altro terminal potrete vedere la scritta "Hello World!" ripetuta ogni secondo.
Nel video è presente il risultato del programma.
Spero di avervi spiegato nel migliore dei modi le possibilità offerte e le modalità di utilizzo senza annoiarvi. Buon Lavoro!
Comments  
RE: Sviluppiamo su TI LaunchPad con Arduino IDE
Sicuri che così non si danneggia la scheda msp430 lunchpad?
Risposta a Guest
Uno dei vantaggi principali è che il dispositivo costa molto meno e quindi in applicazioni in cui Arduino è esagerato e/o costoso può risultare utile il kit di TI. Altro vantaggio sono i consumi in quanto i progettisti di TI hanno creato questa piattaforma per essere utilizzata in progetti a bassissimo consumo con il micro che lavora a 3,3V. Come sempre dipende però dalle applicazioni.
curiosità
Che vantaggi ci sono a usare queste schede launchpad rispetto ad Arduino?
L'IDE è uguale....