Ух ты, в этом вопросе было много чего распаковать.
Я много раз использовал DHT-библиотеку от Adafruit и думал, что ты просто использовал вместо этого имя классасоздания экземпляра переменной, и именно поэтому вы столкнулись с проблемой.
Но потом я понял, что вы используете следующую функцию, которая не является частью библиотеки Adafruit:
int chk = dht.read12(DHT12PIN);//reads DHT12
Итак, я немного покопался в интернете и понял, чтокто-то создал библиотеку для DHT с этой конкретной функцией. (много библиотек, чтобы быть конкретными)
Основываясь на моем анализе этой библиотеки и приведенном примере кода, у вас есть 3 проблемы.
- Вы указали неверный заголовочный файл.Заголовочный файл
dht.h
из библиотеки RobTillaart должен заменить заголовочный файл DHT_U.h
из библиотеки Adafruit в вашем коде. Вы должны создать экземплярпеременная с именем DHT
класса dht
.Это можно сделать следующим образом, над вашей функцией настройки
dht DHT;
Учитывая, что у вас есть код и файлы заголовков, смешанные из ДВУХ РАЗНЫХ БИБЛИОТЕК, яЯ предполагаю, что вы установили библиотеку Adafruit вместо библиотеки RobTillaart .Чтобы это исправить, вам нужно будет удалить DHT-sensor-library-1.3.4
из Documents/Arduino/libraries
, создать новую папку с именем DHTStable
и поместить все файлы из списка здесь в новую папку.
Несколько слов мудрости, основанной на опыте, не используйте Библиотека RobTillaart , я могу судить по структуре папок, что вы столкнетесь с большим количеством проблем, чемВы можете решить, если вы используете его.Вместо этого используйте библиотеку Адафрута с их примером .Вам также нужно будет установить библиотеку датчиков Adafruit , но это определенно стоит того.