Trinket - Uma pequena poderosa placa compatível com Arduino

Desde a criação da plataforma Arduino, como um projeto open source, muitas variações de placas foram criadas para atender determinados objetivos. A comunidade aderiu à iniciativa de hardware livre e contribui para projetos ainda mais interessantes. Além da comunidade, muitos dos fabricantes de hardware, entre eles a Sparkfun [1] e Adafruit [2], foram grandes contribuidores para o crescimento dessa iniciativa.

 

Tais empresas ajudaram no crescimento da comunidade contribuindo com tutoriais e projetos que auxiliaram os entusiastas da área. Vale a pena acompanhar os tutoriais e projetos disponibilizados pela SparkFun [3] e Adafruit [4].

 

Os projetos foram evoluindo com o passar do tempo e foram surgindo aplicações mais interessantes como o caso dos wearables, a eletrônica vestível.

 

A Adafruit aderiu ao movimento wearables criando hardware e técnicas para customizar roupas e acessórios. Para atender a essa demanda, foram criados placas como a FLORA [5] e a GEMMA [6], placas Arduinos compatíveis focadas no uso para wearables.

 

Seguindo a mesma tendência de redução de tamanho e aplicações de baixo custo, a Adafruit desenvolveu a Trinket [7], uma pequena placa Arduino compatível que pode ser utilizada em diversos projetos onde há necessidade de poucos pinos, tamanho reduzido ou baixo custo.

 

Neste artigo vamos explorar o hardware da Trinket exibindo seus recursos e detalhes de projetos. Usaremos para testes uma Trinket 5V [8], que foi adquirida em parceria com a loja FILIPEFLOP [9], fornecedora deste hardware.

 

 

A Trinket

 

A Trinket é baseada no microcontrolador ATtiny85 da Atmel [10], que possui apenas 8 pinos, sendo 2 de alimentação e 6 para I/O. Este pequeno microcontrolador possui 8 KB de memória de programa (FLASH), 512 bytes de memória de dados (SRAM) e 512 bytes de EEPROM. Dos 8 KB de memória Flash disponíveis,  2,75 KB são usados para o bootloader e 5,25 KB estão disponíveis para armazenamento do programa.

 

A figura 1 apresenta a pinagem do microcontrolador ATtiny85:

 

figura1- pinouts ATtiny85

Figura 1 - pinagem ATtiny85

 

A figura 2 exibe a pinagem da Trinket:

 

Figura 2 - trinket_Trinket_5VFigura 2 - pinouts Trinket [11]

 

A Trinket, assim como a maioria dos Arduinos possui um conector USB para alimentação e para upload do programa para placa. No caso foi utilizado um conector mini-USB. Infelizmente a Trinket não possui interface serial, como a maioria dos Arduinos, dessa forma não é possível utilizar o terminal serial, para debugging ou enviar/receber dados.

 

A placa possui 2 leds de indicação, com as seguintes funções:

  • LED Verde: Indica que a placa está alimentada;
  • LED Vermelho: possui 2 funções. Está ligado ao GPIO 1 e pode ser utilizado como LED indicativo de uso geral, assim como o LED ligado ao pino 13 do Arduino UNO. A outra função é para indicação do modo Bootloader. Ele pulsará enquanto a placa estiver nesse modo.

 

O botão de reset utilizado para iniciar o bootloader quando o mesmo for pressionado e a Trinket  estiver ligada ao computador. Caso contrário ele simplesmente reiniciará o programa.

 

A Trinket é vendida em duas versões, uma para 3V e outra para 5V. A única diferença, na pinagem, está no pino de saídas de tensões, 3V e 5V conforme figura 3 a seguir:

 

figura 3 - 3V e 5V

Figura 3 - Diferença entre versão 3V e versão 5V [11].

 

A Trinket possui poucos pinos, porém com funcionalidades compatíveis aos Arduinos maiores, sendo ideal para aplicações enxutas.

 

 

