Модуль DHT11 и ошибка кодирования ЖК-дисплея I2C на Arduino Uno
Это не первый раз, когда я использую Arduino, но это было давно, поэтому я рассматривал использование учебного комплекта. Он имеет модуль датчика влажности и температуры DHT11 и жидкокристаллический модуль I2C. Прилагаемое руководство содержит инструкции для этого, но оно просто дает схему схемы и код. На самом деле это ничего не объясняет. Поэтому, когда я попытался загрузить код, я получил сообщение об ошибке "ожидаемое первичное выражение перед токеном'.'". Кто-нибудь может помочь мне расшифровать эту ошибку, чтобы ее можно было исправить? Я был бы вам очень признателен.
Я приложил код ниже.
/*****************************************************
* название:Humiture Detection (определение влажности)
* функция:вы можете видеть текущее значение влажности и температуры, отображаемое на дисплее I2C LCD1602.
******************************************************/
//Email:[email protected]
//Website:www.sunfounder.com
//включить библиотеки
#include <DHT.h>
#include <LiquidCrystal_I2C.h>
#include <Wire.h>
LiquidCrystal_I2C lcd(0x27,16,2); // установите адрес ЖК-дисплея на 0x27 для 16 символов и 2-строчного дисплея
//dht DHT; //создайте переменный тип dht
const int DHT11_PIN= 4;
void setup()
{
Serial.begin(9600); //инициализация последовательного монитора
// lcd.init(); //инициализировать жк
lcd.backlight(); //открыть подсветку
}
void loop()
{
// ЧТЕНИЕ ДАННЫХ
//Serial.println("DHT11:");
//читать значение, возвращаемое датчиком
int chk = DHT.read11(DHT11_PIN);
switch (chk)
{
case DHTLIB_OK:
//Serial.println("OK!");
break;
case DHTLIB_ERROR_CHECKSUM:
//Serial.print("Ошибка контрольной суммы,\t");
break;
case DHTLIB_ERROR_TIMEOUT:
//Serial.print("Ошибка тайм-аута,\t");
break;
default:
//Serial.print("Неизвестная ошибка,\t");
break;
}
// DISPLAY DATA
lcd.setCursor(0, 0);
lcd.print("Tem:");
Serial.print("Tem:");
lcd.print(DHT.temperature,1); //вывести температуру на на lcd
Serial.print(DHT.temperature,1);
lcd.print(char(223));//вывести на lcd единицу измерения " ℃ "
lcd.print("C");
Serial.println(" C");
lcd.setCursor(0, 1);
lcd.print("Hum:");
Serial.print("Hum:");
lcd.print(DHT.humidity,1); //вывести влажность на lcd
Serial.print(DHT.humidity,1);
lcd.print(" %");
Serial.println(" %");
delay(200); //wait a while
}
0
Смотрите также:
- Как использовать SPI на Arduino?
- Как решить проблему «avrdude: stk500_recv(): programmer is not responding»?
- Как создать несколько запущенных потоков?
- Как подключиться к Arduino с помощью WiFi?
- avrdude ser_open() can't set com-state
- Как узнать частоту дискретизации?
- Что такое Serial.begin(9600)?
- Я закирпичил свой Arduino Uno? Проблемы с загрузкой скетчей на плату
У вас есть свое определение "DHT", прокомментированное, поэтому он не может понять, что вы имеете в виду, когда говорите " DHT.read11(...)`., @Majenko
Я голосую за то, чтобы закрыть этот вопрос, потому что это чистая синтаксическая ошибка C++, а не проблема с кодированием Arduino., @Majenko
DHT dht изначально не был прокомментирован, и он помечается как ошибка, почему это ошибка, я не знаю, почему., @Roland Joseph Reynoso
Возможно, у вас установлена неправильная библиотека DHT. Их около 8, все называются DHT.h, и все разные., @Majenko
Кроме того, как это не проблема с кодированием в Arduino? Это для Arduino Uno с ЖК-дисплеем DHT 11 и I2C, над которым он был закодирован в интегрированной среде разработки Arduino. Как это не проблема с кодированием для Arduino?, @Roland Joseph Reynoso
https://arduino.stackexchange.com/help/on-topic : "Общее кодирование: Если ваш вопрос касается кодирования, не связанного с Arduino, попробуйте переполнить стек. Если решение будет одинаковым с Arduino или без него, то это, как правило, общий вопрос о кодировании. ", @Majenko
У меня есть библиотека датчиков DHT от adafruit, @Roland Joseph Reynoso
Ну, моя проблема основана на коде для arduino, вот почему я подумал, что это будет подходящее место., @Roland Joseph Reynoso
Я вернул DHT dht, и он ошибся, как в формате dht DHT, так и в формате DHT dht. Я также установил дополнительные библиотеки, но это все еще не работало, @Roland Joseph Reynoso
Тогда это другая проблема, чем та, о которой вы спрашивали здесь. Начните с одного из примеров, прилагаемых к вашей библиотеке., @Majenko