Código: ARD0011161
R$ 345,00

O Arduino Leonardo Ethernet é um microcontrolador baseado no ATmega32u4 (datasheet) e no controlador Ethernet TCP/IP W5500 (datasheet). Tem 20 pinos digitais de entrada e saída (dos quais 7 podem ser utilizados como saídas PWM e 12 como entradas analógicas), um oscilador de cristal de 16MHz, um conector RJ45, um conector micro USB, um conector de alimentação, um conector ICSP, e um botão de reset. Contem tudo o que é necessário para dar suporte ao microcontrolador, simplesmente conecte a um computador através da USB ou alimente com uma fonte e você já está pronto para começar.

O Arduino Leonardo Ethernet é diferente dos outros microntroladores com Ethernet por já ter no Atmega32u4 a comunicação USB embarcada dispensando a necessidade de um conversor de serial para USB externo. Isto permite ao Leonardo aparecer ao computador conectado como uma mouse ou um teclado, além da tradicional porta serial COM virtual.

O Arduino Leonardo Ethernet tem a mesma interface Wiznet Ethernet que o Ethernet Shield 2.

Um leitor de cartões microSD embarcado, que pode ser utilizado para armazenar arquivos, que serão disponibilizados através da rede, é acessível com a biblioteca SD. O pino 10 é reservado para a interface Wiznet, e o SS para o cartão SD está no pino 4.


Outros pinos que você deve ter em consideração são:

pinos SDA e SCL adicionais: além do pino AREF, dois pinos TWI foram adicionados. Isto permite que o Leonardo Ethernet se conecte a shields que utilizem comunicação através dos conectores I2C ou TWI.

o IOREF: permite que shields à voltagem de E/S fornecida pela placa. Os shields que utilizem o pino IOREF serão compatíveis tanto com as placas de 3,3V como com as de 5V (ex. Due e Uno). Próximo ao IOREF há um outro pino que está resrvado para utilização futura, não tendo nenhuma função neste momento.

Microcontrolador

ATmega32u4

Voltagem operacional

5V

Voltagem de alimentação (recomendada)

7 a 12V

Voltagem de alimentação do Plug (limites)

6 a 20V

Voltagem de alimentação PoE (limites)

36 a 57V

Pinos E/S digitais

20

Canais PWM

7

Pinos Arduino reservados

4 usado para selecionar o cartão SD

 

10 usado para selecionar o W5500

Pinos de entrada analógica

12

Corrente CC por pino de E/S

40mA

Corrente CCpara o pino 3,3V

1A (apenas quando alimentado através de fonte externa)

Memória Flash

32 KB (ATmega32u4) dos quais 4 são utilizados pelo bootloader

SRAM

2,5 KB (ATmega32u4)

EEPROM

1 KB (ATmega32u4)

Velocidade de clock

16 MHz

Controlador Ethernet W5500 TCP/IP Embarcado

 

Conector magnético para PoE

 

Cartão Micro SD, com alteradores de voltagem ativos

Esquema e referência de Design

Arquivos EAGLE: Arduino-Leonardo-ETH-XX-reference-design.zip
Esquema: Arduino-Leonardo-ETH-XX-schematic.pdf

Alimentação
A placa pode ser alimentada por uma fonte externa, através de um módulo opcional PoE (power over ethernet), ou através da conexão USB.

Alimentação externa (não USB) pode ser tanto de uma fonte quanto de uma bateria. Quando utilizando uma fonte ela deve ser ligada através de um conector P4 de 2,1mm com o positivo no centro no conector de alimentação da placa. Cabos vindos de uma bateria podem ser ligados aos pinos Vin e Gnd.

A placa pode operar com uma alimentação externa de 6 a 20V. Entretanto, se for alimentada com menos de 7V, o pino 5V pode fornecer menos do que seu valor nominal e a placa pode ser tornar inestável. Se estiver utilizando mais de 12V o regulador de voltagem pode superaquecer e causar danos à placa.

Os pinos de alimentação são os seguintes:

  • VIN. A entrada de alimentação da plac Arduino quando utilizando uma alimentação externa (em oposição aos 5 volts do conector USB ou outra fonte de alimentaação regulada). Você pode fornecer voltagem através deste pino ou, se estiver alimentando através do conector de alimentação, acessar esta alimentação através deste pino.
  • 5V. Este pinofornece 5V através do regulador presente na placa. A placa pode ser alimentada através de uma fonte (7 a 12V), do conector USB (5V) ou do pino VIN (7 a 12V). Fornecer alimentação através dos pinos 5V ou 3,3V salta o regulador e pode causar danos à placa.
  • 3.3V. Uma fonte de 3,3V gerada pelo regulador embarcado. A corrente máxima que pode fornecer é de 50mA.
  • GND. Pinos de aterramento.
  • IOREF. Este pino no Arduino fornece a voltagem de referência com a qual o microcontrolador opera. Um shield corretamente configurado pode ler o IOREF e selecionar a alimentação apropriada ou habiltar conversores de voltagem nas saídas para trabalhar com 5 ou 3,3V.

O módulo PoE opcional é desenvolvido para extrair alimentação de cabo Ethernet categoria 5.

As características do PoE são as seguintes:

compatível com IEEE802.3af
Voltagem de alimentação na faixa de 36 a 57V
Proteção contra sobrecarga e contra curto-circuito
Saída de 12V
Conversor CC/CC de alta eficiência
isolamento de até 1500V

Memória

O ATmega32u4 tem 32KB (dos quais 4 são utilizados pelo bootloader). Tem ainda 2,5KB de SRAM e 1KB de EEPROM (que pode ser lido com a biblioteca EPROM).

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 Serial se 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.
  • 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

Comunicação

O Arduino Leonardo Ethernet possui uma série de facilidades para se comunicar com um computador, outro Arduino, ou outros microcontroladores. O ATmega32U4 fornece 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 SoftwareSerial permite comunicação serial em qualquer dos pinos digitais do Leonardo.

O ATmega32U4 també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ção para mais detalhes. Para comunicação SPI utilize a biblioteca SPI.

O Arduino Leonardo Ethernet aparece como um mouse ou teclado padrão, e pode se programado para controlar estes dispositvos utilzando as classes Keyboard e Mouse .

Esta placa também pode ser conectada à internet com um cabo de rede. Quando conectado à rede você deverá fornecer um endereço IP e um endereço MAC. A biblioteca Ethernet é suportada integralmente.


Programação

O Arduino Leonardo Ethernet pode ser programado com o software Arduino (download). Simplesmente selecione "Arduino Leonardo ETH" no menu Tools > Board.

O ATmega32U4 no Arduino Leonardo 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ções para mais detalhes.

Todas as sketches de exemplo do Arduino Leonardo Ethernet funcionam do mesmo modo que com o Ethernet shield 2. Esteja seguro de fazer os ajustes correspondentes à sua rede.


Reset automático por software

Ao invés de necessitar do pressionamento físico de um botão antes de um upload, o Arduino Leonardo é desenvolvido de modo que permita esta operação ser feita por meio do software rodando em um computador. O reset é disparado quando a porta serial virtual (CDC) é aberta a 1200 baud e depois fechada. Quando isto ocorre o processador é ressetado interrompendo a comunicação USB (isto significa que a porta serial virtual COM desaparece). Após o reset o bootloader roda ficando ativo por aproximadamente 8 segundos. O bootloader também pode ser inicializado precionando-se o botão de reset do Leonardo. Note que quando a placa é inicialmente alimentada ela rodará imediatamente a sketch do usuário, caso esteja presente, ao invés de iniciar o bootloader.

Devido ao modo como o Leonardo lida com o reset é melhor deixar o software Arduino tentar iniciar o reset antes de enviar um novo scketch, especialmente se você tiver o hábito de pressionar o botão de reset antes de fazer upload. Se o software falhar em resetar a placa, você sempre pode iniciar o bootloader pressionando o botão de reset.

Proteção contra sobre-corrente na USB

O Leonardo possui um polyfuse resetável que protege a porta USB do seu computador contra sobre-corrente e curtos circuitos. Embora muitos computadores tenham sua própria proteção interna, o fusível fornece um grau a mais de proteção. Se mais de 500mA forem aplicados à porta USB, ele automaticamente irá interromper a conexão até que o curto ou a sobrecarga sejam removidos.


Características físicas

O comprimento e a largura máximos do Arduino Leonardo Ethernet são de 68,6 e 53,4mm respectivamente, com os conectores RJ45, USB e de alimentação extendendo-se além destas dimensões.Quatro orifícios para parafusos permitem que a placa seja fixada a uma superfície ou encapsulamento. Verifique que a distância entre os pinos digitais 7 e 8 é de 160mil (milésimos de polegada ou 0,16"), não é nem mesmo um múltiplo dos 100mil que separam os outros pinos.