terça-feira, 12 de outubro de 2010

Tutorial: Parte 2

Componentes necessários: 

Nenhum :)

Nível de dificuldade:

Básico


Apesar de haver vários modelos diferentes, este tutorial assume que o leitor usa um Arduino Duemilanove ou algum "genérico" semelhante. No futuro falarei de aplicações específicas de outros modelos e até como construir um.



Para começar a  fazer algo você precisará do cabo USB para conectar o Arduino ao computador, caso ainda não tenha. É um cabo de USB tipo A para tipo B, com conectores como os da foto abaixo. Se você tem uma impressora USB, provavelmente tem um cabo desses.



Antes de conectar o Arduino é preciso instalar o ambiente de desenvolvimento. Faça o download da versão mais recente para o seu sistema operacional: http://arduino.cc/en/Main/Software

Após a instalação, conecte o cabo ao Arduino e plugue em uma porta USB. O led verde deve acender. 

No Windows, assim que o sistema operacional detectá-lo, você deve passar pela novela de sempre de instalação de drivers, mas com sorte tudo deve  instalar automaticamente. 

Com qualquer distribuição Linux recente você já terá o driver adequado no kernel, mas precisará instalar os seguintes pacotes ou seus equivalentes na sua distribuição:
  • sun-java6-jre
  • avr-gcc-c++
  • avr-gcc
  • avr-libc

Com tudo  no lugar, podemos então começar a brincar um pouco. Primeiro vamos à anatomia da placa:


Os pinos no topo numerados de 0 a 13 são entradas e saídas digitais. Estes pinos são usados para interagir com qualquer dispositivo de entrada ou saída que lida com apenas dois estados. Na parte inferior direita estão os pinos de entrada analógica. Estes são usados para ler um valor que varia e não apenas dois estados, como um controle de volume ou velocidade. Veremos mais sobre isso adiante. À esquerda destes estão os pinos de alimentação.

Se tudo estiver bem, ao conectar seu Arduino à porta USB o led verde (PWR) deve acender. Após alguns instantes o led amarelo (L) logo abaixo do pino 13 deve começar a piscar. Inicie o ambiente de desenvolvimento (IDE).




Selecione a sua placa no menu Tools>Board, "Arduino Duemilanove or Nano w/ ATmega 328". Em seguida selecione a porta correta em Tools>Serial Port. No Windows as portas aparecerão como COM X, onde X é um número arbitrário. No Linux deve aparecer como /dev/ttyUSB0, provavelmente já selecionado. Com isso você está pronto para enviar seus programas para o Arduino.

No menu File>Examples>Digital selecione Blink. Isso abrirá outra janela do IDE com o código de exemplo abaixo:


int ledPin =  13;    // LED conectado ao pino 13 
 
// A função setup() é executada uma vez quando o programa inicia
void setup()   {                
  // inicializa o pino como uma saída digital
pinMode(ledPin, OUTPUT);     
}

// a função loop() é executada continuamente, enquanto o Arduino 
// estiver ligado
void loop()                     
{
  digitalWrite(ledPin, HIGH);   // acende o LED
delay(1000);                  // espera 1 segundo
digitalWrite(ledPin, LOW);    // apaga o LED
delay(1000);                  // espera 1 segundo
} 


Essa é a estrutura básica de qualquer programa do Arduino. A função setup() deve conter o código que será executado uma vez, quando o Arduino iniciar. A função loop() será executada enquando o Arduino estiver ligado e deve conter a funcionalidade principal do programa.

O programa acima é o "Hello World" do Arduino, mas já utiliza três funções bem comuns.

A função pinMode(pino, modo) define o modo de funcionamento de um pino digital, se será usado como entrada ou saída.

A função digitalWrite(pino, valor) altera o nível de saída do pino de acordo com o desejado. Note que para isso é preciso que o pino tenha sido configurado como saída anteriormente usando a função pinMode.

A função delay(ms) faz com que o Arduino espere um determinado período de tempo definido em milissegundos antes de continuar a execução do programa.


Vá no menu Sketch>Compile, ou use CTRL + R, ou ainda o botão de "play" na barra de ferramentas no topo do IDE para compilar o programa. Se a compilação falhar e você não tiver feito nenhuma alteração, provavelmente há algo de errado com a sua instalação e haverá uma mensagem de erro no buffer preto na parte inferior do IDE.

Se a compilação foi bem sucedida, basta enviar para o arduino. Vá em File>Upload to I/O board, ou use CTRL + U, ou o botão com a seta apontando para a direita na barra de ferramentas. Se tudo estiver certo, em alguns instantes os dois leds amarelos (TX e RX) do Arduino devem começar a piscar até que o upload de todo o programa seja feito. Se o upload falhar, você pode ter selecionado a placa ou a porta errada anteriormente, ou há algum outro problema, e haverá uma mensagem de erro.

Se tudo correu bem, o LED amarelo (L) deve começar a piscar a cada segundo.

Para este teste usamos o pino já existente na placa, mas a mesma coisa pode ser feita com qualquer outro ligando um LED e resistor externos.

Na próxima parte mostrarei como usar outros pinos da mesma forma, além de como usá-los para entrada digital.

Nenhum comentário:

Postar um comentário