Blogaro!

Arduíno

Created by Tatiana Guedes on 2011-07-22 05:46:56

Tags: #eletrônica  

Para quem quer se aventurar mesclando SW com HW, esta é um boa plataforma, pois, basicamente, é uma placa montada com tudo o necessário para plugar, jogar o código e ligar. Claro, tem suas limitações portanto não é possível jogar uma distro lfs nela… hehe e talvez não tenha memória para um ‘hello word !’ em java  ^.^

Arduíno

Existem também outros kits e arquiteturas para a mesma finalidade baseados em AVR, ARM ou 8051 vendidos pela ATMEL ou pela Microchip, mas agora, aqui e hoje, falaremos do Arduino (ou Arduíno)
Por ser um kit completo, é fácil de se trabalhar, porém para quem gosta de dificuldades, sugiro fazer um programinha em assembler no notepad, ou vim, e jogar o código hexa.. =-)

Conceito:
Arduíno é uma plataforma open-source de protótipos eletrônicos. Existem vários modelos de protótipos de características diferenciadas.
Os seus microcontroladores são da ATMEL AVR (Atmega2560, ATmega328).
São usados geralmente para  implementações de sistemas de controle. Por serem programáveis, suas aplicações são amplas, como um controle de acesso por um periférico (teclado) ou um controlador de temperatura por diferencial de tensões.
Algumas pessoas ou referências dizem que a linguagem utilizada é a C/C++, ‘mentira’, a Arduíno tem uma linguagem própria, que é baseada no C e no C++. Ou seja, na prática é C, na teoria é uma linguagem própria.
Seu hardware tem licença Attribution-ShareAlike 2.5 que é livre para copiar, distribuir, transmitir e modificar seus esquemas e documentações.
Para a programação também é indicado o uso da IDE processing que é open source e gratuita. Ou, como muito de nós gostamos, tem sua IDE própria achada no repositório do apt (pelo menos no Mint), ou aqui. O Arduino ADK tem algumas funções muito facilitadoras, pois evita de ter que pegar as especificações do microcontrolador para configurar pinagem por exemplo, pela chamada de pinMode()digitalWrite(), digitalRead(),  analogWrite() e analogRead(). E confesso que isso é o mais chato, pois pela especificação, você configura bit a bit em hexadecimal no código. Quem quiser se aventurar, faça com um PIC. =-)

Exemplo:
Dependendo da apliação, é escolhido o HW apropriado: http://arduino.cc/en/Main/Hardware
Como gosto muito da área de celulares, escolho para falar um HW para androids:

Arduíno ADK

Quem gosta e faz algumas aplicações práticas em eletrônica, procura inicialmente a tabela de características, que diz a ‘potencialidade’ do HW (limitações e capacidades). Mas confesso que sem colocar a mão na prática, é uma simples documentação para constar.

microcontroller ATmega2560
interface with Android USB based on the MAX3421e IC
digital input/output pins 54 – 14 PWM outputs
16 Analog inputs
4 UARTs
crystal oscillator 16 Mhz
some features USB connection
power jack
ICSP header
reset button
DC Current per I/O Pin 40 mA
DC Current for 3.3V Pin 50 mA
Flash Memory 256 KB of which 8 KB used by bootloader
SRAM 8 KB
EEPROM 4 KB
Operating Voltage 5V
Input Voltage (recommended) 7-12V
Input Voltage (limits) 5.5-16V

Uma boa vantagem do Arduíno é que sua alimentação pode ser feita via USB, o que te libera de ter uma fonte de tensão ou de cortar o plug do seu carregador de celular antigo.

Aplicações/Desenvolvimento:

Com esse HW é possível se conectar e interagir com um Android, porém brasileiros, só funciona para Android 3.1 e Android 2.3.4…

Essa comunicação é feita pelo protocolo Android accessory protocol, e encontramos mais informações para o desenvolvedores no developer.android.

Para quem quer fazer um primeiro projeto sugiro fácil e útil que apelido de ‘evitando tropeções’. Que na verdade é um interruptor fotoelétrico ligado a lampada do seu quarto. Pois seu HW é simples, precisa de um microcontrolador e o seu periférico é um LED/OPTOTRIAC que capta movimentos e seu código é um loop infinito com interrupções habilitadas. Quando uma interrupção é ativa, ou liga a lâmpada, ou espera um delay (para você chegar na cama sem tropeçar) e desliga. Porém o arduíno é muito usado para ficar conectado ao pc, celular, então é um certo desperdício de HW usar um arduíno para uma aplicação tão simples.

Para quem desejar quebrar a cabeça ( e não é Brainfuck language ) pode implementar o protocolo 6LoWPAN e comunicar via celulares. Ou fazer algo mais normal, uma comunicação “simples”, onde seu celular recebe um sinal que ativará o funcionamento da arduíno e poderá fechar o circuito da máquina de café. =-) Ou liberar algum acesso, ou ligar o som, o computador. Ou ativar um controlador geral, que liga o som, a luz e o chuveiro. E adivinha quem é o controlador geral? Seu amigo computador…\o/  gostei dessa idéia..

Bom, viagens a parte, alguma outra sugestão ? Algo a acrescentar sobre Arduíno ???

PS: Se alguém tiver uma boa ideia com fins lucrativos e quiser ajuda na mão de obra.. Sou voluntária… heheh