quinta-feira, 12 de abril de 2012

Robótica Livre Aula 1 - Ativando Leds com o Arduino parte 2

O que é um algoritmo?

     Vamos para mais alguns conhecimentos necessários antes de iniciarmos nossa primeira prática com o Arduino.

      Já vimos o que são dispositivos de entrada e dispositivos de saída e o quais são as portas digitais do Arduino e para quê servem. Porém não basta apenas conectarmos motores, leds e sensores ao Arduino e querer que as coisas saiam funcionando como um passe de mágica.

     Para que o Arduino execute o que pretendemos, precisamos de um algoritmo. Mas o que é um algoritmo? De uma forma bem simplificada, um algoritmo é um conjunto ou uma descrição dos passos necessário para a resolução de uma tarefa. 

     Segue abaixo um exemplo de algoritmo para resolução da tarefa de trocar uma lâmpada.

Início
   Verifica se o interruptor está desligado;
   Procura uma lâmpada nova;
   Pega uma escada;
   Leva a escada até o local;
   Posiciona a escada;
   Sobe os degraus;
   Para na altura apropriada;
   Retira a lâmpada queimada;
   Coloca a lâmpada nova;
   Desce da escada;
   Aciona o interruptor;
     Se a lâmpada não acender, então:
         Retira a lâmpada queimada;
         Coloca outra lâmpada nova
     Senão
         Tarefa terminada;
   Joga a lâmpada queimada no lixo;
  Guarda a escada;
 Fim

     Na área da computação, os algoritmos são utilizados para descrever as etapas necessárias para que um programa execute suas tarefas. A linguagem utilizada no exemplo é o que chamamos de linguagem natural, ou português estruturado. Um algoritmo não representa necessariamente um programa de computador mas sim os passos necessários para resolução de uma tarefa. 

    Nó entendemos perfeitamente os passos do exemplo, porém para que um computador realizasse esta tarefa, teríamos que ser bem mais específicos, além de descrevê-la em uma linguagem que o computador pudesse interpretar.

Linguagem de programação do Arduino

     Imagine se a descrição para trocar uma lâmpada estivesse escrita em Japonês, ainda sim continuaria sendo um algoritmo, porém a menos que soubéssemos Japonês não conseguiríamos entender seus passo. Alguns só entendem português, outros só entendem inglês. O Arduino só entende algoritmos em C/C++, ou melhor, uma linguagem baseada em C/C++.  Mas o que é C?

     C é uma linguagem de programação. Uma linguagem de programação é um método padronizada para passar instruções para o computador. Assim como o português que possui regras de sintaxe e semântica uma linguagem de programação também possui suas regras  de sintaxe e semântica. Em português se colocarmos em uma receita chícara com (ch) no lugar de xícara com (x) ainda sim saberemos do que se trata, já em linguagem de programação, se colocarmos uma palavra ou comando no caso, escrito com uma letra errada, simplesmente não funcionará. Se colocarmos algum trecho com uma semântica  meio duvidosa, corremos o risco de não obter o resultado desejado.

Conhecendo a estrutura da linguagem C/C++ para o Arduino


     Como mencionado acima, para programarmos o Arduino utilizaremos uma linguagem baseada na linguagem C/C++. Para o Arduino têm-se  algumas características específicas da linguagem, mas ascaracterísticas principais da linguagem C/C++ são mantidas.

Para facilitar o entendimento, vamos fazer uma comparação bastante comum. Assim como uma receita de um bolo, divide-se em descrição dos ingredientes e os passos para preparação, a programação para o Arduino divide-se em duas partes principais. A primeira é chamada de Void Setup e a segunda é chamada de Void Loop. A figura abaixo ilustra esta comparação.

       
      Assim como em uma receita, o algoritmo possui duas partes principais que são void setup() e void loop(). No void setup é onde vão as configurações necessárias antes de iniciarmos os passos, assim como os ingredientes que devem ser descritos na receita de um bolo. No void loop() é onde são descritos os passos que devem ser executados, assim como o modo de preparo na receita do bolo. 

     É muito importante salientar que quando passamos o algoritmo para o Arduino o void setup é lido apenas uma vêz e o void setup é lido infinitamente até que o arduino seja desligado. Quando ligamos o arduino ele lês as configurações uma vez e realiza os procedimentos infinitamente.  


     Podemos observar que as duas partes principais do algoritmo  têm início com a abertura de chaves “{“ e o fechamento com o fechamento de chaves “}”. Todas as instruções de cada bloco devem ficar entre sua abertura e seu fechamento.

Comandos básicos da linguagem de programação para Arduino


Segue abaixo os comandos básicos que iremos utilizar em nossa primeira aula
Estrutura
void setup() {
}
void loop(){

Funções

 

 




Nenhum comentário:

Postar um comentário