Перейти к содержанию

Экран на HD44780. Циклический сброс показаний DHT11 в ноль


Рекомендуемые сообщения

Добрый день. Имеется оный экран. Показания на нем прыгают циклично в 0 и обратно. Иногда зависают на 0 секунд на 5. При этом сама схема исправно работает, реле по уставке включается и на "0" продолжает работать.

Ссылка на комментарий
Поделиться на другие сайты

Реклама: ООО ТД Промэлектроника, ИНН: 6659197470, Тел: 8 (800) 1000-321

20% скидка на весь каталог электронных компонентов в ТМ Электроникс!

Акция "Лето ближе - цены ниже", успей сделать выгодные покупки!

Плюс весь апрель действует скидка 10% по промокоду APREL24 + 15% кэшбэк и бесплатная доставка!

Перейти на страницу акции

Реклама: ООО ТМ ЭЛЕКТРОНИКС, ИНН: 7806548420, info@tmelectronics.ru, +7(812)4094849

Выбираем схему BMS для заряда литий-железофосфатных (LiFePO4) аккумуляторов

Обязательным условием долгой и стабильной работы Li-FePO4-аккумуляторов, в том числе и производства EVE Energy, является применение специализированных BMS-микросхем. Литий-железофосфатные АКБ отличаются такими характеристиками, как высокая многократность циклов заряда-разряда, безопасность, возможность быстрой зарядки, устойчивость к буферному режиму работы и приемлемая стоимость. Но для этих АКБ очень важен контроль процесса заряда и разряда для избегания воздействия внешнего зарядного напряжения после достижения 100% заряда. Инженеры КОМПЭЛ подготовили список таких решений от разных производителей. Подробнее>>

Реклама: АО КОМПЭЛ, ИНН: 7713005406, ОГРН: 1027700032161

6 часов назад, Дмитрий Терехин сказал:

Показания на нем прыгают

 

6 часов назад, Дмитрий Терехин сказал:

При этом сама схема исправно работает

Значит в коде накосячили.

Ссылка на комментарий
Поделиться на другие сайты

Уйдите от i2c, и переведите работу диспа на 6 ти проводной вариант! I2c ресурсная штука!

Изменено пользователем sanbi4

Никогда СЮДА не нажимай!!!

надоело из каждого вытаскивать информацию, поэтому:

А ПОДРОБНЕЕ? ГДЕ ФОТО? ГДЕ СХЕМА? ЧТО ЗНАЕШЬ? ЧТО УМЕЕШЬ?

мощные выходные транзисторы перегорают, предохраняя от перегорания плавкие предохранители....

Школа учит читать и писать, институт - пользоваться справочниками и искать ответы

Ссылка на комментарий
Поделиться на другие сайты

10 часов назад, andrusha152 сказал:

Значит в коде накосячили.

Пробовал просто датчик и и дисплей, безо всего другого, все равно прыгают показания. И чтобы косячить в коде, его нужно знать, а я делаю в FLProg))

Ссылка на комментарий
Поделиться на другие сайты

2 часа назад, Дмитрий Терехин сказал:

Пробовал просто датчик и и дисплей, безо всего другого, все равно прыгают показания. И чтобы косячить в коде, его нужно знать, а я делаю в FLProg))

Это как, без всего другого?

Тем более проблемы с кодом.

FLProg (не знаю чего это:D)не позволяет корректировать, написать новую прошивку?

Ссылка на комментарий
Поделиться на другие сайты

15 минут назад, 100482 сказал:

FLProg (не знаю чего это:D)не позволяет корректировать, написать новую прошивку?

Насколько я понял, из картинок рисуется схема, или блок-схема, и программа сама выдает код. Что она кодирует, хрен поймёшь.

Ссылка на комментарий
Поделиться на другие сайты

Все правильно, опрашивает два канала и выводит показания по очереди. А один канал не подключен, выдаются нули. Из предоставленой нам информации напрашивается именно такой вывод.

Настоящему коту и в декабре март!

Ссылка на комментарий
Поделиться на другие сайты

	#include <Wire.h>
#include <LiquidCrystal_I2C.h>
#include "DHT_NEW.h"
LiquidCrystal_I2C _lcd1(0x27, 16, 2);
int _dispTempLength1=0;
boolean _isNeedClearDisp1;
	DHT _dht1;
	float _gtv1;
float _gtv2;
int _disp1oldLength = 0;
unsigned long _dht1LRT = 0UL;
unsigned long _dht1Tti = 0UL;
int _disp3oldLength = 0;
	void setup()
{
	Wire.begin();
delay(10);
_lcd1.init();
_lcd1.backlight();
_dht1.setup(2);
_dht1LRT = millis();
_dht1Tti = millis();
	}
void loop()
{
	if (_isNeedClearDisp1) {_lcd1.clear(); _isNeedClearDisp1= 0;}
	//Плата:1
if(_isTimer(_dht1Tti, 1000)) {
if(_isTimer(_dht1LRT,( _dht1.getMinimumSamplingPeriod()))) {
_dht1.readSensor();
_dht1LRT = millis();
_dht1Tti = millis();
}
}
_gtv1 = _dht1.humidity;
_gtv2 = _dht1.temperature;
if (1) {
_dispTempLength1 = ((((String("T ~ ")) + ((String((int(_gtv2)), DEC))) + (String(" C"))))).length();
if (_disp3oldLength > _dispTempLength1) {_isNeedClearDisp1 = 1;}
_disp3oldLength = _dispTempLength1;
_lcd1.setCursor(int((16 - _dispTempLength1)/2), 0);
_lcd1.print((((String("T ~ ")) + ((String((int(_gtv2)), DEC))) + (String(" C")))));
} else {
if (_disp3oldLength > 0) {_isNeedClearDisp1 = 1; _disp3oldLength = 0;}
}
if (1) {
_dispTempLength1 = ((((String("H ~ ")) + ((String((int(_gtv1)), DEC))) + (String(" %"))))).length();
if (_disp1oldLength > _dispTempLength1) {_isNeedClearDisp1 = 1;}
_disp1oldLength = _dispTempLength1;
_lcd1.setCursor(int((16 - _dispTempLength1)/2), 1);
_lcd1.print((((String("H ~ ")) + ((String((int(_gtv1)), DEC))) + (String(" %")))));
} else {
if (_disp1oldLength > 0) {_isNeedClearDisp1 = 1; _disp1oldLength = 0;}
}
	
}
	bool _isTimer(unsigned long startTime, unsigned long period )
  {
  unsigned long currentTime;
currentTime = millis();
if (currentTime>= startTime) {return (currentTime>=(startTime + period));} else {return (currentTime >=(4294967295-startTime+period));}
  }
	

 

вот такой код.

673843637_.png.fd4e84a84205098ccf701f0bf0521965.png

вот такая прога.

 

Попробовал датчик ds18b20 - все нормально показывает.

Ссылка на комментарий
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.
Примечание: Ваш пост будет проверен модератором, прежде чем станет видимым.

Гость
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Ответить в этой теме...

×   Вставлено с форматированием.   Восстановить форматирование

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Загрузка...
  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...