Você está na página 1de 6

3.

3 RETORNOS

Os retornos são um complemento para as funções. A


maioria das funções que estudamos até agora são void, ou seja,
elas não retornam nada, mas você pode criar funções que
retornam valores.

Você pode criar uma função que soma dois números e


retorna o resultado, ou ainda, você pode construir uma função
que diga se é dia ou noite, e retorne o status.

As possibilidades são gigantes, pois permite ainda mais a


segmentação dos códigos, vejamos a sintaxe:

SINTAXE:

int func_com_retorno(){ //definida que a função irá


retornar um int

//Executa algo

int a = 20; // cria uma variável com o valor 20

int b = 5; // cria uma variável com o valor 5

return a+b //soma a + b e retorna o valor

Temos algumas coisas para discutir aqui, repare que ao


invés de declarar a função como void, agora ela é do tipo int, isso
indica que o valor que ela irá retornar deve ser um inteiro. Assim
como uma variável precisa ter um tipo quando declarada, uma
função com retorno também precisa.

103
Segundo: para retornar o valor desejado, usa-se a sintaxe
return.

E por último, como acessar o valor retornado pela função?

Da mesma maneira que os valores são acessados dentro de


uma variável, veja:

Você pode exibir o valor retornado usando a Serial:

Serial.println(func_com_retorno());

Ou pode atribuir o valor retornado dentro de uma outra


variável:

int x = func_com_retorno();

Também é permitido utilizar qualquer um dos operadores


estudados:

int x = func_com_retorno() + 200;

if(func_com_retorno() <= 50){}

EXEMPLO
//experimente mudar esses valores para testar os resultados
int x = 50;
int y = 12;

void setup() {
Serial.begin(9600); // inicia a Serial
int somatorio = soma(); // atribui o retorno da função na
variável somatorio
Serial.println(somatorio); //imprime o valor que foi
atribuido a variável somatorio
}
void loop() {
}

int soma() {

104
return x + y; //retorna a soma de x + y
}

105
PROJETO#9 – Lendo um sensor de
temperatura:

Medindo a temperatura do ambiente usando um sensor de


temperatura. Nesse projeto a temperatura será mostrada
usando a Serial do Arduíno.

Componentes:
• 1 - Arduino Uno
• 1 - Protoboard
• 1 – Sensor de Temperatura – TMP36
• Jumpers

Diagrama:

106
/*

Medindo temperatura com o sensor TMP36.


A saída de tensão do sensor é proporcional a temperatura
do ambiente, portanto basta converter o sinal de tensão em
leitura analógica apara calcular a temperatura
*/

const int temperaturePin = A0; // Le o sensor no pino A0

void setup()
{
Serial.begin(9600); // inicializa a Serial
}

void loop()
{
float voltage, degreesC, degreesF; //declara 3 variáveis
float, para o armazenamento da tensão, graus célsius e
graus Fahrenheit

voltage = getVoltage(temperaturePin); // mede a voltagem


no pino

degreesC = (voltage - 0.5) * 100.0; // converte tensão em


graus célsius

degreesF = degreesC * (9.0 / 5.0) + 32.0; //converte


graus celsius para Fahrenheit

// Imprime na serial a seguinte mensagem com os valores


// "voltage: 0.73 deg C: 22.75 deg F: 72.96"

Serial.print("voltagem: ");
Serial.print(voltage);
Serial.print(" Graus C: ");
Serial.print(degreesC);
Serial.print(" Graus F: ");
Serial.println(degreesF);

delay(1000); // Repete uma vez por segundo, (mude se


desejar)
}

float getVoltage(int pin) //Função para ler e retornar a


tensão
{

return (analogRead(pin) * 0.004882814);

107
}

// Outras coisas para testar com esse projeto:

// Ligar um LED se a temperatura exceder um valor

// Criar um termostato

108

Você também pode gostar