Nesse review Genuino 101 vamos ver o sistema embarcado que chegou para unir toda versatilidade da plataforma (já clássica) Arduino UNO, com a velocidade e estabilidade dos processadores INTEL. Além do projetista contar com a incrível facilidade de se programar esta plataforma diretamente na IDE do Arduino (mediante download da versão mais recente e mais alguns plug-ins), a Genuino 101 dispõe de um acelerômetro e giroscópio de 6 eixos totalmente onboard!
Achando pouco ainda? A plataforma apresenta módulo Bluetooth LE onboard, trazendo uma ampla faixa de aplicações, sem a necessidade de Shields externos! Outra característica muito interessante da plataforma é o fato de apresentar dois núcleos de processamento, sendo um deles x86 (Quark) e o outro com arquitetura ARC de 32 bits. Tem 384 kB disponível de memória flash e a velocidade de processamento é de 32MHz.
Cada pino de I/Os fornece uma corrente máxima de 20mA. Dos 14 pinos digitais, 4 apresentam PWM (pulse width modulation) e há 6 pinos que podem ser utilizados para leitura analógica (assim como no clássico Arduino UNO). A tensão de operação é de 3,3V, entretanto há uma tolerância de 5V, ou seja, você não precisa se preocupar em queimar sua Genuino 101 (sinal de fumaça é coisa do passado). A entrada Vin admite tensões entre 7 e 12V.
Configurando a IDE para o Genuino 101
Nesse review Genuino 101 vamos mostrar como configurar a IDE para usar com essa placa. Após você pode atualizar sua IDE do Arduino, acessando o site https://www.arduino.cc/ e clicando na aba “Download”. Você vai enxergar a imagem conforme Figura 1.
Figura 1 – Página de download da versão mais recente da IDE do Arduino
A versão mais recente, na data em que escrevo este artigo, é a 1.6.10 como pode ser visto na Figura 1. Após selecione a opção conforme sua plataforma. Dê preferência para a versão de instalação “Installer”, caso seu sistema seja Windows.
Após baixar e instalar a sua IDE nova (basta seguir a instalação no padrão de clicks “next”, “next”, “next”, “finish”…) com duplo clique no atalho da IDE você verá a tela de inicialização conforme Figura 2.
Figura 2 – Tela de inicialização da nova IDE
Quando conectar a sua Genuino 101 em uma porta USB, a mesma será reconhecida automaticamente pelo computador, uma vez que a nova IDE já estará devidamente instalada, contendo os drivers pertinentes. Para confirmar se está tudo ok, acesse o gerenciador de dispositivos do seu computador, confirmando a identificação da placa 101 (Figura 3).
Figura 3 – Reconhecimento no gerenciador de dispositivos
No campo “portas COM e LPT” você verá “Arduino 101 Serial Monitor” e a respectiva porta COM que o mesmo estará indexado. Neste caso foi na COM4.
Mas seu Genuino 101 ainda não está pronto para receber o famosos Sketch de “Hello World”. Você precisa instalar alguns plug-ins para que isso seja possível. Para este procedimento, acesse a aba “Tools” na IDE, depois vá em “Board” e clique em “Boards Manager”, conforme Figura 4.
Figura 4 – Acessando a Boards Manager
Estando conectado à internet, clique em install para instalar o plug-in da Arduino/Genuino 101. Após alguns instantes o status será “INSTALLED” conforme mostra Figura 5.
Figura 5 – Adição do plug-in Arduino/Genuino 101
Ainda, se você estiver utilizando o Windows 10, precisa instalar adicionalmente o plug-in “Windows 10 Iot Core” (Figura 6).
Figura 6 – Plug-in para Windows 10
Primeiros testes com o Genuino 101
Muito bem, agora seu Genuino está prontinho para dar aquele fabuloso “Hello World”, que tanto gostamos! Abra o exemplo de Blink, através de “File > Examples > 01.Basics > Blink” e clique em “Upload”. Acompanhe o status no rodapé da IDE, após alguns instantes irá observar a mensagem conforme a Figura 7.
Figura 7 – Upload bem sucedido
O seu código começará a rodar após 5 segundos, esta é uma característica da plataforma. Observe o pequeno led SMD piscando na Figura 8.
Figura 8 – LED piscando, Hello World!
Porque sempre começamos pelo “Hello World”? Porque é o nível mais alto de abstração possível para todas as coisas. Uma vez dominado o processo de compilação e upload da sua placa Genuino, você pode passar a testar os demais periféricos.
Programa teste giroscópio review Genuino 101
No começo do presente artigo mencionamos o fato da placa apresentar um acelerômetro/giroscópio de 6 eixos. Para utilização você precisa baixar as bibliotecas pertinentes ao processador Intel Curie, isso pode ser feito facilmente através deste link.
Após o download, descompacte a pasta e cole na pasta “Libraries” lá no diretório onde instalou a nova versão de sua IDE. Com a IDE aberta, digita o código a seguir.
#include "CurieIMU.h" void setup() { Serial.begin(9600); // initialize Serial communication while (!Serial); // wait for the serial port to open // initialize device Serial.println("Initializing IMU device..."); CurieIMU.begin(); // Set the accelerometer range to 250 degrees/second CurieIMU.setGyroRange(250); } void loop() { int gxRaw, gyRaw, gzRaw; // raw gyro values float gx, gy, gz; // read raw gyro measurements from device CurieIMU.readGyro(gxRaw, gyRaw, gzRaw); // convert the raw gyro data to degrees/second gx = convertRawGyro(gxRaw); gy = convertRawGyro(gyRaw); gz = convertRawGyro(gzRaw); // display tab-separated gyro x/y/z values Serial.print("g:t"); Serial.print(gx); Serial.print("t"); Serial.print(gy); Serial.print("t"); Serial.print(gz); Serial.println(); } float convertRawGyro(int gRaw) { // since we are using 250 degrees/seconds range // -250 maps to a raw value of -32768 // +250 maps to a raw value of 32767 float g = (gRaw * 250.0) / 32768.0; return g; }
Aguardando os 5 segundos, padrão de inicialização, você poderá abrir a Serial Monitor da IDE. A saída da Serial apresentará os valores de posição no espaço, conforme Figura 9.
Figura 9 – Alguns valores de posição espacial retornados pelo giroscópio
Experimente modificar a posição de sua placa Genuino 101 no espaço. Vai verificar que os valores estão mudando e que o giroscópio é bem sensível! Uma aplicação extremamente interessante para este módulo da sua Genuino 101 é o projeto de um robô equilibrista, pense nisso e em quantas outras aplicações podem ser desenvolvidas!
Para mais detalhes, acesse os dois vídeos de review Genuino 101 disponíveis no início deste post, e para download dos arquivos utilizados neste post acesse este link.
Gostou? Deixe seu comentário logo abaixo.
Bom Dia Pessoal
Eu tenho uma programação no meu UNO R3 e quero migrar ela para o Genuino 101 (Por ser mais rápido) ela utiliza um MPU6050 e o W5100 Shield terei problemas com compatibilidade ?
Só tenho uma pergunta, o bluethooth onboard funciona com dispositivos da Apple?????