разжевал и накормил, спасибо, наверное самый понятный обзор библиотеки.
@Jackson_Sam5 жыл бұрын
Большое спасибо за видео. Мне очень помогло. Подключил два индикатора, доволен как слон)) Процветания и успехов каналу.
@АлексейПлутос5 жыл бұрын
Спасибо за информацию по точкам!
@TheKelikat5 жыл бұрын
купил такой экран как раз из за точек и часов и десятичных, покупал под разбор. но оказалось что он великоват, и таких же размеров можно купить вли, которые тоже меньше не бывают. хотел в плеер поставить, но наверно часы с плеером сделаю, вот про нерабочие точки не знал, точно на разбор пущу
@abdulqadirahmedli6102 жыл бұрын
Спасибо за видео. Вы можете программивать TM 1723 ?
@UCanDo2 жыл бұрын
Спасибо за отзыв! Увы, с TM1723 я дела не имел, ничего подсказать не могу.
@Бармалейхаха3 ай бұрын
Все четко и понятно объяснил. 👍
@lexasto6 жыл бұрын
Как вариант: можно попробовать сделать так чтобы целое число горело постоянно, а десятки и сотые мерцали (типа вместо точки)
@ИгорьКорниенко-в4б Жыл бұрын
какую библиотеку используете? Я не нашел таких команд.
@Gosha_Khabarovsk3 жыл бұрын
Хорошо! Но есть вопрос: у меня дисплеи 6-разрядные. И данная библиотека не годится! Не подскажите какую библиотеку в случае 6-разрядных индикаторов использовать?
@reodos35 жыл бұрын
для отображения десятичных точек нужно установить старший бит в единицу в отправляемом байте кода символа. Например символ "0" отправляется командой disp.displayByte(3,0x3F);// 0x3F=0b00111111 а символ"0" с горящей точкой отправляется командой disp.displayByte(3,0xBF);// 0xBF=0b10111111 P.S. у меня дисплей без двоеточия но с десятичными точками. P.P.S. Или можно просто к готовому коду прибавить 0x80. Например так disp.displayByte(3, 0x3F+0x80)
@UCanDo5 жыл бұрын
Я так и делаю, только в зависимости от дисплея это включит либо запятую, либо (как в моем случае) двоеточие.
@MrMultiSIM2 жыл бұрын
Можете написать пример вывода второй точки, отдельно без 1, 3 и 4-ой? Или вывод отдельно третьей точки
@Andrew_Chernenko Жыл бұрын
Тут дело в том, что в недорогих нонеймовых индикаторах, которые ставят в подобные "часовые" модули, эти точки вообще не работают - на их местах просто физически не установлены кристаллы. В этом можно убедиться, если потыкать тестером напрямую по ножкам семисегментника. Чтобы работали и те точки, и другие, нужно брать фирменные индикаторы.
@UCanDo Жыл бұрын
@Andrew_Chernenko, не согласен с вами. Эти индикаторы называются семисегментные, потому что 7 светодиодов формируют полную цифру 8. Эти 7 сегментов цифры обозначаются буквами ABCDEF. Еще один светодиод формирует дополнительный элемент - точку, которая обозначается аббревиатурой DP. И того получается 8 сегментов. Что равно одному байту. Это не зря так сделано. Все завязано на Битовой системе, где в байте каждый бит определяет какой именно сегмент будет включен. Производители делают светодиодные панели с разным расположением светодиодов для того чтобы отвечать спросу потребителей. Из вышесказанного: не существует 7-ми сегментного индикатора, у которого было бы больше чем 8 светодиодов. В данном случае производитель выпускает индикаторы 2-х типов: с двоеточием или с точкой после каждой цифры. Либо одно, либо другое. Вместе физически не возможно. Каждый покупает себе именно то что нужно. И тут дело абсолютно не в вопросе «подделок», а в том что такова конструктивная особенность 7-ми сегментных индикаторов, и просто нужно быть внимательным при покупке, чтобы не купить не то что нужно.
@Andrew_Chernenko Жыл бұрын
@UCanDo Сейчас понял, в чем я затупил: модули-то с TM1637. У этой микросхемы выход рассчитан на 8 сегментов и 6 разрядов максимум. Поэтому и индикаторы в таких модулях стоят без наворотов (хотя это не отменяет того факта, что их корпус с нерабочими точками вводит покупателя в заблуждение). А так-то одновременная реализация точек и двоеточия есть. У таких семисегментников, как правило, по 14 пинов, из которых 8 - сегменты+точка, 4 - разряды, 2 - отдельные выводы на часовое двоеточие. В некоторых есть еще два дополнительных вывода для верхней точки после третьей цифры (заменяет символ градуса) - всего получается 16 выводов. Эти индикаторы ставят в модули с HT16K33 (обычно эта микросхема используется для управления 16-сегментными индикаторами и светодиодными матрицами).
@ПашаЖуков-ц2ц6 жыл бұрын
МОЛОДЕЦ!!!!! СПАСИБО!!!!! очень понятно
@sanli55614 жыл бұрын
добрый вечер,Игорь , меня зовут Сан. подскажите пожалуйста ,можно ли использовать TM1637 вместо двухстрочного дисплея LCD1602,дело втом , и что я слеповат, и на двухстрочном цифирки маловаты , да и I2C на борту даёт преимущества.а заменить хочу на( Ардуино контроллер поворотки)
@UCanDo4 жыл бұрын
Здравствуйте. Да, можно использовать этот дисплей, только нужно изменить скетч, для того чтобы правильно выводить данные. Есть еще другой вариант: можно на дисплее LCD1602 выводить большие надписи. Вот, посмотрите это видео: kzbin.info/www/bejne/rne6oaGZfdeaiNE достаточно немного изменить скетч, и на LCD1602 можно вывести большие надписи.
@sanli55614 жыл бұрын
@@UCanDo буду менять скетч под TM1637 попробую , спасибо за объяснения
@ascuber46504 жыл бұрын
Можно без калькулятора, компилятор понимает двоичные числа, аналогично шестнадцатиричным - B11110101 (заглавная B) или 0b11110101.
@sailansers67684 жыл бұрын
Хороший обзор. Не рассматривали 6 разрядные дисплейчики на TM1637 ?
@UCanDo4 жыл бұрын
Добрый день. Спасибо за отзыв! Нет, не пробовал. Просто не было необходимости, да и в наличии у меня таких нет
@vtech87166 жыл бұрын
Молодец. Каким образом можно подключить 2 и более подобных дисплея одновременно. Например одновременно отображать время и температуру?
@UCanDo6 жыл бұрын
Обьявить два дисплея: #define CLK1 3 #define DIO1 2 TM1637 disp_1(CLK1, DIO1); #define CLK2 4 #define DIO2 5 TM1637 disp_2(CLK2, DIO2); для вывода использовать либо disp_1 либо disp_2
@vtech87166 жыл бұрын
Спасибо, буду пробовать, а то лежит 3 таких дисплейчика разных цветов, надо многофункциональный показометр сделать.
@f33net6 жыл бұрын
Вообще, сама бисина там на 6 разрядов и точками умеет управлять, а ещё умеет клаву 16 кнопок читать (хоте, не ступи в прошивке, могла бы и 96 читать). :) Подозреваю, что там тинка зарыта для тех, кому влом самому сделать такую фигушку с нормальным интерфейсом COM, а не тормознутую библу с delay() и хрен найдёшь какими командами. :)
@valeram79884 жыл бұрын
@@UCanDo а какая может быть максимальная длина дата-линии? Например если её вывести витой парой в экране? На 8-ми метрах работать будет?
@dreamerggibberish98064 жыл бұрын
Очень доходчиво объяснил! Лайк! Только не могу понять, почему нельзя засветить точки у знаков? Ведь ты сам расписал в двоичном коде символ. И получается что самая старшая единица это как раз точка. Или я чего не понимаю?
@UCanDo4 жыл бұрын
Спасибо за отзыв! Эти дисплеи делают с разным расположением светодиодов. Есть модели где светится двоеточие, а есть модели где светятся нижние точки. Либо то либо другое. В моем случае светодиоды установлены в двоеточие, и можно включить только их.
@MrMultiSIM2 жыл бұрын
как именно? Где управление точками дисплея прописано? У меня как раз дисплей с 4 точками - по одной после каждой цифры. Как ими управлять?
@АртёмЗыков-з5р6 жыл бұрын
Что значит "если понравилось"? Такие видео не могут не нравиться)
@dmitriy66486 жыл бұрын
+++++
@КатеринаКоржова-т9е6 жыл бұрын
Эт точно.
@arduinomaquinas Жыл бұрын
Nice 👏👏👏
@АлексейБойченко-з7ю6 жыл бұрын
И почему не прикрутили полноценный i2c? Или хотяб предусмотрели, чтобы у всех команд 8-ой бит 0 был. Иначе через аппаратный i2c не запустить. (Только ногодрыгом:( )
@Dancopymus3 жыл бұрын
Hi friend, I have 2 Displays of this but, from the large module (0.56") and I've tried connecting with esp8266 NodeMCU but it doesn't work at all; and interestingly, with the small module (0.36") it works normally with NodeMCU. I think it has a manufacturing fault with the two resistors (103) and the two capacitors behind the board. Do you know anything about this? Have you ever connected with esp8266 NodeMCU? Thanks
@Dancopymus3 жыл бұрын
Thank you David; I use 1k or 10k resistors on the CLK and DIO lines to fix the problem.
@MrMultiSIM2 жыл бұрын
Спасибо! Как управлять точками на дисплеях, у которых не двоеточие, а 4 точки внизу - у каждой цифры - к ним есть доступ по отдельности?
@UCanDo2 жыл бұрын
Да, можно каждой точкой управлять по отдельности. Посмотрите как строится символ, один их битов включает точку. Видео я делал давно, уже многое не помню. Я сейчас не дома, по этому код не смогу глянуть.
@MrMultiSIM2 жыл бұрын
У меня в готовом скетче выводится двоеточие по логической переменной - но это для дисплеев с двоеточием после 2 символа. Что тут заменить, чтобы так же вспыхивала вторая точка - которая после 2 символа? Буду благодарен, если ответите, как будет возможность. #ifdef TM1637_USE if (millis() - tmr_clock > 500UL) { // каждую секунду изменяем tmr_clock = millis(); // обновляем значение счетчика dotFlag = !dotFlag; // инверсия флага if (!DisplayFlag) display.point(dotFlag); // выкл/выкл двоеточия Display_Timer (); } if (dawnFlag) { clockTicker_blink(); } #endif //TM1637_USE
@MrMultiSIM2 жыл бұрын
Т.е. там двоеточие выводится через display.point(dotFlag); - я так понимаю, стандартная функция самой библиотеки. А на дисплее с 4 точками - они вспыхивают все вчетвером, при таком коде 😀 А надо только 2-ю зажигать.
@ВиталийКлишин-т8г4 жыл бұрын
Добрый день. Подскажите пожалуйста. Как можно вывести на этом дисплее в 0-ом сегменте пусто, в 1-ом буква d, во 2-ом L, в третьем цифра 4?
@UCanDo4 жыл бұрын
Смотрите с 3-й минуты: (_empty, _d, _L, _4)
@ЛеонПарепко5 жыл бұрын
подскажите пожалуйста, как вывести число из переменной и букву, одновременно?
@UCanDo5 жыл бұрын
Выводите просто в разные сегменты.
@ЛеонПарепко5 жыл бұрын
А если число двузначное?
@Gameplayer550556 жыл бұрын
Есть такие на |2с? Надо не занимать пинов
@Paramond-s3k4 жыл бұрын
Можно ли отпаять штатный индикатор а на его место установить большой индикатор ?
@UCanDo4 жыл бұрын
В теории да. Главное правильно подключить сегменты и чтобы силы тока хватило.
@Paramond-s3k4 жыл бұрын
@@UCanDo в этой идеи я вижу большие перспективы
@виталийку-ы1э4 жыл бұрын
@@UCanDo Подскажите у штатного индикатора схема соединения с общим анодим,?
@alexandrlatukhin63454 жыл бұрын
Спасибо.
@АнатолийМ-ь9к2 жыл бұрын
Для flprog есть пользовательский блок с возможностью управления нижними точками. Значит как-то они должны работать.
@UCanDo2 жыл бұрын
Это зависит конструкции дисплея. Либо нижние точки, либо двоеточие. Оба варианта невозможны
@АнатолийМ-ь9к2 жыл бұрын
@@UCanDo надо будет попробовать этот блок. Дисплей у меня есть.
@Andrei0110004 жыл бұрын
все хорошо, только как на него инфу с датчиков выводить?
@UCanDo4 жыл бұрын
Данные с датчика получаете в переменную потом переменную отображаете на дисплее.
@Ялітаюпозавсімавимірами4 жыл бұрын
Добрый день, а вы знаете, что кадр из вашего видео попал в книгу по "Безопасности Интернета Вещей" (от Министерства науки и образования Украины!)? Нам эту книги дали вместо методичек.
@UCanDo4 жыл бұрын
Нет, впервые слышу. Было бы интересно посмотреть! Есть ли данная книга в электронном виде?
@Ялітаюпозавсімавимірами4 жыл бұрын
@@UCanDo , вам дошел мой ответ с сылкой?
@UCanDo4 жыл бұрын
Да, спасибо, почитаю!
@UCanDo4 жыл бұрын
Пересмотрел я данную книгу, и как-то грустно стало. Я понимаю если бы данный материал рассматривался в школьном курсе, но не в ВУЗ-е... Точнее там есть некоторые моменты "глубокого" изучения программирования, которые вышодят за рамки школьного обучения, но использовать для обучения в ВУЗе среду разработки Arduino - это деградация. Так как сама суть и цель Этой среды - быстрый старт, демонстрация возможностей программирования чтобы заинтересовать ДЕТЕЙ в изучении программирования. Так как человек никак не учится самому процессу программирования. Приведу пример. Исходя их этой методички я не увидел как настраивается ШИМ на стороне микроконтроллера. Какие таймеры при этом будут задействованы, или за что отвечает регистр TIMSK0 и т.д..... А ведь это основа! Даже если не изучать глубоко настройки микроконтроллера, есть более продвинутые среды разработки. Я не знаю чему учат в самом учебном процессе, но уровень программирования, который приведен в книге, не то что низкий - он ниже плинтуса. Если весь учебный процесс строится на таком уровне, то выпускики данного учебного заведения просто не конкурентно способны в современном обществе :( Может мое впечатление ошибочно, что тоже не могу отрицать.
@Ялітаюпозавсімавимірами4 жыл бұрын
На самом деле мне даже такое сложно. Немного растроился, что это "для школьного обучения". Возможно мне кажется, но сложности при выполнении этих задач почти всегда получаются из за размытых условий. У нас часто студенты обращаются к преподу для уточнения заданий, каждый говорит ей свое предположение, а он на всё отвечает ДА.
@ermakamre6 жыл бұрын
Почему решили, что TM1637 сдвиговый регистр? Цитата из datasheet: kind of LED (light-emitting diode display) drive control special circuit with keyboard scan interface.
@UCanDo6 жыл бұрын
С обратной стороны стоит микросхема TM1637.
@ermakamre6 жыл бұрын
Это понятно, но почему она стала сдвиговым регистром?
@nighthunter284 жыл бұрын
@@ermakamre он его путает с говном на 74HC595
@TheKelikat5 жыл бұрын
фигасе ардуинщик с макитой
@АЛЕКС-ш2э3и3 жыл бұрын
А возможно на дисплей вывести скажем цифру с плавающей точкой?
@UCanDo3 жыл бұрын
Можно вывести любую информацию. Переменная (с плавающей точкой) разбивается на сегменты, и каждый сегмент записывается отдельно в ячейки дисплея
@АЛЕКС-ш2э3и3 жыл бұрын
@@UCanDo А вам не трудно создать видео пример с плавающей точкой на основании работы термометра и показать нам?
@UCanDo3 жыл бұрын
Нечто подобное я делал когда создавал проект с таймером обратного отсчета: kzbin.info/www/bejne/oIW3kqWgnaeWmKs Вам нужно получить отдельно целую часть числа, и отдельно дробную. Вот пример: float s = 12.4; получаем целую часть числа: int High_S = int(s); получаем дробную часть числа: int Low_S = int((s - High_S) * 10); Так мы получим "4". Если нужно получить больше разрядов после запятой то нужно умножать на соответствующее число: * 10 - один разряд * 100 - два разряда *1000 - три разряда и так далее. В результате у нас получилось две переменные: High_S и Low_S А как их вывести на дисплей можно посмотреть в этом видео, или в том на которое я дал ссылку
@АЛЕКС-ш2э3и3 жыл бұрын
@@UCanDo дай Бог вам здоровье, мил человек. Спасибо.
@АЛЕКС-ш2э3и3 жыл бұрын
@@UCanDo А как вывести саму точку на дисплей?
@polychaeta4177 Жыл бұрын
странно, повторил точь в точь но уменя пишет на строчке byte 1 = 0; expected unqualified-id before numeric constant.
@UCanDo Жыл бұрын
Между “byte” и “1” не должно быть пробела
@polychaeta4177 Жыл бұрын
@@UCanDo так попробуем, спасибо за ответ.
@виталийку-ы1э4 жыл бұрын
Дисплей с общим а.... или какое его название.
@UCanDo4 жыл бұрын
Есть семисегментные индикаторы с общим анодом, есть с общим катодом. Здесь же не просто матрица светодиодов, а полноценное устройство на базе TM1637
@виталийку-ы1э4 жыл бұрын
@@UCanDo Меня в этом устройстве интересует информуция о семисегментном индикаторе. На видео я это не увидел.
@mubifay_yt_76442 жыл бұрын
Как подключить эту библиотеку?
@UCanDo2 жыл бұрын
Ищите в Гегле «как установить библиотеку Ардуино»
@Dmitry_b-6126 жыл бұрын
Видосу однозначно лайк. до кучи хороших справочных видосов Фактически этот лёд только для часиков, больше никуда TM1638 и MAX7219 луччи. хотя часики люди тоже делают разные интересные. Я вот тоже сегодня выложил видос kzbin.info/www/bejne/d4u5c6CDqJeeppI
@ilesk89646 жыл бұрын
Почему же для часов? Термометр, вольтметр, да любое устройство где хватит 4х символов. Та же бегущая строка, с натяжкой, как показал автор. В общем, годная штука, парочка всегда лежит про запас, на всякий)). Видосу лайк.
@Megavolt.6 жыл бұрын
Я пока в этой теме слабоват, но я так понимаю, не сильно проблемно ещё один такой подцепить и работать с двумя сразу. Тут уже 8 символов и возможностей намного больше. Я к примеру хочу таким образом сделать индикатор оборотов двигателя для регулятора с обратной связью. ( в оригинале у автора проекта используется 1602, что избыточно)
@f33net6 жыл бұрын
Без BCD семисегментник хлам. :)
@TheKelikat5 жыл бұрын
это ты о чём
@kemperschannel40996 жыл бұрын
У меня не работает команда disp.displayInt(pwm); pwm задаю с подстроечника, но это не имеет смысла, потому что ошибку выдает компилятор class TM1637 has no member named "displayIntZero"
Есть пару замечаний: #define p_pin 1 - вы тем самым задаете цифровой пин 1, а не аналоговый пин А1. правильно писать так: #define p_pin A1 delay(20); - сделайте задержку по-больше, иначе нормально отображаться не будет. 50, или даже 100 Только что попробовал откомпеллировать ваш скетч, и исправленный (с А1), в обоих случаях у меня компиляция прошла без ошибок. Вы библиотеку установили?
@floydrose28335 жыл бұрын
Спасибо!!!
@moykumir4 жыл бұрын
А если в displayInt записать 32767?
@UCanDo4 жыл бұрын
Дисплей отобразит только 4 цифры
@moykumir4 жыл бұрын
@@UCanDo понятно, что пять туда не поместиться. он их будет как-то прокручивать или просто четыре цифры... старшие разряды?
@UCanDo4 жыл бұрын
Прокручивать не будет сам по себе. Можно это спец.командой сделать. Если просто вывести, то отобразит только 4 цифры. Какие именно, старшие или младшие, я не знаю. Не пробовал
@moykumir4 жыл бұрын
@@UCanDo Спасибо
@WHAK6 жыл бұрын
Как перевернуть экран?
@UCanDo6 жыл бұрын
А зачем вам переворачивать изображение?
@WHAK6 жыл бұрын
@@UCanDo для того чтобы физически перевернуть экран. Меня интересует программный переворот.
@UCanDo6 жыл бұрын
Вопрос тот же: зачем? Ведь физические параметры по габаритам не меняются. Стало быть зачем так заморачиваться и переворачивать изображение?
@WHAK6 жыл бұрын
@@UCanDo ну вот физически я трогать его не хочу, у него выводы с одной стороны, вобщем как понял нельзя вимимо.
@UCanDo6 жыл бұрын
У дисплея выводы с двух сторон. Просто перепаяйте разъём на другую сторону и все. Программно это сделать можно, но очень проблематично.
@asdasdasdsadsadasd87336 жыл бұрын
Thank you.
@qwerty7city6 жыл бұрын
а где скетч на эффекты , как в конце видео?
@UCanDo6 жыл бұрын
В описании под видео есть ссылка на архив с библиотекой и скетчем с примерами.
@qwerty7city6 жыл бұрын
там нет эффектов как вначале на видео
@UCanDo6 жыл бұрын
Все там есть. Будьте внимательны. К тому же ничто не мешает вам написать тот эффект который нужен
@samantafox43116 жыл бұрын
Как выводить двоеточие для часов? ...что-то у меня не хочет ((((
@UCanDo6 жыл бұрын
Точки включаются этой командой: disp.point(POINT_ON); выключаются этой: disp.point(POINT_OFF); Вместо POINT_ON и POINT_OFF можно использовать переменную со значениями 0 и 1 Важный момент! Двоеточия привязаны к 2-му знакоместу! Счет идет с права и начинается с нуля. Крайнее правое - это 0, потом 1, 2 и 3. Для того что бы двоеточие отображалось обязательно нужно что бы во втором знакоместе что-то отображалось. Какая-нибудь цифра или знак. Иначе двоеточие не будет отображаться.
@buhlo80stream796 жыл бұрын
У меня есть интересная задача для тебя!!! Как связаться?
@UCanDo6 жыл бұрын
Добрый день. igor.silenock@gmail.com
@fantom7411 ай бұрын
Про принцип работы микросхемы информации ноль. Видео малополезное
@nikons14846 жыл бұрын
Фигня деньги на ветер, 200рублей и норм дисплей 16 символов и две строки.
@kalobyte6 жыл бұрын
достойный камент для школьника
@KosikX5 жыл бұрын
есть монитор и ПК, зачем эти игрушки вообще да?
@arduinoLab6 жыл бұрын
зачем ты воруешь мои значки видео? видимо по хорошему никак не дойдет, придется по плохому.
@UCanDo6 жыл бұрын
Зачем мне это делать? Вы же сами понимаете что брать фото с других каналов ни к чему хорошему не приведет. Вот и мне нет в этом никакого смысла. Я нашел эту фотку в сети. Я специально смотрел чтобы фото не было взято с какого-то Ютуб канала... Если хотите, могу найти ссылку, откуда я взял это фото. Там и будете, как правообладатель, требовать удаления вашего фото. Мне очень неприятно что так получилось... Фото изменю как только буду возле компьютера.
@AlexeyBukreev6 жыл бұрын
картинка используется в видео "часы на ардуино" и в статье где лежит код из видео, откуда ты её и стырил. причем тут ютуб или не ютуб? зачем вообще чужое брать? у каждой фоты есть автор. мне нет интереса распинаться тут, следующий раз просто страйк улетит.
@UCanDo6 жыл бұрын
В сети 1000 и одна фотка дисплея. Фото производителя - одно. Фото в магазинах - второе. Личные фото ютуберов - третье... А еще есть фото в форумах, тех же статьях и т.д и т.п. Я взял фото на форуме - месте где выкладывается всё и вся для открытого доступа и каждый может взято что хочет, без каких-либо "последствий" относительно правообладания. Повторюсь: мне нет резона воровать что-то у кого-то, так только себе хуже сделать можно. В этом нет смысла. Тем более нет смысла "воровать" у других авторов Ютуба. В данном случае так вышло что на фото, которое я использовал, нашелся автор. С моей стороны, я фото сменил сразу же как только поступил запрос.
@M8nKnight6 жыл бұрын
Очень слабый канал. Мало теории. Есть множество более достойных.