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
- Computador
- Placa Arduino
- Cabo USB para ligar o Arduino ao computador
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
- int pode ser utilizado para declarar números inteiros (int a=3;)
- float números reais (float a=3.5;)
- caracteres char (char a= “hello”;)
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:
- if…else…
“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; }
- for…
“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 "); } }
- while…
“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"); }
- switch…case…
“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; }
- do…while
“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