Código: ARD0010898
R$ 498,00

O Arduino Yún é um microcontrolador baseado no ATmega32u4 (datasheet) e no Atheros AR9331. O processador Atheros suporta uma distribuição Linux baseada no OpenWRT chamada Linino. A placa tem suporte embarcado a ethernet e WiFi, uma porta USB-A, um slot para cartão micro-SD, 20 pinos de entrada e saída digitais (dos quais 7 podem ser utilizados como saídas PWM e 12 como entradas analógicas), um cristal oscilador de 16MHz, uma conexão USB, um barramento ICSP, e 3 botões de reset.

Arduino Yún

Arduino Yún Arduino Yún

 

O Yún se distingue das outras placas Arduino pelo fato de poder se comunicar com a distribução Linux embarcada, oferecendo um computador interconectado com a facilidade do Arduino. Em adição aos comandos Linux como cURL, você pode escrever seus próprios shell scripts e programas python para interações robustas.

 

Arduino Yún

O Yún é parecido ao Leonardo por ter comunicação USB embarcada no ATmega32u4 eliminando a necessidade de um processador secundário. Isto permite ao Yún aparecer em um computador a que esteja conectado como um teclado ou como uma mouse em uma porta virtual serial.

 

Arduino Yún

A biblioteca Bridge facilita a comunicação entre os dois processadores, permitindo aos programas Arduino se comunicarem com shell scripts, interfaces de rede, e receber informações do processador AR9331. O host USB, as interfaces de rede e o cartão SD não estão conectados ao 32U4, mas o AR9331, e a biblioteca Bridge, permitem ao Arduino interatuar com estes periféricos.

 

Características

Como o Yún tem dois processadores, as características de cada um estão em blocos separados.

microcontrolador AVR Arduino
MicrocontroladorATmega32u4
Voltagem operacional5V
Voltagem de entrada
5V
Pinos E/S digitais20
Canais PWM
7
Canais de entrada Analógica
12
Corrente contínua por pino de E/S40 mA
Corrente contínua para o pino 3.3V50 mA
Memória Flash
32 KB (of which 4 KB used by bootloader)
SRAM2.5 KB
EEPROM1 KB
Velocidade de Clock
16 MHz
microprocessador Linux
ProcessadorAtheros AR9331
arquiteturaMIPS @400MHz
voltagem operacional
3.3V
EthernetIEEE 802.3 10/100Mbit/s
WiFiIEEE 802.11b/g/n
USB tipo A
2.0 Host/Dispositivo
Leitor de cartõesMicro-SD
RAM64 MB DDR2
Memória Flash
16 MB
suporte a cartões PoE compatíveis com 802.3af 

Esquema e referência de Design

esquema: arduino-Yun-schematic.pdf

Alimentação

É recomendado alimentar a placa através de conexão micro-USB com 5V CC.

Se estiver alimentando a placa através do pino Vin você deve fornecer 5V CC regulados. Não há um regulador embarcado para voltagens mais altas que causarão danos permanentes à placa.

O Yún também é compatível com alimentação PoE mas para utilizar esta característica você necessita montar um módulo PoE na placa.

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

  • VIN. Entrada de alimentação para a placa. Diferente das outras placas Arduino, se estiver utilizando este pino para alimentação o fornecimento deve ser de 5V regulados.
  • 5V. Utilizado para alimentar os microntroladores e outros componentes na placa. Pode vir tanto do VIN quanto da USB.
  • 3V3. Uma saída de 3,3V gerada pelo regulador embarcado. A drenagem máxima de corrente é de 50mA.
  • GND. Pinos de terra.
  • IOREF. A voltagem na qual os pinos de E/S estão operando (i.e VCC da placa). Este valor é de 5V para o Yún.

Memória

O ATmega32u4 tem 32KB (dos quais 4KB são utilizados pelo bootloader). Também tem 2,5KB de SRAM e 1KB de EEPROM (que podem ser lidos e escritos com a biblioteca EEPROM).

A memória no AR9331 não está alocada dentro do processador. A RAM e a memória de armazenamento estão conectados externamente. O Yún tem 64MB de RAM DDR2 e 16MB de memória flash. A memória flash é precarregada na fábrica com uma distribuição Linux baseada no OpenWRT chamada Linino. Você pode alterar o conteúdo da imagem original instalando programas ou alterando um arquivo de configuração. Você pode retornar ao preset original de fábrica pressionando o botão
WLAN RST por 30 segundos.

Entradas e Saídas

Não é possível acessar os pinos de E/S a partir do Atheros AR9331. Todas as linhas de E/S estão conectadas ao 32U4.

Cada um dos 20 pinos de E/S digitais pode ser utilizado como uma entrada ou saída, utilizando as funções pinMode(), digitalWrite(), e digitalRead(). Elas operam a 5V. Cada pino fornece ou recebe um máximo de 40mA e tem um resitor interno de elevação (pull-up) desconectado por padrão, de 20 a 50kΩ. Em adição, alguns pinos tem funções especializadas:

  • Serial: 0 (RX) e 1 (TX). Utilizados para transmitir (TX) e receber (RX) dados seriais TTL utilizando a capacidade especial de hardware do ATmega32U4. Note que no Yún a classe Serial se refere à comunicação USB (CDC); para serial TTL nos pinos 0 e 1 use a classe Serial 1. Os hardwares seriais do ATmega32U4 e do AR9331 no Yún estão ligados juntos e são usados para se comunicar entre os dois processadores. Como é comum em sistemas Linux, na porta serial do AR9331 está exposto no console para acesso ao sistema, isto significa que você pode acessar os programas e ferramentas oferecidas pelo Linux em seu programa Arduino.
  • TWI: 2 (SDA) and 3 (SCL). Suporte a comunicação TWI utilizando a biblioteca Wire.
  • Interruptores externos: 3 (interruptor 0), 2 (interruptor 1), 0 (interruptor 2), 1 (interruptor 3) e 7 (interruptor 4). Estes pinos podem ser configurados para disparar uma interrupção em um valor baixo, um limite ultrapassado acima ou abaixo ou com a alteração de um valor. Veja a função attachInterrupt() para detalhes. Não é recomendado utilizar os pinos 0 e 1 como interruptores por que eles também são a porta serial de hardware utilizadas na comunicação com o processador Linux. O pino 7 é conectado ao processador AR9331 e poderá ser utilizado como um sinal de handshake no futuro. É recomendável ser cuidadoso sobre possíveis conflitos que a utilização deste pino como interruptor pode gerar.
  • PWM: 3, 5, 6, 9, 10, 11, e 13. Fornecem saídas PWM de 8 bits com a função analogWrite().
  • SPI: on the ICSP header. Estes pinos suportam comunicação SPI usando a biblioteca SPI. Note que os pinos SPI não estão conectados a nenhum dos pinos digitais como no Uno. Eles estão disponíveis apenas no barramento ICSP. Isto significa que se você tiver um shield que utiliza SPI, mas que não tem o conector, ele não funcionará com o Yún.

Os pinos SPI também estão conectados aos pinos de E/S do AR9331 onde foram implementados como interafce de software. Isto significa que o ATMega32u4 e o AR9331 também podem se comunicar através do protocolo SPI.

  • LED: 13. Há um LED embarcado no pino digita 13. Quando o pino está em HIGH o LED está aceso, quando o pino está em LOW o LED é desligado.
  • Há muitos outros LEDs de status no Yún, indicando alimentação, conexão WLAN, conexão WAN e USB.

 

Arduino Yún

  • Entradas ananlógicas: A0 a A5, A6 a A11 (no pinos digitais 4, 6, 8, 9, 10, e 12). O Yún tem 12 entradas analógicas etiquetadas de A0 a A11, todas elas também podem ser usadas como E/S digitais. Os pinos de A0 a A5 aparecem nas mesmas localizações que no Uno; as entradas de A6 a A11 estão nos pinos digitais 4, 6, 8, 9, 10 e 12 respectivamente. Cada entrada analógica tem 10 bits de definição e 1024 valores diferentes. Por padrão as entradas analógicas medem valores que variam entre o terra e 5V, embora seja possível alterar o limite superior utilizando o pino AREF e a função analogReference().
  • AREF. Voltagem de referência para entradas analógicas. Utilizado com analogReference().

Nesta placa há 3 botões de reset com diferentes funções:

 

