Avançar para a área de conteúdo

Ao clicar em Enviar, você concorda com os termos e condições do developerWorks.

A primeira vez que acessar o developerWorks, um perfil será criado para você. Informações do seu perfil (tais como: nome, país / região, e empresa) estarão disponíveis ao público, que poderá acompanhar qualquer conteúdo que você publicar. Seu perfil no developerWorks pode ser atualizado a qualquer momento.

Todas as informações enviadas são seguras.

  • Fechar [x]

Ao se conectar ao developerWorks pela primeira vez, é criado um perfil para você e é necessário selecionar um nome de exibição. O nome de exibição acompanhará o conteúdo que você postar no developerWorks.

Escolha um nome de exibição de 3 - 31 caracteres. Seu nome de exibição deve ser exclusivo na comunidade do developerWorks e não deve ser o seu endereço de email por motivo de privacidade.

Ao clicar em Enviar, você concorda com os termos e condições do developerWorks.

Todas as informações enviadas são seguras.

  • Fechar [x]

Construindo um Jogo de Laser Baseado no Arduino, Parte 1: Princípios Básicos do Arduino

Inicie seus projetos de eletroeletrônico com a plataforma de hardware e software livre Arduino

Duane O'Brien, PHP developer, 自由职业者
Duane O'Brien é um canivete suíço tecnológico desde quando The Oregon Trail era somente texto. Sua comida favorita é sushi. Ele nunca esteve na lua.

Resumo:  Arduino é uma plataforma de eletroeletrônicos barata e fácil de usar. A plataforma inteira, tanto o hardware quanto o software, é um software livre e a linguagem é baseada em C/C++. O Arduino foi construído para fabricantes, funileiros e artistas que querem mergulhar na criação de objetos físicos interativos. Esta série de três partes começa com o hardware Arduino básico e o utiliza para criar um jogo de laser interativo chamado "'Duino tag," no qual os jogadores podem reproduzir tags utilizando dispositivos construídos quase do zero. Aqui na Parte 1 desta série " Construindo um Jogo de Laser Baseado no Arduino", nós promovemos experimentos básicos que nos preparam para o, e que fazem parte do, 'Duino tag.

Visualizar mais conteúdo nesta série

Data:  22/Dez/2008
Nível:  Intermediário PDF:  A4 and Letter (177 KB)Obtenha o Adobe® Reader®

Atividade:  17707 visualizações

Introdução ao Arduino

Nesta seção, apresentamos os princípios básicos do Arduino, como configurá-lo e como programar o software com um pequeno manual de linguagem.

O que É Arduino?

Para simplificar, uma placa Arduino é um microcontrolador — um computador minúsculo com vários pinos de entrada e de saída. Utilizando estes pinos, você pode criar inúmeros dispositivos interativos, que vão desde uma simples luz piscando até dispositivos complexos que utilizam uma grande variedade de entrada para criar comportamentos complexos utilizando servos e motores. O primeiro Arduino foi produzido em janeiro de 2005 por dois professores, — David Cuartielles e Massimo Banzi — no Interaction Design Institute em Milão. Consulte Recursos para ler um artigo da revista Wired que traça o perfil dos desenvolvedores do Arduino.

A plataforma Arduino é composta por duas partes: o hardware (incluindo o microcontrolador, uma placa de circuito, etc.) e o software (a linguagem e a interface de programação). Ambas as partes da plataforma são software livre. Se você quiser, é possível fazer o download de esquemáticos para o Arduino, comprar todas as peças individuais necessárias, cortar a placa de circuito e começar do zero. Existem inúmeros projetos diferentes, como Freeduino, que fizeram isso. Os esquemáticos e os arquivos CAD foram liberados sob a licença Creative Commons Share-Alike. O software utilizado para programar o Arduino também é um software livre. Ele foi escrito em linguagem de programação Java™ e liberado sob GPL (existem algumas bibliotecas de microcontrolador C/C++ que foram liberadas sob LGPL).

Existem várias plataformas de microcontroladores disponíveis, e muitas delas estão concentradas no mesmo objetivo: facilitar a programação e a criação de interface com o microcontrolador, colocar tudo dentro de um pacote, etc. Da mesma forma, o Arduino busca uma interface simples e um pacote integrado, enquanto tenta oferecer benefícios adicionais:

Baixo custo
Uma pessoa pode construir uma placa Arduino do zero com pouco dinheiro, e as unidades pré-montadas são baratas. Um Arduino Diecimila custa em torno de $35.
Software para várias plataformas
Obtenha o software Arduino para Microsoft Windows, Mac OS X e Linux.
Linguagem simples
Os desenvolvedores do Arduino tentam manter sua linguagem fácil de usar para iniciantes, mas flexível o bastante para usuários avançados.
Software livre
O Arduino é completamente um software livre. Se quiser construir seu próprio software ou modificar um, você é livre para isso. Além disso, o Web site oficial do Arduino contém um wiki extensivo no qual amostras de código e exemplos são compartilhados livremente.

Existe uma grande quantidade de informações disponíveis sobre o Arduino. O melhor lugar para se começar é no Web site oficial (consulte Recursos). Leia uma excelente introdução nesse site.


Introdução

Para se criar uma interface com o hardware Arduino, você precisa instalar o software. Faça o download para o seu sistema operacional e siga o guia de instalação e configuração passo a passo apropriado (consulte Requisitos do sistema). Eles seguem as mesmas etapas:

  1. Descompacte o software
  2. Instale o driver USB para o Arduino
  3. Conecte a placa
  4. Ative o software
  5. Faça o upload de um exemplo

Nós não cobriremos cada etapa detalhadamente, já que elas são diferentes de um ambiente para outro. Vamos discutir o software e o exemplo Blink.

Nota: Na linguagem Arduino, programas e scripts individuais são referidos como "esboços."

Após ativarmos o software e carregarmos o exemplo Blink (de acordo com as instruções no Guia de Introdução), você verá algo semelhante à Figura 1.


Figura 1. A Interface do Software Arduino
A Interface do Software Arduino

Resumindo a interface, a linha superior de botões controla tarefas básicas como compilar, criar e salvar arquivos, fazer o upload de código para a placa Arduino e ativar ou desativar o Serial Monitor (falaremos sobre isso mais tarde). A área de janela do meio contém todo o código para o exemplo Blink e a área de janela inferior exibe a saída do console, erros de compilação e mensagens seriais (quando Serial Monitor estiver ativado). Por enquanto, vamos nos concentrar na área de janela do meio e discutir a linguagem Arduino.


Princípios Básicos da Linguagem Arduino

A linguagem Arduino é baseada em C/C++, e se você tiver utilizado esta linguagem antes, os construtores e recursos lhe serão familiares. Embora uma revisão integral da linguagem esteja fora do escopo deste tutorial, vamos deixar o exemplo Blink um pouco de lado para saber um pouco mais sobre a linguagem. Isso pode parecer muito básico se você já estiver acostumado a trabalhar com código, portanto, se você preferir, pegue um manual e entre de cabeça; sinta-se livre para se aprofundar na referência de linguagem estendida (consulte Recursos para conhecer a referência de linguagem estendida).

Primeiro, consulte o grande bloco de comentários. Os comentários sobre a linguagem Arduino são escritos em dois estilos.


Listagem 1. Estilo de Bloco

 */
 * Estilo de bloco como este
 */

Ou podem ser escritos no estilo sequencial.


Listagem 2. Estilo Sequencial

// sequencial como este

Em seguida, observe que declaramos uma variável: int ledPin = 13;.

