fbpx
ArduinoNovidadeSérie Arduino

Como programar o Arduino


No tutorial Fundamentos de Programação para Arduino aprendemos alguns elementos básicos que compõem um Sketch, os operadores e as estruturas de controle de fluxo. Então, podemos começar a programar em Arduino.

O exemplo mais básico e clássico para iniciar a programação do Arduino e placas compatíveis é o Blink (ou Pisca Led), que consiste em acionar um LED por meio de um sinal digital. Como vimos no tutorial Conhecendo o Arduino UNO, essa placa conta com um LED conectado ao pino Digital 13 que pode ser utilizado para este teste. Desta forma, não há a necessita de componentes adicionais.

Esse e outros exemplos básicos encontram-se disponíveis no próprio Arduino IDE e pode ser acessado através do menu Arquivos ao clicar em Exemplos, conforme mostrado na Figura 1. O Blink pode ser acessado através do caminho: Arquivo > Exemplos > 01. Basics > Blink.

Figura 1: Caminho de acesso ao exemplo Blynk.

Ao selecionar o Sketch Blink uma nova janela será aberta contendo o seguinte código:

void setup() {
  // initialize digital pin LED_BUILTIN as an output.
  pinMode(LED_BUILTIN, OUTPUT);
}

// the loop function runs over and over again forever
void loop() {
  digitalWrite(LED_BUILTIN, HIGH);   // turn the LED on (HIGH is the voltage level)
  delay(1000);                       // wait for a second
  digitalWrite(LED_BUILTIN, LOW);    // turn the LED off by making the voltage LOW
  delay(1000);                       // wait for a second
}


Para carregar o código no Arduino é necessário configurar a placa e a porta de comunicação. Desse modo, conecte o Arduino à USB do seu computador, em seguida acesse o menu Ferramentas e busque o modelo da sua placa Arduino. Em nosso exemplo usaremos a placa Arduino UNO, conforme a Figura 2.

Figura 2: Seleção da placa Arduino.


Após a seleção do modelo, deve-se selecionar a porta de comunicação a placa foi atribuída, ou seja, a porta que a placa UNO foi reconhecida. Para saber se o seu computador Windows está identificando a placa vamos realizar um teste acessando o gerenciador de dispositivos. Uma opção para se chegar neste painel é pressionar as teclas “Windows + r”. Assim que o menu executar abrir digite “mmc devmgmt.msc” sem as aspas, como se pode ser observado na Figura 3.

Figura 3: Atalho para acessar o gerenciador de dispositivos.


Após digitar esse comando e clicar em “OK” será aberta a tela da Figura 4. Para verificar se o driver da placa foi reconhecido navegue até a opção Portas (COM e LPT) e expanda clicando na setinha do lado do nome. No nosso exemplo a placa Arduino UNO foi reconhecida com sucesso pela porta COM de número 5.

Figura 4: Tela do gerenciador de dispositivos.


Caso a placa UNO não tenha sido reconhecida pelo seu computador você deve olhar o que há escrito no CHIP retangular que tem ao lado da entrada USB. Se tiver escrito CH340 acesse o tutorial Instalando Driver Serial para Arduinos com Chip CH340 ou se tiver escrito FTDI acesse o tutorial Instalando o Driver Serial para Arduino com Chip FTDI. Caso não tenha nada escrito, pode instalar os dois Drivers que algum será reconhecido e você verá em qual porta COM o arduino está conectado, conforme mostrado na Figura 4.


Tendo a informação da porta COM que o Arduino foi conectado, podemos fazer a seleção da porta no Arduino IDE. A Figura 5 mostra a seleção da COM através do menu Ferramentas>Portas.

Figura 5: Seleção da porta COM.

Feito isso, para carregar o código na placa Arduino basta clicar no ícone Upload, como pode ser observado na Figura 6.

Figura 6: Realizando upload do código Blink.


A transferência do código demorará alguns segundos, mas, logo em seguida, o LED ligado ao pino 13 começará a piscar em intervalos de 1 segundo.

Video1: Blink.



ENTENDENDO O CÓDIGO

Apesar de simples, o código Blink nos ajudará a compreender sobre a estrutura básica de um programa sequencial desenvolvido no Arduino IDE e como escrever na porta digital da placa Arduino.

Conforme vimos anteriormente, a estrutura do código feito no Arduino IDE é composta por duas funções obrigatórias, que são setup() e loop(), sem elas o Sketch não funcionará.

No Sketch Blink, a função setup() inicializa a configuração do programa. Para isso, faz uso da função pinMode(), responsável por configurar o modo como um pino especificado irá funcionar, podendo ser como saída ou entrada. No exemplo, o LED embutido na porta Digital 13 (LED_BUILTIN) está configurado como porta de saída (OUTPUT).

A função loop() é a função principal do programa e é executada continuamente enquanto a placa estiver ligada. No Sketch Blink desejamos que o LED acenda, permaneça aceso por um segundo, apague, fique apagado por um segundo e repita continuamente o processo. Desta forma, estas informações deverão ser escritas dentro da função loop().

A primeira instrução do loop() do Sketch Blink deve comandar a placa UNO a acender o LED embutido na porta Digital 13 (LED_BUILTIN). Para isso, utilizaremos a função digitalWrite(LED_BUILTIN, HIGH), que escreve um valor HIGH para a porta Digital 13. Definir um pino como HIGH significa que estamos colocando o pino em nível lógico 1, enviando 5 V para que o LED seja ligado. Ao contrário, quando definimos um pino como LOW significa que estamos colocando o pino em nível lógico 0, enviando 0 V ou conectado ao terra.

A próxima instrução escrita foi a função delay(1000). Esse comando diz ao microcontrolador para esperar um intervalo 1000 milissegundos, equivalente a 1 segundo, antes de executar a instrução seguinte.

Em seguida, a função digitalWrite(LED_BUILTIN, LOW) é utilizada para apagar o LED embutido na porta Digital 13. Então, outra instrução de espera por mais 1000 milissegundos é enviada, finalizando a função loop(). No entanto, como esta é a função principal, o programa reiniciará e a executará repetidamente.

DICA

• Configuramos como saída (OUTPUT) todos os dispositivos que desejamos controlar, como: LEDs, buzzer, motores, displays, relés, entre outros;
• Configuramos como entrada (INPUT) todos os dispositivos que desejamos receber dados, como: LDR, botões, sensores infravermelhos, sensores ultrassônicos, termistores, reed switch, entre outros.

Espero que tenham gostado deste tutorial. Em caso de dúvidas deixe seu comentário abaixo.

Att.,
Carol Correia Viana

Dúvidas? Deixe seu comentário

Bacharel em Engenharia Elétrica com ênfase em Eletrônica, mestra em Engenharia Industrial e especialista em Docência com ênfase em Educação Inclusiva. Atua no setor de Desenvolvimento de Produtos na Casa da Robótica. Editora chefe e articulista no Blog da Robótica. Fanática por livros, Star Wars e projetos Maker.

Carol Correia Viana

Bacharel em Engenharia Elétrica com ênfase em Eletrônica, mestra em Engenharia Industrial e especialista em Docência com ênfase em Educação Inclusiva. Atua no setor de Desenvolvimento de Produtos na Casa da Robótica. Editora chefe e articulista no Blog da Robótica. Fanática por livros, Star Wars e projetos Maker.

Deixe uma pergunta

Esse site utiliza o Akismet para reduzir spam. Aprenda como seus dados de comentários são processados.