4 – Eletrônica digital com Arduino – Programando o cérebro

No artigo anterior montamos a estrutura física para fazer um led piscar. Agora vamos programar a inteligência do Arduino e depois veremos o resultado final em um video.
A primeira etapa é conhecer o ambiente de desenvolvimento. O ambiente de desenvolvimento pode ser baixado em http://arduino.cc/en/Main/Software, bastando escolher a sua plataforma operacional (Windows, Linux ou MAC).
Em Linux, após baixar o pacote, deve-se extraí-lo:
tar zxvf arduino-0022.tgz

Entrar no diretório:
cd arduino-0022

E executar o binário:
./arduino

Em Windows, deve-se extrair o pacote zip. Para tal, clique com o botão direito sobre o pacote e opte por extraí-lo.
A execução colocarei como atualização desse post, porque estou baixando o pacote nesse momento e o executarei a partir do Wine para poder descrevê-lo.

Esteja com o Arduino ligado à USB antes de abrir o ambiente de desenvolvimento. Após a execução do programa, será vista uma janela assim:

Selecione o modelo de sua placa Arduino em Tools –> Board –> Arduino Uno.

O primeiro botão redondo da janela (com um triângulo dentro) é para compilar o código – ou seja, ele transformará seu código fonte (o que for digitado dentro da janela) em um arquivo com dados binários. Posteriormente, deve-se então colocar esse arquivo binário dentro do Arduino, bastando para isso que se clique na seta que aponta para a direita. Ao encostar nesse botão, aparecerá escrito a palavra ‘Upload’.

Existe um formato para se programar para Arduino, sendo que como linguagem de programação utilizaremos C.

O formato é a divisão em dois blocos: setup e loop.

Setup
Nesse bloco definiremos a configuração de pinos, variáveis de ambiente, etc.

Loop
A tradução de loop é ‘laço’. Isso quer dizer que a execução do código contido nesse bloco será executado infinitamente pelo Arduino.

Antes mesmo de iniciarmos aulas de programação, vamos concluir o nosso projeto de piscar o led, com o exemplo de código.
Quando se vai iniciar um programa, a primeira fase é o planejamento. Então, vamos planejar como o led vai piscar:
– Queremos utilizar o pino 13.
– Esse pino deverá emitir voltagem para acender o led
– Queremos que ele pisque 1 segundo e fique apagado um segundo, infinitamente.

Agora que planejamos o nosso primeiro projeto, vamos ao código. Não se preocupe com o entendimento do código em si, pois isso será visto mais adiante quando entrarmos em programação:

void setup() {
/* Esta parte se chama comentário. O que se escreve entre os simbolos ‘/*’ e ‘*/’ não será interpretado pelo compilador.
Na própria placa Arduino tem um led quadrado. Esse código o fará piscar, mas vamos utilizá-lo para piscar um led externo também. Utilizaremos o pino 13 como planejado (o pino 13 é o mesmo do LED da placa Arduino)
pinMode(13, OUTPUT) – Isso quer dizer ‘o pino 13 é saída’.
*/
pinMode(13, OUTPUT);
}

/* Agora ao laço. Os pinos do lado que estamos utilizando são pinos digitais. digitalWrite é escrita digital.
HIGH – significa alto; como se o resultado fosse resposta a um botão. Aqui dizemos que ‘o botão está alto’
LOW – baixo. Quer dizer que o botão está baixo.
*/

void loop() {
//Aqui acenderemos o led:
digitalWrite(13, HIGH);
// Faremos ele esperar por 1 segundo. Para isso, utilizamos o comando delay(), que gerará um atraso do tempo
// que definirmos entre parênteses. O tempo de delay é especificado em milisegundos. Então, para 1 segundo, mil milésimos
delay(1000);
// Pronto. ele ficará um segundo acesso. Agora o comando para apagar o LED
digitalWrite(13, LOW);
//espera mais um segundo
delay(1000);
}

Para melhor entendimento do código, essa imagem abaixo mostra o fluxo do programa. Esse tipo de desenho é chamado fluxograma:

Como se pode ver, após o setup inicia-se o laço. Quando termina o bloco de código do laço, o fluxo se reinicia.
O fluxo é indicado pelas setas; é algo como um encanamento e as setas indicam o sentido do fluxo dos dados.

Terminado o código, basta agora compilar e inserir o programa no Arduino.
– Clique no primeiro botão da interface
– Clique no botão com a seta a direita após concluída a compilação.

Quando aparecer escrito ‘Done’, Você poderá ver o resultado. Gostaria de colocar um video da compilação, mas não foi possível Porém, nada mais do que dois cliques com o código descrito nesse post.

Aqui, apenas o vídeo do LED de auto-brilho piscando:

Esse LED ficará piscando sem parar, mas é possível fazê-lo piscar apenas algumas vezes e parar, ou mudar a intermitência, fazê-lo reagir sob condições especificas com auxílio de sensores, etc.

A partir do próximo post iniciaremos uma introdução a programação C para podermos dar continuidade aos tutoriais e introduziremos o uso de um potenciômetro (de 10K), para aumentar ou reduzir o intervalo do LED. Com esse tutorial você já viu todos os passos básicos necessários para iniciar um projeto. Posteriormente aumentaremos a complexidade adicionando componentes, sensores e código.

Comments

comments

Djames Suhanko

Djames Suhanko é Perito Forense Digital. Já atuou com deployer em sistemas de missão critica em diversos países pelo mundão. Programador Shell, Python, C, C++ e Qt, tendo contato com embarcados ( ora profissionalmente, ora por lazer ) desde 2009.

Deixe uma resposta