Por Luís Ribeiro do IPGuarda para o Pplware
Saiba, em tempo real, várias informações de um jogo de corrida, como a velocidade, rotações por minuto, aceleração, pressão de turbo, nome do carro, entre outras;
Arduino!!! Por alguns conhecido, por uns uma incógnita, e por outros só conhecido pelo nome.
Numa sociedade, todo o indivíduo necessita de comunicar com os restantes. Para tal, desenvolveu e adquiriu, ao longo na sua vida, formas e protocolos de comunicação. Na electrónica e na informática não é menos verdade essa realidade. Cada vez mais a sociedade exige que haja comunicação entre homem/máquina e máquina/máquina. O Arduino permite tudo isso e muito mais….haja ideias.
Mas o que é o Arduino? Arduino é uma plataforma electrónica desenvolvida em Itália, projectada com micro controladores Atmel AVR de 8 bits ou Atmel ARM de 32 bits, e que tinha como objectivo proporcionar a eletrónica mais acessível à comunidade tanto a nível financeiro, como a nível de desenvolvimento de projectos.
A simplificação a nível de desenvolvimento foi conseguida através de uma ferramenta multi-plataforma escrita em Java, denominada de Arduino IDE, que proporciona ao utilizador um IDE de programação para o Arduino, bastante acessível.
A Arduino Board (ou plataforma Arduino), possui diversos tipos de pinos I/O (input/output), podendo estes ser de digital output/input (pinos digitais de input e output), PWM (Pulse Width Modulation), e de analog input (pinos analógicos de input), fornecendo assim a possibilidade de se poder ligar diverso tipo de material eletrónico, tais como LEDs, sensores, motores, ecrãs, entre outros. Está presente uma interface SERIAL ou USB que permite ao Arduino comunicar com outros dispositivos, tal como um computador normal; e também um pino que fornece 5V de tensão elétrica, e que pode ser usado por exemplo para alimentar pequenos servomotores.
Existem várias Boards que variam no micro controlador usado e no número de pinos I/O que possuem. Sendo assim, o preço será diferente dependo destes factores anteriores. Além das Boards existem também controladores denominados de SHIELDs que são possíveis de acoplar a estas Boards, e que podem oferecer uma ligação à rede através de uma porta de rede, ou de wireless; ou em que é possível sermos nós próprios a criar o nosso circuito.
Arduino Ethernet SHIELD
Arduino Proto SHIELD
Existem vários modelos clone do Arduino oficial, que são outras plataformas compatíveis com o Arduino e com o próprio IDE que possui, e que normalmente também são compatíveis com os SHIELDs oficiais.
Em suma, o Arduino é uma excelente ferramenta para quem gosta de aliar a área de programação à área da eletrónica, e por um preço bastante acessível.
Vários projectos básicos:
- Ligar/desligar uma luz
- Controlar a intensidade de uma luz (recurso a portas PWM)
- Controlar rotação de um motor
- Simular a recepção/envio de dados pela porta SERIAL
- …etc
Estes são apenas alguns projectos para iniciados que o podem ajudar a compreender melhor como funciona e como trabalhar com o Arduino.
FVM –
Mostro agora um projeto ainda “verdinho” que tenho desenvolvido com recurso a um controlador Arduino Duemilanove, que possui 6 pinos analógicos de input, 14 pinos digitais de input/output, sendo que 6 deles fornecem um output PWM, e que tem um preço de 17,50€ – ver aqui.
Neste projecto faço o uso de um jogo de corridas e de uma biblioteca (DLL), para assim ser possível saber em tempo real, várias informações deste jogo, tais como velocidade, rotações por minuto, aceleração, pressão de turbo, nome do carro, entre outras; neste jogo existe um modo que é necessário activar, e que do qual resulta o envio destas informações (informações em tempo real dos dados de simulação do jogo) num pacote UDP para uma determinada interface de rede e para um determinado porto. Através de programação, controlo estas informações e com a ligação SERIAL envio-as para o Arduino, onde depois é observado um determinado OUTPUT (que pode ser luzes a acender, motores a rodar, etc ), que foi programado.
O vídeo que se segue mostra como é possível controlar um conjunto de LEDs, que representam um conta-rotações de automóvel.