Vamos fazer um comparativo entre duas placas da família Arduino, ambas com grande número de portas, memória e poder de processamento, são as placas Arduino MEGA e Arduino ADK, onde a segunda muitas vezes pode ser encontrada com o nome Arduino MEGA ADK ou Arduino Android.
Na imagem a seguir podemos notar que as placas são muito semelhantes, com exceção do conector USB adicional no Arduino ADK, cuja função veremos mais adiante, vamos primeiro dar uma olhada nas especificações das duas placas.
CARACTERÍSTICAS COMUNS
Como utilizam o mesmo processador ATmega2560 (datasheet) as características das placas são as mesmas, já que temos 54 portas digitais das quais 16 podem ser usadas como saídas PWM e 16 portas de entrada analógicas. O clock é de 16 Mhz e a memória de 256Kb, dos quais 8Kb são utilizados pelo bootloader. Temos ainda 4Kb de EEPROM quer podemos ler e escrever dados de forma permanente utilizando a biblioteca EEPROM.
A placa por ser alimentada tanto pelo conector USB tipo A (o mesmo cabo USB utilizado em impressoras) quanto por uma fonte externa de 7 à 12 volts, a seleção da fonte de alimentação é feita de forma automática pelo Arduino.
Evite utilizar fontes de alimentação que forneçam menos de 7V já que isso pode fazer com que as portas do Arduino, que funcionam com nível de sinal de 5V, fiquem instáveis e comprometam o funcionamento dos circuitos, já que é necessário que o Arduino forneça potência suficiente para alimentação de sensores, módulos e outros dispositivos.
Na parte de comunicação serial temos uma pequena diferença entre o MEGA e o ADK, o MEGA 2560 utiliza, nas versões mais novas, o chip ATmega16U2 como conversor USB-Serial e o ADK utiliza o ATmega8U2. Os pinos das 4 seriais, entretanto, são os mesmos:
Serial: pinos 0 (RX) e 1 (TX)
Serial 1: pinos 19 (RX) e 18 (TX)
Serial 2: pinos 17 (RX) e 16 (TX)
Serial 3: pinos 15 (RX) e 14 (TX)
Ainda em interfaces temos a SPI nos pinos 50 (MISO), 51 (MOSI), 52 (SCK) e 53 (SS), a interface TWI (Two Wire Interface ou interface de dois fios, mais conhecida como I2C) pode ser acessada pelos pinos 20 (SDA) e 21 (SCL).
Com relação à expansão da placa, tanto o Arduino MEGA quanto o Arduino ADK são projetados para utilizar os shields normalmente projetados para o Arduino UNO, já que a disposição dos pinos laterais de 0 à 13, o conector ICSP e os pinos analógicos de 0 a 5 seguem o mesmo padrão.
A tabela abaixo mostra um comparativo entre as características principais do Arduino MEGA e do Arduino ADK :
Arduino | MEGA | ADK |
Microcontrolador | ATmega2560 | ATmega2560 |
Tensão de operação | 5V | 5V |
Alimentação | 7-12V | 7-12V |
Pinos I/O Digitais | 54 (15 podem ser saídas PWM) |
54 (15 podem ser saídas PWM) |
Pinos I/O Analógicos | 16 | 16 |
Memória Flash | 256KB (8KB utilizados pelo bootloader) |
256KB (8KB utilizados pelo bootloader) |
EEPROM | 4KB | 4KB |
Clock | 16Mhz | 16Mhz |
USB Host Chip | — | MAX3421E |
VANTAGENS ARDUINO ADK
Como vimos acima, são placas com arquiteturas muito parecidas, qual a vantagem do Arduino ADK, justamente o USB Host Chip MAX3421E, que permite uma integração entre o Arduino e um dispositivo com sistema operacional Android, amplamente usado em smartphones, tablets e outros aparelhos.
O ADK é um acrônomo para Acessory Development Kit, ou Kit de Desenvolvimento de Acessórios em tradução livre, é um método para criar dispositivos que se conectem à aparelhos rodando o sistema operacional Android.
Assim, utilizando o Google ADK podem ser criados programas que carregados no Android permitem a troca de dados entre o sistema operacional e o Arduino. Isso abre um leque imenso de oportunidades de integração entre essas duas plataformas.
Teóricamente você pode, por exemplo, utilizar as funções de GPS, câmera, acelerômetro, giroscópio e outras funções do smartphone no seu Arduino ADK, ao invés de comprar módulos e shields que tenham a mesma função. Uma outra alternativa é o armazenamento de dados no Arduino ADK, que posteriormente podem ser lidos por meio de alguma aplicação escrita para Android.
O vídeo abaixo ilustra bem uma aplicação criada no Android e que controla leds, luzes e motores conectados à um Arduino ADK.
Podemos fazer a mesma coisa com o Arduino MEGA, claro, mas no caso precisaríamos de outros componentes, como shield wifi ou bluetooth, mas o atrativo do Arduino ADK é justamente essa integração direta com o Android.
Uma observação sobre o USB host chip é que quando você conectar o smartphoner ou tablet ao Arduino, esses dispositivos irão interpretar a placa da mesma maneira que um computador comum e irão iniciar o processo de carregamento, “pegando” energia da porta USB. Por esse motivo, deve ser utilizada uma fonte externa que consiga fornecer no mínimo 1,5A de corrente para suportar tanto o Arduino SDK e seus dispositivos ligados às portas, como também o smarphone e tablet ligados à porta USB.
CONCLUSÂO
Tanto o Arduino MEGA quanto Arduino ADK são praticamente a mesma placa, com o diferencial de que o ADK pode se comunicar diretamente com o sistema operacional Android utilizando o USB host chip.
Assim, se você não precisa de uma conexão direta entre o Arduino e o Android, um Arduino MEGA atende à todas as necessidades de projetos com o Arduino que utilizem um grande número de portas de entrada/saída.
Por outro lado, se você deseja explorar todas as possibilidades da integração entre o Arduino e o Android, que é um sistema operacional cada vez mais utilizado não só em smartphones como também em vários outros equipamentos, o Arduino ADK é sem dúvida a melhor opção.