Ligar um relé durante 5s de 6 em 6 horas

Início Fóruns Arduino Ligar um relé durante 5s de 6 em 6 horas

Este tópico contém 1 resposta, tem 1 utilizador, com a última actualização feita por  Timóteo Mendes Há 3 meses, 2 semanas.

A visualizar 2 artigos - de 1 a 2 (de um total de 2)
  • Autor
    Artigos
  • #1692 Resposta

    António Henriques

    Boa noite,

    Estou a tentar fazer uma chocadeira controlada pelo arduino UNO.
    Controle de temperatura, humidade e volta de ovos de 6 em 6 horas.

    Tenho o programa para o controle de humidade e temperatura a funcionar como descrito a seguir:

    #include <Wire.h>

    #include <LiquidCrystal_I2C.h>

    LiquidCrystal_I2C lcd(0x3F,16,2); //0X27F – 0X20F

    #include “DHT.h”
    #define DHTPIN 12
    #define DHTTYPE DHT11 //DHT22
    DHT dht(DHTPIN, DHTTYPE);
    int relet=13;
    int releh=10;
    int vcc= 11; //crear pines de 5v

    void setup() {
    lcd.init();
    lcd.backlight();
    lcd.clear();
    pinMode(relet,OUTPUT);
    pinMode(releh,OUTPUT);
    pinMode(vcc,OUTPUT);
    dht.begin();
    }
    void loop() {

    digitalWrite(vcc,HIGH);
    int h = dht.readHumidity(); // Lee la humedad
    int t= dht.readTemperature();

    lcd.clear();//Elimina todos los simbolos del LCD
    lcd.setCursor(0,0);//Posiciona la primera letra despues del segmento 5 en linea 1
    lcd.print(“Humidade: “);
    lcd.setCursor(8,0);
    lcd.print(h);//Escribe la humedad
    lcd.print(“%”);

    lcd.setCursor(0,1);
    lcd.print(“Temperatura: “);
    lcd.setCursor(12,1);
    lcd.print(t);//Escribe la temperatura
    lcd.print(“C”);
    delay (2500);

    if(t>2)
    {
    digitalWrite(relet,LOW);
    lcd.clear();
    lcd.setCursor(0,0);
    lcd.print(“RESISTENCIA OFF”);
    delay(2000);
    }
    else
    {
    digitalWrite(relet,HIGH);
    }
    }

    Sabemos que a função delay() gera uma pausa calculada na execução de uma programação, congelando o status da rotina durante este tempo. Por isso, ao usar o delay, não conseguimos executar nenhuma ação enquanto esta pausa é executada.

    Gostaria da vossa ajuda para a resolução deste problema.

    Os melhores cumpriimentos
    Obrigado

    António Henriques

    #1714 Resposta

    Timóteo Mendes

    Boa tarde Antonio,

    Tenta utilizar a função timer.
    Se tiveres mais duvidas avisa.

    Timóteo

A visualizar 2 artigos - de 1 a 2 (de um total de 2)
Resposta a: Ligar um relé durante 5s de 6 em 6 horas
A sua informação





<a href="" title="" rel="" target=""> <blockquote cite=""> <code> <pre> <em> <strong> <del datetime=""> <ul> <ol start=""> <li> <img src="" border="" alt="" height="" width="">