Introdução a Programação Arduino – Parte 1 – Algoritmos

Este artigo mostra os conceitos básicos de programação voltada para o Arduino utilizando Algoritmos. É feita uma abordagem de algoritmos e programação utilizando a linguagem C, que é a base da linguagem C++ utilizada no ambiente Arduino.

 

Introdução

O Arduino consiste em um conjunto de ferramentas, composto por componentes de hardware, que são as placas, e componentes de software.

Os componentes de software são manuseados por meio da interface gráfica, também chamada de IDE, do inglês Integrated Development Environment. Dessa forma, é necessário que você assimile os conceitos básicos para poder aproveitar ao máximo os recursos e possibilidades.

As placas, ou hardware, representam a materialização dos projetos. A fim de implementar as suas ideias, é necessário desenvolver o software e gravar o código do programa no microcontrolador do Arduino.

Durante este processo são necessários os testes e correções de software, com o intuito de remover possíveis problemas.

A linguagem de programação Arduino é o C++, que por sua vez comporta a sintaxe de programação C, já que C++ é uma evolução do C. O C++ ampliou as possibilidades da linguagem C, tendo como um dos focos principais a programação orientada a objetos.

Dessa forma, o principiante em programação deve estar atento para com as particularidades dos conceitos de cada linguagem de programação.

Programar em C para Arduino é relativamente simples, mas impõe algumas dificuldades devido a ampla liberdade que a linguagem propicia ao programador. Ao mesmo tempo, a organização do C++ e a utilização de objetos, que ajudam a organizar o código, demandam mais recursos, como memória e tempo de processamento.

Assim, esta série de artigos terá foco inicial nos conceitos de programação da linguagem C voltada para Arduino, para depois evoluir para o C++.

 

Um dedo de prosa sobre Algoritmos

Vamos imaginar que você teve uma ideia, de realizar um projeto simples, e pretende utilizar o Arduino para a sua construção.

Depois que você definiu como o seu projeto deve funcionar, do ponto de vista do usuário, qual seria o ponto inicial? Abrir a IDE do Arduino e sair enchendo as linhas de códigos?

Ok, esta estratégia pode funcionar razoavelmente bem para programadores experientes. Em suma, estas pessoas conseguem elaborar mentalmente a sequência de tarefas a serem executadas e a sua codificação com certa facilidade.

Porém, existe a possibilidade de tornar mais simples a programação do seu código para Arduino. A palavra chave para isto se chama Algoritmo.

O algoritmo é uma forma de estabelecer a sequência que o seu programa Arduino deve seguir, isto é, pré-determinar a sequência de tarefas para depois codificá-las.

 

Um exemplo de algoritmo

Antes de tudo, você deve estar ciente de que, para elaborar um algoritmo, você não precisa saber programar. Trata-se apenas do estabelecimento das etapas a serem codificadas.

Assim, no nosso exemplo, vamos supor que você queira implementar uma chave eletrônica para ligar e desligar um LED. Você tem uma placa Arduino com botão de pressão, como apresentado em outro artigo nosso, que pode ser acessado aqui: Push button no Arduino com filtro de Bouncing

Supomos ainda que pinBOTAO seja um o pino de entrada do Arduino no qual está ligado o botão de pressão. Por sua vez, pinLED é o pino de saída, no qual está ligado o LED propriamente dito.

A descrição do funcionamento desejado é a seguinte:

  • Quando o botão é pressionado, se o LED estiver ligado ele desliga; Por conseguinte, se o LED estiver desligado, ele deve ser ligado.

Transcrevendo para a forma de algoritmo:

1) Se o pino pinBOTAO está acionado: 

a) Se o pino pinLED está ativado: Desativa o pino pinLED.

b) Se não: Ativa o pino pinLED.

2) Se não, se o pino pinBOTAO não está acionado, continua testando o pino pinBOTAO, isto é, volta ao passo 1).

Esta estrutura de algoritmo pode ser representada na forma de fluxograma, como apresentado na Figura 1.

 

FIGURA 1: Fluxograma do algoritmo.

 

Codificando o algoritmo no Arduino

Agora que a sequência de tarefas foi estabelecida, através do algoritmo, vamos realizar a codificação do programa para o Arduino.

Vamos nos preocupar somente com o código da tarefa do exemplo, sem considerar as configurações dos pinos como entrada ou saída da placa Arduino.

Assim sendo, iniciando pelo passo 1) do nosso algoritmo, a tarefa é testar se o o botão foi pressionado, isto é, devemos testar a entrada pinBOTAO.

Com o teste se tem duas possibilidades: se pinBOTAO == 1, isto é, o botão não foi acionado, o programa deve continuar testando o botão. Se pinBOTAO == 0, isto é, o botão foi pressionado, o código deve executar as tarefas pertinentes. Neste caso, a tarefa é alternar o estado do LED (se está ligado, desligar; se está desligado, ligá-lo).

Portanto, uma vez detectado o acionamento do botão, o código deve realizar o teste de verificação do estado do LED. Da mesma forma que para um pino de entrada, um pino de saída pode ter o seu estado verificado através da função de leitura. Então, utilizando a leitura digital do pinLED, descobre-se o seu estado e faz a sua comutação, escrevendo o estado lógico desejado no mesmo.

Por fim, o código para a realização desta tarefa, em linguagem C, é apresentado abaixo.

 

Botão de pressão (push-button) no Arduino

Se você tem dúvidas de como utilizar um botão de pressão (push-button) no Arduino, nós temos um artigo ensinando como fazer isso aqui. Como foi explicado no artigo sobre a utilização do botão de pressão, para fazer uso do deste componente deve-se utilizar um pino como entrada digital. Daí, basta utilizar a função de leitura digital para saber se o botão foi ativado. Se o botão estiver acionado, o pino estará em nível lógico zero. Se ele não está acionado, o nível lógico é 1.

 

Conclusão

Neste artigo eu apresentei uma introdução à programação Arduino, mostrando, ao mesmo tempo, a utilização do conceito de algoritmos.

No próximo artigo da série vou mostrar um pouco sobre os conceitos da linguagem de programação C voltada para Arduino. Até breve!

 

 

 

 

E aí, gostou? Opine. Assim poderemos melhorar.

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *