Электронные песочные часы: Электронные песочные часы. Набор для конструирования.

Содержание

Электронные песочные часы. Набор для конструирования.

Рассмотрим еще один набор для конструирования из рубрики «сделай сам». Набор в конечном виде представляет собой прикольные электронные песочные часы. В качестве песка выступают светодиоды. Поочередно затухая в одном месте и зажигаясь в другом светодиоды повторяют форму сыпящегося песка.  Стоимость комплекта 1,6$

Описание от производителя

Схема состоит из 3-миллиметровых синих светодиодов в прозрачном корпусе. Светодиоды образуют узор в виде песочных часов. Под управлением однокристального микрокомпьютера он представляет собой эффект аналоговых песочных часов. DS1 входной разъем питания, разъем постоянного тока 3 мм в комплекте. 1SP- интерфейс загрузки программы. Микроконтроллер выполнен на микросхеме STC15W201S. С помощью интерфейса загрузки программы ее можно перепрограммировать.

 

Прилагаемое описание на китайском языке

Для изменения скорости песочных часов нужно нажать на кнопку.
Скорость будет изменяться циклически от медленной до быстрой.
Рабочее напряжение составляет 3-5 вольт, но не превышает 5 вольт, а лучшее напряжение – 4,5 вольта.

Инструкция по установке:

Во время установки обратите внимание на положительный и отрицательный полюсы светодиодов. Все светодиоды на плате устанавливаются в одном направлении. Если после включения питания работа не стабильна, подключите монолитный конденсатор 334 параллельно между VCC (6 контакт микросхемы) и GRD (8 контакт микросхемы).

Комплектация

В комплектацию входят:

— светодиоды – 57 штук (на момент написания, с запасом – 60 шт.)
— плата двухслойная, качественного исполнения
— 3-пиновый выключатель
— кнопка без фиксации 6х6х2мм
— панелька под микросхему DIP-16
— микросхема STC15W201S
— планка на 4 пина
— разъем под источник питания диаметром 3 мм
— неполярный конденсатор емкостью 0,33 мкФ

Сборка

Схема для сборки выглядит следующим образом:

Удобнее всего начинать сборку со светодиодов.
При том на схему можно даже не смотреть. Светодиоды впаиваются согласно рисунку на плате. Все в одном направлении. Если использовать катушку с тонким припоем с содержанием флюса, да еще «третью руку» в помощь, процесс не займет много времени.  Длинная ножка светодиода – это анод (+), короткая катод (-).  

Дальше можно припаять выключатель, ручкой наружу. Затем планку под микросхему и кнопку. Не забываем, у кнопки 2 пары ножек. Каждая пара соединена между собой. Для уверенности используйте прозвонку. Установленные элементы показаны на рисунке ниже.

Размещение контактов внутри кнопки и ее положение, а также первого и последнего контакта микросхемы.

Планочка с четырьмя контактами впаивается в место на плате, обозначенное символами «GND, TXD, RXD, VCC». Планка нужна для последующего подключения usb-контроллера последовательного порта. Если вы не собираетесь перепрошивать микросхему, то она вам не нужна. Я использовал планку для подключения питания от USB-зарядки.
Для этого вытащил две центральные ножки и впаял только две крайних.

micro-USB на платке

Затем использовал готовый разъем micro-USB, распаянный на платке. При этом ножки планки припаял в точки VCC и ID, а ID соединил с GND. Вывод ID в стандартном USB-шнуре не используется, поэтому смело можно подключать питание даже от USB-порта компьютера. Правда, впаянный ранее выключатель при этом становится бесполезным.

В комплектацию входит разъем для подключения питания диаметром 3 мм. Кому удобно припаиваем и пользуемся.

Что касается конденсатора его установка необязательна. Все зависит от качества источника питания. Место для установки на плате не предусмотрено. Если замечаете нестабильность работы подпаяйте конденсатор между 6 и 8 выводами микросхемы, как можно ближе к ней.

Работа

При включении зажигается первая половина светодиодов, демонстрируя наличие песка по аналогии с настоящими песочными часами. При этом светодиоды начиная с основания постепенно гаснут и зажигаются на второй половине, повторяя эффект пересыпающегося песка.
Визуально выглядит красиво.

Каждое нажатие на кнопку изменяет скорость зажигания светодиодов. Всего 24 скорости. На самой медленной скорость перетекания составляет приблизительно 26 секунд, на самой быстрой – 3 секунды.

Производитель рекомендует использовать устройство в качестве маленького ночника. В любом случае для детей неплохая игрушка. И в пайке полезно потренироваться.

Некоторые подробности о микросхемах серии STC15W201S

MCU серии STC15W201S — это однокристальный микроконтроллер, основанный на высокопроизводительном процессоре 8051 архитектуры 1T, который производится STC MCU Limited. Это новое поколение микроконтроллеров 8051 с высокой скоростью, высокой стабильностью, широким диапазоном напряжений, низким энергопотреблением и сверхсильной защитой от помех. Кроме того, микроконтроллеры серии STC15W201S представляют собой микроконтроллеры сверхсовременного шифрования, поскольку они используют технологию шифрования STC девятого поколения.
Благодаря усовершенствованному ядру микроконтроллер серии STC15W201S быстрее, чем традиционный микроконтроллер 8051 (примерно в 8 ~ 12 раз быстрее), и имеет полностью совместимый набор команд с традиционным микроконтроллером серии 8051.

MCU серии STC15W201S включает высокоскоростной асинхронный последовательный порт — UART (можно рассматривать как 2 последовательных порта, переключаясь между 2 группами контактов), компаратор и так далее. MCU серии STC15W201S обычно используется для последовательной связи или электрического управления или в некоторых случаях с сильными помехами.

Микроконтроллеры серии STC15 со сверхвысокоскоростным ядром процессора STC-Y5 работают на 20% быстрее, чем STC ранних серий 1T (например, серии STC12 / STC11 / STC10) при той же тактовой частоте.

Диапазон рабочего напряжения: 5,5 В ~ 2,4 В.

Встроенная память программ 1Kb (FLASH) с гибкими возможностями ISP / IAP может быть стерта более 100 тысяч раз.
На кристалле 256 байт SRAM.
Встроенная в микросхема EEPROM с большой емкостью может быть стерта более 100 тысяч раз.
Мощность каждого порта ввода / вывода может составлять до 20 мА, но ток всего чипа не превышает этого максимального значения 90 мА.

Для желающих заняться перепрошивкой смотрите схемы подключения контроллеров в техническом описании микросхемы. Софт необходимый для прошивки – здесь.

Электронные песочные часы. Набор для сборки

Всем привет!

В сегодняшнем обзоре я хочу поделиться с вами своими впечатлениями об электронных песочных часах. Этот набор для самостоятельной сборки был мною заказан на eBay давно, но только вчера выдался свободный вечер, который я смог потратить на его сборку.

Вообще, мне очень нравятся подобные конструкторы. Причем нравится не столько сам процесс их сборки, сколько первое включение — когда готовый результат оказывается или работоспособным, или нет. По всякому ведь бывает 🙂

Подобные «песочные» часы в продаже есть в нескольких исполнениях. Причем они могут отличаться не только цветом диодов, но и своим устройством. Я выбрал тот вариант, что подороже. Правда, не думаю, что более дешевый хуже.

Посылка была отправлена с треком, отслеживающимся только на территории Китая. Однако, несмотря на это добралась она ко мне (в Беларусь) немногим более чем за месяц. Данные по ее перемещению по Китаю доступны для просмотра по этой ссылке.

Поставляется набор без какой-либо заводской упаковки. Мой пришел ко мне в обычном полиэтиленовом пакетике на зип-застежке. Из каких-либо обозначений на ним была только наклейка с кодом, а так же наклейка с обозначением цвета диодов. В моем случае это синий (еще есть зеленый и красный).

Содержимое пакетика выглядит следующим образом:

Сперва удивился, что в комплекте 2 платы и подумал, что китаец отправил 2 набора 🙂 Но не тут то было, посмотрев обозначение на них понял, что так предусмотрено конструкцией. К качеству изготовления плат претензий никаких. Качество отличное. Разве что можно было бы получше отмыть их от флюса, который постоянно растекался во время пайки, но это мелочи. Все обозначения нанесены хорошо — все видно и понятно. Элементов для монтажа в наборе не много, так что можно отнести его к «конструкторам» начального уровня. В комплекте отсутствовала инструкция, но так как ничего сложного в сборке нет, то можно обойтись и без нее. Если что схему можно подсмотреть в объявлении с товаром.

Монтаж элементов лучше начинать по принципу «от меньшего к большему», но тут каждый волен делать так, как ему удобней. Так что я начал с монтажа резисторов, которых тут много. Все они имеют сопротивление в 3,3 кОм кроме одного. Вот так выглядела плата в процессе их установки:

Следующим этапом устанавливаем конденсаторы, датчик положения (что-то типа гироскопа) SW300DA, отвечающий за то из какой в какую половины будет «пересыпаться» песок и, в завершении, «мозг» наших часов — 2 регистра сдвига CD4015BE и инвертор CD4069. В самую последнюю очередь я припаял контактные разъемы по двум сторонам часов.

Первая из двух плат стала выглядеть вот так:

Перевернув плату, откусываем торчащие ножки (можно это сделать до пайки, тогда они закроются припоем и вообще торчать не будут) и монтируем кнопку включения/выключения и подстроечник ADJ-RES.

На этом с этой печатной платой покончено, настала очередь браться за другую. На вторую плату крепятся диоды — 30 штук. Тут надо помнить, что монтировать их следует соблюдая полярность, в противном случае ничего не заработает. Как мы знаем, ножки диода (анод и катод) имеют разную длину, так что более длинная ножка (плюсовая) должна быть помещена в отверстие с круглой стороны его обозначения на схеме. На словах не сильно понятно. Так что вот картинка:

Тестовый запуск для проверки работоспособности собранной части:

Лес из ножек диодов 🙂

После того, как все диоды будут припаяны, откусываем эти самые ножки и соединяем обе части часов вместе. Не забываем установить контакты по бокам часов.
Получается вот такой результат:

Работают часы от питания в 5В. Можно использовать батарейки типоразмера АА или ААА. Я же для проведения теста использовал регулируемый блок питания. Что любопытно, никакого контакта для элемента питания в комплекте поставки нет. Есть только отверстия в печатной плате с соответствующим обозначением. Так что придется самому искать или провода, или какой-нибудь подходящий двухконтактный коннектор.

Итак, подаем питание:

Ждем и видим, как «песок» начинает пересыпаться в нижнюю часть часов:

Работает! 🙂 Благодаря подстроечнику, скорость «пересыпания» можно регулировать от чуть ли не мгновенного (примерно 1-2 секунды) до очень длительного. Так что можно их настроить и использовать в качестве оригинального таймера. Правда, сперва придется сосчитать сколько времени при том или ином положении подстроечника уходит на пересыпание песка с верхней половинки в нижнюю. Ну и о абсолютной точности говорить не приходится.

Поскольку работу такого устройства лучше воспринимать по видео, то записал небольшой ролик:

На сборку у меня ушло около 2 часов. Правда, минут 20 я искал новую катушку с припоем, так как старая закончилась в самый неподходящий момент. В целом, покупкой остался доволен. Данный набор имеет приемлемую цену и хорошее качество изготовления. Если вдруг вы или ваш ребенок увлекается пайкой — присмотритесь, думаю, должен понравиться. Конечно, практической пользы от таких часов нет, одно баловство. Но порой хочется заняться чем-то таким, что увлекает, пусть даже потом собранный предмет будет просто пылиться на полке 🙂

На этом, пожалуй, все. Спасибо за внимание и потраченное время.

Как собрать набор электронных песочных часов своими руками шаг за шагом

Здравствуйте и с возвращением. В этом проекте мы научимся шаг за шагом собирать комплект электронных песочных часов своими руками, предоставленный OSEPP. Он имеет хорошее качество и дешевую цену. Кроме того, мы можем использовать этот комплект для улучшения наших навыков пайки и электроники.

Песочные часы — это машина для измерения времени, использовавшаяся в прошлом. Это делается с использованием двух стеклянных колб и содержит очень мелкий песок. Также в месте, где эти две лампочки соединяются вместе, мы можем видеть маленькое отверстие, через которое проходит песок. Мы можем видеть их в разных формах, и измеренное время также зависит от размера стеклянной колбы и размера отверстия. Вы можете использовать эту ссылку для получения дополнительной информации об этих песочных часах.

Кроме того, этот набор песочных часов разработан с использованием вышеуказанной структуры и включает в себя 6 кругов времени. Это 30 секунд, 1 минута, 2 минуты, 5 минут, 10 минут и 15 минут. Вы можете выбрать время, которое вы хотите из этого. Кроме того, он имеет две кнопки. Это кнопки «Выбрать» и «Начать». Вы можете использовать кнопку «Выбрать», чтобы изменить круг времени, и мы можем начать отсчет времени, используя кнопку «Пуск». Мы можем наблюдать за всем через светодиод и зуммер.

Хорошо, давайте соберем этот комплект шаг за шагом.

Шаг 1

Во-первых, распакуйте этот комплект и найдите эти компоненты.

Step 2

Secondly, let’s solder these components to the PCB. Для этого используйте следующие инструменты.

  • Паяльник
  • Кусачки
  • Паяльная проволока
  • Инструмент из третьих рук

Шаг 3

Теперь приступайте к пайке. Сначала впаиваем светодиоды один за другим.

Шаг 4

, затем падайте мини -кнопки и женские заголовки.

Шаг 5

Хорошо, одна плата готова. Теперь припаиваем остальные компоненты. Используйте для этого вторую плату. Сначала припаяйте микросхему к печатной плате.

Шаг 6

Затем припаяйте резисторы 1K и конденсатор 100 нФ к печатной плате. Шаг 7

Шаг 7

Затем припаяйте переключатель и резисторы на 330 Ом. Шаг 8

Затем припаяйте датчик наклона и зуммер к печатной плате.

9Шаг 9

Наконец, припаяйте к нему контактные разъемы и зажимы для батарей.

Шаг 10

Ну вот и все готово. Теперь соедините печатные платы вместе, как показано ниже.

Шаг 11

Наконец, вставьте батарейки в песочные часы и включите их с помощью выключателя. После этого выберите время с помощью кнопки «Выбрать», а затем нажмите кнопку «Старт».

Хорошо, наслаждайтесь этим проектом набора песочных часов. Полное видео-руководство ниже. Так что увидимся в следующем проекте.

Пошаговая инструкция по сборке набора электронных песочных часов

Электронные песочные часы с Raspberry Pi Pico и поворотным кодировщиком

драйвер

https://github.com/mcauser/micropython-tm1637

 

Лицензия MIT

Copyright (c) 2016 Mike Causer

 

Настоящим предоставляется бесплатное разрешение любому лицу, получающему копию

данного программного обеспечения и связанных файлов документации («Программное обеспечение»), торговать

Программным обеспечением без ограничений, включая, помимо прочего, права

на использование, копирование, изменение, слияние, публикацию, распространение, сублицензирование и/или продажу

копий Программного обеспечения, а также разрешать лицам, которым Программное обеспечение

предоставляется для этого при соблюдении следующих условий:

 

Вышеприведенное уведомление об авторских правах и данное уведомление о разрешении должны быть включены во все

копии или существенные части Программного обеспечения.

 

ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ ПРЕДОСТАВЛЯЕТСЯ «КАК ЕСТЬ», БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ, ЯВНЫХ ИЛИ ПОДРАЗУМЕВАЕМЫХ

ПОДРАЗУМЕВАЕМЫХ, ВКЛЮЧАЯ, ПОМИМО ПРОЧЕГО, ГАРАНТИИ КОММЕРЧЕСКОЙ ПРИГОДНОСТИ,

ПРИГОДНОСТИ ДЛЯ ОПРЕДЕЛЕННОЙ ПОЗИЦИИ И НАЗНАЧЕНИЯ. НИ ПРИ КАКИХ ОБСТОЯТЕЛЬСТВАХ

АВТОРЫ ИЛИ ОБЛАДАТЕЛИ АВТОРСКИМ ПРАВОМ НЕСУТ ОТВЕТСТВЕННОСТЬ ЗА ЛЮБЫЕ ПРЕТЕНЗИИ, УЩЕРБ ИЛИ ДРУГОЕ ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ

.

«»»

 

from micropython import const

from machine import Pin

from time import sleep_us, sleep_ms

 

TM1637_CMD1 = const (64×4) data command#9×4 = const(64×4) 0003

TM1637_CMD2 = const (192) # 0xc0 Адресная команда

TM1637_CMD3 = const (128) # 0x80 Команда управления дисплеем

TM1637_DSP_ON = const (8) # 0x08 DELAN /dio pulses

TM1637_MSB = const(128)  # msb — это десятичная точка или двоеточие в зависимости от вашего дисплея

 

# 0-9, az, пробел, тире, звездочка \x06\x5B\x4F\x66\x6D\x7D\x07\x7F\x6F\x77\x7C\x39\x5E\x79\x71\x3D\x76\x06\x1E\x76\x38\x55\x54\x3F\x73\x67\x50\x6D\x78\x3E\x1C\x2A\x76\x6E\x5B\x00\x40 \x63′)

 

class TM1637(object):

    «»»Библиотека для четырехъядерных 7-сегментных светодиодных модулей на основе драйвера светодиодов TM1637. «»»

    def __init__(self, clk, dio 7)0003

Self._Brightness = Яркость

Self.clk.init (Pin.out, значение = 0)

Self.dio.init (Pin.out, значение = 0)

Sleep_US (TM1637_Delay)

self._write_data_cmd ()

self._write_dsp_ctrl ()

def _start (self):

Self.dio (0)

Sleep_US (TM1637_Delay)

Self.clk (0) Sleep_US. )

 

    def _stop(self):

        self.dio(0)

        sleep_us(TM1637_DELAY)

        self.clk(1)

        sleep_us(TM1637_DELAY)

        self.dio(1)

 

def _write_data_cmd (self):

# Увеличение автоматического адреса, нормальный режим

Self._Start ()

Self._Write_byte (TM1637_CMD1)

Self._stop ()

0002 def _write_dsp_ctrl (self):

# Display On, SET Яркость

Self._Start ()

Self._Write_byte (TM1637_CMD3 | TM1637_DSP_ON | SEULF. _BRITHNES Self, b):

для I в диапазоне (8):

self.dio ((b >> i) и 1)

sleep_us (tm1637_delay)

Self.clk (1)

Sleep_us (TM1637_Delay)

Self.Clk (0)

Sleep_US (TM1637_Delay)

Self.Clk (0)

Sleep_US (TM1637_Delay)

Self.clk (1)

Sleep_US (TM1637_DELAY)

(1)

Sleep_US (TM1637_DELAY)

(TM1637_DELAY)

(TM1637_DELAY)

sleep_us (tm1637_delay)

def Яркость (Self, val = none):

«» «Установите яркость дисплея 0-7.» «

# Яркость 0 = 1/16-й импульс

9.0002# Яркость 7 = 14/16 Ширина импульса

Если val не является:

return self._brightness

, если нет 0 <= val <= 7:

Поднять valueError («Яркость из диапазона»)

self._brightness = val

self._write_data_cmd ()

self._write_dsp_ctrl ()

def. Напишите (Self, сегменты, POS = 0):

«» данная позиция

MSB в 2 -м сегменте контролирует толстую кишку между 2 -м

и 3 -м сегментами. «» «

, если не 0 <= POS <= 5:

Raise valueError (» Положение вне диапазона «)

._WRITE_DATA_CMD ()

Self._Start ()

Self._Write_Byte (TM1637_CMD2 | POS)

для SEG в сегментах:

Self._Write_byte (SEG)

Self._STOP ()

.0003

self._write_dsp_ctrl ()

def encode_digit (self, digit):

«» «Преобразовать символ 0-9, A-F в сегмент.

    def encode_string(self, string):

        «»»Преобразовать строку длиной до 4 символов, содержащую 0–9, az,

        пробел, тире, звездочку, в массив сегментов, соответствующий длине

исходная строка.»»»

сегменты = Bytearray (Len (String))

для I в диапазоне (Len (String)):

сегменты [i] = self.encode_char (String [i])

return Segments

def Encode_char (self, char):

        «»»»Преобразовать символ 0–9, az, пробел, тире или звездочку в сегмент.»»»

        o = ord(char)

        if o == 32:

return _SEGMENTS[36] # пробел

        if o == 42:

return _segments [38] # Star/Degrees

, если O == 45:

return _segments [37] # dash

, если o> = 65 и o <= 90:

return _segments [O-55] # Верхишер A-Z

Если o> = 97 и O <= 122:

return _segments [O-87] # Защитный регистр A-Z

, если o> = 48 и O <= 57:

return _segments [O-48] # 0-9

        raise ValueError(«Символ вне диапазона: {:d} ‘{:s}'». format(o, chr(o)))

 

    def hex(self, val):

        «»»Отобразить шестнадцатеричное значение от 0x0000 до 0xffff с выравниванием по правому краю.»»»

        string = ’90ff03 & 0ff03 & 04x}’.format self.write(self.encode_string(string))

 

    def number(self, num):

        «»»Отображать числовое значение от -999 до 9999, выравнивание по правому краю.»»»

         # limit to range от 999 до 9999

        num = max(-999, min(num, 9999)))

        string = ‘{0: >4d}’.format(num)

        self.write(self.encode_string(string))

 

    def numbers(self, num1, num2, двоеточие = True):

       «»»Отобразите два числовых значения от -9 до 99 с нулями в начале

        и разделенными двоеточием.»»»

        num1 = max(-9, min(num1, 99))

9000 2       -9, min(num2, 99))

        segments = self.encode_string(‘{0:0>2d}{1:0>2d}’.format(num1, num2))

, если толстая кишка:

сегменты [1] | = 0x80 # толстой кишки на

Self. Write (сегменты)

DEF (Self, NUM):

, если num <-9:

Self.Show. (‘lo’) # low

elif num> 99:

self.show (‘hi’) # Высокий

els .write(self.encode_string(строка))

        self.write([_SEGMENTS[38], _SEGMENTS[12]], 2) # градусов Цельсия

Если Len (сегменты)> 1 и толстая кишка:

сегменты [1] | = 128

Self.Write (сегменты [: 4])

DEF Scroll (Self, строка, задержка = 250):

сегменты = строка, если isinstance (строка, список), иначе self.encode_string (строка)

        data = [0] * 8

        data[4:0] = list(segments)

        for i in range(len(segments) + 5):

      +i: 4:0 [self.write:4:0] +i])

sleep_ms (задержка)

класс TM1637Decimal (TM1637):

«» «Библиотека для Quad 7-сегмента Светодиодных модулей на основе TM1637. для использования с модулями десятичной индикации (модули

    с десятичной точкой после каждого 7-сегментного индикатора).

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *