Счетчик реального времени с отдельным генератором

Плагин-таймер: быстрое решение для WordPress

Для большинства страниц и лендингов, где может понадобиться таймер обратного отсчета, WordPress плагин — вполне достаточное и разумное решение. Поиск из админки по ключевым словам Timer и Countdown в официальном репозитории WordPress выдаст несколько десятков плагинов со схожими возможностями, с основным бесплатным функционалом и дополнительными настройками, доступными при покупке премиум-версии плагина. Рассмотрим несколько популярных плагинов таймера отсчета на сайт.

Evergreen Countdown Time

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

  • даты, до которой ведется отсчет;
  • цвета счетчика (черный или белый);
  • размера цифр и подписей (в пикселях);
  • метода отслеживания посетителей (по cookie или IP-адресу).

С помощью этого плагина на сайте можно создать несколько таймеров обратного отсчета. Добавление выбранного счетчика на страницу производится в визуальном редакторе WordPress с помощью шорткода вида:

Конечный результат в виде простого одноцветного счетчика вряд ли впечатлит требовательного вебмастера, поэтому идем дальше.

Countdown Timer Ultimate

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

  • Полностью отзывчивый таймер обратного отсчета WordPress.
  • Возможность установки размеров таймера и выбора одного из двух типов анимации.
  • Возможность скрыть любой из счетчиков (дни, часы, минуты, секунды).
  • Возможность изменения ширины, цвета фона и цвета каждого счетчика.

Добавление счетчика на сайт производится с помощью шорткода, который появляется в списке после сохранения настроек и публикации таймера:

При необходимости можно вставить обратный таймер на сайт в файл шаблона через функцию:

Внешний вид таймера, добавленного на страницу с помощью плагина, будет примерно следующий:

Аналогичного вида таймер можно создать с помощью плагина Countdown Builder, отличительной особенностью которого является наличие предпросмотра внешнего вида счетчиков прямо на странице настроек.

Uji Countdown

Наиболее продвинутый из рассматриваемых плагинов, использующий возможности HTML5. После установки плагина из репозитория в консоли WordPress (меню Настройки) появляется пункт Uji Countdown. Несмотря на англоязычный интерфейс, все настройки интуитивно понятны. Также присутствует блок предпросмотра, при необходимости быстро скорректировать выбранные опции не составляет труда.

Добавление собственного оформления доступно при переходе на вкладку Add new style. Здесь есть все, что может потребоваться при создании красивого и стильного таймера:

Плагин интересен тем, что позволяет задавать разный цвет фона для верхней и нижней части цифрового блока (опция Select Box Color). Приятный бонус — большой выбор начертаний из всего многообразия Google Fonts. Во вкладке Settings имеются поля, в которых можно вручную прописать перевод используемых единиц времени (секунды, минуты, часы и т.д.).

Отредактированный и сохраненный стиль появляется во вкладке My Styles. Здесь можно добавлять, редактировать и удалять стили, что очень удобно.

На панели инструментов в редакторе контента WordPress появляется кнопка в виде циферблата часов, при нажатии на которую в нужном месте страницы легко добавить таймер с выбранным стилем и задать нужное время. Здесь же можно выбрать действие, которое будет совершаться, если время истекло (скрывать цифры или делать редирект на определенный URL). В пункте Recurring Time присутствует возможность перезапуска таймера через определенные отрезки времени, что делает таймер «вечным». Как видим, в бесплатной версии плагина настроек много.

Умные счетчики под увеличительным стеклом: разоблачим мифы и поговорим о фактах

Миф 1: Умные счетчики представляют угрозу для нашего здоровья

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

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

Миф 2: Умные счетчики нарушают конфиденциальность клиентов

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

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

Миф 3: Умные счетчики вызывают пожары и взрывы

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

Интеллектуальные счетчики также помогают установщику выявлять проблемы безопасности в электрической системе, которые в противном случае было бы трудно диагностировать. В 2017 году установщики датчиков энергии сообщили о более чем 270 000 существующих проблем безопасности, также потенциально опасных для жизни, таких как неисправная проводка или бойлеры.

Возможно вам понравится Как выбрать хороший холодильник по качеству, цене и надёжности: 10 советов для чайников

Миф 4: Умные счетчики открыты для хакерских атак

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

Также обратите внимание, что данные, хранящиеся в интеллектуальном счетчике, относятся только к потреблению газа и электроэнергии и информации о тарифах. Никакие личные данные в системе не хранятся

Миф 5: Умные счетчики увеличивают счета за электроэнергию

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

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

Подключение модуля MP1095 к Arduino

Для подключения к Arduino Mega 2560 различных устройств и датчиков я использую шилд под названием MEGA Sensor. И для использования шины I2C на нем выведены отдельные пины. Очень удобно, надо сказать.

На плате Arduino Mega дополнительные пины шины I2C соответствуют аналоговым выводам 20 и 21 (тоже самое справедливо и для Arduino Due). Для Arduino Uno это выводы 4 и 5, 2 и 3 в случае Arduino Leonardo. Ориентироваться нужно на названия пинов SDA и SCL.

  • VDD используется для питания микросхемы RTC для получения с него временных данных. Если напряжение +5 В отсутствует, микросхема переходит в спящий режим для сохранения и отсчета времени.
  • GND — земля (общий провод)
  • SCL — тактирующий вывод I2C интерфейса (нужен для коммуникации с часами реального времени)
  • SDA — вывод данных I2C интерфейса (нужен для коммуникации с RTC)
  • SQW (на некоторых аналогичных модулях RTC) — дополнительный выход прямоугольного сигнала частотой 32768 Гц. В большинстве случаев не используется.

Подключите аналоговый 20 пин Arduino Mega (аналоговый 4 пин для других плат Arduino) к выводу SDA модуля и 21 пин (5 — для других плат) к выводу SCL.  

Средства программирования и отладки

МК 1887ВЕ4У и 1887ВЕ7Т поддерживаются полным набором программных и системно разрабатываемых средств, включая Си-компиляторы, макроассемблеры, программные отладчики/симуляторы, внутрисистемные эмуляторы и оценочные инструменты.

Для программирования МК 1887ВЕ4У и 1887ВЕ7Т могут использоваться следующие программаторы:

  • STK500, 600 (Atmel);
  • AVRICP MKII (Atmel)1;
  • Chip Prog+ («Фитон»);
  • LPT- и USB-программаторы («НИИЭТ»).

В качестве отладочного средства для 1887ВЕ4У можно рекомендовать программно-аппаратный комплект STK500 или STK600, работающий под управлением программы AVR Studio. AVR Studio представляет собой интегрированную отладочную среду разработки (IDE), которая содержит:

  • транслятор языка ассемблера;
  • компилятор языка Си;
  • отладчик (Debugger);
  • программное обеспечение верхнего уровня для поддержки внутрисхемного программирования (In-System Programming, ISP).

Для МК 1887ВЕ4У можно также рекомендовать применение отладочного устройства КФДЛ.301411.200 (рис. 7).

Рис. 7. Средство отладки для МК 1887ВЕ4У

Для работы с МК 1887ВЕ7Т рекомендуется использовать программно-аппаратный комплекс STK600 вместе со средой AVR Studio. Для программирования 1887ВЕ7Т «НИИЭТ» также выпускает USB-программатор КФДЛ.301411.233 вместе с программным обеспечением к нему.

2 Краткие теоретические сведения

Счётчик – устройство для подсчёта числа входных импульсов.

Параметры счётчика:

  • модуль счёта М – число устойчивых состояний;
  • ёмкость Е – максимальное число, которое может быть записано в счётчик (Е=М-1);
  • быстродействие (скорость перехода из состояния «все 1» в состояние «все 0» и наоборот).

Классификация:

  1. По направлению счёта:
  • суммирующие;
  • вычитающие;
  • реверсивные;
  1. По способу построения цепи переноса:
  • с последовательным переносом;
  • с параллельным переносом;
  • с комбинированным переносом;
  1. По способу переключения триггера:
  • синхронные;
  • асинхронные.

2.1 Простейший суммирующий асинхронный счётчик

Счётчик представляет собой несколько последовательно включенных счётных триггеров. Напомним, что по каждому входному импульсу счётный триггер изменяет своё состояние на противоположное.

