Conheça o Adafruit Trinket 5V 6

Ganhe espaço na montagem do seu projeto com o microcontrolador Adafruit Trinket 5V. Ele é baseado no chip Atmel ATtiny85, possui 8k de memória e 5 portas, incluindo PWM e portas analógicas. Seu funcionamento é muito parecido com o Arduino, pois já contém um bootloader e é programável usando praticamente a mesma IDE. Seu tamanho reduzido facilita a tarefa de montar projetos compactos, que não necessitam de grande quantidade de portas.

Adafruit Trinket 5V

O Adafruit Trinket é disponibilizado em duas versões : 3V e 5V. A versão de 3v é indicada para utilização com sensores e dispositivos que trabalham com nível de sinal de 3.3 volts. Essa versão tem clock de 8 Mhz.

Já o Trinket 5V pode ser utilizado com sensores que trabalham com nível de sinal de 5v, e além disso ele pode funcionar em 8 Mhz ou 16 Mhz, mediante configuração via software. Nesse post, vamos trabalhar com o modelo 5V.

Como veremos adiante, o processo de utilização do Trinket é um pouco diferente do Arduino tradicional, já que não teremos uma porta serial para comunicação, como acontece quando utilizamos por exemplo o Arduino Uno, Mega ou Due.

Pinagem Adafruit Trinket 5V

Na imagem abaixo detalhamos os pinos do Trinket 5v. O conector Mini-USB (substituído pelo conector micro-USB à partir de maio/2015) na parte superior serve para alimentação do Trinket e também para transferência de dados. O led verde indica que o Trinket está energizado, e o led vermelho serve como um led indicativo (da mesma maneira que o led da porta 13 do Arduino), e também para mostrar quando estamos no modo bootloader (explicaremos isso em breve):

Trinket 5V - Detalhes pinos

Os demais pinos:

  • Battery : Utilizado para alimentar o Trinket com uma fonte externa (5.5 à 16 volts)
  • USB + : Saída 5v 500mA
  • GND – Comum negativo
  • Portas 0, 1, 2, 3, 4 – 5 pinos GPIO (General Purpose Input Output)
  • 5v : Saída regulada 5v (150 mA) para alimentar sensores, leds ou motores. No modelo Trinket 3v, essa saída será de 3v.
  • Reset : Utilizado para implementar um botão externo de reset
  • Botão reset : utilizado para entrar no modo bootloader

Apesar de termos apenas 5 portas disponíveis, temos a possibilidade de trabalhar com as interfaces SPI e I2C no Trinket, além de utilizar as funções de portas analógicas e digitais. Fique atento à função de cada porta, já que elas algumas vezes compartilham funções do próprio Adafruit Trinket. Para mostrar melhor como isso funciona, vamos detalhar o que pode (e o que não pode) ser feito com cada porta:

Porta 0 : Pode ser utilizada como porta digital de entrada ou saída. É conectada ao pino PB0 do microcontrolador ATtiny85 (veja diagrama abaixo). Pode ser utilizada como saída PWM. Na interface I2C é o pino SDA, e na SPI, é o pino MOSI

Porta 1 : Pode ser utilizada como porta digital de entrada ou saída. É conectada ao pino PB1 do microcontrolador. Na interface SPI, é o pino MISO. É conectada ao led vermelho do Trinket, de forma semelhante ao led da porta 13 do Arduino.

Porta 2 : Pode ser utilizada como porta digital de entrada ou saída. É conectada ao pino PB2 do microcontrolador. Pode ser usada como entrada analógica (A1). Na interface I2C é o pino SCL, e na SPI, é o pino SCK

Porta 3 : Pode ser utilizada como porta digital de entrada ou saída. É conectada ao pino PB3 do microcontrolador. Pode ser utilizada como entrada analógica (A3). Atenção : Esse pino também é utilizado para comunicação USB (detalhes abaixo)

Porta 4 : Pode ser utilizada como porta digital de entrada ou saída. É conectada ao pino PB4 do microcontrolador. Pode ser utilizada como entrada ou saída analógica (A2), ou como porta PWM. Atenção : Esse pino também é utilizado para comunicação USB (detalhes abaixo)

Portas 3 e 4 utilizadas para comunicação USB : Quando o Trinket está conectado ao computador, os pinos 3 (PB3) e 4 (PB4) são utilizados para transferência de dados, por isso recomenda-se a utilização desses pinos como saída para leds, sensores, etc, para evitar danos ao Trinket. Se você utilizar os pinos 3 e 4 como entrada, certifique-se que os mesmos não estão sendo acionados pelos sensores na hora de transferir os programas.

O diagrama abaixo, fornecido pela Adafruit, detalha as funções que acabamos de explicar:

Trinket 5V - Diagrama de conexão

Abaixo, a pinagem do microcontrolador ATtiny85:

Pinagem ATtiny85

Instalação de drivers

Você vai precisar dos drivers da placa se estiver utilizando o Trinket no Windows XP/Vista/7/8. Para Linux e Mac, não há necessidade de drivers.

Você pode baixar os drivers para o seu sistema operacional diretamente do site da Adafruit, nesse link. Após o download, descompacte o arquivo, e você terá uma estrutura de arquivos e pastas como essa :

