Olá garagistas!
Muitos de nós ficamos travados quando o assunto é ARM. Primeiro pela complexidade e depois pelo custo.
Acima, uma opção a mais para iniciar facilmente com esses microcontroladores.
Consiste na placa "Freedom Board", com o microcontrolador ARM M0+ MKL25Z128VLK4 da Freescale.
Roda a 48 MHz, tem 128 KB de flash, 16 KB de SRAM, USB client e USB Host,
2xSPI,2xI2C,3xUART, 6xPWM,6xDAC, sensor de toque capacitivo, acelerômetro MMA8451Q
de três eixos, um LED RGB, e várias GPIO.
Abaixo as interfaces disponíveis:
Ela foi lançada no final do ano passado, como uma alternativa de baixo custo para ARM.
Porém a Freescale não oferecia uma IDE free para o desenvolvimento, apenas
uma versão "evaluation", com limitação de código, etc...
A ótima notícia para os garagistas é que o site mbed (www.mbed.org) anunciou uma parceria com a Freescale
e lançou o suporte para a placa com seu compilador online!
Sem restrições de uso, e com uma vasta gama de bibliotecas prontas para serem utilizadas!
Além disso, recentemente, a mbed tornou todo o compilador e o hardware Open Source,
para facilitar o projeto para placas standalone.
Abaixo 3 exemplos de programação, para entender o quão alto nível é o compilador mbed:
EXEMPLO 1 - HELLO WORLD (BLINK LED)
#include
"mbed.h"
int main()
{
DigitalOut gpo(PTB8);
DigitalOut led(LED_RED);
while (true) {
gpo = 1;
led = 1; // Off
wait(2);
gpo = 0;
led = 0; // on
wait(2); }
}
EXEMPLO 2 - SENSOR DE TOQUE CAPACITIVO
#include "mbed.h"
#include "TSISensor.h"
int main(void)
{
PwmOut led(LED_GREEN);
TSISensor tsi;
while (true)
{
led = 1.0 - tsi.readPercentage();
wait(0.1);
}
}
EXEMPLO 3 - ACELERÔMETRO
#include "mbed.h"
#include "MMA8451Q.h"
#define MMA8451_I2C_ADDRESS (0x1d1)
int main(void) {
MMA8451Q acc(PTE25, PTE24, MMA8451_I2C_ADDRESS);
PwmOut rled(LED_RED);
PwmOut gled(LED_GREEN);
PwmOut bled(LED_BLUE);
while (true) {
rled = 1.0 - abs(acc.getAccX());
gled = 1.0 - abs(acc.getAccY());
bled = 1.0 - abs(acc.getAccZ());
wait(0.1);
}
}
Abaixo uma comparação com a pinagem do Arduino:
E abaixo um exemplo de utilização com uma shield para Arduino:
Creio que seja uma ótima opção para iniciar no mundo dos ARM. Ao dominar o hardware com o compilador acessível da mbed, podemos futuramente estudar melhor a arquitetura interna dos ARM e utilizar o compiladores proprietários em aplicações mais sérias.
Abraço e bons estudos!
Comentar
Eu participei aqui em Porto Alegre de um Road show e achei bem interessante essa plataforma, até mesmo pelo custo que pode ser encontrada a a partir de R$ 40,00 e gostaria de conseguir mais materiais em português. Se alguém poder me indicar agradeço.
Boa Tarde,
Como complemento ao artigo, gostaria de sugerir as seguintes ferramentas totalmente FREE
para desenvolvimento voltado aos microcontroladores com core ARM:
_ Eclipse
_ CDT GNU Cross Development Tools
_ Zylin Embedded CDT
_ Code Sourcery
É super fácil usar, pois o plugins (CDT GNU Cross Development Tools e Zylin Embedded CDT) do eclipse
se encarregam de gerar o makefile, e o Code Sourcery é um toolchain com tudo oque é necessaria para
gerar um codigo ARM; e mais, esse combo dá suporte ao J-link que é uma ferramenta de depuração muito
valiosa, capaz de gerar break points em tempo de execução.
A unica coisa que precisamos nos preocupar é com o linker script (arquivo que basicamente declara as sesões de memoria do microcontrolador) e o startup (arquivo responsável pela inicialização do core e algumas declarações de endereços de interrupção).
Porém a tarefa descrita acima, tornou-se relativamente fácil com o Cortex Microcontroller Software Interface Standard (CMSIS) que consiste em uma padronização de bibliotecas e arquivos de configuração dos microcontroladores com core ARM cortex-XX.
Quem tiver interesse posso enviar por e-mail um .pdf que fiz com instruções de instalação do eclipse e das demais ferramentas citadas acima.
Boa tarde! Alguma recomendação de onde comprar? Obrigado.
Bem-vindo a
Laboratorio de Garagem (arduino, eletrônica, robotica, hacking)
© 2024 Criado por Marcelo Rodrigues. Ativado por
Você precisa ser um membro de Laboratorio de Garagem (arduino, eletrônica, robotica, hacking) para adicionar comentários!
Entrar em Laboratorio de Garagem (arduino, eletrônica, robotica, hacking)