Pinos de alimentação

 

BAT+: Utilizado para alimentar a placa através de uma fonte externa. Você pode usar fonte, bateria ou até um painel solar, desde que não ultrapasse a tensão máxima de 16V. Nesse pino é conectado o sinal positivo (+) da fonte externa. O sinal negativo (-) da fonte deve ser ligado ao pino GND. Para a Trinket de 3V a tensão mínima recomendada é 3,5 V, já para a placa de 5V é de no mínimo 5,5 V. Este pino possui proteção contra inversão de polaridade da fonte. Serão abordados esses detalhes de hardware mais a frente.

 

USB+: Nesse pino está presente a tensão proveniente da USB. Pode ser utilizado para alimentar outros dispositivos ou até mesmo para detectar se a placa está sendo alimentada pela USB. Geralmente a USB do PC pode fornecer até 500 mA de corrente.

 

GND:  pino de tensão comum da alimentação e sinais digitais e analógicos, negativo da fonte, terra do circuito.

 

3/5V: saída de tensão regulada podendo fornecer até 150 mA para ambas as versões.

 

 

Pinos de I/O

 

A Trinket possui apenas 5 pinos para interface com o mundo externo. Apesar da pouca quantidade de pinos disponíveis é possível utilizar estes como entradas/saídas digitais de propósito geral, entradas analógicas, saídas PWM e ainda comunicação SPI e I2C. A seguir serão apresentadas as características de cada pino:

 

  • GPIO #0 - Este pino é conectado ao pino PB0 do ATtiny85. Pode ser utilizado como entrada/saída digital, como saída PWM, como pino SDA da I2C ou MOSI da SPI;
  • GPIO #1 - Este pino está conectado ao pino PB1 do ATtiny85. Pode ser utilizado como entrada/saída digital, como saída PWM ou como pino MISO da SPI. Também está conectado ao LED vermelho na placa, assim como o pino 13 da Arduino UNO;
  • GPIO #2 - Este pino está conectado ao pino PB2 do ATtiny85. Pode ser usado como entrada/saída digital. Também pode ser usado como entrada analógica (A1), como pino SCL da I2C ou como SCLK da SPI;
  • GPIO #3 - Este pino está conectado ao pino PB3 do ATtiny85. Também é utilizado para comunicação USB durante o bootloader. Pode ser utilizado como entrada/saída digital ou também como entrada analógica (A3);
  • GPIO #4 - Este pino está conectado ao pino PB4 do ATtiny85. Também é utilizado para comunicação USB durante o bootloader. Pode ser utilizado como entrada/saída digital, saída PWM ou entrada analógica (A2).

 

Os pinos 3 e 4 estão ligados ao conector USB e são utilizados durante o modo bootloader. É recomendado utilizar esses pinos como saídas digitais para que não interfiram durante o processo de bootloader. Caso sejam utilizados como entradas digitais, deve-se certificar que não estarão sendo acionados durante o bootloader. Se for possível, desconecte-a do circuito.

 

 

RESET

 

O pino RST está conectado ao botão de reset e também pode ser utilizado para entrar no modo bootloader, quando a placa está conectada ao PC ou reinicia o programa caso não entre no modo bootloader. O reset é ativo em nível 0.

 

A tabela 1 a seguir resume as funcionalidades dos pinos:

 

Tabela 1: Resumo de recursos dos pinos da Trinket

tabela1

 

Agora vamos analisar o esquemático da Trinket tanto para a versão de 3V quanto para a versão de 5V. A diferença de hardware nas duas versões está relacionada basicamente ao regulador de tensão. O regulador de tensão utilizado é da família de LDOS da Micrel, o MIC5225 [12]. A figura 4 exibe os circuitos de regulação lado a lado:

 

Comparação reguladores

Figura 4 - Circuitos de Regulação

 

