Programando para Arduino

led_pot_piscac

Após conhecer o que é um Arduino e para que ele serve surge a pergunta, como digo a ele o que fazer? É ai que entra a programação, nesse post vamos explicar o básico de uma programação para Arduino e definir alguns elementos presentes no mesmo.  Então vamos lá!

Para quem nunca teve contato com Programação aqui vai algumas definições.

Programação: De uma forma mais popular, programação é o ato de você comandar uma tarefa a um computador ou a um controlador. Basicamente você diz a um controlador que ele deve ligar um Led por exemplo, mas como eu digo isso ao controlador? Através de uma linguagem de programação.Linguagem de Programação: Como não podemos dizer para um controlador “faça isso, faça aquilo…” precisamos de uma linguagem que ele entenda o que queremos, é ai que entra a linguagem de programação, que é uma linguagem intermediaria de comunicação entre o homem e a máquina. É praticamente um idioma que o controlador vai entender ao escrevermos. Existem várias linguagens de programação e cada uma tem uma determinada finalidade, no caso do Arduino, usamos uma linguagem de programação baseada em C++, que é adaptada para o controlador. Com essa linguagem escrevemos um Algoritmo para comandar a placa.

Algoritmo:  Um algoritmo é um conjunto de instruções que definem a tarefa que você quer executar, no caso do Arduino o algoritmo é chamado de Sketch. A baixo temos um exemplo clássico, o Blink, que serve para fazer o Led piscar com um intervalo de tempo. Vamos entender o que compõe esse sketch a seguir.

1
Sketch para piscar Led.

O que compõe o código? 

Na primeira linha temos:

int led = 13;

onde “int” é um tipo de dado, “led” é a variável e o “13” é a porta de digital do Arduino que irá interagir com o programa. Mas o que é tudo isso?

Variável: Em programação, a variável nada mais é que um espaço de memoria que vai armazenar um dado, simplificando, led vai representar a porta 13 para o Arduino, e no programa não precisaremos escrever 13 toda fez que quisermos dar um comando para porta, basta escrever led.

Tipo de Dado: É o tipo de informação que pode ser armazenado em uma variável. No nosso caso, usamos o tipo “int” que significa que a variável “led” só pode receber números inteiros. Existem outros tipos de dados, vocês podem dar uma olhada no link  Programação onde tem  uma tabela com conceitos e sintaxes.

Quando dizemos que “led = 13” estamos atribuindo, o valor 13 a variável led, então durante a execução do programa led representa a porta 13.

Na segunda linha temos:

                    // the setup function runs once when you press reset or power the board

Que nada mais é do que um comentário, quando usamos “//” a frente de qualquer linha no código essa linha vira automaticamente “um lembrete” ou seja, ela não é uma instrução executável,  está ali apenas para algum tipo de observação. Caso queira fazer um comentário maior basta usar /*  no começo e */ no final, exemplo:

/*
DigitalReadSerial
Reads a digital input on pin 2, prints the result to the serial monitor
This example code is in the public domain.
*/

 Na terceira linha temos:

void setup() {

Que é uma função. Mas o que é função? Função são sub-rotinas dentro de um programa, ou seja, quando tempos uma parte do código que precisa ser executada várias vezes a qualquer momento, são usadas principalmente para não se repetir a mesma coisa inúmeras vezes deixando o código gigante. Tudo bem, mas o que faz a função “setup ()”?

No Arduino a função setup() é chamada no momento em que o programa começa. É usada para inicializar variáveis, definir os modos de entrada ou saída dos pinos, indicar bibliotecas, etc. Essa função é executada somente uma vez, quando o Arduino é iniciado ou quando é resetado.

Dentro da função setup() temos:

 pinMode(led, OUTPUT);

Onde temos a função pinMode que serve para configura o pino do led para que se comporte ou como uma entrada (input) ou uma saída (output). No nosso caso o pino 13 será um OUTPUT (saída), pois vai ordenar o led a emitir ou não a luz. De uma forma mais técnica:

Sintaxe

pinMode(pin, mode)

Parâmetros

pin: o número do pin o qual você deseja predeterminar.

mode: pode ser INPUT ou OUTPUT.

Em seguida temos a função

void loop() {

Após a função setup(), que inicializa e declara os valores iniciais, a função loop() faz precisamente o que seu nome indica: ela repete-se continuamente permitindo que seu programa funcione dinamicamente. É utilizada para controlar de forma ativa a placa Arduino.

Dentro da loop() temos:

digitalWrite(led, HIGH);
delay(1000);
digitalWrite(led, LOW);
delay(1000);

Onde digitalWrite pode escrever um valor HIGH ou um LOW em um pino digital. Se o pino foi configurado como uma saída (output) com o pinMode(), sua voltagem será determinada ao valor correspondente: 5V (ou 3.3V nas placas de 3.3V) para HIGH, 0V (terra) para LOW.

Se o pino está configurado como uma entrada (input) escrever um HIGH acendera o led . Escrever um LOW desligará o led.

Lembre-se de usar um resistor correspondente ao led que está usando.

Sintaxe

digitalWrite(pin, valor)

Parâmetros

pin: o número do pin

valor: HIGH ou LOW.

Em seguida temos:

delay(1000);

Que suspende a execução do programa pelo tempo (em milisegundos) especificado como parâmetro. (Em um segundo há 1.000 milisegundos.)

Logo após temos:

digitalWrite(led, LOW);  Que agora usamos o LOW para desligar o led.

E depois esperamos mais um segundo.
delay(1000);

Assim o processo repetirá e fará o Led piscar.

Esse é o primeiro post explicando os códigos, mas logo traremos mais, deixe nos comentários duvidas, sugestões e contribuições.

Até a próxima.


2 comentários sobre “Programando para Arduino

Deixe um comentário