Рисунок 2.1 – Простейший суммирующий асинхронный счётчик

Если вход синхроимпульса триггера отмечен как «», то опрокидывание триггера происходит по заднему фронту, если как «/» — то по переднему.

Рисунок 2.2 – Временная диаграмма работы суммирующего асинхронного счётчика

Для того чтобы разобраться, как работает схема двоичного счётчика, воспользуемся временными диаграммами сигналов на входе и выходах этой схемы, приведёнными на рисунке 2.2.

Пусть первоначальное состояние всех триггеров счётчика будет нулевым. Это состояние мы видим на временных диаграммах. Запишем его в таблицу 2.1. После поступления на вход счётчика тактового импульса (который воспринимается по заднему фронту) первый триггер изменяет своё состояние на противоположное, то есть единицу.

Запишем новое состояние выходов счётчика в ту же самую таблицу. Так как по приходу первого импульса изменилось состояние первого триггера, то этот триггер содержит младший разряд двоичного числа (единицы).

Таблица 2.1 – Изменение уровней на выходе суммирующего двоичного счётчика при поступлении на его вход импульсов

Номер входного импульса Q2 Q1 Q0
1 1
2 1
3 1 1
4 1
5 1 1
6 1 1
7 1 1 1
8

Подадим на вход счётчика ещё один тактовый импульс. Значение первого триггера снова изменится на прямо противоположное. На этот раз на выходе первого триггера, а значит и на входе второго триггера сформируется задний фронт. Это означает, что второй триггер тоже изменит своё состояние на противоположное. Это отчётливо видно на временных диаграммах, приведённых на рисунке 2.2. Запишем новое состояние выходов счётчика в таблицу 2.1. В этой строке таблицы образовалось двоичное число 2. Оно совпадает с номером входного импульса.

Продолжая анализировать временную диаграмму, можно определить, что на выходах приведённой схемы счётчика последовательно появляются цифры от 0 до 7. Эти цифры записаны в двоичном виде. При поступлении на счётный вход счётчика очередного импульса, содержимое его триггеров увеличивается на 1. Поэтому такие счётчики получили название суммирующих двоичных счётчиков. Если информацию снимать с инверсных выходов триггеров, то получится вычитающий счётчик.

2.2 Простейший вычитающий асинхронный счётчик

Рассмотрим схему счётчика на триггерах, опрокидывающихся по переднему фронту входных импульсов рисунок 2.3

Рисунок 2.3 – Вычитающий счётчик

Рисунок 2.4 – Временная диаграмма

Из временной диаграммы видим, что получился вычитающий счётчик. Если информацию снимать с инверсных выходов триггеров, то получится суммирующий счётчик.

2.3 Счётчик с произвольным модулем счёта

Для построения такого счётчика можно использовать двоичный счётчик, у которого модуль счёта М должен быть больше модуля счёта разрабатываемого счётчика с произвольным модулем счёта.

Пусть нужно сделать счётчик с М= 10.

У 4-х разрядного счётчика модуль счёта равен 16 (больше 10).

Схема счётчика представляет собой 4 последовательно включённых счётных триггера, у которых есть вход сброса R.

Число 10 в двоичной системе счисления представляется 1010. Когда на выходах счетчика будет код 1010, на выходе элемента «И» появится логическая единица, которая запустит схему гашения. Длительность импульса на выходе схемы гашения должна быть достаточна для надёжного сброса всех триггеров счётчика в 0. Разряды числа 1010, равные 1 подаются на схему «И» с прямых выходов триггеров, а равные 0 — с инверсных. Таким образом, как только счётчик досчитает до 10, произойдёт обнуление всех триггеров и счёт продолжится с кода 0000.

Рисунок 2.5 – Счётчик с модулем счета М=10

Рассмотрим счётчик с М=11 на основе двоичного счётчика в одной микросхеме (без инверсных выходов).
1110=10112

Рисунок 2.6 – Счётчик с модулем счёта М=11

В качестве схемы гашения может быть RS-триггер.

Рисунок 2.7 – Счётчик с модулем счёта М=17

В этой схеме М=100012 = 1710