Note que em ambos os circuitos a tensão da bateria é aplicada antes do regulador. No circuito de 3,3V existe dois diodos para proteção de reversão de tensão entre USB e fonte externa.

 

No circuito de 5V a tensão proveniente da USB não passa pelo regulador e alimenta diretamente o circuito.

 

O esquemático completo pode ser baixado diretamente no site da Adafruit, tanto para versão 3V [13] quanto para a versão 5V [14].

 

No video a segui, Lady ada [15] apresenta os detalhes da Trinket [16]:

 

 

Nos próximos artigos vamos abordar os detalhes da IDE para utilização da Trinket assim com alguns projetos bem interessantes utilizando essa poderosa plaquinha.

 

E você leitor, já utilizou a Trinket ou algum projeto similar utilizando o ATtiny85? Deixe seu comentário, por favor!

 

 

Para aprender mais

 

Arduino - Primeiros Passos

Arduino - O documentário

Placas Arduino - trajetória até o UNO

Arduino UNO

Arduino - Entradas/Saídas digitais

Arduino - Entradas Analógicas

Arduino - Saídas PWM

Arduino - Comunicação Serial

Arduino - ArduBlock

Arduino no Proteus 8.1

Simulador de Arduino: Virtual Breadboard

Arduino Leonardo

Arduino MEGA 2560

Acionamento de uma lâmpada com Arduino

Arduino - Controle de uma lâmpada com LDR

Placa Arduino da Robocore - BlackBoard

Criando suas próprias bibliotecas para Arduino

Arduino UNO - Taxa de amostragem do conversor A/D

Arduino UNO - Sensor de temperatura interno

Medindo o nível de água com Arduino

Comunicação Serial com C# e Arduino - Parte 1

Comunicação Serial com C# e Arduino - Parte 2

Arduino: Expandindo os I/Os - Parte 1

Arduino Esplora

Arduino - Teclado touch capacitivo

Arduino - Interface com acelerômetro e giroscópio

Arduino: RS-232/RS-485 - Hardware

Trinket - Uma pequena poderosa placa compatível com Arduino

Nova Arduino Zero Pro - Disponível no site arduino.org

Embrio: Uma ferramenta de programação visual para Arduino

Comunicação serial com Arduino utilizando Qt5 Console Application

Utilizando microcontroladores para controle de conversores DC-DC personalizados, parte II

Móveis de escritório + IoT - Uma impressora de recibo com NFC e Wifi

LightBlue Bean - Placa compatível com Arduino

BR-Arduino.org: Sua nova fonte de conhecimento sobre Arduino

Shield Arduino YÚN

Arduino Yún

Novo Shield Arduino Wi-Fi com controlador Atmel

Python + Arduino - Comunicação Serial

Arduino vs Raspberry Pi: entenda as diferenças

Papilio - Arduino + FPGA

Intel Galileo Gen 2 - Placa Arduino

Arduino TRE Developer Edition - Lançamento!

Novo Arduino - Arduino Zero lançado

Intel Galileo - Placa Arduino

Arduino TRE

Arduino Due

Comunicação Serial Java + Arduino

UDOO - Arduino, Linux e Android em uma mesma placa

 

 

Referências

[1] - Sparkfun

[2] - Adafruit

[3] - Learn SparkFun

[4] - Learn Adafruit

[5] - Adafruit FLORA

[6] - Adafruit GEMMA

[7] - Adafruit Trinket

[8] - Trinket 5V - Loja FILIPEFLOP

[9] - Loja FILIPEFLOP

[10] - datasheet ATtiny85

[11] - Introducing Trinket

[12] - MIC5225: Ultra-Low Quiescent Current 150mA µCap Low Dropout Regulator

[13] - esquemático Trinket 3V

[14] - esquemático Trinket 5V

[15] - About Adafruit

[16] - Introducing the Adafruit TRINKET

 

Créditos imagem de destaque [11].