вывод двух датчиков на utft
- Войдите на сайт для отправки комментариев
Чт, 13/07/2017 - 18:04
dht11 DHT; // Объявление переменной класса dht11 #define DHT11a_PIN 12 #define DHT11b_PIN 13 {int chk; chk = DHT.read(DHT11a_PIN); // Чтение данных с датчика DHT11 (ЗАЛ) myGLCD.setColor(VGA_WHITE); myGLCD.print(String(DHT.temperature), 380,10) ; } myGLCD.print("C ", 430,10 ); myGLCD.print(String(DHT.humidity), 380,40); myGLCD.print("%", 430,40); delay(2000); } {{int chk2; chk2 = DHT.read(DHT11b_PIN); myGLCD.setColor(VGA_WHITE); myGLCD.print(String(DHT.temperature), 380,70) ; } myGLCD.print("C ", 430,70 ); myGLCD.print(String(DHT.humidity), 380,100); myGLCD.print("%", 430,100); delay(2000); }
вывожу температуру на utft дисплей.
один датчик dht11 подключил и вывел на дисплей, но второй датчик так и не получается вывести.
показания первого датчика так же отображаются и во второй позиции второго датчика... хотя второй датчик не подключен... меняю местами провод от датчика - второй отображается в перво позиции.
хотя при отключенном датчике в позиции (отключенного датчика) должен отобазится ноль...
подскажите, где ошибка в скетче.
прилагаю часть кода...
прилагаю часть кода...
Что заставляет Вас думать, что проблема именно в этой части?
И что мешает завести две переменные датчиков, раз у Вас их два?
прилагаю часть кода...
Что заставляет Вас думать, что проблема именно в этой части?
И что мешает завести две переменные датчиков, раз у Вас их два?
вот я и прошу помощи разобраться где проблема?
мешает не знание как это сделать...
я много примеров по подключению двух датчиком просмотрел, но к сожалению они были для мониторинга или
для lcd1602... на основе тех данных я и пытался вывести два датчика на utft
ну если на 1602 у вас есть код по выводу данных с двух датчиков влажности то и сделайте по аналогии на tft, в чём проблема
проблема в вышесказаном... один датчик считывается и выводится как два датчика...
я в скетче указываю два датчика dht11, но подключаю пока только один - в первой позиции он как положено температуру и влажность показывает.
второй датчик НЕ ПОДКЛЮЧЕН - однако во второй позиции отображаются показания первого датчика.
я не пойму, где совершил ошибку... по примерам я вроде все так же сделал, но результат получился не тот.
ЕвгенийП прав, проблема не в этой части кода
хорошо, вот скетч... как бы вы прописали два этих датчика???
поменяй PIN 13 на другой
а смысл??? это как в математике - от перестановки слагаемых сумма не поменяется...
А ты пробовал?
Что еще на 13-ом пине висит?
пробовал...
ничего на нем не сидит
подключил второй датчик... теперь они скачут и показывают с преодичностью свои и другие показания.
пробовал...
ничего на нем не сидит
Ощибаетесь, на 13 пине висит светодиод, впаянный в плату. Если есть другие свободные пины, 13-й лучше не использовать.
Что касается показаний с датчиков - внимательно отнеситесь к совету Евгения в сообщении #1. Если у вас два датчика, то и обьектов класса dht11 должно быть два, а у вас - один.
пересадил уже на А1
Если у вас два датчика, то и обьектов класса dht11 должно быть два, а у вас - один.
подскажите как правильно тогда прописать это?
подскажите как правильно тогда прописать это?
Ну блин :)
У вас 16 строчка - dht11 DHT; Добавьте еще одну, скажем dht11 DHT2;
И после этого везде, где у вас второй датчик - поменяйте DHT на DHT2. Только внимательно, найдите все вызовы этого класса и четко разберитесь, где у вас первый датчик, а где второй.
И после этого везде, где у вас второй датчик - поменяйте DHT на DHT2. Только внимательно, найдите все вызовы этого класса и четко разберитесь, где у вас первый датчик, а где второй.
Хуже от этого точно не должно быть. Хотя формально почему бы и как есть не работать? В используемой библиотеке получается, что объект DHT к конкретному пину не привязан, а читает данные с того, с какого попросят.
Автору бы ещё результат функции read проверить. Может он по каким-то причинам не всегда Ок?
Попробуйте это в отдельные функции оформить и из лупа вызывать,
что-то не нравится мне (дилетанту) ваша конструкция
я чуть по другому сделал, но принцип тот же.
ура... заработало, как сказал b707 так и сделал.
датчик отключеный показывает по нулям, подключеный показывает температуру и влажность. и наоборот. оба тоже показывают и реагируют на принудительную темпратуру по разному.
всем спасибо, тема закрыта.
датчик отключеный показывает по нулям, подключеный показывает температуру и влажность. и наоборот. оба тоже показывают и реагируют на принудительную темпратуру по разному.
В Вашем исходном варианте температура с обоих датчиков хранится в одном и том же поле. Прочитали данные с одного датчика - запомнили. Читаем со второго - ой, не получилось. Поле температуры при этом библиотекой не очищается, по-видимому. Там оставлся результат прошлого измерения. Вот Вы нулей и не видели. Можно было это контролировать самому и если результат функции read() не Ок, то выводить на экран 0. Но с двумя переменными - более привычный вариант исполнения.
спасибо, на будущее учту. этот скетч пока учебный тестовый.