Как подключить к TM1637 датчик температуры и часы одновременно?
Как подключить к TM1637 датчик температуры и часы одновременно?
Доброго дня господа!!!
Вопрос от новичка, как к дисплею TM1637, одновременно подключить часы реального времени и датчик температуры ds18b20?
Допустим, 5 сек показывалось время, ну и 5 сек температура.
Подобие скейтча прилагаю!
Заранее благодарен!!!
Вопрос от новичка, как к дисплею TM1637, одновременно подключить часы реального времени и датчик температуры ds18b20?
Допустим, 5 сек показывалось время, ну и 5 сек температура.
Подобие скейтча прилагаю!
Заранее благодарен!!!
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Как подключить к TM1637 датчик температуры и часы одновременно?
выт для вемос делал ,меняйте контролер, датчик и блок часов на свои
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Как подключить к TM1637 датчик температуры и часы одновременно?
Огромное Вам Спасибо!!!
Отправлено спустя 7 минут 28 секунд:
Черт))) был уверен, что надо добавить один "волшебный" блок)) у Вас же целая схемища!!
Еще раз благодарю, хоть Ваша схема пока и весьма сложна для меня, слишком мало пока знаний((
Пошол изучать
Отправлено спустя 7 минут 28 секунд:
Черт))) был уверен, что надо добавить один "волшебный" блок)) у Вас же целая схемища!!
Еще раз благодарю, хоть Ваша схема пока и весьма сложна для меня, слишком мало пока знаний((
Пошол изучать
Как подключить к TM1637 датчик температуры и часы одновременно?
почему сложная? датчик у меня меряет температуру и влажность(поэтому у меня 3 индикации а не 2)
время берет с сервера точного времени(редактировать пояс и есче что то можно через веб) , у вас с часов реального времени
ну и там всякое типа тушение нуля это там тоже у меня есть - не люблю когда показывает 01 час ночи
время берет с сервера точного времени(редактировать пояс и есче что то можно через веб) , у вас с часов реального времени
ну и там всякое типа тушение нуля это там тоже у меня есть - не люблю когда показывает 01 час ночи
Как подключить к TM1637 датчик температуры и часы одновременно?
Если надо именно в FLProg ,можно примерно так:
А если не принципиально,то вот неплохой скетч: Правда надо подправить библиотеку :"Чтобы добавить значек "градус" надо редактировать массив в файле С./Документы / Arduino /libraries / DigitalTube / TM1637.cpp
В строку 23-26 надо или добавить еще один символ,или исправить какой-либо из существующих. Затем в скетче, в строке 127 указать порядковый номер символа."
Это получение темп. с часов DS3231. Вместо блока "получение темп.с часов" можешь вставить свой датчик.А если не принципиально,то вот неплохой скетч: Правда надо подправить библиотеку :"Чтобы добавить значек "градус" надо редактировать массив в файле С./Документы / Arduino /libraries / DigitalTube / TM1637.cpp
В строку 23-26 надо или добавить еще один символ,или исправить какой-либо из существующих. Затем в скетче, в строке 127 указать порядковый номер символа."
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Как подключить к TM1637 датчик температуры и часы одновременно?
Друзья - ОГРОМНОЕ спасибо Вам!!!
dizzyy - я благодарен Вам!!, но уровень моих познаний лет на несколько отстает от Ваших! Пример Ваш отличный и нужный, но пойму я его чуть позже!
hatul - Благодарю Вас!!!
dizzyy - я благодарен Вам!!, но уровень моих познаний лет на несколько отстает от Ваших! Пример Ваш отличный и нужный, но пойму я его чуть позже!
hatul - Благодарю Вас!!!
Как подключить к TM1637 датчик температуры и часы одновременно?
Ребят, всем привет. Подскажите, как можно изменить пользовательский блок.
Использую Wemos D1 Mini c TM1637.
Суть в том, что я хочу, что бы часы чередовались каждые три секунды и выводились на индикатор с температурой, ну хотелось бы еще конечно с влажностью считанные с DHT11.
Схему в Flprog накидал, и столкнулся с такой не большой проблемкой. Я перепробовал разные ПБ что до TM1637, и остановился на одном блоке, который был в примере, почему именно его, потому-что с этим блоком остальной код не тормозит, то-есть остальные функции wemos выполняет без задержек, так же некоторые блоки не хотели выводить, библиотеки подкидывал разные, пробовал ...
Не большой эстетический косяк, нужно убрать обозначение градуса Цельсия, не саму "С" а предположенный "°" так как он отображается как фигня какая-то
ну или каким то образом заставить его отображать.
Еще хотелось-бы добавить вход для влажности в блок.
Библиотеку использую "Grove_4-Digit_Display"
Файлы прилагаю: Отправлено спустя 31 минуту 57 секунд:
Еще хочу спросить, почему периодически вместо данных температуры, загораются "левые" сегменты?
Вместо температуры в 25, что попало .... Не попадает в цикл опроса датчика?
Использую Wemos D1 Mini c TM1637.
Суть в том, что я хочу, что бы часы чередовались каждые три секунды и выводились на индикатор с температурой, ну хотелось бы еще конечно с влажностью считанные с DHT11.
Схему в Flprog накидал, и столкнулся с такой не большой проблемкой. Я перепробовал разные ПБ что до TM1637, и остановился на одном блоке, который был в примере, почему именно его, потому-что с этим блоком остальной код не тормозит, то-есть остальные функции wemos выполняет без задержек, так же некоторые блоки не хотели выводить, библиотеки подкидывал разные, пробовал ...
Не большой эстетический косяк, нужно убрать обозначение градуса Цельсия, не саму "С" а предположенный "°" так как он отображается как фигня какая-то

Еще хотелось-бы добавить вход для влажности в блок.
Библиотеку использую "Grove_4-Digit_Display"
Файлы прилагаю: Отправлено спустя 31 минуту 57 секунд:
Еще хочу спросить, почему периодически вместо данных температуры, загораются "левые" сегменты?
Вместо температуры в 25, что попало .... Не попадает в цикл опроса датчика?
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Последний раз редактировалось Notturno 16 янв 2020, 22:39, всего редактировалось 1 раз.
Как подключить к TM1637 датчик температуры и часы одновременно?
[ref]Notturno[/ref], во втором посте и время с NTP сервера, влажность и температура.. подогнать под себя длительность, если надо изменть часы.. а так все работает
Как подключить к TM1637 датчик температуры и часы одновременно?
[ref]dizzyy[/ref], Я Вашу схему пробовал, не запустилась. Не выводиться на индикатор ничего.
Я полагаю дело в назначении пинов, но я менял на свои выводы. у меня G5,G4. Вашу схему не удается запустить, только что еще попробовал.
Я полагаю дело в назначении пинов, но я менял на свои выводы. у меня G5,G4. Вашу схему не удается запустить, только что еще попробовал.
Как подключить к TM1637 датчик температуры и часы одновременно?
индикатор другой , у меня 4 точки снизу .. скетч точно рабочий, у детей в комнате работает..
возьмите все блоки что найдете , пропишите на входах стринги и получите цифры на сигментах..тогда вставите в мой проект этот блок
возьмите все блоки что найдете , пропишите на входах стринги и получите цифры на сигментах..тогда вставите в мой проект этот блок
Как подключить к TM1637 датчик температуры и часы одновременно?
Этот индикатор валялся у меня, я заказ на али "056 размер, больше и у него есть четыре точки, когда придет попробую...


Как подключить к TM1637 датчик температуры и часы одновременно?
[ref]Notturno[/ref],
Давайте без обид и по-порядку. Где Ваш проект, Вы выложили блок- будем его обсуждать?
Теперь из рисунка проекта: а что происходит с [spoiler title= минусовой температурой] [/spoiler] знак которой находится в MSB старшего байта float и запишется в следующую ячейку(адресное пространство) памяти из-за переполнения переменной integer испортив какие-то данные в SRAM, а младшие 2байта будут инвертированы? Будем надеяться , что компилятор исправит такие косяки? Так, что его (блока) преимущество не использования, как у других блоков на форуме, класса данных String выглядит IMHO слишком сомнительно. Некоторые мелкие ошибки блока Дисплей на TM1637 (часы и t°C_2, впрочем, можно немного "подшаманить", если его работа Вас удовлетворяет перестановкой строк кода.
Или же, вторая причина:
блок "Дисплей на TM1637 (часы и t°C_1", более подходящий для Вашей задачи, но "с этими же яйцами в профиль", с добавлением доп.символов (модификацией библиотеки) которую, ес-но, нужно установить, предварительно удалив оригинальную с ГитХаба-
Боюсь что отличить её от оригинальной по внешним признакам будет проблематично.
Что имел, то сказал, извините непрограммиста если что. Удачи!
Давайте без обид и по-порядку. Где Ваш проект, Вы выложили блок- будем его обсуждать?
Как-то не верится - сужу по коду в блоке. Данный блок выполняется в каждом цикле ф-и Loop(), т.е. в каждом цикле он обрабатывает данные со входов, и вгоняет их по медленной шине I2C в ТМ1637, даже если эти данные не менялись. Кроме того, уважаемый неизвестный автор этого блока выводит мигание точек и данные со входа Hours даже в режиме отображения температуры и потом "затирает" их данными со входа Mins (где уже температура). Так-же применяет тип данных integer(2 байта), для записи данных времени (которые байтовые) и яркости (которая имеет всего 7-мь градаций).Notturno писал(а): 16 янв 2020, 22:29 почему именно его, потому-что с этим блоком остальной код не тормозит
Теперь из рисунка проекта: а что происходит с [spoiler title= минусовой температурой] [/spoiler] знак которой находится в MSB старшего байта float и запишется в следующую ячейку(адресное пространство) памяти из-за переполнения переменной integer испортив какие-то данные в SRAM, а младшие 2байта будут инвертированы? Будем надеяться , что компилятор исправит такие косяки? Так, что его (блока) преимущество не использования, как у других блоков на форуме, класса данных String выглядит IMHO слишком сомнительно. Некоторые мелкие ошибки блока Дисплей на TM1637 (часы и t°C_2, впрочем, можно немного "подшаманить", если его работа Вас удовлетворяет
Код: Выделить всё
//TimeDisp[0] = Hours / 10; // переносим ниже, выполняется если выключена инд. температуры
//TimeDisp[1] = Hours % 10; // переносим ниже, выполняется если выключена инд. температуры
//if ( Sec ) tm1637.point(HIGH); // зачем сравнивать, всё равно перезаписываем?
// else tm1637.point(LOW); // эти два безполезных условия(сравнения) заменяем tm1637.point( Sec ); там где это должно выполняться
if (temp) {
// TimeDisp[0] = Mins / 10; // Данные со входа минут десятки (уже температура) выводим в крайний левый разряд
// TimeDisp[1] = Mins % 10; // Данные со входа минут единицы (уже температура) выводим в левый разряд
TimeDisp[2] = Mins / 100; // Почему/100, сюда нужно записать символ градуса -константа 0х63
TimeDisp[3] = Mins % 100; //Почему%100, сюда нужно записать символ С (Celsium) -константа 0х39
}else{
TimeDisp[0] = Hours / 10;
TimeDisp[1] = Hours % 10;
TimeDisp[2] = Mins / 10;
TimeDisp[3] = Mins % 10;
tm1637.point( Sec );
}
tm1637.display(TimeDisp);
tm1637.set(Brightness);
Я бы сказал, что он отображает ту фигню (ссылка), которая у Вас получилась после записи данных типа Float (с датчика DHT) в переменную типа integer. Вы же не станете наливать в 100-граммовый стакан пол-литра (просто как пример), но пишете 32-х битовый Float в 16-ти битовый Integer. Странно, что это позволяет сделать FLProg.
Или же, вторая причина:
блок "Дисплей на TM1637 (часы и t°C_1", более подходящий для Вашей задачи, но "с этими же яйцами в профиль", с добавлением доп.символов (модификацией библиотеки) которую, ес-но, нужно установить, предварительно удалив оригинальную с ГитХаба-
Код: Выделить всё
TimeDisp[0] = Hours / 10;
TimeDisp[1] = Hours % 10;
if ( Sec ) tm1637.point(HIGH);
else tm1637.point(LOW);
tm1637.set(Brightness);
if (temp)
{
TimeDisp[2] = 18; // В авторской библиотеке Grove_4Digital_Display в массиве static int8_t tube_tab[]
/*только 16-ть элементов , что приводит к выводу чёрт знает чего
* это-же можно сделать без модернизации оригинальной библиотеки через using namespace char2segments
* там (namespace { uint8_t char2segments(char c))есть искомый символ: case '*' : return 0x63; // °
* см. файл TM1637.cpp
*/
TimeDisp[3] = 12;
}
else
{
TimeDisp[2] = Mins / 10;
TimeDisp[3] = Mins % 10;
}
tm1637.display(TimeDisp);

Что имел, то сказал, извините непрограммиста если что. Удачи!
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость