Ошибка: 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);
}
@Cham, 👍1
Обсуждение1 ответ
▲ 0
Возможно, ошибка в строке
dht.begin();
Вы не объявили переменную dht, вероятно, типа DHT11? Правильное имя класса можно найти в заголовочном файле dht.h.
После проверки этого (случайного) веб-сайта вычислите индекс тепла arduino насчет DHT11 я вижу строчку:
DHT dht(DHTPIN, DHTTYPE);
Что вам также нужно добавить, возможно, как:
DHT dht(DHT11_PIN, DHTTYPE);
,
@Michel Keijzers
Смотрите также:
- Что выбрать между датчиками температуры и влажности: AM230x или DHT22?
- Данные DHT11 из Arduino UNO в Firebase через ESP8266
- BMP280 возвращает 0
- Колебания показаний датчика температуры LM35 (+- 5°C) с Arduino UNO
- Неверные показания PT100 и MAX31865
- Почему показания датчика температуры становятся непоследовательными при добавлении к плате дополнительного оборудования?
- Отправка аналоговых входных данных из последовательного порта в Google Таблицы
- Вентиляторы PWM вызывают ошибочные значения датчика температуры (помехи?)
Пожалуйста, покажите полный код и полное сообщение об ошибке. Здесь недостаточно людей, чтобы кто-то мог вам помочь. (Одна очевидная ошибка, но, очевидно, не та, о которой появилось сообщение об ошибке, — это лишний символ «}» в строке 31., @JRobert
Какую именно библиотеку dht вы используете? Этот: https://github.com/RobTillaart/Arduino/tree/master/libraries/DHTlib? Тогда посмотрите примеры. Если нет, дайте ссылку на использованную библиотеку., @chrisl