IDE do Arduino
Para usar o Arduino, deve-se utilizar o software de desenvolvimento do Arduino, disponível
no endereço https://www.arduino.cc/en/main/software. Após o download e instalação, o software
tem a janela mostrada abaixo. É importante selecionar o Arduino usado e a porta serial (sempre
diferente de COM1 e COM2) para que o gravador funcione perfeitamente. Isto se encontra na aba
Janela de uma aplicação IDE do arduino
Na janela existem 2 funções onde podemos escrever nosso código. Aqui a função main está
implícita e funciona como o código abaixo:
int main(void)
{
init();
setup();
for (;;) {
loop();
}
}
A função init() é uma função interna e serve para inicializar os parâmetros do
microcontrolador. setup() é uma função em que podemos escrever a inicialização das nossas
variáveis, estabelecimento de sentido de portas, ou qualquer coisa que desejamos que seja feita no
início do programa. A função loop() está em um loop infinito (dentro do for (;;)) e será executada
toda vez que terminar a sua própria execução. A maioria dos programas embarcados tem esta
característica de ficarem sendo executados indefinidamente até que a energia seja cortada ou haja
um reset.
O programa de exemplo abaixo mostra como funciona um programa Arduino. Este é o
programa blink que faz com que o LED SMD da placa ligado ao pino 13 (a constante
LED_BUILTIN se refere a este pino) acenda e apague simetricamente em intervalos de 1s
(1000ms).
Em setup() colocamos o comando:
pinMode(LED_BUILTIN, OUTPUT);
Este é um comando de biblioteca do Arduino que indica o sentido do pino, ou seja, se ele é
de entrada ou saída. O primeiro parâmetro é o pino que se deseja informar o sentido, neste caso
temos o pino LED_BUILTIN. Dentro das definições do Arduino uno, LED_BUILTIN é definido
como 13. O segundo parâmetro indica o sentido, neste caso, OUTPUT que indica que o pino é de
saída.
Dentro da função loop() temos:
digitalWrite(LED_BUILTIN, HIGH);
delay(1000);
digitalWrite(LED_BUILTIN, LOW);
delay(1000);
A função digitalWrite() escreve um nível lógico no pino que se traduz em 5V se for 1 e
GND ou 0V se for 0. O primeiro parâmetro é o pino que se deseja escrever o estado e o segundo
parâmetro o estado (HIGH – 1 ou LOW – 0). A função delay() tem como parâmetro o tempo em ms
que ela deve demorar para retornar. Neste caso significa que ela pára a execução por 1000ms ou 1s.
Resumindo o programa faz com que o LED seja aceso por 1s e apagado por 1s. Ao terminar
esse ciclo, esta função será chamada novamente e o LED continuará acendendo e apagando até que
termine a alimentação do Arduino.
Programa exemplo blink. Faz o LED da placa (pino13) acender e apagar indefinidamente.
Veja o vídeo mostrando o funcionamento do IDE e do carregamento deste exemplo (blink).