Esta linha diz a você imediatamente quais linhas na linguagem Arduino terminam com ponto e vírgula. Além disso, ela diz quase tudo que precisamos saber sobre a declaração de variáveis na linguagem Arduino. A sintaxe: Declarar o tipo de variável, declarar o nome da variável, configurar o valor inicial da variável. Além do tipo int, a linguagem Arduino suporta int sem sinal, Boolean, char, char sem sinal, byte, long, long sem sinal, float, double, string e array. Encontre detalhes sobre cada tipo de dado em Referência de Linguagem Arduino, mas observe também o tipo array. Cada método mostrado na Listagem 3 é aceitável quando se declara uma array.


Listagem 3. Métodos para se Declarar uma Array

int fourlong[4];  // creates an empty array, 4 elements long
int nolength[] = {8,18,32,64};  // the compiler will figure out how long this array is
int setboth[4] = {8,18,32,64};  // This creates a 4 element array 
                                // and sets the initial value
char someword[7] = "fizbin";  // You need to add one extra element for a null character

Se você tiver um desenvolvimento da Web em segundo plano, essas arrays podem parecer um pouco estranhas. Não se preocupe. Elas farão mais sentido quando começarmos a utilizá-las.

Nota: Arrays têm índice de zero.

A Listagem 4 mostra a função setup.


Listagem 4. Função setup

void setup()
{
  pinMode(ledPin, OUTPUT);
}

Esta função será executada uma vez quando a placa Arduino for reconfigurada. Cada esboço deve ter uma função setup, mesmo se a função estiver vazia. Nesse caso, a função setup será utilizada para configurar o modo para um dos pinos do hardware Arduino. Ignore a instrução pinMode por enquanto e observe a estrutura da função. Funções são declaradas através de seu tipo de retorno (nesse caso, void indica que a função não retornará nenhum valor) e do nome da função. Seguindo o nome da função, quaisquer parâmetros necessários são declarados dentro de parênteses. A função setup não aceita parâmetros, mas se quisermos criar uma função que aceite um ou mais parâmetros, declararemos os parâmetros como se estivéssemos declarando uma variável.


Listagem 5. Declarando Parâmetros

void someFunction(int a, int b=2)

Finalmente, podemos ver que o código de função está entre chaves.

A seguinte função setup é outra função chamada loop.


Listagem 6. Função loop

void loop()
{
  digitalWrite(ledPin, HIGH);
  delay(1000);
  digitalWrite(ledPin, LOW);
  delay(1000);
}

Após a função setup ser executada, a função loop é chamada, indefinidamente, até a placa Arduino ser desligada ou algum evento cataclísmico criar uma lacuna no espaço e no tempo. É na função loop que, normalmente, fazemos a maior parte do nosso trabalho, atendendo à entrada do sensor e acionando alguma forma de saída. Assim como com a função setup, cada esboço deve ter uma função loop, mesmo que a função esteja vazia.

Além do que aprendemos do exemplo Blink, existem outras coisas que devemos mencionar resumidamente sobre a linguagem Arduino:

  • Estruturas de controle mais familiares são suportadas (if, while, for, switch, etc.).
  • Operadores aritméticos, de comparação, booleanos, bit a bit e compostos são todos padrão.
  • A linguagem suporta nativamente certas funcionalidades matemáticas, trigonométricas, de número aleatório e de comunicação serial.
  • Podemos incluir bibliotecas externas utilizando instruções #include na parte superior do esboço.

Além de toda essa funcionalidade padrão, existem inúmeros elementos de linguagem exclusivos do Arduino. Esses construtores (como as funções pinMode e digitalWrite que você viu acima) referem-se principalmente ao trabalho com vários pinos de entrada e de saída no Arduino. Existe um guia de linguagem extensivo no site do Arduino (consulte Recursos).

OK — Temos materiais introdutórios suficientes sobre o Arduino. Vamos dar uma olhada neste projeto, o que você vai aprender com ele e quais desafios você vai enfrentar.

2 de 9 | Anterior | Próximo

static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=80
Zone=Software livre
ArticleID=385172
TutorialTitle=Construindo um Jogo de Laser Baseado no Arduino, Parte 1: Princípios Básicos do Arduino
publish-date=12222008
author1-email=d@duaneobrien.com
author1-email-cc=