Pasta - Drivers

Conecte então o cabo mini-usb ao Adafruit Trinket e ao computador, e aparecerá a tela de instalação de um novo dispositivo. Se os drivers não forem automaticamente reconhecidos, utilize os drivers contidos na pasta acima. Ao final do processo, será detectado o dispositivo USBTiny:

USBTiny instalado

Download da IDE para o Trinket

Podemos utilizar a IDE do Arduino para programar o Trinket, mediante uma série de configurações e cópia de arquivos.

Entretanto, a maneira mais rápida e fácil é utilizar a IDE disponibilizada pela própria Adafruit, que já vem pronta e configurada com o Trinket 8 Mhz e 16 Mhz, e que possui versões para Mac, Windows e Linux. Acesse o site da Adafruit e procure por essa seção :

Download IDE Trinket

 

Para Windows, por exemplo, efetue o download e descompacte o arquivo Adafruit Arduino 1.05 – Win 11-11-13.zip. Dentro da pasta que você descompactou, execute o arquivo Arduino.EXE, que irá carregar a IDE já com todas as configurações para utilização com o Trinket:

IDE Arduino

Configurando a IDE para o Trinket

Na imagem acima vimos que a IDE é a mesma que já utilizamos normalmente. A diferença está na listagem de placas, que agora contém não só a Trinket 8 e 16 Mhz, como também a Gemma e a Flora:

IDE - Placas

No menu mostrado acima, selecione a placa Trinket 16 Mhz. Em seguida, no menu Ferramentas => Gravador, escolha USBTinyISP:

IDE - Gravador

Com isso, temos o Trinket reconhecido pelo Windows, a IDE configurada, e podemos agora testar algumas funções da placa, mas antes vamos mostrar um detalhe importante ao fazer o upload dos programas para o Trinket.

Modo booloader no Trinket

No Arduino, simplesmente entramos na IDE, escolhemos a porta serial e transferimos o programa. Ao usar o  Trinket, o processo é um pouco diferente, já que ele precisa estar em modo bootloader.

No modo bootloader, o led vermelho pisca de forma lenta, indicando que podemos transferir o programa para o Trinket. Para entrar no modo bootloader, podemos simplesmente desligar a alimentação da placa, e ao religar ela automaticamente entra no modo bootloader.

Se já estivermos com o circuito montado, podemos pressionar brevemente o botão de reset e ele entra novamente no modo bootloader por 10 segundos. Se nesse tempo não transferirmos nenhum programa para o Trinket, ele volta a executar o programa que estava previamente na memória. O vídeo abaixo mostra o Trinket no modo bootloader ao energizar a placa, e também ao pressionar o botão de reset :

Agora sim temos todas as informações para testar o Trinket.

Utilizando o led embutido no Trinket

O primeiro teste não exige circuito, já que vamos apenas piscar o led vermelho embutido no Trinket. Como já explicamos, o led está ligado à porta 1 / PB1 , e basta utilizarmos as mesmas funções do Arduino, como pinMode, digitalWrite, etc, para que o led vermelho da placa comece a piscar a cada 100 ms :

//Programa : Teste Trinket - Pisca Led
//Autor : MakerHero

//Define a porta do led
int pino_led = 1;

void setup() 
{
  //Define o pino do led como saida
  pinMode(pino_led, OUTPUT);
}

void loop() 
{
    digitalWrite(pino_led, HIGH); 
    delay(100);
    digitalWrite(pino_led, LOW);
    delay(100);
}

Alterando a luminosidade de um led utilizando porta PWM

No segundo programa, vamos utilizar a porta 0 como PWM e alternar a luminosidade de um led, montando o seguinte circuito :

Circuito Trinket - LedNo programa abaixo, alternamos o valor de i de 0 a 255, e enviamos esse valor utilizando o comando analogWrite(), o que vai fazer com que o led alterne entre a luminosidade mínima (i = 0), e a máxima (i = 255):

//Programa : Trinket Dimmer led
//Autor : MakerHero

int pinoled = 0;  

void setup()
{
   pinMode(pinoled, OUTPUT);  
}

void loop()
{
  for (int i=0; i <= 255; i++)
  {
    analogWrite(pinoled, i);  
    delay(5);
  }
  delay(100);
}

 Gostou? Deixe seu comentário logo abaixo.

Faça seu comentário

Acesse sua conta e participe

6 Comentários

  1. O USB dele pode ser usado para controle (USB HOST)?
    Queria enviar sinais MIDI pela porta USB.

  2. Você já tem esse arduino para venda e quanto custa?

    1. Bom dia André,

      Temos sim, por favor dê uma olhada neste link com todas as informações: https://www.makerhero.com/pd-13a919-microcontrolador-adafruit-trinket.html

      Abraço

      Adilson – Equipe MakerHero

  3. Ele tem entrada de interrupção?

    1. Bom dia Helder,

      Sim, segundo o site da Adafruit, a interrupção é no pino 1.

      Abraço.

      Adilson – Equipe MakerHero

  4. Boa noite.
    Tem como usar Bluetooth?
    Preciso q acionar 3 saídas, com Bluetooth.