Conteúdo sugerido

O Blink é o projeto mais simples que se pode fazer com o Arduino, este nada mais é que um led que pisca onde o programador (você) diz o tempo em que ele estará piscando. Vamos seguir primeiro para a construção física do projeto, depois iremos para a programação.
O próprio arduino já vem com um led que pode ser usado da forma que quisermos diante da programação que formos fazer. Geralmente estes leds utilizam o encapsulamento chamado de smd.
Placa arduino Mega 2560 com led smd
qTL0Gl.jpg

Placa arduino Duemilanove com led smd
SqUW2l.jpg

Placa freeduino com led comum
mtbvSl.jpg

Podemos utilizar leds externos também, mas estes deverão estar em serie com um resistor de 200 a 220 ohms. Vamos fazer os dois leds piscarem no mesmo projeto.
Note que o led tem uma perninha maior que a outra, o Anodo será onde irá ligar o positivo e o catodo o negativo, o resistor pode ficar em serie em qualquer uma das saídas do led. 
No meu caso estarei fazendo estas ligações com uma protoboard e jumpers.
Ligando o catodo em serie com o resistor e depois jumpeando com o ground (negativo) do arduino, o anodo estou ligando direto ao pino 13 com um jumper.
Eis o resultado:
KRwDLl.jpg
Muito bem, agora vamos ao código, ao abrir a ide do arduino vamos utilizar um código já pronto para este nosso projeto, é algo bem simples que irá fazer com que entenda bastante de como funciona o código e a interação com o arduino.
Abra a IDE do arduino e siga este caminho File > Examples > Basics > Blink (note que existem vários outros projetos prontos para você "brincar").
Ao clicar em Blink irá ser aberto uma outra janela com a ide do arduino e o código que estará nele mostrado será este:

/*  Blink  Turns on an LED on for one second, then off for one second, repeatedly.   This example code is in the public domain. */


void setup() {  // initialize the digital pin as an output.  // Pin 13 has an LED connected on most Arduino boards: 

          pinMode(13, OUTPUT);     

}


void loop() { 

          digitalWrite(13, HIGH);   // set the LED on 
          delay(1000);              // wait for a second 
          digitalWrite(13, LOW);    // set the LED off 
          delay(1000);              // wait for a second

}

O que estiver entre um ' /* ' e um ' *\ ' ou depois de um ' // ' é um comentário, ou seja, ao compilar o código estes trechos não serão levados em consideração ao programa. Um comentário serve mais para ajudar a quem lê o programa saber o que ele está fazendo.

Este código vem com duas funções, estas são as funções básicas do arduino que são setup e loop. No setup você define ou configura seu programa, exemplo: quais portas/pinos irá utilizar, se será de entrada ou saida de dados, qual frequência será usada para o terminal serial etc...
Já o loop é uma ação definida pelo programador que será realizada infinitas vezes em um loop, exemplo: fazer o nosso led piscar.

No setup é definido como padrão assim que é criado o projeto Blink utilizar o pino 13 como saída de informação: pinMode(13, OUTPUT);
Este número pode ser qualquer outro número que seja uma porta digital no arduino, geralmente na própria placa mostra a definição do que são os pinos.
Dentro do loop encontramos:
digitalWrite(13, HIGH);   // set the LED on 
delay(1000);              // wait for a second 
digitalWrite(13, LOW);    // set the LED off 
delay(1000);              // wait for a second

Em digitalWrite(13, HIGH);  diz que o pino 13 recebe um sinal HIGH, ou seja, acendo o led.

Em delay(1000); da uma pausa de um segundo (1000 milisegundos), como minha ultima ação foi ligar o led em digitalWrite, o led ficará aceso por um segundo até a próxima ação.

Aqui em digitalWrite(13, LOW); diz que o pino 13 recebe um sinal LOW, ou seja, desliga o led.

Novamente delay(1000); mais uma vez o delay aparece, desta vez esta fazendo o led ficar um segundo desligado, já que esta foi sua ultima ação antes de entrar no delay.

Depois que todo este bloco de ações é efetuado ele irá sempre se repetir já que está dentro da função loop.

Agora que entendemos como o código funciona, vamos subir ela ao microcontrolador do arduino. Antes de subir o código você deve verificar se o arduino está conectado ao pc e se a ide está com a porta seria usb onde o arduino está conectado marcada em tools > serial port, também deve-se verificar se o modelo da placa do arduino/microcontrolador está selecionado em tools > board.
Para subir o código você pode ir em File > Upload ou dar um ' Ctrl + U ' ou clicar no botão de upload que está na barra de ferramentass da ide do arduino.
Pronto, nosso primeiro projeto de arduino está funcionando e junto a ele um bocado de conhecimentos necessários para criar outros projetos mais complexos.
Após subir o código, se tudo der certo, o led irá piscar ficando comutando de um em um segundo ligado e desligado. Note que tanto o led da placa arduino quando o led externo estão piscando. Isto deve-se porque a saída para o pino 13 do arduino está ligada diretamente com o led smd da placa, fazendo assim com que os dois leds pisquem síncronos.
Agora faça um teste, vá novamente no código do blink e altere o valor que está em delay e veja o que acontece.

Se estiver com dúvidas mande para meu email: fabio@robolivre.org e tentarei esclarecer o mais breve possível.
Até o próximo projeto =) 

O que é um led?
O que é uma proto board?
O que são jumpers?
O que é ligar um componente em serie?
O que é IDE?
O que é compilar?


Atividades recentes