Ошибка: expected declaration before { token. (Havent i already declared it?)

Я получаю сообщение об ошибке:

sketch_dec31d.ino: In function 'void setup()':
sketch_dec31d:20: error: expected unqualified-id before '.' token
sketch_dec31d.ino: In function 'void loop()':
sketch_dec31d:29: error: expected primary-expression before '.' token
sketch_dec31d:31: error: expected primary-expression before '.' token
sketch_dec31d:33: error: expected primary-expression before '.' token
sketch_dec31d:43: error: expected primary-expression before '.' token

Это код:

#include <dht.h>     // к какому выводу мы подключены
#define DHTTYPE DHT11   // DHT 11
#define DHT11_PIN 2 

// Инициализируем датчик DHT для обычного Arduino 16 МГц


String TextForSms ;
String humidity = " Humidity: %";
String temperature = "   Temperature";
String sign = " *C";

char fromc; // символ с компьютера

void setup() {
  Serial.begin(9600); 
 // Serial.println("Тест DHT11!");

  dht.begin();
}

void loop() {
  // Подождите несколько секунд между измерениями.
  delay(2000);

  // Чтение температуры или влажности занимает около 250 миллисекунд!
  // Показания датчика также могут быть устаревшими до 2 секунд (это очень медленный датчик)
  int h = dht.readHumidity();
  // Считываем температуру в градусах Цельсия
  int t = dht.readTemperature();
  // Считываем температуру в градусах Фаренгейта
  int f = dht.readTemperature(true);

  // Проверяем, не удалось ли какое-либо чтение, и выходим раньше (чтобы повторить попытку).
  if (isnan(h) || isnan(t) || isnan(f)) {
    Serial.println("Failed to read from DHT sensor!");
    return;
  }

  // Вычисление индекса тепла
  // Необходимо отправить температуру в градусах Фаренгейта!
  int hi = dht.computeHeatIndex(f, h);



   TextForSms = TextForSms + t + "," + h + ",";
Serial.println(TextForSms); 
     TextForSms = ""; 
   delay(1000);   

}

, 👍1

Обсуждение

Пожалуйста, покажите полный код и полное сообщение об ошибке. Здесь недостаточно людей, чтобы кто-то мог вам помочь. (Одна очевидная ошибка, но, очевидно, не та, о которой появилось сообщение об ошибке, — это лишний символ «}» в строке 31., @JRobert

Какую именно библиотеку dht вы используете? Этот: https://github.com/RobTillaart/Arduino/tree/master/libraries/DHTlib? Тогда посмотрите примеры. Если нет, дайте ссылку на использованную библиотеку., @chrisl


1 ответ


0

Возможно, ошибка в строке

dht.begin();

Вы не объявили переменную dht, вероятно, типа DHT11? Правильное имя класса можно найти в заголовочном файле dht.h.

После проверки этого (случайного) веб-сайта вычислите индекс тепла arduino насчет DHT11 я вижу строчку:

DHT dht(DHTPIN, DHTTYPE);

Что вам также нужно добавить, возможно, как:

DHT dht(DHT11_PIN, DHTTYPE);
,