wemos d1

Тема в разделе "Arduino & Shields", создана пользователем maria1807, 13 апр 2017.

  1. maria1807

    maria1807 Нерд

    wemos d1 не выводит температуру с датчиков (пробовала и dht11 и dht22) в чем может быть проблема???
     
  2. dimksum

    dimksum Нерд

    а код где?
     
  3. maria1807

    maria1807 Нерд

    пример библиотеки
    Код (C++):
    // Example testing sketch for various DHT humidity/temperature sensors
    // Written by ladyada, public domain

    #include "DHT.h"

    #define DHTPIN 2     // what pin we're connected to

    // 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);

    void setup() {
      Serial.begin(9600);
      Serial.println("DHTxx test!");
      dht.begin();
    }

    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");
      }
    }
     
  4. dimksum

    dimksum Нерд

    датчик точно рабочий (проверьте на ардуине например), правильность подключения (резистор, питание)..
     
  5. dimksum

    dimksum Нерд

    еще можно попробовать другую библиотеку, например в сборке от mysensors
     
  6. Slaiterx

    Slaiterx Гик

    Dhtpin A0
     
  7. Slaiterx

    Slaiterx Гик

    Подключите датчик к А0 и вскетче тоже пропишите
     
  8. Slaiterx

    Slaiterx Гик

    Про подтяжку незабыли?
     
  9. Airbus

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

    Почему именно к нему?
     
  10. ZAZ-965

    ZAZ-965 Гуру

    @maria1807, по-моему, в вашей плате на пине 2 (GPIO2) висит встроенный светодиод. Если ваш датчик подключен к D2 (GPIO16), то и в коде пишите
    Код (C++):
    #define DHTPIN D2
    У ESP8266 один аналоговый вход A0, поэтому ошибиться сложно (надписи на плате D1...15 на GPIO в разных платах отображаются по разному).
     
  11. rkit

    rkit Гуру

    Только аналоговый вход esp8266 нельзя использовать как цифровой, так что смысла никакого.
     
  12. Airbus

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

    А причём здесь ESP8266?Когда используется Ардуино?Скетч то мой и я знаю что и куда.Вот в соседней теме 2 недели назад обсуждали уже.
    Эта Вы о чём?Вопрос внимательно читали?Вот мне интересно здесь либо все нерусские либо неграмотные штоль?
     
  13. rkit

    rkit Гуру

    wemos d1 на чипе
    wemos d1 на чипе esp8266
     
  14. Wildnet

    Wildnet Нуб

    Тоже долго мучился с датчиком DHT 22 на Wemos D1. Заработал только при подключении к пину D7 (В вашем примере указан аналоговый пин 2 которого на плате нет, но и на D2 у меня датчик не работает) и использовании библиотеки с сайта производителя датчиков https://learn.adafruit.com/dht/downloads. Используйте скетч из их примеров только поменяйте вход на D7. Вот готовый скетч:
    Код (C++):
    // DHT Temperature & Humidity Sensor
    // Unified Sensor Library Example
    // Written by Tony DiCola for Adafruit Industries
    // Released under an MIT license.

    // Depends on the following Arduino libraries:
    // - Adafruit Unified Sensor Library: https://github.com/adafruit/Adafruit_Sensor
    // - DHT Sensor Library: https://github.com/adafruit/DHT-sensor-library

    #include <Adafruit_Sensor.h>
    #include <DHT.h>
    #include <DHT_U.h>

    #define DHTPIN D7         // Pin which is connected to the DHT sensor.

    // Uncomment the type of sensor in use:
    //#define DHTTYPE           DHT11     // DHT 11
    #define DHTTYPE           DHT22     // DHT 22 (AM2302)
    //#define DHTTYPE           DHT21     // DHT 21 (AM2301)

    // See guide for details on sensor wiring and usage:
    //   https://learn.adafruit.com/dht/overview

    DHT_Unified dht(DHTPIN, DHTTYPE);

    uint32_t delayMS;

    void setup() {
      Serial.begin(9600);
      // Initialize device.
      dht.begin();
      Serial.println("DHT22 Wildnet Sensor Example");
      // Print temperature sensor details.
      sensor_t sensor;
      dht.temperature().getSensor(&sensor);
      Serial.println("------------------------------------");
      Serial.println("Temperature");
      Serial.print  ("Sensor:       "); Serial.println(sensor.name);
      Serial.print  ("Driver Ver:   "); Serial.println(sensor.version);
      Serial.print  ("Unique ID:    "); Serial.println(sensor.sensor_id);
      Serial.print  ("Max Value:    "); Serial.print(sensor.max_value); Serial.println(" *C");
      Serial.print  ("Min Value:    "); Serial.print(sensor.min_value); Serial.println(" *C");
      Serial.print  ("Resolution:   "); Serial.print(sensor.resolution); Serial.println(" *C");
      Serial.println("------------------------------------");
      // Print humidity sensor details.
      dht.humidity().getSensor(&sensor);
      Serial.println("------------------------------------");
      Serial.println("Humidity");
      Serial.print  ("Sensor:       "); Serial.println(sensor.name);
      Serial.print  ("Driver Ver:   "); Serial.println(sensor.version);
      Serial.print  ("Unique ID:    "); Serial.println(sensor.sensor_id);
      Serial.print  ("Max Value:    "); Serial.print(sensor.max_value); Serial.println("%");
      Serial.print  ("Min Value:    "); Serial.print(sensor.min_value); Serial.println("%");
      Serial.print  ("Resolution:   "); Serial.print(sensor.resolution); Serial.println("%");
      Serial.println("------------------------------------");
      // Set delay between sensor readings based on sensor details.
      delayMS = sensor.min_delay / 1000;
    }

    void loop() {
      // Delay between measurements.
      delay(delayMS);
      // Get temperature event and print its value.
      sensors_event_t event;
      dht.temperature().getEvent(&event);
      if (isnan(event.temperature)) {
        Serial.println("Error reading temperature!");
      }
      else {
        Serial.print("Temperature: ");
        Serial.print(event.temperature);
        Serial.println(" *C");
      }
      // Get humidity event and print its value.
      dht.humidity().getEvent(&event);
      if (isnan(event.relative_humidity)) {
        Serial.println("Error reading humidity!");
      }
      else {
        Serial.print("Humidity: ");
        Serial.print(event.relative_humidity);
        Serial.println("%");
      }
    }
     
    archeryMaster нравится это.
  15. maria1807

    maria1807 Нерд

    перепробовала все ваши советы и все равно не работает)
     
  16. CAHTEXHIK

    CAHTEXHIK Нуб

    Спасибо, брат, помогли родные либы.
    От себя добавлю, что если вместо
    #define DHTPIN D3
    указать
    #define DHTPIN 0
    или вместо D2 - 4, то всё работает.
    Действительно для wemos D1R2
    [​IMG]
     
  17. archeryMaster

    archeryMaster Нуб

    СПАСИБО, ЧЕЛОВЕК!!!!