Датчик температуры и влажности (Troyka-модуль) dht11

Тема в разделе "Arduino & Shields", создана пользователем Максимус-Бог, 1 янв 2016.

  1. Максимус-Бог

    Максимус-Бог Убийца матрёшек

    Код (C++):
    // http://wiki.amperka.ru/

    // библиотека для работы с датчиком DHT11
    #include <TroykaDHT11.h>
    // создаём объект класса DHT11 и передаём номер пина к которому подключён датчик
    DHT11 dht(11);
    void setup()
    {
      // открываем последовательный порт для мониторинга действий в программе
      Serial.begin(9600);
      dht.begin();
    }
    void loop()
    {
      // переменная состояния датчика
      int check;
      // мониторинг ошибок
      // считывание данных с датчика DHT11
      check = dht.read();
      switch (check) {
        // всё OK
        case DHT_OK:
          // выводим показания влажности и температуры
          Serial.print("Temperature = ");
          Serial.print(dht.getTemperatureC());
          Serial.print("C \t");
          Serial.print("Humidity = ");
          Serial.print(dht.getHumidity());
          Serial.println("%");
          break;
        // ошибка контрольной суммы
        case DHT_ERROR_CHECKSUM:
          Serial.println("Checksum error");
          break;
        // превышение времени ожидания
        case DHT_ERROR_TIMEOUT:
          Serial.println("Time out error");
          break;
        // неизвестная ошибка
        default:
          Serial.println("Unknown error");
          break;
      }
      // ждём 1 секунду
      delay(1000);
    }
    в void loop есть переменная(int) в неё что-то записали. Далее идёт switch case с этой переменной.
    Int - это числовая переменная, а сравнивают с DHT_OK, #define я не заметил. Почему это так? и работоспособен этот скетч или это опечатка?
     
  2. geher

    geher Гуру

    Объявлено внутри TroykaDHT11.h