terça-feira, 7 de dezembro de 2010

Tutorial Blink (Piscar LED)


Blink (Pisca)

Este exemplo mostra a coisa mais simples que você pode fazer com um Arduino para visualizar uma saida física, ele pisca um LED.

Hardware Requerido

  • Placa Arduino
  • LED

Circuito

Para construir o circuito, pegue um LED e conecte o lado positivo (perna mais longa) ao pino 13 do seu Arduino e o lado negativo (perna mais curta) no GND da sua placa. A seguir plugue o Arduino ao seu computador, inicie o software do Arduino e insira o códgo abaixo.
A maioria das placas do Arduino já vêem com um LED conectado ao pino 13, se você rodar este programa sem nenhum hardware extra você deveráver um led piscando na placa.

Esquemático

Se você tem experiência com eletronica, deve ter notado que o led nao possui nenhum resistor ligado a ele. Isto porque a corrente da saida do Arduino não é forte o bastante para danificar o LED, isso simplifica o circuito para iniciantes, entretanto é sempre uma boa ideia colocar um resistor em série com o LED.

Código

Neste programa, a primeira coisa a se fazer é inicializar o pino 13 como saida.
pinMode(13, OUTPUT); //Prepara o pino 13 para ser usado como saida

No loop principal (função loop() ), o LED é ligado com a linha a seguir:
digitalWrite(13, HIGH); //Escreve o valor lógico 1 na saida do pino 13

Isto faz com que seja aplicado 5 volts neste pino criando assim uma DDP que acenderá o LED. A seguir você desligará o LED com a seguinte linha:
digitalWrite(13, LOW); //Escreve o valor lógico 0 na saida do pino 13

Se você colocar só estas duas linhas no loop, o LED ira piscar numa velocidade de aproximadamente 16Mhz, a essa velocidade não é possivel distinguir a mudança de estado. Para resolver este problema (e qualquer outro relacionado a temporização) o Arduino possui uma função predefinida para pausar o sistema um determinado espaço de tempo. É a função delay(). Com isso nosso código ficará assim:

void main(){
pinMode(13, OUTPUT); //inicializa o pino 13 como saida
}

void loop(){
digitalWrite(13, HIGH);//SAIDA = 1, 5v, o LED acende
delay(1000); //Aguarda 1000 milisegundos
digitalWrite(13, LOW);//SAIDA = 0, 0v, o LED apaga
delay(1000); //Aguarda 1000 milisegundos para recomeçar o loop
}


Vlw galera, comentem ae \o

Nenhum comentário:

Postar um comentário