Ir ao conteúdo
  • Cadastre-se
PseudoProgramador

C++ Funções em arduino, como criar?

Recommended Posts

Bem pessoal é o seguinte, estou com um grande dúvida na hora de escrever um código para o esp32 (ide do arduino). 

É o seguinte meu programa vai ler sensores que depois vai fazer comparações entre eles e depois vai ativar dispositivos externos até chegar a condição desejada. Então eu pensei em dividir o meu código em partes, criar funções, para facilitar até porque serão vários sensores. Até ai tudo bem. O meu problema é como eu crio, eu até sei fazer algumas mas são bem básicas, e como chamá-las no loop.

 

Por exemplo:

Temos um sensor de umidade.

 

#define sensorPin 10

 

void setup(){

 

}

 

 

void loop (){

valorAnalogico = analogRead(sensorPIN)

if(valorAnalogico>300 && valorAnalogico < 600){

      FAZER ISSO

}

 

if(valorAnalogico>900){

      FAZER ISSO

 

}

}

 

Isso séria um código para um sensor.

Veja que eu não criei uma função eu coloquei tudo no loop. Caso eu quisesse colocar isso numa função como eu faria? 

 

O meu projeto tem uns 2 sensores de umidade e vários outros, por exemplo o de temperatura, caso eu queria comparar os valores os dois sensores de umidade para acionar tal coisa como eu faria?  Lembrando que eu quero separar os sensores por funções. Se eu quisesse comparar os valores dos dois sensores eu teria que criar duas funções, tipo int sensorUmid e int sensorUmid2, e depois fazer a comparação no loop?

 

Agradeço desde já

Compartilhar este post


Link para o post
Compartilhar em outros sites

A função é código ou instrução em bloco dos quais damos identificador e parâmetros formais.

#define SENSOR_PIN 10   
int valorAnalogico;

void validar (int va);

void setup (){ 
    pinMode(SENSOR_PIN, INPUT);
    return  ; }


void loop (){
    valorAnalogico =  analogRead (SENSOR_PIN);     
    validar (valorAnalogico); 

    return  ; }


void validar (int va){
    if((300  <  va)  &&  (av  <  600)){
          /* ... comandos aqui ... */ }

    if(900  <  va){
          /* ... comandos aqui ... */ }
    return  ; }

Alguma outra pergunta?

 

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora





Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×