Я задался целью сделать часы с минимумом компонентов из максимально доступных деталей. Решено обойтись без модуля реального времени DS1302 / DS1307. Вместо этого будем синхронизироваться с компом по Bluetooth или USB. Также сделаем функцию автокалибровки часов при синхронизации, так что отклонение будет 12 секунд в год. Хотя до этого не дойдет, синхронизация времени с компом будет выполнятся гораздо чаще.
Итак, понадобятся:
- Arduino на Atmega328. Я использовал китайскую Pro Mini.
- Индикаторы ИН-12А. Их посложнее найти, но можно использовать любые другие газоразрядные.
- Резисторы, диоды и транзисторы из магазина
- Из необязательных деталей — модуль Bluetooth HC-05 или HC-06 или любой вообще совместимый с ардуино, который эмулирует COM порт. Либо можно без Bluetooth — напрямую подключить к компу в USB, программно никакой разницы нет.
1. Сначала надо сделать генератор 200 вольт для газоразрядных ламп. Я использовал ИН-12А, можно взять любые другие. Вот схема:
Подробнее о генераторе – тут: Делаем Nixie часы на Arduino. Часть 1. Генератор 220 вольт из 5 вольт
2. Затем надо сделать 2 платы: плату для ламп и плату для управления лампами. Вот схема и печатные платы:
Подробнее об управляющих платах – тут: Как сделать nixie часы — вторая часть
3. После этого надо собрать все вместе:
Вот кусок прошивки для Ардуино, где написано какие пины куда:
1 2 3 4 5 6 7 8 |
int sense_pin = A0; // Пин для обр связи (плата генератора, пин обратная связь) int sense_max = 500; // максимальное значение для генератора, ограничивает вольтаж сверху. Подбирается, у меня стоит 500 = примерно 200 вольт int pwm_pin = 2; // Пин для ШИМ (плата генератора, пин управление) int pwm_freq = 40000; // частота ШИМ для генерации 00 вольт int pins[] = { A4, 8, 9, 10, A3, A2, A1, 13, 12, 11 }; // пины управления катодами. Кстати катод "точки" между числами подключен на A5 int pos_pins[] = { 4, 5, 6, 7 }; // пины управления анодами int numbers[] = { 0, 0, 0, 0 }; |
Всю прошивку часов можно скачать здесь.
Вкратце работает это так — сначала пищим шимом и генерируем 200 вольт, которые заряжают конденсатор. Затем считаем время, проверяем COM порт, выводим время. Потом добавляем немного визуальных эффектов 🙂 Видео работы:
Тут скачать программу для синхронизации (с исходниками). Запускать ее нужно с одним аргументом — именем порта, куда подключена ардуина. Например так:
В принципе вот и все. А ну еще нужно сделать корпус, я сделал из дерева. Вот что в итоге получилось:
Добавить комментарий