Ардуино UNO скетч DHT11

Тема в разделе "Arduino & Shields", создана пользователем port-Maksim, 26 май 2019.

Метки:
  1. port-Maksim

    port-Maksim Нерд

    короче я хочу чтобы при определённой температуре и влажности включалась 2 реле 1 на обогрев 2 на вентиляцию, вот скетч.
    ВООБЩЕМ ОШИБКА Я НЕ ЗНАЮ КАК ЕЁ РЕШИТЬ. ЧТО-ТО ПРО БИБЛИОТЕКУ ( Я ТАК ПОНЯЛ ЧТО ЕЁ НЕТ НО Я 2 РАЗА загружал И с ЭТО сайта и с другого в общем вот ошибка. (ошибка в самом низу)

    вот скетч
    #include "dht.h"
    #define dht_apin A0 // Analog Pin sensor is connected to

    dht DHT;

    int relepin - 4;
    int relepin2 - 3;

    void setup(){

    pinMode(relepin, OUTPUT);
    pinMode(relepin2, OUTPUT);

    Serial.begin(9600);
    delay(500); / / Delay to let system boot
    Serial.println("DHT11 Humidity & temperature Sensor\n\n");
    delay(1000 ); / / Wait before accessing Sensor

    } / / end "setup()"

    void loop(){
    / / Start of Program

    DHT.read11(dht_apin);

    Serial.print("Current humidity = ");
    Serial.print(DHT.humidity);
    Serial.print("%");
    Serial.print("temperature = ");
    Serial.print(DHT.temperature);
    Serial.println("C ");

    delay(2000); / / Wait 5 seconds before accessing sensor again.

    if(DHT.temperature < 18.00) digitalWrite(relepin, LOW);
    else digitalWrite(relepin, HIGH);

    if(DHT.humidity < 70.00) digitalWrite(relepin2, LOW);
    else digitalWrite(relepin2, HIGH);

    / / Fastest should be once every two seconds.

    } / / end loop()



    вот ошибка
    C:\Users\836D~1\AppData\Local\Temp\arduino_modified_sketch_189339\sketch_may26a.ino:1:17: fatal error: dht.h: No such file or directory

    compilation terminated.

    exit status 1
    Ошибка компиляции для платы Arduino/Genuino Uno.
     
  2. port-Maksim

    port-Maksim Нерд

    Код (C++):
    #include "dht.h"
    #define dht_apin A0 // Analog Pin sensor is connected to
    dht DHT;

    int relepin - 4;
    int relepin2 - 3;
    void setup(){

    pinMode(relepin, OUTPUT);
    pinMode(relepin2, OUTPUT);
    Serial.begin(9600);
    delay(500); / / Delay to let system boot
    Serial.println("DHT11 Humidity & temperature Sensor\n\n");
    delay(1000 ); / / Wait before accessing Sensor
    } / / end "setup()"
    void loop(){
    / / Start of Program
    DHT.read11(dht_apin);
    Serial.print("Current humidity = ");
    Serial.print(DHT.humidity);
    Serial.print("%");
    Serial.print("temperature = ");
    Serial.print(DHT.temperature);
    Serial.println("C ");
    delay(2000); / / Wait 5 seconds before accessing sensor again.

    if(DHT.temperature < 18.00) digitalWrite(relepin, LOW);
    else digitalWrite(relepin, HIGH);
    if(DHT.humidity < 70.00) digitalWrite(relepin2, LOW);
    else digitalWrite(relepin2, HIGH);
      / / Fastest should be once every two seconds.
    } / /  end loop()
     
    egorpetr нравится это.
  3. NikitOS

    NikitOS Шут Администратор

    Читаем закрепленное сообщение в разделе и исправляем ошибки.

    А если по делу - у Вас не установлена библиотека DHT
     
    port-Maksim нравится это.
  4. Airbus

    Airbus Радиохулиган Модератор

    Там косяков куча.Вот поправил Скомпилилось.Надо так
    Код (C++):
    //Работа с датчиком DHT11
    //Определяет влажность и температуру
    // Скомпилено!
    #include <Adafruit_Sensor.h>
    #include "DHT.h"
    #define DHTPIN 15     // А0
    // Uncomment whatever type you're using!
    #define DHTTYPE DHT11   // DHT 11
    //#define DHTTYPE DHT22   // DHT 22  (AM2302)
    //#define DHTTYPE DHT21   // DHT 21 (AM2301)
    // Connect pin 1 (on the left) of the sensor to +5V
    // Connect pin 2 of the sensor to whatever your DHTPIN is
    // Connect pin 4 (on the right) of the sensor to GROUND
    // Connect a 10K resistor from pin 2 (data) to pin 1 (power) of the sensor
    DHT dht(DHTPIN, DHTTYPE);
    int relepin=4;
    int relepin2=3;
    void setup()
    {
      Serial.begin(9600);
      Serial.println("DHTxx test!");
      dht.begin();
      pinMode(relepin, OUTPUT);
      pinMode(relepin2, OUTPUT);
    }
    void loop()
    {
      // Reading temperature or humidity takes about 250 milliseconds!
      // Sensor readings may also be up to 2 seconds 'old' (its a very slow sensor)
      float h = dht.readHumidity();
      float t = dht.readTemperature();
      // check if returns are valid, if they are NaN (not a number) then something went wrong!
      if (isnan(t) || isnan(h)) {
        Serial.println("Failed to read from DHT");
                                }
        else
      {
        Serial.print("Humidity: ");
        Serial.print(h);
        Serial.print(" %\t");
        Serial.print("Temperature: ");
        Serial.print(t);
        Serial.println(" *C");
      }
        if(t < 18.00) digitalWrite(relepin, LOW);
        else digitalWrite(relepin, HIGH);
        if(h < 70.00) digitalWrite(relepin2, LOW);
        else digitalWrite(relepin2, HIGH);
    }
     
    port-Maksim и NikitOS нравится это.
  5. NikitOS

    NikitOS Шут Администратор

    @Airbus, там даже не в коде дело, у него код для библиотеки TroykaDHT, а он подключал DHT, которая у него не установлена, в отличии от первой
    Все уже в лс решили :D
     
    port-Maksim нравится это.
  6. Airbus

    Airbus Радиохулиган Модератор

    Ошибка намбер раз-что это?Кто так именует?
    Код (C++):
    int relepin - 4;
    int relepin2 - 3;
    Ошибка намбер два-где в Сетупе запуск dht?
    и так далее по коду.
     
    port-Maksim и NikitOS нравится это.