Criando Jogos com Arduino: Passo a Passo
Funções
longo de todo o programa. Por sua vez, as variáveis declaradas em funções
específicas, como no loop ( ) , são variáveis locais e só podem ser usadas
dentro da sua função de origem.
1 int a;
2 float b;
3 char C;
4
5 void setup ()
6 {
7 ...
8 }
Para definir um valor inicial a variável utilizamos o comando de
atribuição, representado pelo símbolo =. Desta forma, quando escrevemos int
a = 10 ; estamos atribuindo o valor 1 0 a variável de nome a do tipo in t .
OBSERVAÇÕES:
O nome das variáveis deve seguir algumas regras: Devem iniciar com
letras ou sublinhado _ e não podem ter nome idêntico a alguma das
palavras reservadas pelo programa ou biblioteca;
Letras maiúsculas e minúsculas fazem diferença! Se o nome da variável
definida for algo como, por exemplo, ledPi n , não será a mesma coisa
que LedPi n ou LEDPI N ;
O símbolo = tem o papel exclusivo de atribuição. A igualdade matemática é representada pela dupla igualdade ==.
Funções
Funções são blocos de instruções que podem ser chamados em qualquer
parte do seu Sketch. A principal motivação para o uso de funções em um
programa é quando necessitamos executar a mesma ação várias vezes. Desta
forma, a segmentação do código em funções permite a criação de trechos de
código modulares que executam uma tarefa definida e retornam à área do
código a partir da qual a função foi chamada.
O uso de funções possui várias vantagens, entre elas:
As funções ajudam o programador a manter o sketch organizado;
As funções codificam uma ação em um só lugar, de forma que o trecho
do código precise ser pensado e escrito apenas uma vez;
Reduz as chances de erros na modificação quando o código precisa ser
alterado;
Facilitam a reutilização de código em outros programas;
Tornam o código mais legível.
As duas funções principais na criação de um sketch no Arduino sã o
voi d setup () e voi d loop ( ) , mas existem algumas outras funções
predefinidas para controlar uma placa microcontroladora, conforme mostra a
Tabela 3:
Tabela 3 – Funções e suas descrições.
Controle Função Descrição
digitalRead () Lê o valor de um pino digital especificado
Entrada e saída digitalWrite () Escreve no pino digital HIGH ou LOW
digitais Configura o pino para funcionar como saída ou
pinMode ()
entrada
Entrada e saída analogRead () Lê o valor de um pino analógico especificado
analógicas analogReference () Configura a tensão de referência para a entrada
analógica
analogWrite () Aciona uma onda PWM em um pino
Pausa o programa por um período (em
delay ()
milissegundos)
Funções
Retorna o número de milissegundos passados
temporizadoras
millis () desde que a placa Arduino começou a executar o
programa.
Entradas e Gera uma onda quadrada na frequência
tone ()
saídas especificada em um pino
avançadas noTone () Interrompe a função tone ()
Mapeia um intervalo numérico em outro intervalo
map ()
Funções desejado
matemáticas sq () Calcula o quadrado de um número
sqrt () Calcula a raiz quadrada de um número cos () Calcula o cosseno de um ângulo (em radianos)
Funções
sin () Calcula o seno de um ângulo (em radianos)
trigonométricas
tan () Calcula a tangente de um ângulo (em radianos)
Números random () Gera números pseudoaleatórios. aleatórios randomSeed () Inicializa o gerador de números pseudoaleatórios
Usada para comunicação entre uma placa Arduino
Comunicação Serial
e um computador ou outros dispositivos
Interrupções attachInterrupt () Cria interrupção externa
Externas detachInterrupt () Desativa a interrupção externa
interrupts () Reativa interrupções
Interrupções
noInterrupts () Desativa interrupções
OBSERVAÇÕES:
Para saber mais sobre as funções predefinidas do Arduino acesse o
site: https://www.arduino.cc/reference/pt/ . Nele você encontrará
outras funções não especificadas neste material de apoio e poderá
consultar a descrição, sintaxe e parâmetros das funções que
desejar;
Os sinais analógicos são aqueles que variam continuamente ao
longo do tempo. Por sua vez, os sinais digitais assumem valores
discretos (0 ou 1);
Configurar um pino digital em HIGH significa colocar o pino
digital em nível lógico alto (1), ou seja 5 V. Definir um pino digital
como LOW significa colocar o pino digital em nível lógico baixo
(0), ou seja, 0 V.
Outros conceitos técnicos descritos na Tabela 3 serão detalhados ao decorrer desse material.
Além destas funções, você também pode escrever suas próprias funções,
que devem ser escritas fora das funções setup ( ) e loop ( ) . A criação de
uma função deve seguir a sintaxe descrita abaixo:
1 Tipo nome_da_funcao(declaração de parâmetros)
2 {
3 Declaração de variável; //opcional
4 Comando 1;
5 Comando 1;
6 ...
7 }
Há dois tipos de função: As que não retornam nenhum valor e as que
retornam algum valor para a função onde está inserida.
A função que não retornam nenhum valor são do tipo voi d . As
funções do tipo voi d não retorna nenhum valor para a função que a chamou,
ou seja, as ações executadas nessa função não retornam números, variáveis ou
caracteres para a função principal.
Por sua vez, as funções que retornam valor podem ser do tipo in t , floa
t , strin g , etc. Uma função do tipo in t , por exemplo, retorna um valor inteiro para a função que a chamou. Existem duas formas de retorno de uma