Оглавление:

Семисегментный дисплей с боковой подсветкой: 16 шагов (с изображениями)
Семисегментный дисплей с боковой подсветкой: 16 шагов (с изображениями)

Видео: Семисегментный дисплей с боковой подсветкой: 16 шагов (с изображениями)

Видео: Семисегментный дисплей с боковой подсветкой: 16 шагов (с изображениями)
Видео: Сдвиговый регистр и семисегментный индикатор 2024, Июль
Anonim
Image
Image
Допуски
Допуски

Семисегментные дисплеи существуют уже более века (https://en.wikipedia.org/wiki/Seven-segment_display) и образуют знакомую форму чисел в цифровых часах, приборных панелях и многих других цифровых дисплеях. Во многих случаях они были заменены экранами, но с точки зрения эффективности трудно спорить с краткостью кодирования состояния цифрового дисплея всего лишь в 7 битах информации (каждый сегмент включен или выключен).

Большинство семисегментных дисплеев являются монохромными, поэтому эта версия с боковой подсветкой добавляет визуальный интерес за счет использования полноцветных возможностей дешевых светодиодных лент RGB для подсветки каждой цифры и даже каждого сегмента (или даже полусегмента) дисплея другим цветом.. Встраивание прозрачных акриловых сегментов в большую акриловую рамку позволяет полностью видеть весь дисплей, что является еще одним уникальным аспектом этого проекта.

- Отказ от ответственности ---

Эта конструкция сочетает в себе несколько десятков маленьких акриловых деталей, вырезанных лазером, которые подходят друг к другу с очень жесткими допусками. В нем используются тонкие (шириной 4 мм) светодиодные ленты, которые необходимо припаять, согнуть, а затем вставить между этими акриловыми деталями. При сборке деталей вы должны быть готовы заставить их встать на место, даже если вам кажется, что вы напрягаете хрупкий акрил. Вы также должны быть готовы удалить и переустановить упомянутые детали и светодиодные ленты, когда окажется, что их * невозможно * на самом деле установить на место. В какой-то момент во время сборки существует большая вероятность того, что вам придется удалить все и повторно припаять светодиодную ленту, когда вы поймете, что принудительная установка всего на место сломала один из проводов от вашей светодиодной ленты или создала короткое замыкание.

С учетом всего сказанного, это полезный проект, если вы проявите терпение и готовы переделывать выравнивание, пока все не встанет на свои места.

Эта запись описывает построение 6-значного дисплея. Построить 4-значный дисплей немного проще, и шаги в основном одинаковы для обоих, поэтому, вероятно, лучше всего начать с 4-сегментного дисплея, если вы не чувствуете себя очень уверенно.

Запасы

Расходные материалы -

Требуемые количества зависят от того, строите ли вы 4-значный или 6-значный дисплей.

  • Лист толщиной 1/8 ″ для лазерной резки
  • 1/16 ″ прозрачный акрил для лазерной резки
  • 1/4 ″ прозрачный акрил для лазерной резки
  • Тонкая (ширина 4 мм) светодиодная лента SK6812 3535 RGB с 60 светодиодами / м (как эта)
  • Клейкая виниловая пленка ***, НЕ ПРОВОДЯЩАЯ *** (я использовал эту клейкую пленку Cricut)
  • Жесткий соединительный провод 26 AWG с белой изоляцией
  • Многожильный провод 30 AWG с белой изоляцией
  • Крошечное количество скотча
  • 5 или 7 x 12 мм винты M2 и гайки M2
  • Микроконтроллер, способный управлять светодиодной лентой
  • Блок питания для микроконтроллера и светодиодной ленты.
  • Клей для дерева
  • Клей JB Weld (или аналогичный), с помощью которого акрил крепится к дереву.
  • 3-4 винта M3 и гайки M3 (необязательно, но полезно)

Инструменты--

  • Паяльник / припой
  • Кусачки / стриппер
  • Лазерный резак (или онлайн-сервис, такой как Ponoko)

Шаг 1. Дизайн-файлы и лазерная резка

Есть шесть векторных файлов для лазерной резки, по три для 4- или 6-значной сборки. Формы, вырезанные лазером, точно соответствуют размерам светодиодов и конденсаторов в полосе размером 60 светодиодов на метр 3535, поэтому не изменяйте их размер перед лазерной резкой.

  • Вырежьте SevenSegmentBase4Digits.svg или SevenSegmentBase6Digits.svg из древесины толщиной 1/8 дюйма
  • Вырежьте EdgeLitSevenSegment4Digits.svg или EdgeLitSevenSegments6Digits.svg из прозрачного акрилового листа толщиной 1/4 дюйма.
  • Вырежьте файл EgeLitSevenSegmentCover4Digits.svg или EdgeLitSevenSegmentCover6Digits.svg из прозрачного акрилового листа толщиной 1/16 дюйма.

Шаг 2: допуски

Допуски для этого проекта очень жесткие, и сегменты имеют выемки, которые точно расположены и * только * достаточно большие, чтобы удерживать светодиоды и конденсаторы на акриловой полосе (см. Изображение).

Поскольку светодиодные ленты различаются у разных производителей, вам нужно проверить расстояние и размер светодиодов и конденсаторов на светодиодной полосе, чтобы убедиться, что они совпадают с выемками, показанными в файле SVG. Вы можете протестировать конструкцию перед выполнением лазерной резки, распечатав масштабное изображение сегментов и проверив, совпадают ли выемки с вашей светодиодной лентой. Если ваш не подходит точно, сборка не будет работать. Однако, если вы хорошо разбираетесь в САПР, у вас должна быть возможность изменить интервал вырезов в файле SVG, чтобы он соответствовал вашей полосе.

Шаг 3. Вырежьте и соберите корпус

Вырежьте и соберите корпус
Вырежьте и соберите корпус
Вырежьте и соберите корпус
Вырежьте и соберите корпус
Вырежьте и соберите корпус
Вырежьте и соберите корпус
Вырежьте и соберите корпус
Вырежьте и соберите корпус

Вырежьте части корпуса из дерева 1/8 ″ по вашему выбору. Я забыл сфотографировать этот шаг, но сначала возьмите внешнюю и внутреннюю части крышки (контуры показаны на изображениях) и склейте их вместе столярным клеем, чтобы все отверстия совпали друг с другом. Большая часть - это внешняя часть крышки, а меньшая часть будет находиться внутри корпуса.

Обратите внимание, что расположение отверстий не является полностью симметричным, поэтому ориентация частей крышки имеет значение. При выравнивании деталей убедитесь, что * ВСЕ * отверстия совпадают. Скрепите детали вместе или используйте винты M3 и гайки через отверстия, чтобы скрепить их вместе, пока они высохнут.

Соберите корпус корпуса, разложив части, как показано на изображении, нанеся клей на края и сдвинув соответствующие пазы и выступы вместе. Скрепите детали вместе или скотчем, пока сохнет столярный клей.

Шаг 4: лазерная резка акрила

Лазерная резка акрила
Лазерная резка акрила
Лазерная резка акрила
Лазерная резка акрила
Лазерная резка акрила
Лазерная резка акрила

Вырежьте части обложки из прозрачного акрилового листа 1/16 дюйма (показано на изображениях в виде векторного контура).

Вырежьте основной корпус часов и сегменты из прозрачного акрилового листа толщиной 1/4 дюйма. Куски содержат очень мелкие детали, поэтому убедитесь, что разрез достаточно чистый, чтобы небольшие неровности не сломались, когда вы разделите кусочки. Сохраните кусочки акрила, показанные на последнем изображении этого шага.

Снимите защитную бумагу со всех частей акрила. Это займет у вас некоторое время, и, надеюсь, у вас останутся ногти, когда вы закончите.

Шаг 5: закройте края всех небольших акриловых сегментов

Закройте края всех небольших акриловых сегментов
Закройте края всех небольших акриловых сегментов
Закройте края всех небольших акриловых сегментов
Закройте края всех небольших акриловых сегментов
Закройте края всех небольших акриловых сегментов
Закройте края всех небольших акриловых сегментов

Акриловые сегменты и точки очень маленькие и пропускают много света, если мы не замаскируем края. Для этого мы будем использовать клейкую пленку * НЕПРОВОДЯЩИЙ *.

Я использовал резак для винила, чтобы разрезать фольгу на длинные полоски 1/4 дюйма. Если у вас нет резака для винила, вы можете использовать точильный нож или ножницы, чтобы разрезать полоски толщиной 1/4 дюйма (см. Первое изображение).

Используйте полоски фольги, чтобы покрыть все края *, кроме той, где есть выемки * маленьких сегментов и точек, как показано на втором изображении. Проще всего покрыть края акрила длинным куском виниловой пленки и сгладить ее, сильно надавливая, прежде чем отрезать излишки.

Кроме того, возьмите 4 или 6 акриловых квадратов (в зависимости от того, какой у вас дисплей - 4 или 6) и закройте * один * край каждого квадрата полосой виниловой фольги, как показано на третьем изображении.

Шаг 6: прикрепите крышку и основную акриловую рамку

Прикрепите крышку и основную акриловую рамку
Прикрепите крышку и основную акриловую рамку
Прикрепите крышку и основную акриловую рамку
Прикрепите крышку и основную акриловую рамку

Возьмите одну из частей акриловой крышки 1/16 дюйма и большую часть 1/4 дюйма (показанную покрытой защитной бумагой на первом изображении) и выровняйте их так, чтобы маленькие отверстия находились друг над другом. Вставьте винт M2 в каждое отверстие так, чтобы винт вошел через крышку и вышел из акриловой рамы 1/4 дюйма. Скрутите две акриловые детали вместе, как показано ниже. Обратите внимание на ориентацию двух точек относительно прорези под ними. Обязательно сориентируйте рамку сверху крышки так, чтобы две точки были слева от гнезда. Мы смотрим на заднюю часть дисплея.

Шаг 7: припаяйте светодиодные ленты

Припаиваем светодиодные ленты
Припаиваем светодиодные ленты
Припаиваем светодиодные ленты
Припаиваем светодиодные ленты
Припаиваем светодиодные ленты
Припаиваем светодиодные ленты

Из светодиодной ленты вырежьте две или три полоски меньшего размера (для 4- или 6-значных дисплеев соответственно) по 28 пикселей каждая (первое изображение) для освещения цифр и один или два сегмента по 2 пикселя каждый для освещения точек. Обязательно оставьте контактные площадки на стороне ввода данных полосы. Обрежьте выходной конец полоски достаточно близко к конечному конденсатору - не нужно держать там контактные площадки - потому что там * только * достаточно места для полоски. Старайтесь не включать в полосу какие-либо соединения (которые обычно происходят через каждые 30 пикселей), поскольку важен точный интервал между светодиодами.

Для каждой 28-пиксельной полосы отрежьте два отрезка сплошного соединительного провода 26 AWG и один многожильный провод 30 AWG, все с белой изоляцией. Используйте длину около 8 дюймов. Мы будем использовать многожильный провод для сигнала, а соединительный провод - для подачи питания.

На входной стороне полосы нанесите припой ТОЛЬКО на сигнальную площадку, затем зачистите и залудите кончик многожильного провода 30 AWG и припаяйте его к контактной площадке, следя за тем, чтобы не было случайных цепей, замыкающих на 5 В или Линии GND (второе изображение).

Теперь нанесите припой на контактные площадки 5V и GND, которые вы только что очистили на стороне * BACK * светодиодной ленты, зачистите и залудите концы проводов 26 AWG, затем припаяйте их к контактным площадкам питания. Осторожно согните провода вверх под углом 90 градусов сразу за местом пайки. Провода должны выглядеть так, как на третьем изображении.

Поскольку оба провода питания белые, отметьте концы маркером, чтобы вы могли различить их позже, как показано на последнем изображении.

Перед размещением провода внутри рамки дисплея рекомендуется проверить соединения. Убедитесь, что горят все светодиоды и нет замыканий. Следующим шагом будет сборка акриловых деталей и светодиодных лент для цифр на дисплее. Мы повторим тот же процесс для каждой пары цифр.

Шаг 8: вставьте светодиодную ленту и сегменты для цифр в акриловую рамку

Вставьте светодиодную ленту и сегменты для цифр в акриловую рамку
Вставьте светодиодную ленту и сегменты для цифр в акриловую рамку
Вставьте светодиодную ленту и сегменты для цифр в акриловую рамку
Вставьте светодиодную ленту и сегменты для цифр в акриловую рамку
Вставьте светодиодную ленту и сегменты для цифр в акриловую рамку
Вставьте светодиодную ленту и сегменты для цифр в акриловую рамку
Вставьте светодиодную ленту и сегменты для цифр в акриловую рамку
Вставьте светодиодную ленту и сегменты для цифр в акриловую рамку

Теперь мы начнем добавлять в рамку светодиодную ленту и акриловые сегменты. Мы начнем с середины полосы и будем двигаться наружу, чтобы каждая половина полосы следовала пути, показанному на первом изображении.

Возьмите 28-пиксельную светодиодную полосу и вставьте ее в рамку, как показано, так, чтобы провода питания вошли в слот, свисающий между цифрами, и для каждой цифры доступно 14 светодиодов. Входной конец светодиодной ленты, которая содержит сигнальный провод, должен входить в крайнюю правую (с нашего текущего представления) из двух цифр. Мы прикрепим эту светодиодную ленту по периметру каждого семисегментного дисплея. По мере продвижения снимайте бумагу с середины полоски, но приклеивайте только небольшую часть полоски за раз, потому что вам, вероятно, придется периодически снимать и пересаживать ее части, чтобы убедиться, что части сегментов подходят правильно.

Собирайте по одной цифре, начиная с самой правой из двух цифр (той, которая содержит провод входного сигнала). Каждый из семи маленьких сегментов цифры соответствует двум светодиодам на полосе. Поочередно приклеиваем два пикселя светодиодной ленты вниз, затем добавляем один сегмент. Поместите все маленькие сегменты вытравленной стороной вверх. Эффекты краевого освещения выглядят намного лучше, если на обратной стороне освещенного акрила есть какие-либо травления. Если вы не уверены, какая сторона протравлена, поцарапайте обе стороны ногтем, и вы сможете почувствовать бороздки на протравленной стороне.

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

После того, как первые три сегмента будут на своих местах, поместите акриловый квадрат в середину нижней «петли» цифры. Используйте акриловый квадрат с виниловой фольгой, закрывающей один край. Фольга должна быть на краю квадрата, ближайшем к середине цифры. Проще всего разместить квадрат, поместив его в верхнюю «петлю» и сдвинув вниз, пока он не окажется между сегментами.

Продолжайте прикреплять оставшуюся часть светодиодной ленты по периметру цифры, как показано, но подождите, чтобы вставить акриловые сегменты. Дойдя до самого конца, приклейте последние два пикселя светодиодной ленты поверх виниловой фольги, закрывающей верхний край квадрата. Самый последний набор контактных площадок на этой части полосы будет перекрывать контактные площадки на предыдущей части полосы (см. Изображение ниже). Перед тем, как приклеить ее, важно поместить * очень тонкий * кусок изоляции между двумя частями полосы. Я отрезал крошечный кусочек скотча и приклеил его к нижней стороне подушечек в конце полосы.

Добавьте последние акриловые сегменты. Когда вы дойдете до конца полосы, будьте очень осторожны, когда будете размещать их, чтобы не отсоединить сигнальный провод, прикрепленный к концу полосы. (Я сделал это, и мне пришлось удалить все части и светодиодную ленту и начать заново. Это не конец света, но это боль) Убедитесь, что сигнальный провод выходит за пределы цифры, как показано на последнем изображении..

Вставьте последний квадрат в верхнюю часть цифры. На этом квадрате нет виниловой пленки. Посадка будет довольно плотной. Самый простой способ разместить квадрат - сначала надавить на нижнюю часть квадрата и приложить легкое или умеренное давление (вам не придется вспотевать) вниз, вставляя прорези в верхнюю часть квадрата. Вертикальные каналы между цифрами для проводов делают нижнюю часть цифры немного более гибкой, чем верхнюю. Вам нужно будет оценить, насколько сильно вы сможете поставить деталь на место, если она не входит легко.

Шаг 9: проложите сигнальный провод

Проложите сигнальный провод
Проложите сигнальный провод
Проложите сигнальный провод
Проложите сигнальный провод
Проложите сигнальный провод
Проложите сигнальный провод

После того, как все акриловые детали будут на месте, мы собираемся осторожно пропустить сигнальный провод 30 AWG через небольшой канал между деталями, как показано ниже, а затем провести его в канал, содержащий провода питания. Я использовал пинцет, чтобы аккуратно вставить его в канал, и обмотал провода малярной лентой, чтобы они не выскочили при сборке других цифр.

Шаг 10: повторите для всех цифр и проверьте

Повторите для всех цифр и проверьте
Повторите для всех цифр и проверьте

Устали еще? Нам все еще нужно собрать кусочки левой цифры. Процесс такой же, как и тот, который мы только что завершили, но он немного проще, потому что (1) на этой стороне нет сигнального провода и (2) если вы обрезали конец светодиодной ленты рядом с конденсатором, ни один из контактные площадки в этой цифре будут перекрываться (если по какой-то причине это произойдет, обязательно поместите между ними какой-то очень тонкий изолирующий материал). Убедитесь, что при размещении частей для левой цифры вы запускаете светодиодную ленту в зеркальном отражении правой цифры, как показано на изображении пути с синими стрелками на шаге 8.

Как только обе цифры будут полностью на своих местах, подключите провода сигнала питания и заземления к микроконтроллеру по вашему выбору и запустите тестовую программу, чтобы убедиться, что светодиодная лента работает правильно. У меня все работало с первого раза примерно в 50% случаев. Чаще всего проблемы возникают из-за отсоединения провода или его контакта с другой паяльной площадкой.

Если все в порядке, то следующим шагом будет вставка светодиодной ленты и акриловых сегментов в другие цифры на дисплее, снова следуя той же процедуре. Как только они будут выполнены, проверьте каждый набор цифр.

Шаг 11: вставьте светодиодную ленту и акрил для точек

Вставьте светодиодную ленту и акрил для точек
Вставьте светодиодную ленту и акрил для точек
Вставьте светодиодную ленту и акрил для точек
Вставьте светодиодную ленту и акрил для точек
Вставьте светодиодную ленту и акрил для точек
Вставьте светодиодную ленту и акрил для точек
Вставьте светодиодную ленту и акрил для точек
Вставьте светодиодную ленту и акрил для точек

Далее мы будем использовать короткие сегменты светодиодной ленты, содержащие всего два пикселя, для подсветки точек на дисплее. Будет одна или две пары точек, в зависимости от того, строите ли вы 4- или 6-значный дисплей. Точки установить значительно проще, чем цифры.

Отрежьте три отрезка соединительного провода 26 AWG и припаяйте их к входному концу светодиодной ленты длиной 2 пикселя. Обязательно пометьте концы каждого провода, чтобы знать, какой из них 5V, сигнал и GND. Я использовал красный, синий и черный маркеры, чтобы покрасить часть изоляции на каждом проводе. Снимите клейкую подложку со светодиодной ленты, вставьте и приклейте светодиодную ленту к задней стенке гнезда так, чтобы провода свисали вниз по вертикальному каналу и выходили в нижней части рамки.

Найдите маленькие акриловые точки, которые вписываются в рамку. Накройте их периметр виниловой пленкой, как вы это делали для сегментов. Поместите их в отдельные места так, чтобы выгравированная сторона была обращена вверх, а светодиод и конденсатор светодиодной ленты вставлены в соответствующие выемки.

Когда все точки и цифры заполнены, ваш дисплей должен выглядеть как последнее изображение.

Шаг 12: Закройте и закрепите дисплей

После того, как все цифры и точки будут собраны и все светодиодные ленты протестированы, мы накроем на них вторую тонкую акриловую крышку. Отвинтите гайки от винтов M2, оставив винты на месте, и осторожно удалите всю ленту, удерживающую провода на месте. Осторожно опустите верхнюю прозрачную акриловую крышку на раму, вставив винты в отверстия в крышке и следя за тем, чтобы все провода оставались в своих каналах. Когда все будет на своих местах, надежно закрутите и затяните гайки.

Шаг 13: прикрепите корпус

Прикрепите корпус
Прикрепите корпус
Прикрепите корпус
Прикрепите корпус

Теперь прикрепим дисплей к крышке корпуса. Положите крышку рядом с дисплеем так, чтобы провода совпадали с отверстиями в крышке. Крышка НЕ симметрична, так как провода от точек не находятся посередине между цифрами, поэтому есть только одна ориентация, в которой выравнивание идеальное.

Пропустите концы каждого набора проводов через соответствующие отверстия в крышке сверху, а затем осторожно продвиньте дисплей к крышке так, чтобы выступы в акриле вошли в прямоугольные прорези в крышке. Вероятно, вам придется делать это небольшими шагами. Проденьте концы каждого провода через отверстия и аккуратно сдвиньте крышку вдоль проводов, поочередно устраняя провисание каждой группы проводов по ходу движения. Будьте очень осторожны, чтобы не тянуть слишком сильно ни за один провод. Судя по опыту, отсоединять провод на данном этапе - большая неприятность. Осторожно вставьте выступы в пазы. Посадка не очень плотная, поэтому вы захотите приклеить язычки в пазы (используя JB Weld или аналогичный клей, который работает как с акрилом, так и с деревом), как только вся электроника будет подключена и протестирована.

Я намотал пару резинок на дисплей и крышку корпуса, чтобы они плотно прилегали друг к другу, пока я работал с проводкой. На изображении выше я спаял вместе все 5 проводов питания в одной группе и все 5 заземляющих проводов в другой группе и соединил каждую группу с одним входным проводом, а затем покрыл все паяные соединения большим количеством термоусадочных трубок.

Шаг 14: подключите микроконтроллер (или два)

Присоедините микроконтроллер (или два)
Присоедините микроконтроллер (или два)

Есть много разных способов подключить контроллер к дисплею. Вы можете припаять провода прямо к контроллеру, но я предпочитаю прикреплять разъемы к проводам, оставляя возможность менять микроконтроллеры. Я объединил все провода питания и все провода заземления и припаял каждый из 5 сигнальных проводов к одному 5-контактному разъему.

Я опробовал несколько разных контроллеров с семисегментным дисплеем с боковой подсветкой. Мне нравится создавать прототипы кода для светодиодных лент в CircuitPython, потому что это быстро и легко настроить и запустить. Есть много пикселей, которые нужно контролировать, поэтому я выбрал Adafruit Itsy Bitsy M4 Express, который основан на плате ATSAMD51 и достаточно быстрый и мощный, чтобы управлять 88 светодиодами RGB в 6-значных часах, но достаточно мал, чтобы поместиться легко помещается в корпус. Itsy-Bitsy M4 Express работал хорошо, но мне также требовалось подключение к IoT, поэтому я попытался запустить код для дисплея на плате ESP32. У меня возникли проблемы с управлением цветами на полосе при подключении к Интернету - аналогично этой проблеме: https://github.com/adafruit/Adafruit_NeoPixel/issues/139. Лучшим решением было управление светодиодными лентами с платы Itsy Bitsy и использование ESP8266 (Lolin D1 Mini Pro) для периодического получения точного времени из Интернета и отправки его на Itsy Bitsy через последовательную связь.

На схеме показано подключение 6-значного дисплея. Чтобы адаптировать его к 4-значному дисплею, просто опустите «Dot Strip 2» и «Num Strip 3». Поскольку связь между Lolin D1 Mini и Itsy Bitsy является односторонней, необходимо только подключить Lolin TX к Itsy Bitsy RX. Я использовал коммутационную плату micro-USB, чтобы получить питание 5 В через кабель micro-USB.

Шаг 15: Кодирование дисплея

Кодирование дисплея
Кодирование дисплея
Кодирование дисплея
Кодирование дисплея

Дисплей кодируется как часы, но есть много дополнительных потенциальных дополнительных функций. Это может быть таймер обратного отсчета, отображение температуры, отображение количества подписчиков в социальных сетях или отображение любой метрики, которая может быть представлена в числах.

Код Arduino

Я запрограммировал Lolin D1 Mini Pro с помощью Arduino IDE. Код в прикрепленном файле «.ino» подключается к Интернету и использует библиотеку «NTPClient» (доступную через диспетчер библиотек Arduino) для получения точного времени. Объект NTPClient считывает время с сервера NTP каждые 10 минут. Он форматирует и отправляет строку времени через последовательный порт каждые 10 секунд.

Код CircuitPython

Код Circuit Python в прикрепленном файле «.py», запущенный на Itsy Bitsy, опрашивает последовательный порт, чтобы прочитать строки времени, отправленные с ESP8266. Он устанавливает новое базовое время с каждой новой получаемой строкой времени, а затем отслеживает текущее время с помощью функции monotonic () из библиотеки времени.

Код использует библиотеку adafruit_fancyled для выбора цветов в формате HSV и применения гамма-коррекции перед их отображением. Цвет чисел меняется в течение 60-секундного цикла, который возобновляется в начале каждой минуты. Индексы сегментов, необходимые для отображения любого заданного числа на светодиодах, хранятся в виде битов в массиве digitSegments и распаковываются в функции drawStripDigit.

Шаг 16: Уф

Если вы зашли так далеко, хорошо! Надеюсь, вам понравится этот проект. Это была большая работа, но она того стоила.

Рекомендуемые: