Na imensa lista de "coisas que eu gostaria de ter tipo tempo para mexer" está o kit MSP430 Launchpad.
Há muito tempo atrás eu mencionei que a Texas tinha lançado um linha de microcontroladores MSP430 de baixo custo. Este ano ela lançou o complemento perfeito: uma plaquinha de baixíssimo custo (US$4,30) para quem quiser conhecer a plataforma.
A placa inclui um gravador/depurador e possui um soquete para espetar um MSP430 de 14 ou 20 pinos. A placa inclui um botão de Reset, um botão conectado a uma entrada digital, e dois LEDs (um verde e um vermelho) conectado a saídas digitais (através de um jumper, o que permite desconectá-los se necessário). Todos os sinais do microcontrolador estão disponíveis em conectores na borda, permitindo espetar uma placa de expansão.
O kit inclui, além da placa, dois microcontroladores (um MSP430G2211 e um MSP430G2231), um cabo USB para ligar a placa no micro, conectores para a placa de expansão e um cristal de 32KHz.
Para sair rodando, basta baixar a IDE. Existem duas opções, o IAR Embedded Workbench Kickstart e o Code Composer Studio. As duas opções são gratuitas e tem limitações no tamanho do código que são irrelevantes para a capacidade dos modelos inclusos.
Tem um wiki oficial com informações, dicas e projetos. Tem também um blog não oficial.
O único problema é que a única forma que eu conheço de adquirir o kit aqui no Brasil é na loja da Texas e é comum estar em falta. Não sei a promoção ainda vale, mas a Texas estava bancando o frete. Nós brasileiros temos que adotar alguns procedimentos especiais e já teve alguns casos do destinatário ter que bancar com os impostos e uma taxa de liberação alfandegária da transportadora. Quem quiser mais detalhes recomento olhar no grupo não oficial de projetistas Texas no Brasil.
Quando eu recebi a placa uma das minhas ideias foi montar um curso em cima dela. Enquanto eu olhava as espigas do trigo, o Alessandro Ferreira da Cunha já estava com o bolo esfriando na janela: em janeiro ele organiza um curso de 4 horas com o apoio da Texas; no custo de R$129,90 está inclusa uma Launchboard para o aluno usar e levar. Informações através do telefone (11) - 9536-3828.
05/03/11: Corrigido o código do microcontrolador
14 comentários:
Opa, o custo, material incluso e duração do curso me agradaram bastante!
Acho que se houver disponibilidade de turmas para antes de 15/01, estarei dentro!
Poxa! kit muito barato.. tinha preguiça de explorar esse uC pelo trabalho de ter que arranjar os aparatos necessários para gravar / rodar o uC.. e fora o trabalho de arranjar o proprio uC.. agora tudo ficou a mao e por um preço muito bom.. ja encomendei um.. obrigado pela dica Daniel
Daniel uma dúvida, no post você diz que nós brasileiros temos que adotar procedimentos especiais, quais seriam? e por onde você adquiriu o seu kit? pelo próprio site da texas? estava vendo aqui e a digikey tem para pronta entrega e só custa 5 cents mais caro.. só nao sei se o frete compensa..
Os procedimentos especiais estão descritos nas postagens do grupo não oficial da Texas; o principal deles é colocar o CPF na 2a. linha do endereco, no formato "Tax ID xxxxxxxx" (ver a thread "Os kits de desenvolvimento").
Eu comprei no site da Texas e recebi com frete e impostos bancados pela Texas.
Apenas complementando.. existe o mspgcc que é um compilador gratuito. Eu utilizo ele. Funciona muito bem, apenas o debugger (que eu uso o gdb) que é piorzinho, mas funciona em conjunto com o eclipse por exemplo. As versões para Linux costumam ser mais atualizadas do que as para Windows. No caso do Windoes você vai precisar ou de in Cygwin da vida ou um Mgwin. E mais um detalhe, o mais interessante é que o LaunchPad serve como gravador para outros MSP430.
Abs
Luís Felipe,
Boas lembranças. Infelizmente ainda não tive tempo de brincar com a placa. O Aylons do Garoa Hacker Clube montou uma verdadeira IDE com o Emacs e o toolchain MSPGCC.
da pra tirar o microcontrolador da placa e colocar em um circuito externo?
Sim, sem problemas pois o microcontrolador está socketado.
esse kit é bem barato sim, ótimo,mas é muito estranho.porque quando vc escreve o registrador P1DIR,a saida P1OUT é alterada? esse P1DIR não é para configurar entrada e saída igual o PIC? tenho 1 botão ligado ao BIT3,quando desloco bis,pelo port1 a chave passa a ignorar o deslocamento após algumas operações.to apanhando muito e o material didático a respeito é muito fraco.aprendi muito por aqui
O registrador PDIR comanda a direção do pino (0 = entrada, 1 = saída). Sem ver o seu código fica difícil saber o que está acontecendo. Uma possibilidade é você estar configurando o pino para entrada e ter habilitado o resistor de pull-up/pull-down no registrador PREN. Neste caso, o bit correspondente em POUT seleciona entre pull-down (0) e pull-up(1). Se você tem um botão ligado entre um pino e o terra,sem resistor externo, só vai funcionar se tiver pull-up.
//configuração do port 1
P1DIR |= BIT4 + BIT5 + BIT6 + BIT7; //bits de saída
//configuração do port 2
P2SEL &= 0; //desliga perifericos e configura porta como I/O
P2DIR |= 0; //configura todo o port como entrada
P2REN |= BIT7 + BIT6; //abilita resistores de pull-up
P1OUT |= BIT6 + BIT7; //inicializa port1
"quando coloco pull-up em p2ren o programa não reconhece o nivel logico.com o pic não acontece.aos poucos estou abtuando"
Eu pretendia fazer um teste, mas ainda não tive a oportunidade. De qquer forma, P2DIR |= 0 não altera P2DIR; deveria ser P2DIR &= 0 ou simplesmente PD2DIR=0.
consegui arrumar,estou fazendo um sistema de iluminação RGB para ambientes,acertei o programa e vou fazer o circuito.valeu pelas dicas,assim que ficar pronto envio o projeto caso queira posta-lo,para auxiliar o ensino dessa plaquinha muito legal.quero que ela seja popular,e quem sabe outras empresas usem o conceito.que saudades da porta paralela,que era fácil construir gravadores.....
fiz esse porgraminha para piscar led com o botão,esta funcionando normal:
unsigned char botao;
unsigned int tempo;
void main(void){
WDTCTL = WDTPW + WDTHOLD;
P1DIR |= BIT0 + BIT6;
P1IFG &= 0;
P1REN |= BIT3 + BIT1;
for(;;){
if(botão==(P1IN & BIT3)){
tempo++;
if(tempo > 10)
{
P1OUT = BIT0;
tempo=0;
}
}
if(botao==(P1IN & BIT1)){
tempo++;
if(tempo > 10)
{
P1OUT = BIT6;
tempo=0;
}
}
}
}
mas quando mudo BIT3 ou BIT1,para BIT4,BIT5... NÃO FUNCIONA!alquem pode ajudar?
Postar um comentário