9.0 TOTAL SCORE

ti msp-exp430g2et launchpad development kit

Razvojni sistemi
Kvalitet izrade 9
Implementirana tehnologija 7
Ease-of-use 10
Odnos cena/performanse 10
PROS
  • Zamenjivi PDIP MCU
  • Širokoprihvaćena G2 verzija
  • Dobro dokumentovan
CONS
  • Vreme je donelo nove heroje
Bottomline

Razvojni sistem za 20 pinski PDIP mikrokontroler je više ne primamljivo rešenje za sve protoboard korisnike.

 

Ukoliko se odlučujete za prve korake u TI svetu i nemate iskustva ili ste već imali dodira sa Arduino ekosistemom, ovaj razvojni kit je pravi izbor. Po izuzetno niskoj ceni, dobićete kompletan funkcionalni kit sa kojim možete bez velikih briga uroniti u tajne filozofije TI 16-bitnih mikrokontrolera serije MSP430.

Kit je baziran na MSP430G2553 mikrokontroleru u 20-pinskom PDIP kućištu, pa je sam čip lako zamenjiv i ugodan za rad i dalji razvoj na protobordu. To je velika prednost u početnim projektima, posebno kada još istražujete i otkrivate mogućnosti novih arhitektura. MSP430G2553 mikrokontroler ima RISC „ultra-low power“ arhitekturu i izuzetno moćno jezgro za obradu podataka i izračunavanja. Na sve to, tu je je 10-bitni AD konvertor visokih-performansi.

MSP430G2553 ima 16-bitnu arhitekturu, a trajanje ciklusa izvršavanja instrukcije je 62,5 ns. Implementiran je stand-by režim i ultra-fast wake-up iz njega za manje od 1μs. Napajanje je u rasponu od: 1,8~3,6 V. Potrošnja struje u zavisnosti od moda rada je: 230μA/radni mod, 0.5μA/standby mod, 0.1μA/off mod (sadržaj RAM-a je sačuvan). Ulazna struja curenja na liniji porta je manja od 50 nA.

Ukoliko je ovo vaš prvi susret sa TI ili imate iskustva sa Arduino projektima, preporučujemo upotrebu Energia okruženja, koje je i pravljeno za da te prve korake učini najbezbolnijim. Nećete u njemu imati svu onu „moć“ i pristup svim parametrima MSP430G2553-a, ali vam, u prvim danima to neće nedostajati.

Preporučeno softversko razvojno okruženje je Code Composer Studio, sada u verziji 11. Ono je najkompletnije okruženje za sve serije TI mikrokontrolera i ukoliko planirate razvoj profesionalnih mehatroničkih uređaja, treba što pre sa hobističke Arduino-like platforme (Energia je sada u verziji 1.8.) preći na ovaj moćni paket. Dobro je da sve što budete uradili u Energiji možete i dalje koristiti i u CCS, jer potpuno integriše Energia projekte.

Mi smo, samo zarad ilustracije osnovnih mogućnosti napisali kratak projekat u Energia IDE-u i daćemo kod na kraju strane. Primer je jako jednostavan. Polazimo od toga da je na samom kitu na portu P1.0 postavljena zelena dioda, dok je na portu P1.6 postavljena crvena. Ako izanalizirate kod, videćete da smo portove P1.0 i P1.6 postavili da budu izlazni, a da smo port P1.3 postavili kao ulazni posrt. Na portu P1.3 na samom kitu nalazi se prekidač. Prilikom pritiska na njega, otpočinje kratka sekvenca od 5 ciklusa. U njoj crvenu diodu palimo i gasimo postepeno, analognim upisom, menjajući parametar brightness. Zelenu diodu „tretiramo“ digitalnim upisom i njeno stanje on/off naporedo menjamo suprotno od krajnjeg stanja crvene diode.

Sa svoja dva 8 bitna digitalna porta (sa tim da je jedan i analogan, a na izlazima drugog mogu se dovesti vrednosti sa ugrađenih tajmera – dva su u pitanju), watchdog-om i interaptima, low-power režimima, RX/TX izlazima i implementiranom I2C komunikacijom, ovaj mikrokontroler, pa samim tim i sam kit izuzetno je dobra osnova za upoznavanje sa načinima rada mikrokontrolera i step/servo motora, LCD ekrana, IR daljinskim upravljačima, SPI… nakon savladavanja ovih osnovnih „problema“ paljenja i gašenja LED dioda, sa kojim svi počinju.

Kod za demonstraciju je dovoljno samo kopirati u novi Energia projekat, povezati MSP-EXP430G2ET USB kablom koji se nalazi u kutiji, odabrati kontroler u meniju same Energije i učitati ga nakon toga u MSP. Kod je:

const int greenLED = P1_0;
const int redLED = P1_6;
const int button = P1_3;

int counter = 0;
int brightness = 0;
int loopbrightness = 0;
int fade = 5;
int fadeloop = 0;


void setup()
{
 pinMode(redLED, OUTPUT);
 pinMode(greenLED, OUTPUT);
 pinMode(button, INPUT_PULLUP);

 digitalWrite(redLED, LOW);
 digitalWrite(greenLED, LOW);
}
void loop()
{

    if (digitalRead(button)==LOW)
 {

        for (counter=0; counter<5; counter++)
    {
            digitalWrite(greenLED, LOW);
            for (fadeloop=0; fadeloop<50; fadeloop++)
                {
                 brightness = brightness +  fade;
                 analogWrite(redLED, brightness);
                 delay (30);
                }
            brightness = 255;

            delay(200);

            digitalWrite(greenLED, HIGH);
            for (fadeloop=0; fadeloop<50; fadeloop++)
                {
                 brightness = brightness -  fade;
                 analogWrite(redLED, brightness);
                 delay (30);
                }
            brightness = 0;

            delay(200);

            digitalWrite(greenLED, LOW);
            digitalWrite(redLED, LOW);
    }
 }
}
Aleksandar Dakić
Follow me