Сигнал на входе К счётчика будет действовать в течение одного периода входных импульсов

Обзор отладочной платы MAX31342EWA+T

Отладочная плата MAX31342EWA+T (рисунок 6) содержит на борту часы реального времени MAX31342EWA+, часовой кварцевый резонатор ECS-.327-6-12 производства ECS, микросхемы сдвига уровня NLSX4373DR2G, джамперы и колодку для установки MAX32625PICO . MAX32625PICO позволяет подключать отладочную плату к ПК с помощью USB.

Рис. 6. Внешний вид отладочной платы MAX31342EWA+T

Для настройки работы MAX31342EWA+ используется специальное графическое ПО (рисунок 7), что существенно упрощает исследование возможностей RTC. Подробнее о возможностях этой отладочной платы можно узнать из демонстрационного видео .

Рис. 7. Прикладное ПО для работы с MAX31342EWA+T

Тестируем часы реального времени

Первым делом посмотрим тестовый скетч, который считывает время с модуля RTC один раз в секунду. Также выясним, что произойдет, если снять батарею и заменить ее, что заставляет часы реального времени сбросится. Прежде всего, снимем батарею при отключенном питании Arduino. Подождем 3 секунды и вернем батарею на место. Это приведет к сбросу RTC.

Выберем пример скетча из меню Arduino IDE Файл → Образцы → DS1307RTC → ReadTest и загрузим его в микроконтроллер

Отобразить/скрыть пример кода ReadTest

#include <Wire.h>
#include <Time.h>
#include <DS1307RTC.h>

void setup()
{
Serial.begin(9600);
while (!Serial) ; // ожидаем ответа порта
delay(200);
Serial.println(«DS1307RTC Read Test»);
Serial.println(«——————-«);
}

void loop()
{
tmElements_t tm;

if (RTC.read(tm))
{
Serial.print(«Ok, Time = «);
print2digits(tm.Hour);
Serial.write(‘:’);
print2digits(tm.Minute);
Serial.write(‘:’);
print2digits(tm.Second);
Serial.print(«, Date (D/M/Y) = «);
Serial.print(tm.Day);
Serial.write(‘/’);
Serial.print(tm.Month);
Serial.write(‘/’);
Serial.print(tmYearToCalendar(tm.Year));
Serial.println();
}
else
{
if (RTC.chipPresent())
{
Serial.println(«The DS1307 is stopped. Please run the SetTime»);
Serial.println(«example to initialize the time and begin running.»);
Serial.println();
}
else
{
Serial.println(«DS1307 read error! Please check the circuitry.»);
Serial.println();
}
delay(9000);
}
delay(1000);
}

void print2digits(int number)
{
if (number >= 0 && number < 10)
{
Serial.write(‘0’);
}
Serial.print(number);
}

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59

#include <Wire.h>
#include <Time.h>
#include <DS1307RTC.h>
 

voidsetup()

{

Serial.begin(9600);

while(!Serial);// ожидаем ответа порта

delay(200);

Serial.println(«DS1307RTC Read Test»);

Serial.println(«——————-«);

}
 

voidloop()

{

tmElements_ttm;

if(RTC.read(tm))

{

Serial.print(«Ok, Time = «);

print2digits(tm.Hour);

Serial.write(‘:’);

print2digits(tm.Minute);

Serial.write(‘:’);

print2digits(tm.Second);

Serial.print(«, Date (D/M/Y) = «);

Serial.print(tm.Day);

Serial.write(‘/’);

Serial.print(tm.Month);

Serial.write(‘/’);

Serial.print(tmYearToCalendar(tm.Year));

Serial.println();

}

else

{

if(RTC.chipPresent())

{

Serial.println(«The DS1307 is stopped. Please run the SetTime»);

Serial.println(«example to initialize the time and begin running.»);

Serial.println();

}

else

{

Serial.println(«DS1307 read error! Please check the circuitry.»);

Serial.println();

}

delay(9000);

}

delay(1000);

}
 

voidprint2digits(intnumber)

{

if(number>=&&number<10)

{

Serial.write(‘0’);

}

Serial.print(number);

}

