CH32V003 Часы из спичечных коробков

Источник:

Часы размером со спичечный коробок с сенсорным управлением

(CH32V003 — это новый чип. Если вы предпочитаете версию Arduino Mini, см. https://www.thingiverse.com/thing:6302260)

Двоичные часы, они состоят из 16 частей WS2812B, расположенных на матричном дисплее 4x4, показывающих время в двоичном коде.

Прикоснувшись к верхней части, CH32V003 получает прерывание пробуждения от сенсорного датчика TTP223, выходит из спящего режима, считывает чип RTC PCF8563 и отображает время по цепочке WS2812. Ждет 2 секунды, отключает питание WS2812 и возвращается в спящий режим для экономии заряда батареи. В этом режиме потребление около 20 мкА, это значит, что аккумулятора хватит на 30000 часов работы (теоретически много лет) на одном заряде.

Цвет WS2812 свободно настраивается в программе Arduino, по умолчанию красный для 1, желтый для 2, зеленый 4, синий (фиолетовый) 8 для двоичного веса. Чтобы узнать время, вы добавляете веса по вертикали.

Дисплей: Матрица из 16 последовательно соединенных светодиодов WS2812B доступна на Aliexpress. Подключите 3 провода: Gnd, Vcc, данные DI. Конденсатор емкостью 470 мкФ сглаживает пики тока. Расположите дисплей контактными площадками вверх.

Модуль CH32V003: чип CH32V003F4P6, припаянный к 20-контактной плате адаптера, модуль работает на внутренней тактовой частоте 24 МГц. На выводе Vcc GND припаяны конденсаторы емкостью 100 нФ + 470 мкФ. Используйте интерфейс WCH-LinkE для программирования, вам нужны 3 провода: Vcc, 3V3 и SWIO на выводе PD1. В отличие от AVR Arduino, этому чипу не требуется загрузчик.

TTP223: Установите перемычку A (активный низкий выход). Снимите светодиод или его резистор. Не используйте булавки, место ограничено. Доступно здесь: https://www.aliexpress.com.

Модуль часов PCF8563: построен на печатной плате SOP8, модуль очень маленький.

TP4056: Удалите/замените резистор 1 кОм на 6 кОм. Закажите самый маленьк��й модуль TP4056. Не используйте булавки, место ограничено. Доступно здесь: https://www.aliexpress.com.

Строительство: Распечатайте 3D-детали. Для проводки используйте эмалированную проволоку диаметром 0,25 мм. За матрицей WS следуют плата CH32 и плата часов в корпусе. Имеется полость для TTP223 и тактильных переключателей размером 6x6 мм. Смотрите картинку.

В данной конструкции батарейный отсек выполнен под аккумулятор размером 37х50х7мм. Вы можете использовать любой другой тип литий-ионной батареи, распечатать коробку для нее на 3D-принтере с помощью моей клиновой сборки или просто приклеить ее к корпусу часов. Просверлите или прожгите отверстие для проводов Arduino.

Что я узнал из этого проекта: использование прямого управления регистрами, смешивание кода MounRiver Studio с Arduino (он работает), режим энергосбережения, в котором используется ток только 10-20 мкА, прерывание вывода, управление WS2812B без библиотек. Избегайте инструкций Arduino pinMode(), управляйте током энергосбережения до 100 мкА. Инструкция типа GPIOC->OUTDR &= ~(1 << 3); выполняется быстрее, чем элемент управления GPIO в стиле MounRiver, например GPIO_WriteBit(GPIOC, GPIO_Pin_3, Bit_RESET).

Категория: Электроника

17:55
3
Нет комментариев. Ваш будет первым!

Ссылка появится после регистрации

Похожие модели

Посещая этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.