Postagem em destaque

Controle PID de Potência em Corrente Alternada - Arduino e TRIAC - Parte I

Este post é o primeiro de uma série de seis que escrevi tratando de controle de potência e PID (controle proporcional, integral e derivativo...

domingo, 25 de janeiro de 2015

And so... Arduino Yún! - Parte I

No dia do meu aniversário de 50 anos, em 13/12 passado, meu amigo Tiago, um Arduino-aficcionado a quem eu tive o prazer de apresentar o mundo das plaquinhas, trouxe-me direto de NYC dois brinquedinhos novos: um Google Chromecast e um Arduino Yún. O Chormecast foi logo espetado na TV e passou imediatamente a prestar os seus serviços.

Já o Yún ficou na caixa algum tempo e, como vieram as férias, fim de ano etc, só agora tive um tempo para começar a explorá-lo. Boralá?

Esta é a plaquinha:


Como dá prá ver, ela tem mais ou menos a cara de um Arduino Uno, e o mesmo tamanho. Apesar disso, ela é muito mais que o Uno. Senão vejamos:

Um pouco de história

Quando foi lançado, já nos idos de 2005, o primeiro modelo de Arduino trouxe um conceito novo ao mundo: uma plaquinha única contendo microprocessador, clock, porta serial, regulador de tensão e portas de entrada e saída, bem como uma IDE (software editor de programas) integrada capaz de compilar e enviar os programas direto para o processador. Além disso, o produto foi lançado como "hardware livre", quer dizer, os caras não patentearam o produto e publicaram toda a documentação para reproduzi-lo livremente na internet, de maneira que imediatamente começaram a aparecer clones vendidos por todo o mundo, e a plataforma Arduino foi fazendo um sucesso cada vez maior. No início de 2013 tinham sido vendidas 700k placas "oficiais", e estima-se que exista uma n"ao-oficial para cada oficial. O preço, hoje em torno de $15 por um modelo típico também ajudou, claro.

Pode-se afirmar, sem medo de errar, que o Arduino revolucionou o ensino e a prática de automação, robótica e mesmo programação, já que tudo o que vc precisa para controlar dispositivos está contido numa única plaquinha. Uma ideia na cabeça e um Arduino na mão é o suficiente.

Vários modelos foram lançados pelo pessoal do Arduino, todos com a mesma filosofia: microcontroladores diferentes, mais ou menos memória e portas de E/S, tamanho menor ao maior, mas o mesmo conceito: microcontrolador único, sem sistema operacional, perfeito para uso em controle e automação.

Com o tempo, outras iniciativas apareceram com conceitos um pouco diferentes. Exemplo: o Raspberry Pi, plaquinha do tamanho de um cartão de crédito, capaz de rodar algumas distribuições Linux, usando cartões de memória tipo SD como "HD". Possui também uma porta HDMI para ser ligada a monitores e TVs, ao mesmo tempo em que possui também pinos para conexão de entrada e saída de dados. O preço também em conta, em torno de $35, mas não foi adotado o conceito do hardware livre.

Interessante que o assunto interessou também os gigantes do hardware e software, que também lançaram suas iniciativas, ex:

- Microsoft: NetDuino, capaz de rodar uma versão do .Net Framework.
- Intel: Galileo e Edson.

Algumas alternativas possuem alguma compatibilidade com o Arduino, por exemplo a posição dos pinos de E/S compatível, o que facilita a interconexão com hardwares (shields) desenvolvidos para o Arduino.

A questão é que, por terem um sistema operacional, as plaquinhas de outros fabricantes, apesar de terem clocks bem mais rápidos, acabam sendo mais lentas quando se trata de controle em tempo real. Isso porque o sistema operacional traz várias demandas a serem atendidas (segurança, vídeo, rede etc) que fazem com que um RPi com um clock de 700 MHz tenha problemas para controlar mais de um servo enquanto o Arduino, do alto dos seus 16 MHz possa controlar 5 servos com um pé nas costas.

Isso faz com que a gente às vezes tenha que colocar um Arduino junto para fazer o "trabalho sujo", ou seja, fazer o controle do hardware enquanto o RPi (ou Galileo etc) roda a parte nobre, ou seja, o software mais sofisticado.

Ao lado, um exemplo de um projeto combinado. O sistema publica um site que, hospedado numa instância Apache que roda no RPi (dentro da caixa plástica transparente), exibe em tempo real as imagens da câmera do RPi (quadradinho preto). O posicionamento da câmera pode ser ajustado pelos dois servo-motores (em azul, abaixo da câmera). Para que isso funcione foi necessário colocar um Arduino para comandar os motores e criar uma comunicação I2C entre Arduino e Pi para que o comando enviado pela internet ao Pi seja transmitido para o Arduino.

Em cena, o Yún

O Yún foi concebido para preencher essa lacuna. Ele é uma espécie de 2 em 1: tem um processador AR0331, que "roda" o Linux, e outro, o ATMega 32U4, que é um microcontrolador típico da plataforma Arduino. Isso proporciona o melhor dos dois mundos: um microprocessador rodando um sistema operacional e um microcontrolador para interagir com o hardware.

Para comunicar um "mundo" com o outro, protocolo serial com uma camada de software que os caras chamam de Bridge.

Como se não bastasse: o Yún tem ainda WiFi, duas portas USB em vez de uma (mais sobre isso à frente) e uma porta Ethernet (conexão de rede). Tudo isso mantendo a mesma pinagem do Arduino Uno, ou seja, compatível com tudo o que existe em termos de shields para a plataforma Arduino.

O foco do Yún, como se pode perceber, é a interação pela internet, mais especificamente IoT, Internet das Coisas.

Aliás, Yún quer dizer "Nuvem", em chinês. Em mandarim:

Cool, isn´t it?

Tudo isso por aproximadamente US$74,00 (nos EUA)

Nos próximos posts, mais sobre o brinquedinho.