Библиотеки ATmega1284 и относительной влажности
Я пытаюсь использовать некоторые датчики относительной влажности (DHT11 и DHT22) с процессором ATmega1284 на макетной плате. Я использую библиотеки Arduino playground (dht.h), Adafruit (DHT.h) и другие. Несмотря на то, что оба датчика и библиотеки прекрасно работают с Arduino Uno и Mega, они терпят неудачу с ATmega1284, что приводит к ошибке INVALID_VALUE.
Соединения дважды проверяются, и другие библиотеки, такие как Wire, OneWire и т. Д., работают нормально.
Есть ли у кого-нибудь опыт работы с процессором ATmega1284 или какие-нибудь предложения?
@user3060854, 👍-1
Обсуждение1 ответ
Согласно инструкциям библиотеки, вы получите значение INVALID_VALUE
в следующих ситуациях:
Функции
readXX()
возвращают:
DHTLIB_OK
(0) : если образец датчика и его контрольная сумма в порядке.DHTLIB_ERROR_CHECKSUM
(-1) : если проверка контрольной суммы не удалась. Это означает, что данные были получены, но могут быть неверными.DHTLIB_ERROR_TIMEOUT
(-2) : если произошел тайм-аут, связь прервалась.В случае
DHTLIB_ERROR_TIMEOUT
влажность и температура получат значениеDHTLIB_INVALID_VALUE
. В случаеDHTLIB_ERROR_CHECKSUM
значения влажности и температуры остаются неизменными, так как невозможно определить, какой байт вышел из строя в контрольной сумме. Это зависит от программиста, чтобы решить, что делать. Можно сравнить с предыдущим значением, но лучше перечитайте датчик.
Поэтому прочитайте значение, возвращаемое функциями read11()
или read22 ()
, чтобы убедиться, что это условие DHTLIB_ERROR_TIMEOUT, и если да, то попытайтесь выяснить, почему у библиотеки возникают проблемы при общении с устройством.
Это DHTLIB_ERROR_TIMEOUT (-2), но я не могу понять причину., @user3060854
- Какова работа pulseIn?
- Сколько датчиков может поддерживать один модуль Arduino?
- Получение BPM из данного кода
- DS18B20 дает высокие показания. Как заставить его вернуть правильную температуру?
- Какой тип разъема использует система GROVE?
- Улавливают ли ультразвуковые датчики прозрачные материалы?
- Как подключить более 10 датчиков к Arduino uno r3
- В чем разница между акселерометром, гироскопом и датчиком магнитометра?
Вы пробовали читать библиотеки, чтобы увидеть, являются ли они особым случаем на '328P и/или '1280?, @Ignacio Vazquez-Abrams
На самом деле я так и сделал, но они выглядели довольно просто, никаких определений процессоров там не было., @user3060854
Вы уверены, что ваши контакты правильны? 1284 имеет несколько различных назначений контактов, так как это не стандартная плата Arduino. У меня не было никаких проблем с использованием DHT22 с настройкой Mighty1284., @Nathan
Какие контакты вы используете?, @Mikael Patel