Откроем окошко монитора последовательного порта и удостоверимся, что установленная скорость передачи соответствует 9600 бод.

У вас должно получиться что-то похожее

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

Особенности компоновки и трассировки печатной платы с RTC

На точность RTC сильное влияние оказывает качество согласования резонатора и нагрузочных емкостей. К сожалению, подбор емкостей осложняется наличием паразитной емкости печатной платы. Эту емкость необходимо по возможности минимизировать. Еще одной проблемой, препятствующей работе RTC, становятся помехи. Таким образом, только правильная трассировка и компоновка печатной платы позволят обеспечить приемлемый результат.

Подробный анализ процесса проектирования устройств с RTC рассматривается в руководствах Maxim Integrated, например, в . Приведем только основные рекомендации, которые позволят избежать большей части проблем:

  • Размещайте выводы кварцевого резонатора максимально близко к выводам Х1 и Х2 микросхемы RTC. С одной стороны, это уменьшит длину проводников, которые выступают в роли антенн и собирают шумы со всей схемы. А с другой – малая длина проводников позволит уменьшить паразитную емкость печатной платы, и тем самым снизить ее влияние на согласование кварцевого резонатора и нагрузочных емкостей.
  • По тем же причинам рекомендуется использовать минимально возможную ширину проводников и минимальную площадь контактных площадок RCT и резонатора.
  • Если на плате есть свободное место, следует окружить резонатор защитным контуром, подключенным к земле. Это позволит дополнительно уберечь чувствительный вход RTC от внешних шумов.
  • Убедитесь, что ни на одном слое печатной платы под кварцевым резонатором и проводниками, соединяющими его с RTC, нет других проводников. Чем дальше резонатор будет от других цепей, тем лучше. Рекомендуемое расстояние от проводников резонатора до ближайшей цифровой цепи – не менее 0,2 дюйма (5,08 мм).
  • RTC и резонатор следует размещать максимально далеко от источников радиочастотных помех.
  • В некоторых случаях под резонатором рекомендуют расположить полигон, подключенный к земле. Однако этот полигон должен располагаться только под резонатором, не выходя слишком сильно за его пределы.

Если вы выбрали кварцевый резонатор в соответствии с требованиями Maxim Integrated (таблица 1), после чего выполнили трассировку печатной платы с учетом предложенных рекомендаций, то риск возникновения проблем минимален. Тем не менее, если проблемы все-таки возникнут, следует установить их источник.

Принцип работы

Умные счетчики для определения расхода воды представляют собой комплект оборудования, состоящий из нескольких устройств:

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

При покупке комплекта умного счетчика для установки в системах водоснабжения нужно учитывать, что они поставляются без узлов присоединения

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

Контроллер. Это устройство для снятия показаний с умного счетчика, их обработки и передачи через wi-fi в интернет. Для того чтобы контролировать расход и оплату за воду нужно создать личный кабинет на соответствующем портале. Там можно не только проверять расход воды, но и настроить передачу показаний водосчетчика на определенный день месяца. Если знать примерное водопотребление в месяц, то можно настроить регулярный платеж определенной суммы. Всю информацию можно выводить на экран смартфона или компьютера, а также управлять работой контроллера с помощью этих устройств.

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

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

Заключение

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

Несмотря на целый ряд достоинств встроенных RTC, именно дискретные микросхемы RTC становятся оптимальным выбором при необходимости обеспечения минимального потребления.

Компания Maxim Integrated предлагает микросхемы RTC, которые отличаются минимальным потреблением и сверхкомпактными размерами. В частности, типовое потребление для RTC MAX31342 составляет всего 150 нА.

Литература

  1. Low-Current, Real-Time Clock with I2C Interface.
  2. Application note 58. Crystal considerations with Maxim Real-Time Clocks (RTCS).
  3. Камертон для электроники: тактирующие компоненты производства NDK.
  4. TUTORIAL The What, Why, When, Where and How of Real-Time Clocks (RTCs).
  5. Батарейка LiMnO2 типоразмера R12 от Renata.
  6. MAX31342 SHIELD. Evaluates: MAX31342.
  7. https://www.maximintegrated.com

•••

Источник: ledsshop.ru

Стиль жизни - Здоровье!