Bom galera conforme alguns pedidos de amigos e alunos estarei iniciando alguns tutoriais sobre programação básica utilizando o arduino. Neste primeiro post estarei explicando como funciona o código de um programa pisca led.
Detalhando o código blink do arduino // void setup é a configuração inicial da programação.
//ex.: definir se o pino será entrada ou saída
void setup()
{ // configura o pino led(pino 13) como saída(OUTPUT) pinMode(led, OUTPUT); } // o void loop significa executar esta rotina infinitamente, o programa principal
// estará alocado aqui void loop() { digitalWrite(led, HIGH); // escrevo nível lógico 1 ou HIGH no pino led(pino 13) delay(1000); // aguardo o tempo de 1 segundo ou 1000 miliSegundo digitalWrite(led, LOW); // escrevo nível lógico 0 ou LOW) no pino led(pino 13) delay(1000); // aguardo o tempo de 1 segundo ou 1000 miliSegundo }
O programa acima acende o Led da placa de um Arduino qualquer, este Led ficará aceso por um tempo de 1 segundo e apagará, ficará 1 segundo apagado e acenderá novamente, isso irá ficar em loop(eternamente enquanto não resetar ou desligar o arduino).
No código anterior temos algumas instruções ou sintaxe bastante utilizadas.
* pinMode(led, OUTPUT);
A sintaxe pinMode tem como função selecionar a direção do pino, o argumento "led" significa o número do pino que você vai declarar, este número esta marcado ao lado da barra de conexão fêmea do arduino conforme ilustração a frente.O argumento "OUTPUT" tem a função de saída, mas também podemos declarar o pino como entrada(INPUT) para ler um botão por exemplo.
* digitalWrite(led, HIGH);
A sintaxe digitalWrite tem como objetivo escrever um nível lógico("0" - GND ou "1" - 5V) na saída do arduino, esta função é utilizada quando precisamos executar uma ação(ex. acender um Led, desligar um motor), o argumento "led" indica qual é o pino que terá seu valor alterado, e o argumento "HIGH" coloca o nível lógico alto no pino e quando declarado "LOW" coloca nível lógico baixo(0V - GND).
* delay(1000);
O delay é conhecido como atraso, serve para paralisar ou travar o programa por um determinado tempo. Este tempo é determinado pelo programador, a base de tempo desta instrução esta em mili segundo.
Logo abaixo coloquei um programa que tem a mesma função que o programa anterior mas de forma diferente de escrever algumas informações.
void setup()
{ pinMode(13, 1); } void loop()
{ digitalWrite(13, 1); delay(1000); digitalWrite(13, 0); delay(1000); }
Até a Próxima!!!