Оглавление:
- Шаг 1: принцип работы
- Шаг 2: Принцип работы Прод
- Шаг 3: Практическая разборка 1
- Шаг 4: Практическая разборка 2
- Шаг 5: Практическая разборка 3
- Шаг 6: Практическая разборка 4
- Шаг 7: Практическая разборка 5
- Шаг 8: Практическая разборка 6
- Шаг 9: Примеры использования настенных часов
- Шаг 10: Примеры использования настенных часов PIC
- Шаг 11: Примеры использования настенных часов Arduino
- Шаг 12: Быстрые часы для модельного оборудования железных дорог
- Шаг 13: Программное обеспечение
- Шаг 14: любопытства
Видео: Игра с ручными настенными часами: 14 шагов
2024 Автор: John Day | [email protected]. Последнее изменение: 2024-01-30 11:49
Электронные ручные настенные часы (коммерческая маркировка кварца) сегодня не представляют собой ничего особенного. Его можно купить во многих магазинах. В некоторых из них они очень дешевы; по цене около 2 евро (50 крон). Такая низкая цена может побудить к ним поближе присмотреться. Потом я понял, что они могут быть интересной игрушкой для новичков в электронике, у которых не так много ресурсов и которые в основном интересуются программированием. Но хотел бы представить другим свои разработки. Поскольку дешевые настенные часы очень терпимы к экспериментам и испытаниям новичков, я решил написать эту статью, в которой хотел бы изложить основные идеи.
Шаг 1: принцип работы
Легко узнать, что часы используют для движения какой-то шаговый двигатель. Тот, кто уже разобрал несколько часов, признал, что в обычном шаговом двигателе всего одна катушка, а не две. В данном случае речь идет об «однофазном» или «однополюсном» шаговом двигателе. (Это имя используется не так часто, это в основном аналогичные производные для маркировки, используемой для других шаговых двигателей с полным стеком). Тот, кто уже задумывается о принципе работы, должен задать вопрос, как это возможно, чтобы мотор всегда вращался в правильном направлении. Для описания принципа работы полезен следующий рисунок, на котором показаны старые типы двигателей.
На первом изображении видна одна катушка с выводами A и B, серый статор и красно-синий ротор. Ротор сделан из постоянного магнита, поэтому он отмечен цветом, чтобы было видно, в каком направлении намагничено (не так важно, какой полюс северный, а какой южный). На статоре видны две «канавки» рядом с ротором. Они очень важны для принципа работы. Мотор работает в четыре этапа. Мы опишем каждый шаг с помощью четырех изображений.
Во время первого шага (второе изображение) двигатель находится под напряжением, эта клемма A подключена к положительному полюсу, а клемма B подключена к отрицательному полюсу. Он создает магнитный поток, например, в направлении стрелки. Ротор остановится в положении, соответствующем магнитному потоку.
Второй шаг следует после отключения питания. Затем магнитный поток в статоре прекращается, и магнит имеет тенденцию вращаться в положение, его поляризация направлена в направлении максимального объема магнитомягкого материала статора. И вот эти две бороздки очень важны. Они указывают на небольшое отклонение от максимальной громкости. Затем ротор немного повернуть по часовой стрелке. Как показано на изображении 3.
Следующий шаг (четвертое изображение) связан с подключением напряжения обратной полярности (клемма A к отрицательному полюсу, клемма B к положительному полюсу). Это означает, что магнит в роторе будет вращаться катушкой в направлении магнитного поля. Ротор использует кратчайшее направление, то есть снова по часовой стрелке.
Последний (четвертый) шаг (пятое изображение) совпадает со вторым. Двигатель снова обесточен. Единственное отличие состоит в том, что начальное положение магнита противоположное, но ротор снова будет двигаться в направлении максимального объема материала. То есть снова немного повернуть по часовой стрелке.
Это весь цикл, снова следует первый шаг. Для моторного движения второй и четвертый этапы понимаются как стабильные. Затем он механически переводится на коробку передач со скоростью передачи 1:30 в положение секундной стрелки часов.
Шаг 2: Принцип работы Прод
На рисунках показана форма напряжения на клеммах двигателя. Цифры означают все секунды. На самом деле импульсы намного меньше пространства. Они примерно равны миллисекундам.
Шаг 3: Практическая разборка 1
Для практической разборки я использовал одни из самых дешевых настенных часов на рынке. У них мало плюсов. Во-первых, цена настолько низкая, что мы можем купить несколько из них для экспериментов. Поскольку производство сильно ориентировано на цену, они не содержат сложных умных решений, а также сложных винтов. На самом деле они не содержат никаких шурупов, только пластиковые замки-защелки. Нам нужен только минимум инструментов. Например, нам нужна отвертка только для того, чтобы выколотить эти замки.
Для разборки настенных часов нам понадобится отвертка с плоским жалом (или любая другая палочка), прищепка и рабочий коврик с приподнятыми краями (это не обязательно, но облегчит поиск колес и других мелких деталей).
Шаг 4: Практическая разборка 2
На тыльной стороне настенных часов находятся три защелки. Две верхние позиции под цифрами 2 и 10 могут быть разблокированы, а крышка может быть открыта. Когда стекло открыто, можно снять стрелки часов. Положение их отмечать не нужно. Мы всегда будем возвращать их в положение 12:00:00. Когда стрелки часов выключены, мы можем отключить часовой механизм. Имеет две защелки (в позиции 6 и 12). Рекомендуется вытянуть движение как можно прямее, иначе движение может застрять.
Шаг 5: Практическая разборка 3
Тогда можно открывать движение. Имеет три защелки. два по позициям 3 и 9 часов, а затем третий по 6 часов. При открытии достаточно снять прозрачное зубчатое колесо между двигателем и коробкой передач, а затем шестерню, которая связана с ротором двигателя.
Шаг 6: Практическая разборка 4
Катушка двигателя и статор держатся только на одной защелке (на 12 часов). Он не держится ни за какие силовые шины, он применяется только к силовым шинам при помощи пресса, после чего демонтаж не сложен. Катушка навинчивается на статор без держателя. Его легко можно снять.
Шаг 7: Практическая разборка 5
На нижней стороне катушки приклеена небольшая печатная плата, на которой находится один CoB (Chip on Board) с шестью выходами. Два предназначены для питания, и они оканчиваются на более крупных квадратных площадках на плате для подключения шин питания. два выхода подключены к кристаллу. Кстати, частота кристалла составляет 32768 Гц, и его можно распаять для будущего использования. Последние два выхода подключены к катушке. Я счел более безопасным отрезать следы на плате и припаять провода к имеющимся контактным площадкам на плате. Когда я пытался отпаять катушку и подключить провод напрямую к катушке, я всегда отрывал провод катушки или повредил катушку. Одна из возможностей - припаять новые провода к плате. Скажем так, примитивнее. Более креативный метод - подключить катушку к контактным площадкам и оставить силовые шины для подключения к батарейному отсеку. Затем электронику можно поместить внутрь аккумуляторного отсека.
Шаг 8: Практическая разборка 6
Качество пайки можно проверить с помощью омметра. Катушка имеет удельное сопротивление около 200 Ом. Как только все будет в порядке, мы собираем настенные часы обратно. Обычно я выкидываю силовые шины, тогда у меня остается больше места для моих новых проводов. Фотографии сделаны до того, как будут брошены рельсы питания. Я забываю сделать следующее фото, когда они снимаются.
Закончив движение, я проверяю его, используя секундную стрелку. Я прикладываю руку к его оси и подключаю немного питания (я использовал батарейку типа CR2032, но также можно использовать AA 1,5 В). Просто подключите питание с одной полярностью к проводам, а затем снова с противоположной полярностью. Часы должны тикать, а стрелка должна двигаться на одну секунду. Если у вас возникнут проблемы с завершением движения назад, потому что провода занимают больше места, просто поверните катушку и положите ее на противоположную сторону. Если не использовать шины питания, это не влияет на движение часов. Как уже было сказано, убирая руки, их нужно выставить так, чтобы они указывали на 12:00:00. Он должен иметь правильное расстояние между часовой и минутной стрелками.
Шаг 9: Примеры использования настенных часов
Большинство простых примеров, ориентированных на отображение времени, но с различными модификациями. Очень популярна модификация под названием «Часы Ветинари». Указывая на книгу Терри Пратчетта, где у лорда Ветинари в приемной стоят настенные часы, которые тикают нерегулярно. Это нарушение беспокоит ожидающих людей. Второе популярное приложение - «синусовые часы». Это означает, что часы, которые ускоряются и замедляются в зависимости от кривой синуса, тогда люди чувствуют, что плывут по волнам. одно из моих любимых - «время обеда». Эта модификация означает, что часы идут немного быстрее между 11 и 12 часами (0,8 секунды), чтобы пообедать раньше; и немного медленнее в обеденное время между 12 и 13 часами (1, 2 секунды), чтобы на обед было немного больше времени и чтобы наверстать упущенное.
Для большинства этих модификаций достаточно использовать простейший процессор с рабочей частотой 32768 Гц. Эта частота очень популярна у производителей часов, потому что с этой частотой легко сделать кристалл, и ее нельзя легко разделить двоичным кодом на полные секунды. Использование этой частоты для процессора дает два преимущества: мы можем легко изменять тактовый цикл кристалла; и процессоры обычно имеют минимальное потребление на этой частоте. Потребление - это то, с чем мы так часто сталкиваемся, играя с настенными часами. Тем более, чтобы уметь как можно дольше питать часы от самой маленькой батарейки. Как уже было сказано, катушка имеет сопротивление 200 Ом и рассчитана примерно на 1,5 В (одна батарейка АА). Самые дешевые процессоры обычно работают с немного большим напряжением, но все они работают с двумя батареями (3 В). Один из самых дешевых процессоров на нашем рынке - Microchip PIC12F629 или очень популярные модули Arduino. Затем мы покажем, как использовать обе платформы.
Шаг 10: Примеры использования настенных часов PIC
Процессор PIC12F629 имеет рабочее напряжение 2,0–5,5 В. Достаточно использования двух «миньонов» = элементов AA (около 3 В) или двух аккумуляторов AA (около 2, 4 В). Но для часов катушки это вдвое больше, чем рассчитано. Это вызывает как минимум нежелательное увеличение потребления. Тогда хорошо добавить как минимум последовательный резистор, который создаст подходящий делитель напряжения. Сопротивление резистора должно быть около 120 Ом для питания от аккумулятора или 200 Ом для питания от аккумулятора, рассчитанного для чисто резистивной нагрузки. На практике значение может быть немного меньше примерно 100 Ом. Теоретически достаточно одного резистора, включенного последовательно с катушкой. У меня все еще есть тенденция, по какой-то причине, рассматривать двигатель как симметричное устройство, а затем ставить резистор с половинным сопротивлением (47 Ом или 51 Ом) рядом с каждым выводом катушки. Некоторые конструкции добавляют защитные диоды, чтобы избежать отрицательного напряжения на процессоре при отключении катушки. С другой стороны, выходной мощности на выходах процессора хватает для подключения катушки напрямую к процессору без какого-либо усилителя. Полная схема процессора PIC12F629 будет выглядеть так, как показано на рисунке 15. Эта схема действительна для часов без дополнительных элементов управления. У нас все еще есть один вход / выход GP0 и только один вход GP3.
Шаг 11: Примеры использования настенных часов Arduino
Когда мы захотим использовать Arduino, мы можем взглянуть на таблицу процессора ATmega328. Этот процессор имеет рабочее напряжение, определенное как 1,8–5,5 В для частоты до 4 МГц и 2,7–5,5 В для частоты до 10 МГц. Мы должны быть осторожны с одним недостатком плат Arduino. Этот недостаток - наличие на борту регулятора напряжения. У большого количества регуляторов напряжения есть проблемы с обратным напряжением. Эта проблема широко и лучше всего описана для регулятора 7805. Для наших нужд мы должны использовать плату с маркировкой 3V3 (предназначенную для питания 3,3 В), особенно потому, что эта плата содержит кристалл 8 МГц и может питаться от 2,7 В (это означает два AA. батареи). Тогда используемый стабилизатор будет не 7805, а его эквивалентом 3,3 В. Если мы хотим подключить плату без стабилизатора, у нас есть два варианта. Первый вариант - подключить напряжение к контактам «RAW» (или «Vin») и + 3V3 (или Vcc) вместе и полагать, что стабилизатор, используемый на вашей плате, не имеет защиты от пониженного напряжения. Второй вариант - просто убрать стабилизатор. Для этого хорошо использовать Arduino Pro Mini, следуя эталонной схеме. Эта схема содержит перемычку SJ1 (на рисунке 16 в красном круге), предназначенную для отключения внутреннего стабилизатора. К сожалению, большинство клонов не имеют этой перемычки.
Еще одним преимуществом Arduino Pro Mini является то, что он не содержит никаких дополнительных преобразователей, которые могут потреблять электроэнергию во время нормальной работы (это небольшая сложность при программировании). Платы Arduino оснащаются все более удобными процессорами, которым не хватает мощности для одного вывода. Тогда хорошо добавить как минимум небольшой выходной усилитель на паре транзисторов. Базовая схема питания от батареи будет выглядеть, как показано на рисунке.
Поскольку среда Arduino (язык «Проводка») имеет атрибуты современных операционных систем (тогда возникают проблемы с точной синхронизацией), неплохо подумать об использовании внешнего источника синхронизации для Timer0 или Timer1. Имеются в виду входы T0 и T1, они обозначены как 4 (T0) и 4 (T1). К любому из этих входов можно подключить простой генератор, использующий кристалл настенных часов. Это зависит от того, насколько точные часы вы хотите изготавливать. На рисунке 18 показаны три основных возможности. Первая схема очень экономична в смысле используемых компонентов. Он обеспечивает более менее треугольный выход, но в полном диапазоне напряжений, тогда он хорош для питания входов CMOS. Вторая схема с использованием инверторов, они могут быть CMOS 4096 или TTL 74HC04. Схемы более менее похожи друг на друга, они в основном виде. Третья схема с использованием микросхемы CMOS 4060, которая позволяет прямое подключение кристалла (эквивалент 74HC4060 с использованием той же схемы, но с разными номиналами резисторов). Преимущество этой схемы в том, что она содержит 14-битный делитель, тогда можно решить, какая частота будет использоваться в качестве входа таймера.
Выход этой схемы можно использовать для входа T0 (контакт 4 с маркировкой Arduino), а затем использовать Timer0 с внешним входом. Это не так практично, потому что Timer0 используется для таких функций, как delay (), milis () или micros (). Второй вариант - подключить его к входу T1 (контакт 5 с маркировкой Arduino) и использовать Timer1 с дополнительным входом. Следующий вариант - подключить его к входу прерывания INT0 (контакт 2 в маркировке Arduino) или INT1 (контакт 3) и использовать функцию attachInterrupt () и функцию регистрации, которая вызывается периодически. Здесь есть полезный делитель, предлагаемый микросхемой 4060, тогда звонить надо не так часто.
Шаг 12: Быстрые часы для модельного оборудования железных дорог
Для интереса представлю одну полезную схему. Мне нужно подключить больше настенных часов к общему контролю. Настенные часы расположены далеко друг от друга, и, кроме того, характерно более промышленное окружение с большим электромагнитным шумом. Затем я вернулся к старым системам автобусов, использующих для связи большее напряжение. Работать от батареи я, конечно, не решился, но я использовал стабилизированный блок питания 12В. Я усилил сигнал с процессора с помощью драйвера TC4427 (есть в наличии и по хорошей цене). Потом вожу сигнал 12В с возможной нагрузкой до 0,5А. Я добавил простые резистивные делители к ведомым часам (на рисунке 18, отмеченные как R101 и R102; снова я понимаю двигатель как симметричный, в этом нет необходимости). Я хотел бы увеличить шумоподавление за счет пропускания большего тока, тогда я использовал два резистора по 100 Ом. Для ограничения напряжения на катушке двигателя параллельно катушке подключен мостовой выпрямитель B101. Мост имеет закороченную сторону постоянного тока, тогда он представляет собой две пары встречно-параллельных диодов. Два диода означают падение напряжения около 1,4 В, что очень близко к нормальному рабочему напряжению для двигателя. Нам нужен антипараллельный, потому что питание чередуется с одной и противоположной полярностью. Таким образом, общий ток, используемый одним ведомым настенным часом, составляет (12 В - 1,5 В) / (100 Ом + 100 Ом) = 53 мА. Это приемлемое значение, чтобы избежать шума.
Вот два переключателя на схеме, они предназначены для управления дополнительными функциями настенных часов (множитель скорости у модельных железнодорожных путей). У дочерних часов есть еще одна интересная особенность. Они подключаются с помощью двух банановых разъемов 4 мм. Они держат настенные часы на стене. Это полезно, особенно если вы хотите установить определенное время перед началом использования, вы можете просто отключить их, а затем снова подключить (деревянный блок прикреплен к стене). Если вы хотите создать «Биг Бен», вам понадобится деревянный ящик с четырьмя парами розеток. Этот ящик можно использовать как хранилище для часов, когда они не используются.
Шаг 13: Программное обеспечение
С точки зрения программного обеспечения ситуация относительно простая. Опишем реализацию на микросхеме PIC12F629 с использованием кристалла 32768 Гц (заимствовано из оригинальных часов). Процессор имеет один цикл команд длиной четыре цикла генератора. Как только мы будем использовать внутренний источник часов для любого таймера, это будет означать циклы команд (называемые fosc / 4). У нас есть, например, Timer0. Входная частота таймера будет 32768/4 = 8192 Гц. Таймер восьмибитный (256 шагов) и мы поддерживаем его переполнение без каких-либо преград. Мы сосредоточимся только на событии переполнения таймера. Событие произойдет с частотой 8192/256 = 32 Гц. Затем, когда мы хотим иметь импульсы в одну секунду, мы должны создавать импульс каждые 32 переполнения Timer0. Если бы мы хотели, чтобы часы работали, например, в четыре раза быстрее, тогда нам нужно 32/4 = 8 переполнения для импульса. Для случаев, когда нас интересует разработка часов с нерегулярной, но точной, у нас должна быть сумма переполнений для нескольких импульсов, такая же, как 32 × количество импульсов. Тогда мы можем найти матрицу нерегулярных часов следующим образом: [20, 40, 30, 38]. Тогда сумма равна 128, то есть 32 × 4. Например, для синусовых часов [37, 42, 47, 51, 55, 58, 60, 61, 62, 61, 60, 58, 55, 51, 47, 42, 37, 32, 27, 22, 17, 13, 9, 6, 4, 3, 2, 3, 4, 6, 9, 13, 17, 22, 27, 32] = 1152 = 36 * 32). Для наших часов мы будем использовать два свободных входа как определение делителя для быстрого бега. Таблица с делителями скоростей хранится в памяти EEPROM. Основная часть программы может выглядеть так:
MainLoop:
btfss INTCON, T0IF goto MainLoop; ждать Timer0 bcf INTCON, T0IF incf CLKCNT, f btfss SW_STOP; если переключатель СТОП активен, clrf CLKCNT; очищать счетчик каждый раз btfsc SW_FAST; если быстрая кнопка не нажата, перейдите к NormalTime; вычислить только нормальное время movf FCLK, w xorwf CLKCNT, w btfsc STATUS, Z; если FCLK и CLKCNT совпадают, goto SendPulse NormalTime: movf CLKCNT, w andlw 0xE0; биты 7, 6, 5 btfsc STATUS, Z; если CLKCNT> = 32 перейти к MainLoop перейти к SendPulse
Программа, использующая функцию SendPulse, сама создает импульс двигателя. Функция подсчитывает четный / нечетный импульс и на основе этого создает импульс на одном или втором выходе. Функция с использованием константы ENERGISE_TIME. Эта константа определяет время, в течение которого катушка двигателя находится под напряжением. Таким образом, это имеет большое влияние на потребление. Когда он такой маленький, мотор не может закончить шаг, и иногда случается, что эта секунда теряется (обычно, когда секундная стрелка движется вокруг цифры 9, когда она идет «вверх»).
SendPulse:
incf POLARITY, f clrf CLKCNT btfss POLARITY, 0 goto SendPulseB SendPulseA: bsf OUT_A goto SendPulseE SendPulseB: bsf OUT_B; goto SendPulseE SendPulseE: movlw 0x50 Goto SendPulseE SendPulseE: movlw 0x50 Gotob_Loop ECNT, sendPulse
Полные исходные коды можно скачать в конце страницы www.fucik.name. Ситуация с Arduino немного сложна, потому что Arduino использует более высокий язык программирования и использует собственный кристалл 8 МГц, мы должны быть осторожны, какие функции мы используем. Использование классической delay () мало рискованно (она рассчитывает время от запуска функции). Лучшие результаты будут при использовании таких библиотек, как Timer1. Многие проекты Arduino рассчитаны на внешние устройства RTC, такие как PCF8563, DS1302 и т. Д.
Шаг 14: любопытства
Эта система использования мотора настенных часов понимается как очень простая. Есть много улучшений. Например, на основе измерения Обратной ЭДС (электроэнергии, производимой движением магнита ротора). Тогда электроника сможет распознать, когда рука движется, а если нет, то быстро повторить импульс или обновить значение «ENERGISE_TIME». более полезное любопытство - «обратный шаг». Судя по описанию, похоже, что этот двигатель рассчитан только на одно направление вращения и не может быть изменен. Но, как показано на прикрепленных видео, изменение направления возможно. Принцип прост. Вернемся к моторному принципу. Представьте, что двигатель находится в стабильном состоянии второй ступени (рисунок 3). После того, как мы подключим напряжение, как показано на первом шаге (рис. 2), двигатель логически начнет вращение в обратном направлении. Как только импульс станет достаточно коротким и немного закончится до того, как мотор поднимется в стабильное состояние, он логически будет немного мигать. Как только во время этого мерцания появится следующий импульс напряжения, как описано в третьем состоянии (Рисунок 4), двигатель продолжит движение в том же направлении, в котором он был запущен, то есть в обратном направлении. Небольшая проблема в том, как определить длительность первого импульса и один раз создать расстояние между первым и вторым импульсами. И хуже всего то, что эти константы различаются для каждого хода часов и иногда меняются для случаев, когда стрелки идут «вниз» (около числа 3) или вверх (около числа 9), а также в нейтральные положения (около числа 12 и 6).. Для случая, представленного на видео, я использовал значения и алгоритм, представленные в следующем коде:
#define OUT_A_SET 0x02; config для изложения b очистить
#define OUT_B_SET 0x04; config для out b установил четкое #define ENERGISE_TIME 0x30 #define REVERT_TIME 0x06 SendPulse: incf POLARITY, f clrf CLKCNT btfss POLARITY, 0 goto SendPulseB SendPulseA: movlw REVERT_TIME_lOVWF ECN_MOVWF; начать с импульса B movwf GPIO RevPulseLoopA:; короткое время ожидания decfsz ECNT, f goto RevPulseLoopA movlw OUT_A_SET; затем импульс A movwf GPIO goto SendPulseE SendPulseB: movlw REVERT_TIME movwf ECNT movlw OUT_A_SET; начать с импульса A movwf GPIO RevPulseLoopB:; короткое время ожидания decfsz ECNT, f goto RevPulseLoopB movlw OUT_B_SET; затем pulse B movwf GPIO; goto SendPulseE SendPulseE: movlw ENERGISE_TIME movwf ECNT SendPulseLoop: decfsz ECNT, f goto SendPulseLoop bcf OUT_A bcf OUT_B goto MainLoop
Использование обратных шагов увеличивает возможность игры с настенными часами. Иногда встречаются настенные часы с плавным ходом секундной стрелки. Эти часы нас не пугают, они используют простую уловку. Сам двигатель такой же, как двигатель, описанный здесь, только передаточное число больше (обычно на 8: 1 больше) и двигатель вращается быстрее (обычно в 8 раз быстрее), что создает эффект плавного движения. Как только вы решите модифицировать эти настенные часы, не забудьте вычислить требуемый множитель.
Рекомендуемые:
Настольный трекер COVID19 с часами! Трекер на базе Raspberry Pi: 6 шагов
Настольный трекер COVID19 с часами! Трекер на базе Raspberry Pi: мы знаем, что можем умереть в любой момент, даже я могу умереть, пока пишу этот пост, в конце концов, я, ты, все мы смертные. Весь мир потрясла пандемия COVID19. Мы знаем, как это предотвратить, но эй! мы знаем, как молиться и зачем молиться, не так ли
ESP8266 POV Fan с часами и обновлением текста веб-страницы: 8 шагов (с изображениями)
ESP8266 POV Fan с часами и обновлением текста веб-страницы: это переменная скорость, POV (постоянство зрения), вентилятор, который периодически отображает время, и два текстовых сообщения, которые можно обновлять «на лету». также является одностраничным веб-сервером, который позволяет вам изменять два текста me
Настольный органайзер со светодиодными матричными часами и Bluetooth: 7 шагов
Настольный органайзер со светодиодными матричными часами и Bluetooth: Мой стол был очень загроможден, и я хотел иметь хороший органайзер, в котором можно было бы расставить карандаши, кисти, глиняные инструменты и т. Д. Я посмотрел на многих органайзеров на рынке, но ни один из них не понравился . Я решил создать свой собственный настольный органайзер, и вот
Потрясающий проект с настенными часами: 11 шагов
Потрясающий проект с настенными часами: Привет друг, этот блог будет потрясающим, потому что в этом блоге я сделаю потрясающую схему светодиодного эффекта, используя старые настенные часы
NODEMCU Lua ESP8266 с часами реального времени (RTC) и EEPROM: 7 шагов
NODEMCU Lua ESP8266 с часами реального времени (RTC) и EEPROM: если вы хотите вести журнал данных, получение правильного времени имеет важное значение. Есть разные способы узнать время из источников в Интернете. Вы можете спросить, почему бы не использовать ESP8266, чтобы отслеживать ваше время? Что ж, вы можете, у него есть собственный внутренний RTC (в реальном времени