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.
Nenhum comentário:
Postar um comentário