Site icon AranaCorp

Aprender programação com Arduino

Uma das ferramentas mais populares para aprender sobre programação e eletrónica é a tecnologia Arduino. Este tutorial explica como instalar e utilizar o software de programação Arduino (IDE).

Hardware

Instalar o software

Descarregar a versão mais recente do Arduino https://www.arduino.cc/en/Main/Software

Clique em « I Agree »

Clique em « Next > »

Clique em « Install »

De seguida, o software pede-lhe para instalar os controladores para as placas Arduino. Clique em “Instalar” nas duas vezes.

Aguardar até a instalação estar concluída

O software Arduino está agora pronto a ser utilizado.

Instalar o controlador CH340

Alguns microcontroladores compatíveis com o Arduino requerem a instalação de um controlador adicional: o controlador CH340G. Para o fazer, pode descarregar o instalador do controlador CH340. Execute o ficheiro .EXE resultante e clique em “install” (instalar) quando lhe for pedido.

Código de base

O ficheiro .INO, criado pelo software Arduino e utilizado para programar as placas, baseia-se nas linguagens C e C++ e deve respeitar uma determinada arquitetura.

O código contido na função setup() será executado apenas uma vez quando o programa for iniciado. É geralmente utilizado para inicializar as variáveis e os estados do microcontrolador.

A função loop() é a função principal do programa. É executada num ciclo depois de a função setup() ter sido executada, até o microcontrolador ser desligado.

Este é o mínimo necessário para que o código Arduino seja compilado.

Podem então ser adicionadas variáveis, parâmetros, constantes, subfunções e bibliotecas.

Carregar o código no cartão

Para programar a placa Arduino, é necessário compilar o programa e carregá-lo na placa. Isto é possível graças ao software Arduino.

Para compilar e carregar o programa, comece por ligar a placa ao PC. No menu do software, no separador “Ferramentas”, em “Tipo de placa: ‘Arduino/Genuino UNO’ > ”, selecionar a placa que pretende utilizar.

Em seguida, no separador “Ferramentas”, em “Porta >”, selecione a porta série utilizada pela placa.

Por fim, carregue o programa utilizando a opção ou no menu “Sketch” em “Upload” ou utilizando o atalho de teclado Ctrl+U.

Os LEDs RX/TX da placa devem começar a piscar e depois parar, indicando que o programa foi transferido com sucesso.

Utilizar o monitor de série

Quando a placa está ligada ao computador, uma funcionalidade útil é utilizar o monitor de série para apresentar os resultados da placa Arduino. Isto facilita a verificação do código.

Para testar o seu cartão, introduza o seguinte código:

void setup(){
  Serial.begin(9600);
  Serial.println("Board is initilized with the setup function");
}

void loop(){
  Serial.println("The loop function is executed!");
  delay(5000);
}

Carregar o código no cartão.

Para abrir o monitor de série, basta clicar no botão no canto superior direito da interface.

Nota sobre a linguagem de programação

Declaração de constantes

A palavra-chave #define é utilizada para declarar constantes. É-lhes dado um nome e o seu valor não pode ser alterado quando o programa é executado.

Duas grandes vantagens: permite-lhe encontrar rapidamente o significado de um valor ao ler o código e ocupa menos espaço de memória do que uma variável. Convencionalmente, os nomes das constantes são escritos em maiúsculas.

#define CONSTANT_NAME value

Variáveis e parâmetros

Existem diferentes palavras-chave para definir variáveis ou parâmetros. Para declarar corretamente uma variável, é necessário conhecer o seu tipo

keyword nom_variable = intial_value;

O

keyword nom_variable;

É frequentemente aconselhável atribuir um valor inicial para controlar o seu conteúdo.

Também pode criar os seus próprios tipos de variáveis: trata-se de classes contidas em bibliotecas.

Nota: Não te esqueças do ponto e vírgula depois de cada comando para evitar erros de compilação.

Fonctions

As funções são geralmente definidas quando uma parte do código é utilizada várias vezes no mesmo programa. Da mesma forma que as variáveis, as funções são definidas com uma palavra-chave porque devolvem um resultado cujo tipo deve ser especificado.

keyword function(keyword parameter){
  return parameter;
  }

No entanto, algumas funções não devolvem quaisquer resultados e, nesse caso, utilizamos a palavra-chave void.

Estrutura da condição

Uma vez declaradas as variáveis e as funções, é necessário dizer ao programa o que fazer com elas. Para o fazer, utilizamos estruturas de condições.

Os mais utilizados são:

“Se tenho esta doença, faço isto; se não tenho, faço aquilo”.

Ex:

int valeur = 0;
int a = 1;

void setup(){
  Serial.begin(9600);
}

void loop(){

  if(valeur<=20){
    Serial.println("Valeur est inferieure ou egale à 20");
    a=1;
  } else if (valeur>100){
    a=-10;
  } else {
    Serial.println("Valeur est superieure à 20");
    a=5;
  }

  valeur+= a;//valeur=valeur+1;
}

“Para esta sequência numérica, faço isto”.

Ex:

void setup(){
  Serial.begin(9600);
}

void loop(){
  for(int i=0;i<20;i=i+1){
    Serial.print("This iteration i =  ");
               Serial.println(" i ");
  }
}

“Enquanto tiver estas condições, faço-o”.

Ex:

int valeur = 0;

void setup(){
  Serial.begin(9600);
}

void loop(){
while(valeur<10){
  Serial.println("Code in the while loop is executed"); 
  valeur+=1;
} 
Serial.println("This code is executed after the while loop");
}

“Em tal e tal caso, eu faço isto”.

Ex:

int valeur = 0;

void setup(){
  Serial.begin(9600);
}

void loop(){
switch(valeur){
  case 1:
    Serial.println("Value is one"); 
    valeur+=1;
    break;
  case 2:
    Serial.println("Value is two"); 
    valeur+=1;
    break;
  default:
    Serial.println("Default value"); 
    valeur+=1;
    break;
  } 

“Vou fazer isto desde que tenha estas condições”.

A diferença com o while é que o código é executado pelo menos uma vez.

Ex:

int valeur = 0;

void setup(){
  Serial.begin(9600);
}

void loop(){
do{
  Serial.println("Code in the dowhile loop is executed"); 
  valeur+=1;
}while(valeur<10); 
Serial.println("This code is executed after the dowhile loop");
}

Tabelas

Também é possível criar matrizes que contenham várias variáveis do mesmo tipo. São declaradas da mesma forma que as variáveis, exceto que as suas dimensões devem ser especificadas, ou seja, o número de elementos contidos na matriz.

int integers[10];

O

char alph[5]={'a','b','c','d','e'};

As matrizes podem ser multidimensionais. As matrizes, por exemplo, podem ser definidas.

int T[4][4]={{1,2,3},{4,5,6},{7,8,9}};

Para modificar ou alcançar os elementos de uma matriz, é útil utilizar um ciclo for.

void setup(){
  Serial.begin(9600);
}
void loop(){
  for(int i=0;i<5;i++){
    Serial.print("Value is : ");
    Serial.println(alph[i]);
  }
  
  for(int j=0;j<4;j++){
    for (int k=0;k<4;k++){
      Serial.print("Matrix element is : ");
      Serial.println(T[j][k]);
      if(T[j][k]%2==0){
        T[j][k]=0;
      }
    }
  }
}

Teste e combine estas expressões para obter as funcionalidades pretendidas.

Próximas etapas

Fontes

Retrouvez nos tutoriels et d’autres exemples dans notre générateur automatique de code
La Programmerie

Exit mobile version