Мы были частью механизма
Мы не могли иначе мыслить
И все же изредка украдкой
Я пропадал, искав отгадки
И каждый раз я был доволен
Когда в мой разум били волны…
Поздний вечер, лежим на диване, готовимся ко сну. В руках пульт, на полке рядом светятся самые большие лампы, когда либо производившиеся в Советском Союзе! Никуда не нужно вставать, щелкаем по кнопкам пульта, меняем подсветку, настраиваем время (при необходимости). Еще один щелчок и включается радио, выбираем канал и постепенно засыпаем под звуки любимой радиостанции ^^
Фото немного разные, так как сняты с прототипа и с финальной версии плат, изготовленных в Китае.
Что же умеют данные часы?
- Показ времени и даты;
- Управление всеми настройками с пульта ДУ;
- Регулировка уровня звука;
- Память на 6 радио каналов;
- Антиотравление каждые 30 секунд + ночное антиотравление;
- Звук тикания:
- Обратный ход часов (понятия не имею зачем, просто по приколу);
- Эффект «Дефектная лампа». В случайный момент времени лампа начинает моргать и отключаться как неисправная.
- Радио-будильник. В указанное время включится выбранная радиостанция;
- Самое бесполезное — показ температуры. Он жутко врёт, считайте, что его нет. Температура берется из ds3231.
Радио, о Радио!
Мой юный слух ласкав ночами
Уши сделав мне глазами
Принципиальную схему можно разделить на 2 части: 1) Высокое напряжение и низкое 3.3 В для управления радио модулем 2) Управляющая часть
Внимание желающих написать коммент «я мог бы так же на тини10 на ассемблере», «всё плохо, кг/ам» и других подобных: откройте эту ссылку https://cxem.net/mc/mc484.php и внимательно посмотрите на рис. 1.
Ну а теперь, после того, как все лишние ушли в указанном на рис. 1. направлении, можно и продолжить.
Схема питания выполнена на двух каскадах: 1) Предварительное повышение напряжения для управления полевым транзистором и 2) Собственно сама управляющая часть, создающая высокое напряжение. Этот мутант был найден на просторах интернета и он просто идеально тянет 6 ламп ИН-18 в динамической индикации, напряжение поддерживается 170 В не проседая ни на пол Вольта.
Теперь управляющая часть
В качестве основного управляющего контроллера выбрана atmega328. Ног хватает, памяти тоже. Микросхема времени ds3231, классика… Пульт ДУ от ардуино. Исходники прошивки прилагаю, сможете сами настроить тот пульт, который вам больше подойдет.
Классический дешифратор К155ИД1, усиленный внешними стабилитронами. Подсветка на адресных светодиодах ws2812. Стабилизатор для получения 3.3 В линейный, AMS1117.
Самое интересное, наверное, радиомодуль, он вполне себе китайский, RDA5807, модуль в сборе. Без антенны работать не будет.
Каждый раз пускаясь вброд
На задворки этих нот
По ночам закрывшись в доме
Я тихо пел в свои ладони
А теперь инструкция
Прошивка по умолчанию рассчитана вот на такой пульт, как на картинке выше.
ОК — настройка времени. Если отображается дата, то будет выполнена настройка даты. Изменения выполняются с помощью кнопок UP, DOWN, LEFT, RIGHT
Кнопка ОК возвращает в режим отображения времени. Настройка времени сохраняется.
* и # — уровень звука.
0 — выключить радио.
1, 2, 3, 4, 5, 6 — установка избранных радио частот. Будильник в качестве сигнала выбирает частоту на кнопке 1.
UP — настройка режимов отображения. Кнопка ОК переключает на следующую настройку до тех пор, пока все настройки не будут выполнены
— прокрутка цифр каждую секунду (1 — вкл, 0 — откл)
— прокрутка цифр каждые 30 секунд
— звук тикания
— обратный ход часов
— дефектная лампа
— будильник включен
— если будильник включен (1), то следующим пунктом появится его настройка. Если отключен (0), то выполняется переход к отображению времени.
RIGHT — режим подсветки, статичный цвет. Выбор осуществляется кнопкой вправо.
LEFT — смена динамических режимов подсветки.
DOWN — показать дату.
8 — отобразить температуру (значение температуры берется из контроллера напрямую, часто врёт, функция не является основной,
исправлений и точности тут ждать не следует.
Коротко о прошивке
Как уже было сказано ранее, исходник прилагается. Прошивка написана в среде Arduino IDE в целях упростить работу с железом. В первых строках мы увидим дефайны:
#define K_1 0xFFA25D
#define K_2 0x511DBB
#define K_3 0xFFE21D
#define K_4 0xFF22DD
#define K_5 0xFF02FD
#define K_6 0xFFC23D
#define K_7 0xFFE01F
#define K_8 0xFFA857
#define K_9 0xFF906F
#define K_STAR 0xFF6897
#define K_0 0xFF9867
#define K_SHARP 0xFFB04F
#define K_UP 0xFF18E7
#define K_LEFT 0xFF10EF
#define K_OK 0xFF38C7
#define K_RIGHT 0xFF5AA5
#define K_DOWN 0xFF4AB5
Это коды кнопок. K — означает KEY, далее идет название кнопки. STAR — звездочка. SHARP — решетка. UP — вверх. Ну и так далее, сами разберётесь, ничего сложного ))
Для адептов: «код г**но, я могу лучше» есть два варианта. Первый — сделайте лучше, оптимизируйте, покажите как надо, я буду предельно вам благодарен. Ну и 2, если ваши слова не подтверждены делом, см рис. 1. из ссылки на статью выше.
У этого же кода есть несомненный плюс, он стабильно работает и не падает.
Еще немного фото:
В качестве питания выбран порт micro-usb, потому что он есть у всех, не надо заморачиваться с блоками питания. Адептам 12 В: я уважаю ваше мнение, но слушать его не буду.
Печатная плата разведена в программе Sprint Layout, двухсторонняя, выполнена на одной плате.
Особых сложностей плата не представляет и довольно легко может быть выполнена ЛУТом или фоторезистом. Переходные отверстия можно пропаять тонкой проволокой, как я и делал в прототипе.
Ах да, совсем забыл: датчик температуры отсутствует, в прошивке не реализован.
Так же следует помнить, что переход на Altium Designer я выполняю только сейчас. Схема рисовалась по плате и не мной, в схеме возможны ошибки. В случае расхождений верим плате, в случае сложностей задаем вопросы в ветке форума или в комментариях, постараюсь ответить всем.
Всем спасибо за внимание, с вами был El Kotto, до новых встреч ^^. Фрагменты взяты из перевода песни Rammstein — Radio. Автор перевода — радио тапок.
Список радиоэлементов
Обозначение | Тип | Номинал | Количество | Примечание | Магазин | Мой блокнот |
---|---|---|---|---|---|---|
Лампа | ИН-18 | 6 | ||||
Резистор | 0 Ом | 1 | 0805 | |||
Микросхема | К155ИД1 | 1 | ||||
Конденсатор | 1 мкФ | 1 | Размер 2220, НЕ МЕНЕЕ ЧЕМ 250 В | |||
Выпрямительный диод | BYV26C | 1 | ||||
Конденсатор | 0.1 мкФ | 21 | 0805 | |||
Дроссель | BLM31PG121SN1L | 9 | Можно заменить перемычкой | |||
LED драйвер | ws2812 | 6 | 5050 | |||
Резистор | 75 Ом | 8 | 0805 | |||
TSOP38238 | 1 | Приёмник ИК пульта | ||||
Конденсатор | 100 мкФ 6.3 В | 7 | Электролиты | |||
Кнопка | KLS7-TS6606 | 3 | Или другая подобного типа | |||
Резистор | 4.7 кОм | 13 | 0805 | |||
Резистор | 4.7 кОм | 1 | ||||
Резистор | 1 кОм | 8 | 0805 | |||
Конденсатор | 10 мкФ | 2 | 1206 | |||
Конденсатор | 10 мкФ | 1 | ||||
Линейный регулятор | AMS1117-3.3 | 1 | ||||
Конденсатор | 0.1 мкФ | 1 | 1206 | |||
Кварцевый резонатор | 20 МГц | 1 | Выводной, усеченный | |||
Разъем | PJ-234 | 1 | ||||
Разъем | PJ-234 | 1 | ||||
Разъем | PJ-327C | 1 | ||||
Модуль | RDA5807M | 1 | ||||
Резистор | 0 Ом | 5 | 1206 | |||
Биполярный транзистор | MMBTA42 | 6 | ||||
Биполярный транзистор | MMBTA92 | 6 | ||||
Резистор | 1 МОм | 6 | 0805 | |||
Резистор | 10 кОм | 9 | 0805 | |||
Конденсатор | 22 пФ | 1 | 0805 | |||
Конденсатор | 0.1 мкФ 250 В | 1 | 1206 | |||
Резистор | 0 Ом | 9 | 0805 | |||
МК AVR 8-бит | ATmega328P | 1 | TQFP32 | |||
Часы реального времени (RTC) | DS3231 | 1 | ||||
Отсек батарейный | CR1220 | 1 | ||||
Дроссель | 47 мкГн | 1 | 10×10 мм | |||
Дроссель | 22 мкГн | 1 | 4×4 мм | |||
DC/DC импульсный конвертер | MC34063A | 2 | SO8 | |||
Транзистор | IR4427 | 1 | ||||
Конденсатор | 0.1 мкФ | 10 | 0603 | |||
Резистор | 1.5 кОм | 1 | 0805 | |||
Разъем | micro-usb | 1 | ||||
Пищалка | TAT-BS8530BS | 1 | ||||
Биполярный транзистор | BC847 | 1 | ||||
Стабилитрон | BZV55-C75 | 10 | ||||
MOSFET-транзистор | IRFR4620 | 1 | ||||
Резистор | 10 Ом | 1 | 0805 | |||
Резистор | 0.22 Ом | 1 | 2512 | |||
Резистор | 680 кОм | 1 | 0805 | |||
Резистор | 15 кОм | 1 | 0805 | |||
Резистор | 180 Ом | 1 | 0805 | |||
Резистор | 1.2 кОм | 1 | 0805 | |||
Резистор | 1.2 кОм | 1 | ||||
Выпрямительный диод | US1M | 1 | ||||
Конденсатор | 510 пФ | 2 | 0805 | |||
Конденсатор | 560 пФ | 1 | 0805 | |||
Пульт ДУ ардуино | 1 | С крестом снизу предпочтительнее | ||||