Всем привет!
Я как-то решил приобрести комнатные электронные часы, но к своему удивлению не нашел подходящего экземпляра. В каждом из них меня что-то не устраивало, раздражали кучи ненужных функций, особенно те что с метеостанцией. Мне же хотелось просто часы, которые показывали только время, и ничего кроме времени, даже будильник не нужен! И вот выкидывая очередную сгоревшую филаментную лампочку подумал, а что, если в часах использовать светодиоды как в этой лампе.
Порывшись в инете нашел в продаже подходящие экземпляры.
Дальше начал реализовывать данную идею.
Шаг №1. Проектирование.
Использовал САПР Altium Designer. Схема, трассировка, 3D моделирование…
Шаг №2. Изготовление печатной платы.
ЛУТ + травление в перекиси, отмывка, лужение, получение люлей от супруги за тарелку.
Шаг №3. Компоненты.
Создание перечня / спецификации.
Сбор в одну коробку необходимых компонентов для платы:
1. | 1206 0 Ом 5% | 1 |
2. | 0805 1 кОм 5% | 21 |
3. | 0805 2,2 кОм 5% | 7 |
4. | 1206 4,7 кОм 5% | 4 |
5. | 0805 5,1 кОм 5% | 6 |
6. | 0805 10 кОм 5% | 3 |
7. | --- 1206 0,1 мкФ 50В 5% | 1 |
8. | X7R 1206 0,22 мкФ 50В 10% | 4 |
9. | X5R 1206 47 мкФ 25В 20% | 5 |
10. | DS3231S (SO 16) (Maxim Integrated) | 1 |
11. | SN74HC164D (SO-14) | 3 |
12. | AT24C16C-SSHM-T (SOIC-8) | 1 |
13. | SS8050 (sot-23) (Hottech Semiconductor) | 7 |
14. | Green_18,8mm_3V (---) (China) | 12 |
15. | Green_29mm_3V (---) (China) | 16 |
16. | White_29mm_3V (4500k) (China) | 8 |
17. | White_18,8mm_3V (6500k) (China) | 6 |
18. | square L-914 Green (2x3x4,5 мм) (China) | 2 |
19. | TMH DIP CR1220 (---) (---) | 1 |
20. | GL5516 (---) (China) | 1 |
Ну и конечно же все для монтажа, паяльник, флюс, припой, нож, кусачки…
Шаг №4. Сборка.
Сначала светодиоды потом все остальное…
Что-то просил знакомого напечатать на 3D принтере, что-то колхозил на месте.
Светодиоды пытался закрыть оргстеклом, (тонировать пленкой его то еще удовольствие) но в итоге сдался и стекло установил самое обыкновенное 2х миллиметровое (тоньше не нашел, да и стремно к тому же).
Ну вот, наконец-таки защелкнулась задняя крышка, втыкаем USB и едем дальше…
Шаг №5. Программа микроконтроллера.
Написание прошивки. Здесь все на Си с использованием среды разработки VS Code. Думал да че там, пару тройку счетчиков написать да организовать отображение, в итоге оказалось все не так просто, каждый раз что-то не устраивало, добавлялись какие-то хотелки, код начал быстро расти.
Шаг №6. Программа управления.
Управление часами сначала хотел сделать через блютуз, но потом решил, что 3х кнопок для установки часы/минуты/секунды хватит, а управление всеми остальными функциями через USB. Для этого специально писал программу для винды где можно отдельно регулировать:
>>> дневную/ночную яркость отдельно для сегментов часы, минуты, секунды и мигающего двоеточия.
>>> задавать порог освещенности при переходе с дневного освещения на ночное и обратно.
->>> устанавливать время.
>>> корректировать точность хода часов RTC DS3231.
>>> отображать / не отображать ведущий 0 в сегменте часов.
>>> отображать / не отображать секунды в ночное время.
Выглядит это примерено так (правда прога еще сыровата в плане эргономики, но я поправлю…)
Заключение.
В итоге получились те часы, которые меня устроили ну почти на 100%. (ох уж эти хотелки).
Получилось не дешево но оно того стоит!
Характеристики:
- точность хода: ±2 ppm (примерно ± 1 минута в год) не считая старения.
- питание +5В, кабель USB Type-C + самый дешевый адаптер.
- ток потребления в дневном режиме 50мА, при дневном 10мА.
- размер 210x75мм
Думал вроде все, закончил, ан нет! Приехала теща и ей захотелось такие-же, а еще одни на дачу… Пришлось заказать десяток плат у наших друзей и изготавливать сразу несколько экземпляров. Корректировались чертежи корпуса, теперь он полностью изготовлен на 3D принтере.
Ну готово!
Теперь перерыв, всем удачи!