Ошибка компиляции Arduino
- Войдите на сайт для отправки комментариев
Только-только начал работать с ардуино, столкнулся с проблемой при работе с датчиком температуры и влажности DHT11. А именно - его библиотекой. При компиляции пишет:
[spoiler][/spoiler]
Да, у меня плата Arduino Uno, да, порт COM12. Сам скетч:
#include <DHT.h> #define DHTPIN 2 DHT dht(DHTPIN, DHT11); void setup() { Serial.begin(9600); dht.begin(); } void loop() { delay(2000); float h = dht.readHumidity(); float t = dht.readTemperature(); if (isnan(h) || isnan(t)) { Serial.println("Ошибка считывания"); return; } Serial.print("Влажность: "); Serial.print(h); Serial.print(" %\t"); Serial.print("Температура: "); Serial.print(t); Serial.println(" *C "); }
Я не глупый и сразу понял, что ошибка заключается в том, что в папке libraries две одинаковые библиотеки. Но как только я туда зашел, этих двух папок из скринов выше там не было. В общем, всё с самого начала:
1. Я скачал библиотеку в виде архива
2. Я распаковал ее в папку libraries, зашел в нее и не увидел там саму библиотеку. Я перепроверял, ее там не было.
3. Я распаковал уже на рабочий стол и с него скопировал в папку libraries. Папка наконец показалась.
4. Я уже пол часа пытаюсь понять почему происходит ошибка компиляции.
При попытке удалить папки, указанные в ошибке, с помощью командной строки, происходит это:
[spoiler][/spoiler]
Ноутбук перезагружал, папки скрытые всегда показываются, с реестром что-то пытался делать (лучше бы не пытался), сам ардуино тоже перезагружал. Что делать?
Неужели тут нет спойлеров?
Сами папки в проводнике обычным поиском тоже не находятся.
Первый экран, вторая коричневая строка - как переводится?
Я пытался опять засунуть туда библиотеку, но ошибка точно такая же, даже если папка там была.
https://github.com/adafruit/DHT-sensor-library
Отсюда библиотеку скачивал.
Roshin - какой помощи вы ждете - что кто-то по инету разберется, куда у вас исчезают папки?
Существует мнение, что для работы с Ардуино не нужно быть программистом. Пусть так... Но хотя бы опытным пользователем ПК - нужно!
Я пытался опять засунуть туда библиотеку, но ошибка точно такая же, даже если папка там была.
еще раз - переведите ВТОРУЮ строчку!!!
Первый экран, вторая коричневая строка - как переводится?
DHT_U.h требует файл Adafruit_Sensor.h, но его нигде нет?
он есть тут https://github.com/adafruit/Adafruit_Sensor
он есть тут https://github.com/adafruit/Adafruit_Sensor
Спасибо! Его закидывать папкой как библиотекой и подключать инклюдом?
Похоже, я с самого начала смотрел не туда.
Спасибо! Его закидывать папкой как библиотекой и подключать инклюдом?
Библиотекой. Подключать не надо - он и так подключается в библе DHT
Проблема решена, зачем-то нужен был Adafruit_Sensor.h, хотя об этом нигде не сказано. Спасибо всем за помощь.
зачем-то нужен был Adafruit_Sensor.h, хотя об этом нигде не сказано
Судя по тону, вы считаете. что кто-то был обязан вас предупредить об этом? :)
Совет - не надо винить других, когда виноваты сами. Компилятор вам сразу сказал. что нужна еще одна библиотека - никто не виноват. что вы его не поняли.
зачем-то нужен был Adafruit_Sensor.h, хотя об этом нигде не сказано
Судя по тону, вы считаете. что кто-то был обязан вас предупредить об этом? :)
Совет - не надо винить других, когда виноваты сами. Компилятор вам сразу сказал. что нужна еще одна библиотека - никто не виноват. что вы его не поняли.
не, ну признайся, использовать библиотеку без её явного объявления и подтягивания как-то неправильно!?
PS представляю сколько геморроя было бы в Линуксе не подтягивай он автоматом связанные пакеты
не, ну признайся, использовать библиотеку без её явного объявления и подтягивания как-то неправильно!?
PS представляю сколько геморроя было бы в Линуксе не подтягивай он автоматом связанные пакеты
Так это опять же ТС сам себе злобный буратино. Он взял либу не DHT.h, а DHT-sensor.h - эта либа из пакета Adafruit-sensor. Удивительно ли, что она тянеет за собой родительскую либу? :)
А в линуксе мне много раз приходилось устанавливать dependences вручную....
в линуксе мне много раз приходилось устанавливать dependences вручную....
иногда бывает, когда на обновления забил и нужного пакета нет в репозитории, в частности, при попытке обновиться с центоса 6.6 на 6.10 100500 не будет библиотеки ssh 1.05 ни в одном из репозиториев...
как ты говоришь...Сам себе злобный буратино )))