Iniciando com Teensy
1 Introdução
A linha Teensy são placas de desenvolvimento de microcontroladores completas baseadas em USB. Criadas pela PJRC a linha se constitui das seguintes placas:
A linha Teensy 2.0, utiliza microcontroladores AVR de 8 bits da Atmel a saber: ATMega32U4 (Teensy 2.0, mesmo microcontrolador do Arduino Leonardo) e AT90USB1286 (Teensy ++ 2.0), já a linha Teensy 3.0 e 3.1 usam microcontroladores Cortex-M4, baseados em ARM de 32 bits fabricados pela Freescale.
A linha Teensy 2.0 tem fama de oferecerer um baixo custo e alta qualidade sendo reconhecidas como uma excelente opção ao Arduino, mesmo até porque, além de poderem ser programadas em C, também podem ser programadas com Arduino, via addon para a IDE Arduino estável, chamado Teensyduino. Já a linha Teensy 3.0 e 3.1 suportam Arduino por padrão via Teensyduino.
2 Utilização
Não é necessário muito para começar a utilizar Teensy 2.0, basta conectar o cabo USB e ligar a placa, assim como no Arduino, a placa iniciará a piscar o LED, que nada mais é que um código de blink que já vem gravado no microcontrolador para fins de teste.
Quando você pressiona o botão de Reset da placa, ela carrega um bootloader, um código proprietário e fechado da PJRC chamado HalfKay, é ele quem gerencia o carregamento de novos programas para as placas Teensy através do Teensy Loader.
Sempre o código gravado é o primeiro a rodar na placa, mas para enviar código para a placa, é necessário o Teensy Loader, que nada mais é que um aplicativo disponível para diversos Sistemas Operacionais que implementa o protocolo do HalfKay.
O Teensy Loader é mandatório para trabalhar com o Teensy, para aqueles que irão programar diretamente em C ou para aqueles que irão trabalhar com Arduino ou outra linguagem que o Teensy tenha suporte (como é o caso de BASIC e Python).
3 Programando com C (AVR Libc)
Para iniciar a programação em C, é necessário instalar o WinAVR, disponível nas referências. A PJRC disponibiliza instruções e um exemplo de blinky alterado para responder a sinais de código morse em: http://pjrc.com/teensy/gcc.html
O código de blinky virá com um Makefile genérico que você pode usar em seus outros projetos, com poucas alterações, para ganhar tempo, basicamente, após instalar o WinAVR, simplesmente navegue via CMD do Windows e digite make, e o projeto será compilado, após isso, basta usar o Teensy Loader para fazer o upload do arquivo HEX para a placa Teensy.
O WinAVR é baseado em AVR Libc, por isso, é interessante para todos aqueles que desejam trabalhar com C, que estudem a referência da biblioteca disponível na seção de referências. O equivalente ao Blink do Arduino em C, tendo em vista que o led do Teensy está conectado ao pino D6, seria este código:
#include <avr/io.h>
#include <util/delay.h>
#define LED_CONFIG (DDRD |= (1 6)) // Configura a Porta D6 para OUTPUT (referente a pinMode)
#define LED_ON (PORTD |= (1 6)) // Seta o bit na porta D6 (referente a digitalWrite(pin, HIGH))
#define LED_OFF (PORTD &= ~(1 6)) // Limpa o bit na porta D6 ( referente a digitalWrite(pin, LOW))
#define CPU_PRESCALE(n) (CLKPR = 0x80, CLKPR = (n))
void main(){
CPU_PRESCALE(0);
LED_CONFIG;
while(1){ // loop infinito (referente ao void loop())
LED_ON;
_delay_ms(1000);
LED_OFF;
_delay_ms(1000);
}}
Para quem gosta de jogar mais pesado, é perfeitamente possível programar com o Atmel Studio 6, disponível nas referências, mas códigos de exemplo da Atmel podem ser incompatíveis com exemplos de WinAVR, tendo em vista que o bootloader da Atmel, chamado DFU, é diferente do HalfKay, se deseja usar o Studio, talvez seja melhor usar um kit oficial da própria Atmel.
4 Programando com Arduino (Teensyduino)
Para programar a linha Teensy 2.0, 3.0 e 3.1 utilizando Arduino, basicamente você deve instalar o Teensyduino como Administrador do Sistema, ele irá instalar o Addon, o driver para Serial e bibliotecas opcionais.
Vale ressaltar, que na linha Teensy 2.0 nem todas as bibliotecas de Arduino são compatíveis, é necessário verificar a lista de compatibilidade: http://www.pjrc.com/teensy/td_libs.html Porém, a linha 3.0 e 3.1 é completamente compatível com Arduino e o mesmo é padrão para programação do Teensy 3.0 e 3.1.
Claro que, ao encaminhar o código de exemplo Blink para a placa Teensy, é necessário saber em qual porta o led está ligado, no caso do Teensy ++ 2.0, você deve trocar o pino 13 pelo pino 6 e pronto, daqui, é só programar seus próprios projetos com Arduino!
5 Considerações Finais
Eu comecei por Arduino Uno, talvez levado pela popularidade da plataforma, mas sinceramente, se hoje eu tivesse que escolher uma placa para iniciar, pensaria seriamente em uma Teensy, pelo fato de serem mais baratas e oferecerem mais que o Arduino, a Teensy ++ 2.0 além de ser mais barata, utilizar um microcontrolador melhor, ainda possui 45 portas e pode ser programada por código de Arduino.
Além disso, oferecem host de USB, HID e muitas outras possibilidades, eis aqui uma vasta lista de projetos criados com Teensy: http://pjrc.com/teensy/projects.html Robôs, reposição de processadores, shield para Arduino, leitores e gravadores de eeprom, memórias nor/nand e muitas outras coisas interessantes!
E claro, são placas pequenas e baratas! Além disso contam com um excelente suporte num fórum de discussão privativo, onde o próprio criador da placa tem a atenção de responder questões, guiar projetos, atualizar software. Atualmente, mesmo podendo comprar diretamente da PJRC, eles ainda estão buscando distribuidores de placas originais na América Latina, como podemos ver: http://forum.pjrc.com/threads/23601-Official-Distributors
Specification | Teensy 2.0 | Teensy++ 2.0 | Teensy 3.0 | Teensy 3.1 |
---|---|---|---|---|
Processor | ATMEGA32U4 8 bit AVR 16 MHz |
AT90USB1286 8 bit AVR 16 MHz |
MK20DX128 32 bit ARM Cortex-M4 48 MHz |
MK20DX256 32 bit ARM Cortex-M4 72 MHz |
Flash Memory | 32256 | 130048 | 131072 | 262144 |
RAM Memory | 2560 | 8192 | 16384 | 65536 |
EEPROM | 1024 | 4096 | 2048 | 2048 |
I/O | 25, 5 Volt | 46, 5 Volt | 34, 3.3 Volt | 34, 3.3V, 5V tol |
Analog In | 12 | 8 | 14 | 21 |
PWM | 7 | 9 | 10 | 12 |
UART,I2C,SPI | 1,1,1 | 1,1,1 | 3,1,1 | 3,2,1 |
Price | $16.00 | $24.00 | $19.00 | $19.80 |
Referências
Página Oficial: http://www.pjrc.com/teensy/index.html
Fórum de Suporte: http://forum.pjrc.com/
Teensyduino: http://www.pjrc.com/teensy/teensyduino.html
WinAVR: http://winavr.sourceforge.net/
AVR Libc: http://www.nongnu.org/avr-libc/
Atmel Studio: http://www.atmel.com/microsite/atmel_studio6/
Comentar
Valeu, Sandro. Um excelente tutorial para nos introduzir neste produto. Obrigado. Espero ver o LDG comercialinzando produto.
Obrigado pelas Informações Sandro. Vou tentar adquirir destes locais indicados.
Abraço.
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)