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:

  • Teensy 1.0 (descontinuada);
  • Teensy ++ 1.0 (descontinuada);
  • Teensy 2.0;
  • Teensy ++ 2.0;
  • Teensy 3.0;
  • Teensy 3.1;

 

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 Oficialhttp://www.pjrc.com/teensy/index.html

Fórum de Suportehttp://forum.pjrc.com/

Teensyduinohttp://www.pjrc.com/teensy/teensyduino.html

WinAVRhttp://winavr.sourceforge.net/

AVR Libchttp://www.nongnu.org/avr-libc/

Atmel Studiohttp://www.atmel.com/microsite/atmel_studio6/

Exibições: 2659

Comentar

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)

Comentário de Sergio Jacob Cupertino de Castro em 27 fevereiro 2014 às 20:14

Valeu, Sandro. Um excelente tutorial para nos introduzir neste produto. Obrigado. Espero ver o LDG comercialinzando produto.

Comentário de jose tadeu aldrigue em 21 fevereiro 2014 às 12:07

Obrigado pelas Informações Sandro. Vou tentar adquirir destes locais indicados.

Abraço.

Comentário de Sandro K. S. Dutra em 21 fevereiro 2014 às 10:24
Olá José Tadeu, infelizmente a PJRC ainda não tem distribuidores oficiais na América Latina, eles estão buscando parceiros. Eu recomendei o Laboratório de Garagem e uma outra loja como possíveis distribuidores no fórum oficial da PJRC, mas não sei se vai dar em alguma coisa.

A minha Teensy++ 2.0 eu importei da própria PJRC, já a minha Teensy 3.1 estou importando com a OSH Park, pois lá está em promoção de $17,00 + $2,00 (envio), mais barato que na própria PJRC e é original, o próprio criador da placa fez o acordo de distribuição com eles: http://store.oshpark.com/products/teensy-3-1 Na PJRC você pagaria $19,80 + 9,00 (envio), então é aproveitar que me parece que o estoque promocional do OSH Park é limitado.
Comentário de jose tadeu aldrigue em 21 fevereiro 2014 às 8:00
Bom dia Sandro. Parabéns pelo post, muito interessante. Gostaria de lhe perguntar se é possível encontrar a linha Teensy no Brasil para comprar. Abraço

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço