Um Projeto de Hardware Open Source

Postado por Marcelo Rocha

Arduino é um projeto de circuito baseado em microprocessador de código aberto, da indústria Atmel. Uma placa física em código aberto baseada em um circuito de entradas/saídas simples. É também um ambiente de desenvolvimento do software Arduino. Sua linguagem de programação Arduino é uma implementação do Wiring, construída em Processing.

O Arduino pode ser usado para desenvolver objetos interativos, tomando entradas de vários switches ou sensores, e controlando uma variedade de luzes, motores, mecanismos, entre outras saídas. Os projetos do Arduino podem tanto ser autônomos, como se comunicar com softwares. O Arduino foi projetado para tornar o uso da eletônica em projetos multidisciplinares mais acessível.O hardware é programado uma linguagem baseada no Wiring (sintax + libraries), similar ao C++ com algumas simplificações e modificações, e uma IDE baseada no Processing. O projeto teve início em Ivrea, Itália (uma cidade que, como diz no site da Olivetti, tinha uma alta concentração de profissinais de TI (Tecnologia da Informação), que em 2005 criaram um dispositivo para controle de projetos de interação contruídos por estudantes, e que era mais barato que outros sistemas de prototipagem existentes naquela época. Em fevereiro de 2010 mais de 120,000 placas do Arduino já tinham sido entregues. Os fundadores do projeto Massimo Banzi e David Cuartielles nomearam o projeto de Arduin of Ivrea, o principal personagem histórico da cidade. "Arduino" é um nome próprio masculino em italiano, e significa "forte amigo". A versão em inglês do nome é "Hardwin".

Hardware

Uma placa Arduino consiste de um microcontrolador AVR Atmel de 8 bits com componentes complementares que facilitam a programação e incorporação da placa em outros circuitos. Um aspecto importante do Arduino é o padrão com que seus conectores são expostos, permitindo à CPU ser conectada a uma variedade de módulos adicionais intercambiáveis ( conhecidos com shields ). Arduinos "oficias" têm usado o série de chips megaAVR, especificamente os ATmega8, ATmega168, ATmega328, ATmega1280, e ATmega2560. Um punhado de outros processadores têm sido usado por Arduinos compatíveis. A maioria das placas incluem um regulador linear para voltagem de 5v e um cristal oscilador de 16 MHz (ou ressonador cerâmico em umas variantes). Um microcontrolador do Arduino é também pré-programado com um boot loader que simplifica o upload dos programas para o chip ( memória flash ), diferente de outras placas que tipicamente nessecitam de um programador de chip externo.

Shields - São placas contruídas para serem montadas em cima da placa do Arduino e que extendem a funcionalidade do Arduino para controlar diferentes dispositivos, fazer a aquisição de dados, etc. Abaixo temos algumas fotos de alguns shields.

Software

A IDE do Arduino é uma aplicação cross-plataform escrita em java, o que significa que ela é portável para diversos sistemas operacionais, e é derivado da IDE para a linguagem de programação Processing e do projeto Wiring. Ela e projetada para introduzir a artistas e outros recém-chegados que não são familiarizados com o desenvolvimento de software. Ela inclui um editor de código fonte com características tais como syntax highlighting, identação automática e é capaz de compilar e fazer o upload para a placa com apenas um clique. Não há a necessidade de editar makefiles ou rodar programas em linha de comando.

A IDE do Arduino vem com uma biblioteca C/C++ chamada "Wiring" ( do projeto que tem o mesmo nome ), que torna mais fácil muitas operações comuns de entrada/sáida. Os programas para Arduino são escritos em C/C++, embora os usuários somente necessitem definir duas funções para fazer um programa executável:

  • setup() - uma função que roda somente uma vez no início do programa que pode ser usada para inicializar parâmetros dos objetos.
  • loop() - uma função que é a chamada repetidamante até que a placa seja desligada.

A IDE do Arduino usa o kit de ferramentas GNU e o AVR libc para compilar os programas, e usa o avrdude para fazer o upload dos programas para a placa.

Uma imagem da IDE do Arduino mostrando o código do programa "Blink", programa que equivale, para o Arduino, ao famoso "Hello World" das linguagens de programação.

  • Desenvolvedores - Arduino Software
  • Versão estável - 0022 / 24 de Dezembro de 2010
  • Escrita em - Java
  • Sistema operacional - Multi-plataforma ( Win / Linux / Mac Osx / etc.. )
  • Tipo - IDE ( Ambiente de desenvolvimento integrado )
  • Licensa - LGPL ou GPL