Arduino Yún

  • Yún RST. Rebaixe esta linha para ressetar o microprocessador AR9331. Este reset causa o reboot do sistema linux. Todos os dados armazenados na RAM serão perdidos e todos os programas que estiverem rodando serão finalizados.
  • 32U4 RST. Rebaixe esta linha para ressetar o microcontrolador ATmega32U4. Tipicamente utilizado para adicionar um botão de reset a shields que se encaixam sobre a placa.
  • WLAN RST. Este botão tem uma função dupla. Primariamente serve para restaurar os padrões de fábrica da WiFi. O padrão de fábrica consiste em colocar o WiFi do Yún em modo de ponto de acesso (AP) e assinalar a ele o endereço IP padrão que é  192.168.240.1, nesta condição você pode conectar seu computador à rede WiFi que aparece com o  nome SSID "Arduino Yun-XXXXXXXXXXXX", no qual os 12 "X" são o endereço MAC do seu Yún. Uma vez conectado você pode alcançar o painel web do Yún com um brownser no endereço 192.168.240.1 ou "http://arduino.local". Note que restaurar a configuração do WiFi causará o reboot do ambiente Linux. Para restaurar sua própria configuração de WiFi você deve pressionar e segurar o botão WLAN RST por 5 segundos. Quando você pressiona o botão o LED azul WLAN começa a piscar e se manterá piscando depois que você soltar depois de 5 segundos pressionado indicando que o procedimento de restauração foi registrado. A segunda função do botão WLAN RST é restaurar a imagem Linux ao padrão de fábrica. Para fazer isso pressione o botão por 30 segundos. Note que este procedimento fará com que todos os arquivos guardados e programas instalados sejam perdidos.

Veja também:  mapeando entre os pinos Arduino e as portas ATmega32U4.

Comunicação

O Yún tem um grande número de facilidades para comunicação com um computador, com outro Arduino, ou com outros microcontroladores. O ATmega32U4 fornece comunicação serial dedicada UART TTL de 5V. Também permite coumunicação serial (CDC) pela USB e aparece como uma porta virtual COM para o software do computador. Atua ainda como um dispositivo USB 2.0 à velocidade total utilizando drivers padrão USB COM. O software Arduino inclui um monitor serial que permite que dados simples de texto sejam enviados da e para a palaca Arduino. Os LEDs RX e TX na placa piscarão quando dados estiverem sendo transmitidos pela conexão USB ao computador.

Os pinos digitais 0 e 1 são usados pela comunicação serial entre o 32U4 e o AR9331. A comunicação entre os dois processadores é gerenciada pela biblioteca Bridge.

Uma bilblioteca SoftwareSerial permite comunicação serial em qualquer dos pinos do Yún com exceção dos 0 e 1.

O ATmega32U4 também suporta os protocolos de comunicação I2C (TWI) e SPI. O software Arduino inclui a biblioteca Wire para simplificar o uso da conexão I2C. Veja a documentação para mais detalhes. Para comunicação SPI utilize a biblioteca SPI.

O Yún aparece para o computador como um teclado e mouse genérico, e pode ser programado para controlar estes dispositivos através das classes teclado e mouse.

As interfaces embarcadas de Ethernet e WiFi estão expostas diretamente ao processador AR9331. Para enviar e receber dados atraves delas use a blioteca Bridge. Para configurar as interfaces você pode acessar o controle de rede como descrito na página de primeiros passos.

O Yún também tem capacidade de USB host através do Linino. Você pode conectar periféricos como memórias USB flash para armazenamento adicional, teclados ou webcams. Você pode baixar e instalar softwares adicionais para que estes dipositivos funcionem. Para informação de como adicionar software ao AR9331 veja as notas de utilização do gerenciador de pacotes.

Programação

O Yún pode ser programado com o software Arduino. Selecione "Arduino Yún" no menu Tools > Board.

O ATmega32U4 no Arduino Yún vem pré-gravado com um bootloader que permite o envio novo código sem o uso de um programador externo de hardware. Ele se comunica utilizando o protocolo AVR109.

Você també pode saltar o bootloader e programar o microcontrolador através do barramento ICSP (In-Circuit Serial Programming). Para mais detalhes veja estas instruções.

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 pressionando-se o botão de reset do Yún. 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 Yún 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 ressetar a placa, você sempre pode iniciar o bootloader pressionando o botão de reset.

Proteção contra sobre-corrente na USB

O Yún possui um polyfuse ressetá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

A largura e o comprimento máximos do PCB do Yún são 68,58 e 53,34mm respectivamente (2,7" x 2,1"), com os conectores 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.

O peso da placa é de 40,6g.

Utilizando o seu Yún

Há um amplo guia (Getting Started Guide) e uma grande quantidade de tutoriais na página de referência de bibliotecas.