Arduino Leonardo

segunda-feira, 23 de junho de 2014



Bom, agora é a vez do Arduino Leonardo. Para quem não conhece, o Arduino Leonardo foi lançado em 2012 em duas versões: with headers e without headers (ou seja, com e sem headers, respectivamente).  Ambas ainda comercializadas (com total prevalecimento da versão com headers) com diferença pequena entre seus preços.


Obs.: p/ quem não sabe, headers são os conectores (aqueles onde "espetamos" nossos jumpers para conexão com as entradas/saídas da placa)



Vamos à descrição dos principais componentes da placa:



Temos:
  1. Microcontrolador ATMEGA 32u4 (núcleo principal - e único - da placa);
  2. Conector Micro - USB para conexão com o PC (transmissão e recebimento de dados);
  3. Conector P4 fêmea para alimentação externa à placa;
  4. Nome e site dos criadores da plataforma Arduino;
  5. Conectores para programação externa do ATMEGA 32u4;
  6. Botão para reset do microcontrolador;
  7. Fusível para proteção da conexão USB (no máximo 500 mA são permitidos);
  8. Regulador de tensão 5 V;
  9. Furos para fixação da placa;
  10. Led's SMD utilizados para indicar transmissão (TX) e recepção (RX) de dados via porta serial (USB);
  11. Led conectado ao pino 13;
  12. Led indicativo de alimentação ( Placa Ligada/Desligada );
  13. Pino para comunicação TWI (I2C);
  14. Pino que, juntamente com o item 13, são utilizados para comunicação I2C;
  15. Pino para alteração da referência lógica dos pinos de I/O de dados (alterar nível lógico alto para 7V, por exemplo, e não 5V, que é o padrão);
  16. Ground ( Referência );
  17. Entrada/Saída de dados digitais. Pinos 8, 9, 10 e 12 pode ser utilizados como entrada analógica;
  18. Entrada/Saída de dados digitais. Pinos 4 e 6 podem ser utilizados também como entrada analógica;
  19. Pinos de entrada analógica;
  20. Pino para entrada (ou saída) de alimentação externa para a placa;
  21. Pinos de referência (terra) comuns ao pino do item 16;
  22. Pino de saída de tensão 5 V DC (corrente máxima de 40 mA);
  23. Pino de saída de tensão 3.3 V DC (corrente máxima de 50 mA);
  24. Pino para reset externo da placa;
  25. Pino para alterarmos a referência lógica (que é 5 V = nível alto por padrão);
  26. Pino para ser utilizados em novas "revisões" da placa.

Características Físicas e Alimentação

O Arduino Leonardo possui as mesmas características físicas e especificações para alimentação do Arduino UNO.

Vale ressaltar (de novo, de novo...) que o recomendado são tensões de entrada entre 7 e 12 V DC.

Entrada/Saída

Aqui já temos uma diferença sutil em relação ao UNO. Cada uma das 20 portas (0 a 13 + A0 a A5)  pode ser configurada como entrada ou saída de dados digitais (com exceção, of course, dos pinos 0 (RX - recebimento de dados) e 1 (TX - transmissão de dados) que são utilizados especificamente para entrada e saída de dados seriais.

Todos possuem um resistor de pull-up de 20 a 50 kΩ desconectado por padrão. 

Os pinos 2 (SDA) e 3 (SCL) são utilizados para comunicação I2C (TWI).

Os pinos 3, 2,  0, 1 e 7 são pinos utilizados para interrupção externa (interrupt 0, 1, 2, 3 e 4, respectivamente).

Pinos 3, 5, 6, 9, 10, 11 e 13 podem ser configurados [via software] para operarem como PWM com resolução de 8 bits (ou seja, 2^8 valores possíveis, ou de 0 a 255).

A resolução das entrada analógicas (os 20 pinos comentados anteriormente) é a mesma do Arduino UNO, ou seja, 10 bits (1024 valores diferentes).

Ao contrario do Arduino UNO, o Leonardo não possui pinos para comunicação SPI entre os seus pinos de entrada/saída digital. Possui somente os 6 pinos (no item 5) para acesso a tal comunicação. Ou seja, um shield que utilizaria os pinos do UNO para comunicação SPI podem não funcionar no Leonardo (a não ser, é claro, que possua esses 6 pinos específicos).

Aqui  no Leonardo não existe um intermediário (outro ATMEGA, ou um chip FTDI) para programação USB. O próprio ATMEGA 32u4 faz todo o trabalho. Sendo assim, a plataforma pode emular mais "puramente" periféricos comuns (teclado, mouse, monitor, por exemplo). Pode ser interpretado como uma porta COM ou uma porta CDC.

Toda a memória da plataforma é proveniente do ATMEGA 32u4. Temos 32 kB de memória principal (com 4kB para o bootloader do Leonardo). 2.5 kB de SRAM. E 1 kB de EEPROM.

Programação

Utilizando o mesmo IDE ( e as mesmas linguagens de programação disponíveis para o UNO ) podemos facilmente iniciarmos a programação do microcontrolador. Basta selecionarmos a placa (e porta virtual) correta. A compatibilidade de programas entre UNO e Leonardo beira os 100% (com pequenas diferenças na pinagem e função de cada pino, basicamente).

Bom, é isso. Espero que essas informações sejam um pontapé inicial para escolher/introduzir-se nessa plataforma. Até mesmo porque todos nós queremos ser amiguinhos do Leonardo ne?

Até a próxima!

\o
.
Recomendo fortemente a leitura da pagina oficial do Arduino Leo para familiarização com a plataforma:

Guia de iniciação (em inglês)




Nenhum comentário:

Postar um comentário