quinta-feira, 22 de junho de 2023

AA_A1 - Programa: Pisca Led com Arduino

 Ao abrir a IDE Arduino você se depara com uma estrutura padrão de programa contendo as funções setup() e loop().

  • setup() – É nessa parte do programa que você configura as opções iniciais do seu programa: os valores iniciais de uma variável, se uma porta será utilizada como entrada ou saída, mensagens para o usuário, etc. Essa função irá executar apenas uma vez no início do programa.
  • loop() – Diferente da função setup(), essa parte do programa repete uma estrutura de comandos de forma contínua ou até que alguma comando de “parar” seja enviado ao Arduino.

Vamos ver exatamente como isso funciona, levando em consideração o programa que acende e apaga o led embutido na placa Arduino em intervalos de 1 segundo.

A primeira coisa que fazemos no início do programa é colocar uma pequena observação sobre o nome do programa, sua função e quem o criou:

1
2
3
// Programa : Pisca Led Arduino
// Autor : Sinésio Gomes
// Data :15/05/2023

Comece uma linha com barras duplas ( // ) e tudo o que vier depois dessa linha será tratado como um comentário. Uma das boas práticas de programação é documentar o seu código por meio das linhas de comentário. Com elas, você pode inserir observações sobre como determinada parte do programa funciona ou o que significa aquela variável xyz que você criou. Isso será útil não só para você, se precisar alterar o código depois de algum tempo, como também para outras pessoas que utilizarão o seu programa.

Após os comentários, vem a estrutura do setup(). É nela que definimos que o pino 13 do Arduino será utilizado como saída.

1
2
3
4
5
void setup()
{
  //Define a porta do led como saida
  pinMode(13, OUTPUT);
}

Por último, temos o loop(), que contém as instruções para acender e apagar o led, e também o intervalo entre essas ações.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
void loop()
{
  //Acende o led
  digitalWrite(13, HIGH);
   
  //Aguarda o intervalo especificado
  delay(1000);
   
  //Apaga o led
  digitalWrite(13, LOW);
   
  //Aguarda o intervalo especificado
  delay(1000);
}

A linha do código contendo digitalWrite(13, HIGH) coloca a porta 13 em nível alto (HIGH, ou 1), acendendo o led embutido na placa. O comando delay(1000), especifica o intervalo, em milissegundos, no qual o programa fica parado antes de avançar para a próxima linha.

Figura 01 - Circuito "Pisca_Led"
O comando digitalWrite(13, LOW), apaga o led, colocando a porta em nível baixo (LOW, ou 0), e depois ocorre uma nova parada no programa, e o processo é então reiniciado.

Quando o código estiver pronto para ser carregado na placa, conecte a placa Arduino no seu computador, entre no menu ferramentas, escolha o modelo da placa e a porta na qual a mesma está conectada.

Então clique no botão de compilação. Isso irá verificar se existe algum erro no código e gerar o arquivo de programa necessário para carregar na placa.

Se estiver tudo OK, clique no botão carregar. Isso irá gravar o programa na placa. Caso não apareça nenhum erro, você deverá ver o LED piscando em um intervalo de 1 segundo.

Exercício proposto pelo Professor Murilo Henrique Miranda.

Arquivos do código fonte - Pisca Led está disponível em: 21_01_01_Pisca_LED_SRG (PDF)

© Direitos de autor. 2023: Gomes; Sinésio Raimundo. Última atualização: 15/05/2023