Arduino Micro com conectores
O Arduino Micro é uma placa de microcontrolador baseado no ATmega32U4, desenvolvido em conjunto com a Adafruit. Ele tem 20 entradas e saídas digitais (das quais 7 podem ser utilizadas como saídas PWM e 12 como saídas analógicas) um cristal oscilador de 16MHz, uma conexão micro USB, uma conexão ICSP e um botão de reset. Contém tudo o que é necessário para dar suporte ao microcontrolador. Simplesmente o conecte a um computador com um cabo micro USB para que ele comece a funcionar. Ele tem um formato que permite que seja facilmente encaixado em uma protoboard. Esta versão já vem com os conectores soldados.
O Arduino Micro é similar ao Arduino Leonardo no sentido de já ter comunicação USB direta com o ATmega32U4, eliminado a necessidade de um processador secundário. Isto permite que o Micro apareça para o computador como uma mouse ou teclado além do modo padrão de porta serial COM virtual (CDC). Isto tem outras implicações no comportamento de uma placa, que estão detalhados na página de primeiros passos (em inglês).
Sumário
Microcontrolador | ATmega32u4 |
Voltagem operacional | 5V |
Voltagem de entrada (recomendada) | 7 a 12V |
Voltagem de entrada (limites) | 6 a 20V |
Pinos E/S digitais | 20 |
Canais PWM | 7 |
Canais de entrada analógica | 12 |
corrente contínua por pino de E/S | 40mA |
corrente contínua por pino de 3,3V | 50mA |
Memória Flash | 32KB (ATmega32u4) dos quais 4KB são utilizados pelo bootloader |
SRAM | 2,5 KB (ATmega32u4) |
EEPROM | 1 KB (ATmega32u4) |
Velocidade de clock | 16 MHz |
Esquema e referência de design
arquivos EAGLE: arduino-micro-reference-design.zip
Esquema: arduino-micro-schematic-rev3b.pdf
Alimentação
O Arduino Micro pode ser alimentado pela conexão micro USB ou com uma fonte externa. A entrada de alimentação é selecionada automaticamente.
Alimentação externa (não USB) pode ser tanto de um adaptador CA para CC ou bateria. Contatos de uma bateria ou fonte podem ser conectados aos pinos Gnd e Vin.
A placa pode operar com uma alimentação externa de 6 a 20V. No entanto, se forem fornecidos menos de 7V o pino 5V pode fornecer menos de 5V e a placa pode se tornar inestável. Se usar mais de 12V o regulador de voltagem pode superaquecer e causar danos permanentes à placa. A faixa recomendada é de 7 a 12V.
Os pinos são os seguintes:
- VIN.A entrada de alimentação para a placa Arduino quando se está utilizando uma fonte de alimentação externa (em oposição à conexão USB ou outra fonte de alimentação regulada). Você pode fornecer alimentação através deste pino.
- 5V.A fonte de alimentação regulada usada para o microcontrolador e para outros componentes na placa. Pode vir tanto do VIN, através do regulador embarcado, ou da conexão USB ou outra fonte regulada em 5V.
- 3V3.Uma fonte de 3,3V gerada pelo regulador embarcado. A corrente máxima suportada é de 50mA.
- ⏚Pinos terra.
Memória
O ATmega32u4 tem 32KB (dos quais 4KB são utilizados pelo bootloader). Tem também 2,5KB de SRAM e 1KB de EEPROM (que pode ser lido ou gravado com a biblioteca EEPROM).
Entrada e Saída
Cada um dos 20 pinos de entrada e saída digital podem ser utilizados como uma entrada ou uma saída utilizando as funções pinMode(), digitalWrite(), e digitalRead(). Eles operam a 5V. Cada pino pode fornecer ou receber um máximo de 40mA e tem um resistor pull-up interno (desconectado por padrão) de 20-50kΩ. Além disso alguns pinos tem funções especializadas:
- Serial: 0 (RX) e 1 (TX).Usados para receber (RX) e transmitir (TX) dados seriais TTL utilizando as capacidades de hardware do ATmega32U4. Note que no Leonardo a classe Serialse refere à comunicação USB (CDC); para comunicação serial TTL pelos pinos 0 e 1 utilize a classe Serial1.
- TWI: 2 (SDA) e 3 (SCL).Suporte à comunicação TWI utilizando a bibliotaca Wire.
- External Interrupts: 0(RX), 1(TX), 2 and 3.These pins can be configured to trigger an interrupt on a low value, a rising or falling edge, or a change in value. See the attachInterrupt()function for details.
- Interruptores Externos: 2 e 3.Estes pinos podem ser configurados para disparar uma interrupção de acordo com alguma variação sensível pelo circuito. Veja a função attachInterrupt()para mais detalhes.
- PWM: 3, 5, 6, 9, 10, 11 e 13.Fornecem uma saída analógica PWM de 8-bit com a função analogWrite().
- SPI: no barramento ICSP.Estes pinos dão suporte à comunicação SPI utilizando a biblioteca SPI. Note que os pinos SPI não estão conectados a nenhum dos pinos de entrada e saída digital como no Uno. Eles somente estão disponíveis no barramento ICSP. Isto significa que se você tiver um shield que utiliza SPI mas que não tenha um barramento ICSP que se conecte ao do Leonardo este shield não funcionará.
- LED: 13.Há um LED já montado e conectado ao pino digital 13. Quando o pino está no valor HIGH, o LED acende; quando o valor está em LOW, ele apaga.
- Entradas analógicas: A0-A5, A6-A11 (nos pinos digitais 4,6,8,9,10 e 12).O Leonardo tem 12 entradas analógicas nomeadas de A0 a A11, todas elas também podem ser utilizadas como entradas e saídas digitais. Os pinos de A0 a A5 estão na mesma posição que no Uno, e as entradas A6 a A11 estão nos pinos digitais 4,6,8,9,10 e 12 respectivamente. Cada entrada analógica tem 10 bits de resolução (i.e. 1024 valores diferentes). Por padrão as entradas analógicas realizam medidas de terra (0V) a 5V, embora seja possível alterar o limte superior utilizando o pino AREF e a função analogReference().
Há ainda alguns outros pinos na placa:
- AREF.Referência de voltagem para entradas analógicas. Usados com analogReference().
- Reset.Envie o valor LOW para resetar o microcontrolador. Tipicamente utilizados para adicionar um botão de reset aos shields que bloqueiam o que há na placa.
Pinagem
Mapa de pinos do Arduino Micro mostrando as funcionalidades de cada pino.
Veja também o mapeamento entre os pinos do Arduino e as portas do ATmega32u4.
Comunicação
O Micro possui uma série de facilidades para se comunicar com um computador, outro Arduino, ou outros microcontroladores. O ATmega32U4fornece comunicação serial UART TTL (5V) que está disponível nos pinos digitais 0 (RX) e 1 (TX). O 32u4 também permite comunicação serial (CDC) através da USB e aparece como uma porta virtual para o computador. Este chip também atua como um dispositivo USB 2.0 de velocidade total utilizando drives USB COM padrão. Em Windows um arquivo .infé necessário. O software do Arduino inclui um monitor serial que permite dados textuais ser enviados e recebidos da placa. LEDs conectados ao RX e TX piscarão enquanto dados estiverem sido transmitidos pelo chip USB-para-serial e pela conexão USB (mas não para comunicação serial nos pinos 0 e 1).
Uma biblioteca de SoftwareSerialpermite comunicação serial em qualquer dos pinos digitais do Micro.
O ATmega32U4também suporta comunicação I2C (TWI) e SPI. O software do Arduino inclui uma biblioteca Wire para simplificar o uso do bus I2C, veja a documentaçãopara mais detalhes. Para comunicação SPI utilize a biblioteca SPI.
O Micro aparece como um mouse ou teclado padrão, e pode se programado para controlar estes dispositvos utilzando as classes Keyboard e Mouse.
Programação
O Arduino Micro pode ser programado com o software Arduino (download). Simplesmente selecione "Arduino Micro" no menu Tools > Board.
O ATmega32U4no Arduino Micro vem pré-gravado com um bootloader que permite a você enviar código novo para ele, sem a utilização de um programador de hardware externo. Ele se comunica utilizando o protocolo originalAVR109.
Você também pode saltar o bootloader e programar o microcontroaldor através do conector ICSP (In-Circuit Serial Programming); veja estas instruçõespara mais detalhes.
Características físicas
A largura e o comprimento máximos do PCB do Micro são 4,8 e 1,77cm respectivamente, com os conectores USB e de alimentação extendendo-se além destas dimensões.