quinta-feira, 23 de junho de 2011

Blink - Piscando LED


      Aqui vai uma breve explicação para programação de piscar um led, esse é um exemplo clássico que todos quando recebem o arduino usa para testa-lo se está funcionando. Mas na programação existe várias maneiras para fazer a mesma coisa, no caso vou explicar a programação básica e uma, um pouquinho mais avançada para quem está começando agora com o arduino, que é a programação por for.

1-Programação Básica:
    Vou fazer a programação toda e depois vou explicar em partes. Lembrando que no próprio arduino tem um led conectado a porta 13.

int led= 13; //Declarei que led é a variável 13
void setup()
{
  pinMode(led, OUTPUT); //Agora utilizei essa variável e disse que ela é a porta 13 do arduino
}
void loop()
{
  digitalWrite(led, HIGH); // Led ficará ligado
  delay(1000);                    //Por 1000 milissegundos
  digitalWrite(led, LOW); //Led irá ficar desligado
  delay(1000);                   //Por 1000 milissegundos
}
     No início da programação quando declarei que led = 13, esse valor serial uma variável, mas no nosso consentimento, na nossa cabeça fica como se fosse já a porta do arduino, mas é uma variável qualquer.
     No void setup(); que é a preparação da programação, ai sim digamos falamos da porta do arduino, declarei que esse valor vai sair dados, vai sair tensão (se fosse INPUT, seria o contrario, entraria dados);
     No void loop(); como o nome já diz, vai servir para repetir a programação infinitamente até que se desligue o arduino. Mas na programação dentro do loop que o led vai ficar acesso por 1000 milissegundos

PS: No delay, que seria o tempo da função que foi ativado, é em milissegundos.

     Voltando, o led vai ficar acesso por 1 segundo e depois vai se desligar por 1 segundo e isso vai ficar assim o tempo todo até que desligue o arduino.

2-Programação em for:
     Nessa programação precisa colocar o led numa porta PWM que está marcado na placa do arduino, a programação vai ficar fica assim:

int led= 10;  //Declarei a variável 10 vai se chamar led, idem ao anterior
void setup()
{
  pinMode(led, OUTPUT); //Agora declarei que aquela porta 10 é a porta digital do arduino
}
void loop()
{
  for(int i = 0; i < 255; i++) //Condição que usei, i começa em zero, se ele for menor que 255 vai somar 1 para i
   {
     analogWrite(led, i); //Led acende de acordo com o valor de i
     delay(250); //Durante 250 milissegundos
   }
}

     Bom, eu mudei a porta e coloquei numa porta PWM, mas lembrando de que, declarei a variável 10 do led, no void setup() que , digamos, eu falei que seria na porta 10 do arduino.
     A grande mudança foi no loop(), que usei a sentaça for, dentro desse sentença como viram tem uma expressão, nessa função vocês tem que falar inicialização, condição e incremento.
     Então, i declarei dentro do for para ser uma variável qualquer, mas essa variável vai está ligado a corrente que vai passar no led. Comecei com a variável em 0 (inicialização); se i for menor que 255 (condição); vão ser somados 1 variável em i (incremento).

     Dessa vez não usei digitalWrite e sim analogWrite, que serve para as portas pwm... Agora vocês se perguntando o que seria essas portas pwm: É uma porta aonde você controla a corrente que passa onde que variável de 0-1023, mas na programação esse valor é divido por 4, logo vai variar de 0-255.


Vídeo:
Houve um erro de português no ultimo video, em vez de programaçãos e sim programações

Bom pessoal, espero que tenham entendido, qualquer coisa deixa como comentário que explicarei
Até mais... 

0 comentários:

Postar um comentário

 
Blogger Templates