купил такой экран как раз из за точек и часов и десятичных, покупал под разбор. но оказалось что он великоват, и таких же размеров можно купить вли, которые тоже меньше не бывают. хотел в плеер поставить, но наверно часы с плеером сделаю, вот про нерабочие точки не знал, точно на разбор пущу
Хорошо! Но есть вопрос: у меня дисплеи 6-разрядные. И данная библиотека не годится! Не подскажите какую библиотеку в случае 6-разрядных индикаторов использовать?
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
добрый вечер,Игорь , меня зовут Сан. подскажите пожалуйста ,можно ли использовать TM1637 вместо двухстрочного дисплея LCD1602,дело втом , и что я слеповат, и на двухстрочном цифирки маловаты , да и I2C на борту даёт преимущества.а заменить хочу на( Ардуино контроллер поворотки)
Здравствуйте. Да, можно использовать этот дисплей, только нужно изменить скетч, для того чтобы правильно выводить данные. Есть еще другой вариант: можно на дисплее LCD1602 выводить большие надписи. Вот, посмотрите это видео: ua-cam.com/video/xFWpncHrgRo/v-deo.html достаточно немного изменить скетч, и на LCD1602 можно вывести большие надписи.
для отображения десятичных точек нужно установить старший бит в единицу в отправляемом байте кода символа. Например символ "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)
Тут дело в том, что в недорогих нонеймовых индикаторах, которые ставят в подобные "часовые" модули, эти точки вообще не работают - на их местах просто физически не установлены кристаллы. В этом можно убедиться, если потыкать тестером напрямую по ножкам семисегментника. Чтобы работали и те точки, и другие, нужно брать фирменные индикаторы.
@Andrew_Chernenko, не согласен с вами. Эти индикаторы называются семисегментные, потому что 7 светодиодов формируют полную цифру 8. Эти 7 сегментов цифры обозначаются буквами ABCDEF. Еще один светодиод формирует дополнительный элемент - точку, которая обозначается аббревиатурой DP. И того получается 8 сегментов. Что равно одному байту. Это не зря так сделано. Все завязано на Битовой системе, где в байте каждый бит определяет какой именно сегмент будет включен. Производители делают светодиодные панели с разным расположением светодиодов для того чтобы отвечать спросу потребителей. Из вышесказанного: не существует 7-ми сегментного индикатора, у которого было бы больше чем 8 светодиодов. В данном случае производитель выпускает индикаторы 2-х типов: с двоеточием или с точкой после каждой цифры. Либо одно, либо другое. Вместе физически не возможно. Каждый покупает себе именно то что нужно. И тут дело абсолютно не в вопросе «подделок», а в том что такова конструктивная особенность 7-ми сегментных индикаторов, и просто нужно быть внимательным при покупке, чтобы не купить не то что нужно.
@UCanDo Сейчас понял, в чем я затупил: модули-то с TM1637. У этой микросхемы выход рассчитан на 8 сегментов и 6 разрядов максимум. Поэтому и индикаторы в таких модулях стоят без наворотов (хотя это не отменяет того факта, что их корпус с нерабочими точками вводит покупателя в заблуждение). А так-то одновременная реализация точек и двоеточия есть. У таких семисегментников, как правило, по 14 пинов, из которых 8 - сегменты+точка, 4 - разряды, 2 - отдельные выводы на часовое двоеточие. В некоторых есть еще два дополнительных вывода для верхней точки после третьей цифры (заменяет символ градуса) - всего получается 16 выводов. Эти индикаторы ставят в модули с HT16K33 (обычно эта микросхема используется для управления 16-сегментными индикаторами и светодиодными матрицами).
Да, можно каждой точкой управлять по отдельности. Посмотрите как строится символ, один их битов включает точку. Видео я делал давно, уже многое не помню. Я сейчас не дома, по этому код не смогу глянуть.
У меня в готовом скетче выводится двоеточие по логической переменной - но это для дисплеев с двоеточием после 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
Т.е. там двоеточие выводится через display.point(dotFlag); - я так понимаю, стандартная функция самой библиотеки. А на дисплее с 4 точками - они вспыхивают все вчетвером, при таком коде 😀 А надо только 2-ю зажигать.
И почему не прикрутили полноценный i2c? Или хотяб предусмотрели, чтобы у всех команд 8-ой бит 0 был. Иначе через аппаратный i2c не запустить. (Только ногодрыгом:( )
Вообще, сама бисина там на 6 разрядов и точками умеет управлять, а ещё умеет клаву 16 кнопок читать (хоте, не ступи в прошивке, могла бы и 96 читать). :) Подозреваю, что там тинка зарыта для тех, кому влом самому сделать такую фигушку с нормальным интерфейсом COM, а не тормознутую библу с delay() и хрен найдёшь какими командами. :)
Очень доходчиво объяснил! Лайк! Только не могу понять, почему нельзя засветить точки у знаков? Ведь ты сам расписал в двоичном коде символ. И получается что самая старшая единица это как раз точка. Или я чего не понимаю?
Спасибо за отзыв! Эти дисплеи делают с разным расположением светодиодов. Есть модели где светится двоеточие, а есть модели где светятся нижние точки. Либо то либо другое. В моем случае светодиоды установлены в двоеточие, и можно включить только их.
Почему решили, что TM1637 сдвиговый регистр? Цитата из datasheet: kind of LED (light-emitting diode display) drive control special circuit with keyboard scan interface.
У меня не работает команда 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), в обоих случаях у меня компиляция прошла без ошибок. Вы библиотеку установили?
Нечто подобное я делал когда создавал проект с таймером обратного отсчета: ua-cam.com/video/jTTarjhBcbI/v-deo.html Вам нужно получить отдельно целую часть числа, и отдельно дробную. Вот пример: 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 А как их вывести на дисплей можно посмотреть в этом видео, или в том на которое я дал ссылку
Прокручивать не будет сам по себе. Можно это спец.командой сделать. Если просто вывести, то отобразит только 4 цифры. Какие именно, старшие или младшие, я не знаю. Не пробовал
Добрый день, а вы знаете, что кадр из вашего видео попал в книгу по "Безопасности Интернета Вещей" (от Министерства науки и образования Украины!)? Нам эту книги дали вместо методичек.
Пересмотрел я данную книгу, и как-то грустно стало. Я понимаю если бы данный материал рассматривался в школьном курсе, но не в ВУЗ-е... Точнее там есть некоторые моменты "глубокого" изучения программирования, которые вышодят за рамки школьного обучения, но использовать для обучения в ВУЗе среду разработки Arduino - это деградация. Так как сама суть и цель Этой среды - быстрый старт, демонстрация возможностей программирования чтобы заинтересовать ДЕТЕЙ в изучении программирования. Так как человек никак не учится самому процессу программирования. Приведу пример. Исходя их этой методички я не увидел как настраивается ШИМ на стороне микроконтроллера. Какие таймеры при этом будут задействованы, или за что отвечает регистр TIMSK0 и т.д..... А ведь это основа! Даже если не изучать глубоко настройки микроконтроллера, есть более продвинутые среды разработки. Я не знаю чему учат в самом учебном процессе, но уровень программирования, который приведен в книге, не то что низкий - он ниже плинтуса. Если весь учебный процесс строится на таком уровне, то выпускики данного учебного заведения просто не конкурентно способны в современном обществе :( Может мое впечатление ошибочно, что тоже не могу отрицать.
На самом деле мне даже такое сложно. Немного растроился, что это "для школьного обучения". Возможно мне кажется, но сложности при выполнении этих задач почти всегда получаются из за размытых условий. У нас часто студенты обращаются к преподу для уточнения заданий, каждый говорит ей свое предположение, а он на всё отвечает ДА.
Видосу однозначно лайк. до кучи хороших справочных видосов Фактически этот лёд только для часиков, больше никуда TM1638 и MAX7219 луччи. хотя часики люди тоже делают разные интересные. Я вот тоже сегодня выложил видос ua-cam.com/video/AZVBmMs2kp0/v-deo.html
Почему же для часов? Термометр, вольтметр, да любое устройство где хватит 4х символов. Та же бегущая строка, с натяжкой, как показал автор. В общем, годная штука, парочка всегда лежит про запас, на всякий)). Видосу лайк.
Я пока в этой теме слабоват, но я так понимаю, не сильно проблемно ещё один такой подцепить и работать с двумя сразу. Тут уже 8 символов и возможностей намного больше. Я к примеру хочу таким образом сделать индикатор оборотов двигателя для регулятора с обратной связью. ( в оригинале у автора проекта используется 1602, что избыточно)
Точки включаются этой командой: disp.point(POINT_ON); выключаются этой: disp.point(POINT_OFF); Вместо POINT_ON и POINT_OFF можно использовать переменную со значениями 0 и 1 Важный момент! Двоеточия привязаны к 2-му знакоместу! Счет идет с права и начинается с нуля. Крайнее правое - это 0, потом 1, 2 и 3. Для того что бы двоеточие отображалось обязательно нужно что бы во втором знакоместе что-то отображалось. Какая-нибудь цифра или знак. Иначе двоеточие не будет отображаться.
Зачем мне это делать? Вы же сами понимаете что брать фото с других каналов ни к чему хорошему не приведет. Вот и мне нет в этом никакого смысла. Я нашел эту фотку в сети. Я специально смотрел чтобы фото не было взято с какого-то Ютуб канала... Если хотите, могу найти ссылку, откуда я взял это фото. Там и будете, как правообладатель, требовать удаления вашего фото. Мне очень неприятно что так получилось... Фото изменю как только буду возле компьютера.
картинка используется в видео "часы на ардуино" и в статье где лежит код из видео, откуда ты её и стырил. причем тут ютуб или не ютуб? зачем вообще чужое брать? у каждой фоты есть автор. мне нет интереса распинаться тут, следующий раз просто страйк улетит.
В сети 1000 и одна фотка дисплея. Фото производителя - одно. Фото в магазинах - второе. Личные фото ютуберов - третье... А еще есть фото в форумах, тех же статьях и т.д и т.п. Я взял фото на форуме - месте где выкладывается всё и вся для открытого доступа и каждый может взято что хочет, без каких-либо "последствий" относительно правообладания. Повторюсь: мне нет резона воровать что-то у кого-то, так только себе хуже сделать можно. В этом нет смысла. Тем более нет смысла "воровать" у других авторов Ютуба. В данном случае так вышло что на фото, которое я использовал, нашелся автор. С моей стороны, я фото сменил сразу же как только поступил запрос.
Большое спасибо за видео. Мне очень помогло. Подключил два индикатора, доволен как слон)) Процветания и успехов каналу.
разжевал и накормил, спасибо, наверное самый понятный обзор библиотеки.
купил такой экран как раз из за точек и часов и десятичных, покупал под разбор.
но оказалось что он великоват, и таких же размеров можно купить вли, которые тоже меньше не бывают.
хотел в плеер поставить, но наверно часы с плеером сделаю, вот про нерабочие точки не знал, точно на разбор пущу
Все четко и понятно объяснил. 👍
Хорошо! Но есть вопрос: у меня дисплеи 6-разрядные. И данная библиотека не годится! Не подскажите какую библиотеку в случае 6-разрядных индикаторов использовать?
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
Thank you David; I use 1k or 10k resistors on the CLK and DIO lines to fix the problem.
Спасибо за информацию по точкам!
Как вариант: можно попробовать сделать так чтобы целое число горело постоянно, а десятки и сотые мерцали (типа вместо точки)
какую библиотеку используете? Я не нашел таких команд.
Спасибо за видео. Вы можете программивать TM 1723 ?
Спасибо за отзыв!
Увы, с TM1723 я дела не имел, ничего подсказать не могу.
Nice 👏👏👏
добрый вечер,Игорь , меня зовут Сан.
подскажите пожалуйста ,можно ли использовать TM1637 вместо двухстрочного дисплея LCD1602,дело втом , и что я слеповат, и на двухстрочном цифирки маловаты , да и I2C на борту даёт преимущества.а заменить хочу на( Ардуино контроллер поворотки)
Здравствуйте. Да, можно использовать этот дисплей, только нужно изменить скетч, для того чтобы правильно выводить данные.
Есть еще другой вариант: можно на дисплее LCD1602 выводить большие надписи. Вот, посмотрите это видео: ua-cam.com/video/xFWpncHrgRo/v-deo.html
достаточно немного изменить скетч, и на LCD1602 можно вывести большие надписи.
@@UCanDo буду менять скетч под TM1637 попробую , спасибо за объяснения
Добрый день. Подскажите пожалуйста. Как можно вывести на этом дисплее в 0-ом сегменте пусто, в 1-ом буква d, во 2-ом L, в третьем цифра 4?
Смотрите с 3-й минуты:
(_empty, _d, _L, _4)
для отображения десятичных точек нужно установить старший бит в единицу в отправляемом байте кода символа. Например символ "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)
Я так и делаю, только в зависимости от дисплея это включит либо запятую, либо (как в моем случае) двоеточие.
Можете написать пример вывода второй точки, отдельно без 1, 3 и 4-ой? Или вывод отдельно третьей точки
Тут дело в том, что в недорогих нонеймовых индикаторах, которые ставят в подобные "часовые" модули, эти точки вообще не работают - на их местах просто физически не установлены кристаллы. В этом можно убедиться, если потыкать тестером напрямую по ножкам семисегментника. Чтобы работали и те точки, и другие, нужно брать фирменные индикаторы.
@Andrew_Chernenko, не согласен с вами. Эти индикаторы называются семисегментные, потому что 7 светодиодов формируют полную цифру 8. Эти 7 сегментов цифры обозначаются буквами ABCDEF. Еще один светодиод формирует дополнительный элемент - точку, которая обозначается аббревиатурой DP. И того получается 8 сегментов. Что равно одному байту. Это не зря так сделано. Все завязано на Битовой системе, где в байте каждый бит определяет какой именно сегмент будет включен.
Производители делают светодиодные панели с разным расположением светодиодов для того чтобы отвечать спросу потребителей.
Из вышесказанного: не существует 7-ми сегментного индикатора, у которого было бы больше чем 8 светодиодов.
В данном случае производитель выпускает индикаторы 2-х типов: с двоеточием или с точкой после каждой цифры. Либо одно, либо другое. Вместе физически не возможно.
Каждый покупает себе именно то что нужно. И тут дело абсолютно не в вопросе «подделок», а в том что такова конструктивная особенность 7-ми сегментных индикаторов, и просто нужно быть внимательным при покупке, чтобы не купить не то что нужно.
@UCanDo Сейчас понял, в чем я затупил: модули-то с TM1637. У этой микросхемы выход рассчитан на 8 сегментов и 6 разрядов максимум. Поэтому и индикаторы в таких модулях стоят без наворотов (хотя это не отменяет того факта, что их корпус с нерабочими точками вводит покупателя в заблуждение). А так-то одновременная реализация точек и двоеточия есть. У таких семисегментников, как правило, по 14 пинов, из которых 8 - сегменты+точка, 4 - разряды, 2 - отдельные выводы на часовое двоеточие. В некоторых есть еще два дополнительных вывода для верхней точки после третьей цифры (заменяет символ градуса) - всего получается 16 выводов. Эти индикаторы ставят в модули с HT16K33 (обычно эта микросхема используется для управления 16-сегментными индикаторами и светодиодными матрицами).
Спасибо! Как управлять точками на дисплеях, у которых не двоеточие, а 4 точки внизу - у каждой цифры - к ним есть доступ по отдельности?
Да, можно каждой точкой управлять по отдельности. Посмотрите как строится символ, один их битов включает точку.
Видео я делал давно, уже многое не помню. Я сейчас не дома, по этому код не смогу глянуть.
У меня в готовом скетче выводится двоеточие по логической переменной - но это для дисплеев с двоеточием после 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
Т.е. там двоеточие выводится через display.point(dotFlag); - я так понимаю, стандартная функция самой библиотеки. А на дисплее с 4 точками - они вспыхивают все вчетвером, при таком коде 😀 А надо только 2-ю зажигать.
МОЛОДЕЦ!!!!! СПАСИБО!!!!! очень понятно
И почему не прикрутили полноценный i2c? Или хотяб предусмотрели, чтобы у всех команд 8-ой бит 0 был. Иначе через аппаратный i2c не запустить. (Только ногодрыгом:( )
подскажите пожалуйста, как вывести число из переменной и букву, одновременно?
Выводите просто в разные сегменты.
А если число двузначное?
Можно без калькулятора, компилятор понимает двоичные числа, аналогично шестнадцатиричным - B11110101 (заглавная B) или 0b11110101.
Молодец. Каким образом можно подключить 2 и более подобных дисплея одновременно. Например одновременно отображать время и температуру?
Обьявить два дисплея:
#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
Спасибо, буду пробовать, а то лежит 3 таких дисплейчика разных цветов, надо многофункциональный показометр сделать.
Вообще, сама бисина там на 6 разрядов и точками умеет управлять, а ещё умеет клаву 16 кнопок читать (хоте, не ступи в прошивке, могла бы и 96 читать). :) Подозреваю, что там тинка зарыта для тех, кому влом самому сделать такую фигушку с нормальным интерфейсом COM, а не тормознутую библу с delay() и хрен найдёшь какими командами. :)
@@UCanDo а какая может быть максимальная длина дата-линии? Например если её вывести витой парой в экране? На 8-ми метрах работать будет?
Есть такие на |2с? Надо не занимать пинов
странно, повторил точь в точь но уменя пишет на строчке byte 1 = 0; expected unqualified-id before numeric constant.
Между “byte” и “1” не должно быть пробела
@@UCanDo так попробуем, спасибо за ответ.
Для flprog есть пользовательский блок с возможностью управления нижними точками. Значит как-то они должны работать.
Это зависит конструкции дисплея. Либо нижние точки, либо двоеточие.
Оба варианта невозможны
@@UCanDo надо будет попробовать этот блок. Дисплей у меня есть.
Можно ли отпаять штатный индикатор а на его место установить большой индикатор ?
В теории да. Главное правильно подключить сегменты и чтобы силы тока хватило.
@@UCanDo в этой идеи я вижу большие перспективы
@@UCanDo Подскажите у штатного индикатора схема соединения с общим анодим,?
Очень доходчиво объяснил! Лайк! Только не могу понять, почему нельзя засветить точки у знаков? Ведь ты сам расписал в двоичном коде символ. И получается что самая старшая единица это как раз точка. Или я чего не понимаю?
Спасибо за отзыв! Эти дисплеи делают с разным расположением светодиодов. Есть модели где светится двоеточие, а есть модели где светятся нижние точки. Либо то либо другое. В моем случае светодиоды установлены в двоеточие, и можно включить только их.
как именно? Где управление точками дисплея прописано? У меня как раз дисплей с 4 точками - по одной после каждой цифры. Как ими управлять?
Почему решили, что TM1637 сдвиговый регистр? Цитата из datasheet: kind of LED (light-emitting diode display) drive control special circuit with keyboard
scan interface.
С обратной стороны стоит микросхема TM1637.
Это понятно, но почему она стала сдвиговым регистром?
@@ermakamre он его путает с говном на 74HC595
Что значит "если понравилось"? Такие видео не могут не нравиться)
+++++
Эт точно.
Хороший обзор. Не рассматривали 6 разрядные дисплейчики на TM1637 ?
Добрый день. Спасибо за отзыв! Нет, не пробовал. Просто не было необходимости, да и в наличии у меня таких нет
Как перевернуть экран?
А зачем вам переворачивать изображение?
@@UCanDo для того чтобы физически перевернуть экран. Меня интересует программный переворот.
Вопрос тот же: зачем?
Ведь физические параметры по габаритам не меняются. Стало быть зачем так заморачиваться и переворачивать изображение?
@@UCanDo ну вот физически я трогать его не хочу, у него выводы с одной стороны, вобщем как понял нельзя вимимо.
У дисплея выводы с двух сторон. Просто перепаяйте разъём на другую сторону и все.
Программно это сделать можно, но очень проблематично.
все хорошо, только как на него инфу с датчиков выводить?
Данные с датчика получаете в переменную потом переменную отображаете на дисплее.
У меня не работает команда disp.displayInt(pwm); pwm задаю с подстроечника, но это не имеет смысла, потому что ошибку выдает компилятор class TM1637 has no member named "displayIntZero"
Можете написать ваш код?
#include "TM1637.h"
#define p_pin 1
#define CLK 6
#define DIO 7
int pwm;
TM1637 tm1637(CLK,DIO);
void setup() {
tm1637.init();
tm1637.set(7);}
void loop() {
pwm=analogRead(p_pin);
tm1637.displayInt(pwm);
delay(20);
tm1637.clearDisplay();}
Есть пару замечаний:
#define p_pin 1
- вы тем самым задаете цифровой пин 1, а не аналоговый пин А1. правильно писать так:
#define p_pin A1
delay(20); - сделайте задержку по-больше, иначе нормально отображаться не будет. 50, или даже 100
Только что попробовал откомпеллировать ваш скетч, и исправленный (с А1), в обоих случаях у меня компиляция прошла без ошибок. Вы библиотеку установили?
А возможно на дисплей вывести скажем цифру с плавающей точкой?
Можно вывести любую информацию. Переменная (с плавающей точкой) разбивается на сегменты, и каждый сегмент записывается отдельно в ячейки дисплея
@@UCanDo А вам не трудно создать видео пример с плавающей точкой на основании работы термометра и показать нам?
Нечто подобное я делал когда создавал проект с таймером обратного отсчета: ua-cam.com/video/jTTarjhBcbI/v-deo.html
Вам нужно получить отдельно целую часть числа, и отдельно дробную.
Вот пример:
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
А как их вывести на дисплей можно посмотреть в этом видео, или в том на которое я дал ссылку
@@UCanDo дай Бог вам здоровье, мил человек. Спасибо.
@@UCanDo А как вывести саму точку на дисплей?
Спасибо.
А если в displayInt записать 32767?
Дисплей отобразит только 4 цифры
@@UCanDo понятно, что пять туда не поместиться. он их будет как-то прокручивать или просто четыре цифры... старшие разряды?
Прокручивать не будет сам по себе. Можно это спец.командой сделать. Если просто вывести, то отобразит только 4 цифры. Какие именно, старшие или младшие, я не знаю. Не пробовал
@@UCanDo Спасибо
Как подключить эту библиотеку?
Ищите в Гегле «как установить библиотеку Ардуино»
Добрый день, а вы знаете, что кадр из вашего видео попал в книгу по "Безопасности Интернета Вещей" (от Министерства науки и образования Украины!)? Нам эту книги дали вместо методичек.
Нет, впервые слышу. Было бы интересно посмотреть! Есть ли данная книга в электронном виде?
@@UCanDo , вам дошел мой ответ с сылкой?
Да, спасибо, почитаю!
Пересмотрел я данную книгу, и как-то грустно стало. Я понимаю если бы данный материал рассматривался в школьном курсе, но не в ВУЗ-е... Точнее там есть некоторые моменты "глубокого" изучения программирования, которые вышодят за рамки школьного обучения, но использовать для обучения в ВУЗе среду разработки Arduino - это деградация. Так как сама суть и цель Этой среды - быстрый старт, демонстрация возможностей программирования чтобы заинтересовать ДЕТЕЙ в изучении программирования. Так как человек никак не учится самому процессу программирования. Приведу пример. Исходя их этой методички я не увидел как настраивается ШИМ на стороне микроконтроллера. Какие таймеры при этом будут задействованы, или за что отвечает регистр TIMSK0 и т.д..... А ведь это основа!
Даже если не изучать глубоко настройки микроконтроллера, есть более продвинутые среды разработки.
Я не знаю чему учат в самом учебном процессе, но уровень программирования, который приведен в книге, не то что низкий - он ниже плинтуса. Если весь учебный процесс строится на таком уровне, то выпускики данного учебного заведения просто не конкурентно способны в современном обществе :(
Может мое впечатление ошибочно, что тоже не могу отрицать.
На самом деле мне даже такое сложно. Немного растроился, что это "для школьного обучения". Возможно мне кажется, но сложности при выполнении этих задач почти всегда получаются из за размытых условий. У нас часто студенты обращаются к преподу для уточнения заданий, каждый говорит ей свое предположение, а он на всё отвечает ДА.
Видосу однозначно лайк. до кучи хороших справочных видосов
Фактически этот лёд только для часиков, больше никуда
TM1638 и MAX7219 луччи.
хотя часики люди тоже делают разные интересные.
Я вот тоже сегодня выложил видос ua-cam.com/video/AZVBmMs2kp0/v-deo.html
Почему же для часов? Термометр, вольтметр, да любое устройство где хватит 4х символов. Та же бегущая строка, с натяжкой, как показал автор. В общем, годная штука, парочка всегда лежит про запас, на всякий)).
Видосу лайк.
Я пока в этой теме слабоват, но я так понимаю, не сильно проблемно ещё один такой подцепить и работать с двумя сразу. Тут уже 8 символов и возможностей намного больше. Я к примеру хочу таким образом сделать индикатор оборотов двигателя для регулятора с обратной связью. ( в оригинале у автора проекта используется 1602, что избыточно)
Дисплей с общим а.... или какое его название.
Есть семисегментные индикаторы с общим анодом, есть с общим катодом. Здесь же не просто матрица светодиодов, а полноценное устройство на базе TM1637
@@UCanDo Меня в этом устройстве интересует информуция о семисегментном индикаторе. На видео я это не увидел.
Как выводить двоеточие для часов? ...что-то у меня не хочет ((((
Точки включаются этой командой: disp.point(POINT_ON);
выключаются этой: disp.point(POINT_OFF);
Вместо POINT_ON и POINT_OFF можно использовать переменную со значениями 0 и 1
Важный момент! Двоеточия привязаны к 2-му знакоместу! Счет идет с права и начинается с нуля. Крайнее правое - это 0, потом 1, 2 и 3. Для того что бы двоеточие отображалось обязательно нужно что бы во втором знакоместе что-то отображалось. Какая-нибудь цифра или знак. Иначе двоеточие не будет отображаться.
Thank you.
а где скетч на эффекты , как в конце видео?
В описании под видео есть ссылка на архив с библиотекой и скетчем с примерами.
там нет эффектов как вначале на видео
Все там есть. Будьте внимательны.
К тому же ничто не мешает вам написать тот эффект который нужен
Спасибо!!!
Без BCD семисегментник хлам. :)
это ты о чём
фигасе ардуинщик с макитой
У меня есть интересная задача для тебя!!! Как связаться?
Добрый день.
igor.silenock@gmail.com
Про принцип работы микросхемы информации ноль. Видео малополезное
зачем ты воруешь мои значки видео?
видимо по хорошему никак не дойдет, придется по плохому.
Зачем мне это делать? Вы же сами понимаете что брать фото с других каналов ни к чему хорошему не приведет. Вот и мне нет в этом никакого смысла. Я нашел эту фотку в сети. Я специально смотрел чтобы фото не было взято с какого-то Ютуб канала... Если хотите, могу найти ссылку, откуда я взял это фото. Там и будете, как правообладатель, требовать удаления вашего фото.
Мне очень неприятно что так получилось... Фото изменю как только буду возле компьютера.
картинка используется в видео "часы на ардуино" и в статье где лежит код из видео, откуда ты её и стырил.
причем тут ютуб или не ютуб? зачем вообще чужое брать? у каждой фоты есть автор.
мне нет интереса распинаться тут, следующий раз просто страйк улетит.
В сети 1000 и одна фотка дисплея. Фото производителя - одно. Фото в магазинах - второе. Личные фото ютуберов - третье... А еще есть фото в форумах, тех же статьях и т.д и т.п.
Я взял фото на форуме - месте где выкладывается всё и вся для открытого доступа и каждый может взято что хочет, без каких-либо "последствий" относительно правообладания.
Повторюсь: мне нет резона воровать что-то у кого-то, так только себе хуже сделать можно. В этом нет смысла. Тем более нет смысла "воровать" у других авторов Ютуба. В данном случае так вышло что на фото, которое я использовал, нашелся автор. С моей стороны, я фото сменил сразу же как только поступил запрос.
Фигня деньги на ветер, 200рублей и норм дисплей 16 символов и две строки.
достойный камент для школьника
есть монитор и ПК, зачем эти игрушки вообще да?
Очень слабый канал. Мало теории. Есть множество более достойных.