Arduino Leonardo
O Arduino Leonardo é uma placa de microcontrolador baseado no ATmega32u4 ( folha de dados ). Ele tem 20 pinos digitais de entrada / saída (dos quais 7 podem ser usados como saídas PWM e 12 entradas como analógicas), a 16 MHzcristal oscilador, uma conexão micro USB, um fone de poder, um cabeçalho ICSP e um botão de reset. Ele contém tudo o necessário para apoiar o microcontrolador; basta conectá-lo a um computador com um cabo USB ou ligá-lo com um adaptador AC-CC ou bateria para começar.
O Leonardo difere de todas as placas precedentes em que o ATmega32u4 construiu-em comunicação USB, eliminando a necessidade de um processador secundário. Isso permite que o Leonardo para aparecer para um computador conectado como um rato e teclado, além de um (CDC) porta serial / COM virtual. Ele também tem outras implicações para o comportamento do conselho; estas são detalhadas na página de Introdução .
Resumo
Microcontrolador | ATmega32u4 |
Tensão operacional | 5V |
Tensão de entrada (recomendado) | 7-12V |
Tensão de entrada (limites) | 6-20V |
Digital pinos I / O | 20 |
Canais PWM | 7 |
Canais de entrada analógica | 12 |
Corrente DC por I / O Pin | 40 mA |
Corrente DC 3.3V para Pin | 50 mA |
Memória flash | 32 KB ( ATmega32u4 ), dos quais 4 KB utilizado por bootloader |
SRAM | 2,5 kb ( ATmega32u4 ) |
EEPROM | 1 KB ( ATmega32u4 ) |
Velocidade do relógio | 16 MHz |
Comprimento | 68,6 mm |
Largura | 53,3 mm |
Peso | 20g |
Esquemática e Referência projeto
Arquivos EAGLE: arduino-leonardo-reference-design.zip
Diagrama: arduino-leonardo-esquemática-rev3b.pdf
Poder
O Arduino Leonardo pode ser alimentado através da ligação USB micro ou com uma fonte de alimentação externa. A fonte de alimentação é selecionada automaticamente.
(Não-USB) de energia externa pode vir com um adaptador AC-CC (parede-verruga) ou a bateria. O adaptador pode ser ligado, ligando um plug 2,1 milímetros de centro-positivo à tomada de alimentação do tabuleiro. Leads de uma bateria podem ser inseridos nas GND e Vin cabeçalhos dos pinos do conector POWER.
A placa pode operar com uma fonte externa de 6 a 20 volts. Se fornecido com menos de 7V, no entanto, o pino 5V pode fornecer menos de cinco volts e do conselho pode ser instável. Se usar mais de 12V, o regulador de tensão pode superaquecer e danificar a placa. O intervalo recomendado é de 7 a 12 volts.
Os pinos de energia são os seguintes:
- VIN. A tensão de entrada para a placa Arduino quando ele está usando uma fonte de alimentação externa (por oposição aos 5 volts a partir da conexão USB ou outra fonte de energia regulada). Você pode fornecer tensão por este pino, ou, se o fornecimento de tensão através da tomada de energia, acessá-lo através deste pino.
- 5V. A fonte de alimentação regulada usada para alimentar o microcontrolador e outros componentes na placa. Isso pode vir tanto de VIN através de um regulador on-board, ou ser fornecida por USB ou de outra fonte de 5V regulado.
- 3V3. A alimentação de 3,3 volt gerado pelo regulador on-board. Tração máxima atual é 50 mA.
- GND. Pinos de terra.
- IOREF. A tensão em que os pinos I / O do conselho estão operando (ie VCC para a placa). Este é 5V no Leonardo.
Memória
O ATmega32u4 tem 32 KB (com 4 KB utilizado para o bootloader). Ele também tem 2,5 kb de SRAM e 1 KB de memória EEPROM (o qual pode ser lido e escrito com a biblioteca EEPROM ).
Entrada e saída
Cada um dos 20 E / S digitais pinos no Leonardo pode ser usado como uma entrada ou saída, usando pinMode () ,digitalWrite () , e digitalRead () funções. Eles operam a 5 volts. Cada pino pode fornecer ou receber um máximo de 40 mA e tem um resistor pull-up interno (desconectado por padrão) de 20-50 kOhms. Além disso, alguns pinos têm funções especializadas:
- Serial: 0 (RX) e 1 (TX). Utiliza-se para recepção (RX) e transmitir os dados em série (TX) usando o TTL ATmega32U4capacidade de série do hardware. Note-se que no Leonardo, o Serial classe refere-se USB de comunicação (CDC);para série TTL nos pinos 0 e 1, utilize o Serial1 classe.
- TWI: 2 (SDA) e 3 (SCL). Comunicação TWI Suporte usando a biblioteca Wire .
- Interrupções Externo:. 3 (interromper 0), 2 (interromper 1), 0 (interrupção 2), 1 (interromper 3) e 7 (interromper 4)Estes pinos podem ser configurados para disparar uma interrupção por um valor baixo, uma subida ou borda de descida ou uma mudança de valor. Veja a attachInterrupt () função para obter detalhes.
- PWM: 3, 5, 6, 9, 10, 11, e 13. Fornecer saída PWM de 8 bits com a analogWrite () função.
- SPI:. No cabeçalho ICSP Estes pinos suportam comunicação SPI utilizando a biblioteca de SPI . Note-se que os pinos SPI não estão ligados a qualquer um dos pinos de E / S digital como eles estão no Uno, eles só estão disponíveis no conector ICSP. Isto significa que se você tem um escudo que usa SPI, mas não tem um conector ICSP 6 pinos que se conecta ao cabeçalho ICSP de 6 pinos do Leonardo, o escudo não vai funcionar.
- LED: 13. Há um built-in LED conectado ao pino digital 13. Quando o pino é de alto valor, o LED está ligado, quando o pino é baixo, ele está fora.
- Entradas analógicas:. A0-A5, A6 - A11 (nos pinos digitais 4, 6, 8, 9, 10, e 12) O Leonardo tem 12 entradas analógicas, rotulados A0 através A11, todos os quais também podem ser usados como i digitais / o. Pinos A0-A5 aparecem nos mesmos locais como no Uno; Entradas A6-A11 estão em I / O digital pinos 4, 6, 8, 9, 10 e 12, respectivamente. Cada entrada analógica fornecer 10 bits de resolução (ie 1024 valores diferentes). Por padrão, a medida de entradas analógicas de a 5 volts, embora seja possível mudar a extremidade superior da sua gama usando o pino AREF eaanalogReference function ().
Há um par de outros pinos na placa:
- AREF. Tensão de referência para as entradas analógicas. Usado com analogReference ().
- Repor. Traga esta linha baixa para repor o microcontrolador. Tipicamente usado para adicionar um botão de reposição para shields que bloqueiam o que há na placa.
Veja também o mapeamento entre os pinos do Arduino e as portas ATmega32u4 .
Comunicação
O Leonardo tem uma série de facilidades para se comunicar com um computador, outro Arduino ou outros microcontroladores. O ATmega32U4 fornece UART TTL (5V) de comunicação serial, que está disponível nos pinos digitais 0 (RX) e 1 (TX). O 32U4 também permite (CDC) de comunicação serial através de USB e aparece como uma porta virtual para o software no computador. O chip também atua como um dispositivo de velocidade total USB 2.0, usando drivers USB COM padrão. No Windows, um arquivo .inf é necessária . O software Arduino inclui um monitor serial que permite que dados simples de texto sejam enviadas de e para a placa Arduino. Os RX e TX LEDs na placa pisca quando os dados estão sendo transmitidos através da ligação USB ao computador (mas não para comunicação serial nos pinos 0 e 1).
A biblioteca SoftwareSerial permite comunicação serial em qualquer um dos pinos digitais do Leonardo.
O ATmega32U4 também suporta I2C (TWI) e comunicação SPI. O software Arduino inclui uma biblioteca Wire para simplificar o uso do I2C bus; ver a documentação para mais detalhes. Para a comunicação SPI, use a biblioteca SPI .
O Leonardo aparece como um teclado e mouse genérico, e pode ser programado para controlar esses dispositivos de entrada, utilizando os teclado e mouse classes.
Programação
O Leonardo pode ser programado com o software Arduino ( de download ). Selecione "Arduino Leonardo da Tools> Board menu (de acordo com o microcontrolador em sua placa). Para mais detalhes, consulte a referência e tutoriais .
Os ATmega32U4 no Arduino Leonardo vem preburned com um bootloader que permite o envio de novos códigos sem o uso de um programador de hardware externo. Comunica-se usando o AVR109 protocolo.
Você também pode ignorar o bootloader e programar o microcontrolador através do (Programação Serial In-Circuit) ICSP cabeçalho usando Arduino ISP ou similar; veja estas instruções para obter detalhes.
Automática (Software) Reset e Bootloader Iniciação
Em vez de exigir uma imprensa física do botão de reset antes de um upload, o Leonardo foi concebido de uma forma que permite que ele seja reposto por software rodando em um computador conectado. A reposição é acionado quando (CDC) porta virtual de série / COM do Leonardo é aberta em 1200 de transmissão e, em seguida, fechado. Quando isso acontece, o processador irá repor, quebrando a conexão USB para o computador (o que significa que a porta serial / COM virtual irá desaparecer). Após a reinicialização do processador, o bootloader for iniciado, permanecendo ativa por cerca de 8 segundos. O bootloader pode também ser iniciada pressionando o botão de reset no Leonardo. Note-se que quando a placa primeiros poderes, ele irá pular direto para o esboço do usuário, se presente, em vez de iniciar o bootloader.
Devido à forma como o Leonardo lida redefinir é melhor deixar o try software Arduino para iniciar a reposição antes de enviar, especialmente se você tem o hábito de pressionar o botão de reset antes de carregar em outras placas. Se o software não pode reiniciar a placa você sempre pode iniciar o bootloader pressionando o botão de reset na placa.
Proteção de sobrecorrente USB
O Leonardo tem uma POLYFUSE reajustável que protege portas USB do seu computador a partir de shorts e sobrecorrente. Embora a maioria dos computadores fornecem sua própria proteção interna, o fusível fornece uma camada extra de proteção. Se houver mais de 500 mA é aplicada à porta USB, o fusível romper automaticamente a conexão até a curto ou a sobrecarga é retirada.
Características físicas
O comprimento e a largura máximas do Leonardo PCB são 2,7 e 2,1 polegadas, respectivamente, com a tomada do conector USB e poder que se estende para além da dimensão ex. Quatro furos permitem que a placa para ser ligado a uma superfície ou caso. Note-se que a distância entre os pinos digitais 7 e 8 é de 160 mil (0,16 "), e não um múltiplo do espaçamento de 100 milésimos de polegada os outros pinos.