Trinket - uma pequena e poderosa plaquinha compativel com Arduino
Trinket – Uma pequena poderosa placa compatível com Arduino
Veja este artigo e conheça a Trinket, uma placa, pequena e muito poderosa, que é compatível com o Arduino.
Este post faz parte da série Placas Arduino. Leia também os outros posts da série:
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 e Adafruit, 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 e Adafruit.
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 e a GEMMA, 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, 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, que foi adquirida em parceria com a loja FILIPEFLOP, fornecedora deste hardware.
A Trinket é baseada no microcontrolador ATtiny85 da Atmel, 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:
Figura 1 – pinagem ATtiny85
A figura 2 exibe a pinagem da Trinket:
Figura 2 – pinouts Trinket
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 – Diferença entre versão 3V e versão 5V.
A Trinket possui poucos pinos, porém com funcionalidades compatíveis aos Arduinos maiores, sendo ideal para aplicações enxutas.
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.
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.
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
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. A figura 4 exibe os circuitos de regulação lado a lado:
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 quanto para a versão 5V.
No video a segui, Lady ada apresenta os detalhes da Trinket:
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!