Полочные часы
Это часы, которые я сделал для своей дочери, которые представляют собой ремикс идеи, которую я однажды видел на Youtube (https://www.youtube.com/c/DIYMachines/videos).
Мой код здесь ничем не похож на то, на чем была основана идея.
(исходный код github.com/DIY-Machines/DigitalClockSmartShelving)
Множество идей по функциям взято с github.com/helpquick/7-Segment-WiFi-Clock.
Это также визуальный аудиометр.
www.youtube.com/watch?v=hknXNxCtM_E
Он имеет множество функций, среди которых:
Режим часов
Режим даты
Температурный режим
Режим влажности
Различные ре��имы светового шоу (например, «Змея» и «Матрица»)
Различные режимы музыкального визуализатора
Табло
Таймер обратного отсчета
Таймер обратного отсчета
Новогодний режим
Текстовый скроллер
Веб-интерфейс.
Он использует следующее оборудование:
Перьевая доска LOLIN32 (ESP-WROOM-32)
DS3231 AT24C32 Модуль часов RTC IIC
Датчик температуры DHT11
Фоточувствительный датчик сопротивления
Детектор звука SparkFun
BTF-LIGHTING WS2812B RGB 5050SMD (у меня их 271, но можно поменять)
В качестве динамика я использовал компьютерный зуммер 5 В.
NPN-транз��стор BC548 с резистором 1 кОм или 2,2 кОм (извините, я забыл, какой именно) в качестве простого усилителя 5 В.
Я сделал массу настроек и возможность сохранить их как пресеты в NVS.
Поскольку он использует ооочень много места NVS для настроек и автоматического подключения, мне пришлось создать новую схему разделов для 4M ESP32, которая перемещает NVS непосредственно перед SPIFFS, а затем забирает некоторое пространство (это было проще, чем пытаться заставить его загрузить приложение из другого места памяти (кроме 0x10000) после расширения исходного размера NVS. Я включил cvs и текст для него в parttition-info.txt
Примечание. Я не пишу код C и не пишу Javascript или CSS, если уж на то пошло, но если я хочу что-то сделать, я обычно могу что-то собрать, используя бесконечные примеры, созданные гораздо более умными людьми. Это не столько мой код, сколько я исследую и смешиваю вместе 50 примеров, ни один из них не написан эффективно или хорошо. Я везде использую глобальные переменные, не освобождаю память и даже правильно не инициализирую переменные. Я знаю достаточно, чтобы знать, что я ничего не делаю правильно. Я просто продолжаю взламывать его, пока он не заработает, и в большинстве случаев почти не работает. Если вам нравится этот код и вы действительно знаете, что делаете, пожалуйста, переделайте его правильно. Если вы можете показать мне места, где я действительно допустил серьезные ошибки, не стесняйтесь показывать мне правильный путь, и я постараюсь его исправить.
Его длина составляет около 7000 строк, включая весь код веб-страницы, так что любителю, не имеющему подготовки, позвольте себе немного расслабиться. :)
Я включил модифицированные STL, которые использовал для создания своих, в основном уменьшенные версии версии DIY-Machines и даже больше, и я добавил отдельные диффузоры вместо его многонитевых версий, чтобы их можно было распечатать на моем меньш��м одноцветном 3D-принтере (210x210 мм). 3D-версии, которые я создал с помощью TinkerCAD, находятся здесь: www.tinkercad.com/things/fyxXr27PCph.
Накладки на моих полках напечатаны из бамбукового PLA, этот материал постоянно засоряется, поэтому, если вы можете жить без настоящего дерева, это избавит вас от множества проблем.
Светодиодные рассеиватели напечатаны белым PLA.
Леса напечатаны из любого PLA, который у меня был.
Выведите следующее количество каждого из них:
1 — Placement_template.stl (подойдет для пространства размером 1055 x 320 мм)
37 — Крышка-диффузор.STL
37 — Крепление светодиода.STL
36 — Строительные леса.STL
1 — Строительные леса — Корпус Arduino.STL
10 — Рукав 1-Низ и Боковины.STL
7 — Топ с рукавом2 и подсветкой.STL
12 — Рукав 3-Вертикальный Средний.STL
7 — Рукав4-Средний с подсветкой.STL
1 — Рукав5-для Ardunio.STL или Рукав5-для Ardunio с отверстием для микрофона.STL
1 — Задняя крышка.STL
1 — Задняя крышка-заглушка.STL
1 — Вставка для крепления Arduino.STL
1 — Угловые опорные ножки.STL
Печать этого документа займет целую вечность, около 300+ часов, поэтому убедитесь, что это действительно то, на что вы хотите потратить следующий месяц.
Инструкции по сборке:
Распечатайте все













![Зажим для кабеля с гвоздями [ассортимент 3-12 мм] Зажим для кабеля с гвоздями [ассортимент 3-12 мм]](/upload/015/u1522/5/6/5b54660b.webp)















