Criando Jogos com Arduino: Passo a Passo

Carol Correia Viana · Capítulo 8 de 16

Páginas do PDF

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