Библиотека DHT11 и VirtualWire
- Войдите на сайт для отправки комментариев
Сб, 14/03/2015 - 14:10
Добрый день. Столкнулся со следующей проблемой: пишу программу, которая использует несколько библиотек, конкретно-
#include <UTFT.h>
#include <UTouch.h>
#include <UTFT_Buttons.h>
#include <dht11.h>
#include <IRremote.h>
#include <VirtualWire.h>.
Писал всё отдельными частями, а потом собирал воедино. На завершаюшем этапе, интегрировании в общую программу функции с использованием VirtualWire, датчики dht11 перестаkb работать, т.е. идут сплошные ошибки. Я так предполагаю, что существует проблема совместимости библиотек DHT11 и VirtualWire.
С подобным уже сталкивался, когда у меня конфликтовали библиотеки DHT и Irremote, собственно поэтому и заменил библиотеку DHT на DHT11. Примечательны следующие моменты:
С подобным уже сталкивался, когда у меня конфликтовали библиотеки DHT и Irremote, собственно поэтому и заменил библиотеку DHT на DHT11. Примечательны следующие моменты:
1) если в проекте закоментировать строчку: vw_rx_start(); // Start the receiver PLL running
то всё работает! имеется ввиду опрос датчиков. Радиомодуль при этом, естественно не ловит сигнал.
2) Создавал отдельно минипроект, в котором использовал только функции с dht11 и virtualwire. Так Всё работает.
После всего вышесказанного я пребываю в неком замешательстве, поэтому был бы благодарен совету или "пинку" в нужном направлении, а то я что-то уже и не знаю куда копать... Или подскажите другую библиотеку работы с модулем 433mhz вместо VirtualWire.
Скорей всего, у Вас что-то использует Timer1, кроме VW
куда, что подключено по выводам?
Контроллер - mega;
экран -38,39,40,41
тач - 6,5,4,3,2
DHT - 8,9
IR - 10
модуль 433 mhz - 11 ( пробовал на 10, он там не работает)
про timer тоже мысли были. В программе ещё используется системное время функцией millis(), но как я понял там используется таймер 0
IR - 10
Библиотека VirtualWire использует в Ардуино Timer1, и это сказывается на работе PWM выводов 9 и 10.
переведите в библиотеке:
IR с 10 на другой вывод, но не 12
ну и DHT вывод 9
их лучше всего на A0, A1
Timer1 ведь влияет только на работу ШИМ. На входа ведь он не должен влиять. Тем более ИК(на 10 порту) работает, а DHT( и на 8 и на 9) ошибки шлют. И я пробовал другие входа - та же история.
А почему, кстати, не советуете 12 использовать? Про него не помню чтоб где-то читал.
А почему, кстати, не советуете 12 использовать? Про него не помню чтоб где-то читал.
12 - это для 433 RX
Добрый день. модуль 433 mhz - 8 порт,DHT был на 9( прочитал ветку и понял что таймер1 и сказывается на работе PWM выводов 9 и 10 . Ставил уже DHT и на 46 порт, всеравно через раз снимает показания, в основном мусор. Как использовать эти две библиотеки и на каких пинах садить модуль 433 и DHT? Спасибо.
А какую библиотеку используешь для DHT? Есть библиотека DHT, и есть DHT11, они используют разные таймеры, попробуюй с другой библиотекой!
Я не помню где скачал библиотеку, там можно выбирать датчики DHT11, DHT21 или DHT22, то есть общая для всех типов. У меня датчик АМ2301 а там вроде DHT21. Скиньте, пожалуйста, библиотеку для этого датчика где не используется таймер1. Спасибо.
У Adafruit есть библиотека для DHT11/22 датчиков: https://github.com/adafruit/DHT-sensor-library
Там внутри, правда, жуткий быдлокод (на мой личный взгляд), но зато никаких таймеров (кроме того, что отвечает за mills()), но вроде работает.
Спасибо, попробую.
Датчик работает нормально, спасибо. Приемник пока нет возможности проверить.