Таймер на ардуино с часами реального времени: Урок 39. Реле времени: управление устройствами по таймеру

Таймер на Ардуино с настройкой включения и выключения

Всем привет! Собрав таймер на Ардуино из этой инструкции, вы сможете контролировать включение и выключение ваших устройств в нужное вам время. Это могут быть ночные фонари, система орошения сада и т.д. Мы воспользуемся Ардуино, дисплеем и RTC 1307, отображающим и управляющим временем. Вы можете задать часы «ВКЛ» и «ВЫКЛ» при помощи 4 кнопок, что позволит вам изменять настройки микросхемы таймера.

Также вы научитесь создавать часы, базирующиеся на Ардуино. Я приложил схему из fritzing и видео, так что вы без проблем соберёте данное устройство.

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

Шаг 1: Материалы

  • Arduino Uno
  • Модуль RTC 1307
  • Дисплей 16X2
  • Модуль реле 5V
  • Подстроечный потенциометр 10K
  • Резистор 1K
  • Резисторы 10K x 4 штуки
  • Кнопки x 4 штуки
  • Макетная плата, джамперы.

Шаг 2: Устанавливаем часы

Следуйте схеме из Fritzing.

Соедините 5V и GND с Ардуино с соответствующими контактами (Красный – 5V, синий – земля)

Дисплей к Ардуино:

  1. VSS к GND
  2. VDD к 5V
  3. VO к центру потенциометра
  4. RS к пину 2
  5. RW к GND
  6. EN или E к пину 3
  7. D0 NC
  8. D1 NC
  9. D2 NC
  10. D3 NC
  11. D4 к пину 4
  12. D5 к пину 5
  13. D6 к пину 6
  14. D7 к пину 7
  15. A к 5V
  16. K к GND через резистор 1K
  17. Остальные контакты потенциометра на 5V и GND

RTC к Arduino:

  • SDA к пину 4
  • SCL у пину 5
  • GND и 5V

Шаг 3: Устанавливаем время

Пришло время настроить часы. Запустите код «Set time RTC». Этот скетч возьмёт данные о дате и времени из вашего компьютера прямо во время компиляции кода и использует их для программирования RTC. Если у вас на компьютере неправильные установки, то поправьте их перед запуском программы. Затем нажмите кнопку Upload, чтобы немедленно загрузить откомпилированный код.

Внимание: Если вы скомпилируете код, а загрузите его позже, то данные о времени устареют.

Далее откройте окно Serial Monitor, чтобы увидеть, что время было установлено.

Файлы

  • Set_Time_RTC.ino

Шаг 4: Часы

После того, как установите время, откройте и загрузите скетч «Clock with RTC LCD». Потенциометр в схеме нужен для настройки контрастности дисплея, покрутите его, чтобы чётко видеть символы.

Файлы

  • Clock_with_RTC_LCD.ino

Шаг 5: Устанавливаем таймер

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

Пины 8,9, 10 и 11 соединены с GND через резисторы 10K. Когда вы нажмете на кнопку, то на контакты пойдёт напряжение 5V.

Реле соединяется с пином 12. С помощью него можно управлять вашими устройствами, но будьте осторожны с максимальной нагрузкой на реле!

Шаг 6: Таймер

Откройте и загрузите код «Timer with on off set point». Нажимайте кнопки, чтобы сместить время назад или вперёд. Если электронный таймер будет в пределах настроенного интервала, то он начнет работать сразу же. Если же он не попадает в нужный интервал, то будет ждать час «ВКЛ».

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

Файлы

  • Timer_with_on_off_set_point.ino
  • Set_Time_RTC.ino
  • RTClib-master.zip

Весь код написан мной, кроме настройки времени на RTC и дата-логгера Adafruit. Надеюсь, эта инструкция как собрать простой таймер своими руками была для вас полезна!

Оглавление

  • Шаг 1: Материалы
  • Шаг 2: Устанавливаем часы
  • Шаг 3: Устанавливаем время
  • Шаг 4: Часы
  • Шаг 5: Устанавливаем таймер
  • Шаг 6: Таймер

Real Time Clock (RTC)/Часы реального времени

Статья проплачена кошками — всемирно известными производителями котят.

Если статья вам понравилась, то можете поддержать проект.

Модуль DS1307
Библиотека RTClib

Иногда требуется отслеживать определённое время наступления события. Модуль часов реального времени с литиевой батарей позволяет хранить текущую дату, независимо от наличия питания на самом устройстве. Наиболее распространённые модули RTC: DS1302 (совсем не точные), DS1307 (не очень точные), DS3231 (точные), DS3232 (точные) и др.

Модуль часов представляет собой небольшую плату, которая содержит микросхему (DS1307, DS1302, DS3231), а также сам механизм установки батарейки питания. Часы ведут отсчёт в удобных для человека единицах – минуты, часы, дни недели и другие, в отличие от обычных счётчиков и тактовых генераторов, которые считывают «тики». В Arduino имеется функция millis(), которая умеет считывать различные временные интервалы, но основным недостатком функции является сбрасывание в ноль при включении таймера. С её помощью можно считать только время, а установить дату или день недели невозможно. Модули часов реального времени позволяют решить эту задачу.

Электронная схема модуля включает в себя микросхему, источник питания, кварцевый резонатор и резисторы. Кварцевый резонатор работает на частоте 32768 Гц, которая является удобной для обычного двоичного счетчика. В схеме DS3231 имеется встроенный кварц и термостабилизация, которые позволяют получить значения высокой точности.

Как правило, все модули работают по протоколу I2C.

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

Модуль DS1307 собран на основе микросхемы DS1307ZN, питание поступает от литиевой батарейки для реализации автономной работы в течение длительного промежутка времени. Батарея на плате крепится на обратной стороне. На модуле имеется микросхема AT24C32 – это энергонезависимая память EEPROM на 32 Кбайт. Обе микросхемы связаны между собой шиной I2C. DS1307 обладает низким энергопотреблением и содержит часы и календарь по 2100 год.

Технические характеристики

  • Питание – 5В
  • Диапазон рабочих температур от -40°С до 85°С
  • 56 байт памяти
  • Литиевая батарейка LIR2032
  • 12-ти и 24-х часовые режимы
  • Поддержка интерфейса I2C

Взаимодействие с другими устройствами и обмен с ними информацией производится с помощью интерфейса I2C с контактов SCL и SDA. В схеме установлены резисторы, которые позволяют обеспечивать необходимый уровень сигнала. Также на плате имеется специальное место для крепления датчика температуры DS18B20.Контакты распределены в 2 группы, шаг 2,54 мм.

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

  • DS – вывод для датчика DS18B20
  • SCL – линия тактирования
  • SDA – линия данных
  • VCC – 5В
  • GND — земля

Во второй группе контактов находятся:

  • SQ – 1 МГц
  • DS
  • SCL
  • SDA
  • VCC
  • GND
  • BAT – вход для литиевой батареи

Чтобы подключить модуль к Arduino Uno, используются 4 вывода.

DS1307 | Arduino 
-----------------
   GND | GND 
   VCC | 5V 
   SCL | A5
   SDA | A4
    DS | N/A

Платы Leonardo, MEGA, ADK, DUE используют другие схемы. Ищите в интернете.

Библиотека RTClib

Для работы с модулем реального времени существует множество библиотек. Рассмотрим библиотеку от Adafruit RTClib.

Установите её через менеджер библиотек. После установки запустите один из готовых примеров из библиотеки ds1307. В Serial Monitor установите скорость 57600. Вы увидите дату на сегодняшний день.

При запуске скетча время берётся с компьютера, поэтому сначала убедитесь, что на вашем компьютере установлены правильные дата и время.

Получение даты и времени происходит через вызов функции now(), который возвращает объект DateTime. Данный объект позволяет узнать год, месяц, день, час, минуту и секунду.

Реклама

Синхронизация — библиотеки Arduino

Декодер

Библиотека таймеров

Библиотека

Библиотека

Библиотека Arduino

Библиотека Arduino

Библиотека Arduino

Библиотека

.

Библиотека

Универсальный таймер

AceTime Классы даты, времени, часового пояса для Arduino, поддерживающие полную базу данных IANA TZ для преобразования секунд эпохи в компоненты даты и времени в разных часовых поясах.
Ацетаймклокк Классы часов для Arduino, которые обеспечивают автоматически увеличивающийся счетчик секунд с известной эпохи, которые можно синхронизировать из внешних источников, таких как сервер NTP, микросхема RTC DS3231 или микросхема RTC STM32.
Библиотека Adafruit Si5351 Драйвер для Adafruit Si5351 Clockgen Breakout
AnalogRTCLib Библиотека для часов реального времени Analog Devices.
Инструменты анимации Упрощает создание поведения для сервоприводов и светодиодов
Датчики Arduino Библиотека библиотек датчиков
Ардуинопоток Простой способ запуска потоков на Arduino
ArduinoThreadRunOnce Запустите ArduinoThread только один раз
ардуино-таймер Библиотека таймеров для задержки вызовов функций
Arduino-таймер-API Простой кроссплатформенный API для многозадачности обработчиков прерываний по таймеру
Артрон DS1338 Библиотека Arduino RTC DS1338.
Асинхронная задержка Простая библиотека абстракций, реализующая задержки и тайм-ауты.
Асинхронный таймер JavaScript-подобные асинхронные функции синхронизации (setTimeout, setInterval).
Асинхронные операции Библиотека для точного отслеживания длинных задач без блокировки основного потока
Аудиочастотомер Получить основной тон звукового сигнала
avdweb_SAMDtimer Библиотека таймеров для SAMD21 и Arduino Zero
avdweb_VirtualDelay Позволяет использовать (несколько) задержек без блокировки выполнения кода. Ардуино Уно и Зеро.
Стандартная библиотека времени AVR C Функции реального времени для Goldilocks ATmega1284p и ATmega2560
авртос RTOS для микроконтроллеров AVR Arduino (Uno Mega)
ОСРВ Azure ThreadX Библиотека Azure RTOS ThreadX для Arduino
БлокНе BlockNot дает вам простые неблокирующие таймеры.
bluemicro_engine Движок для реализации цикла, чтобы отделить ход времени от пользовательского ввода и скорости процессора.
время сборки Библиотека поможет вам получить время компиляции
CallMyFunction Библиотека Arduino для вызова функции с ограничениями по времени
CallbackHelper Инструмент для создания std::function, таких как API-интерфейсы обратного вызова, без огромного объема памяти, необходимого std::function
Хроно Библиотека хронометра/секундомера, которая подсчитывает время, прошедшее с момента запуска.
Чистая ОСРВ Делает использование FreeRTOS на ESP32 намного проще и безопаснее.
CMMC Easy CMMC Easy — библиотека для управления временем без функции задержки
Совместная задача Портативная библиотека C++ для совместной многозадачности, такая как Arduino Scheduler на ESP8266/ESP32, AVR, Linux, Windows
Кооптредс Облегченная, независимая от платформы, многофункциональная библиотека совместных потоков
CronAlarms Запланируйте появление сигналов тревоги в определенное время с помощью синтаксиса crontab.
ДВремя Дата плюс служба обхода времени
DCF77 Считайте и расшифруйте атомное время, передаваемое радиостанцией DCF77.
dcf77_xtal DCF77 с отличной помехоустойчивостью.
Разоблачитель Библиотека Debounce для Arduino
ЗадержкаExec Библиотека для отсрочки исполнения
DFRobot_DS1307 Определить инфраструктуру класса DFRobot_DS1307 (SKU: DFR0151).
DFRobot_DS323X Библиотека драйверов DS323X.
DMOscillator Библиотека, упрощающая управление включением/выключением вывода с фиксированной или динамической скоростью.
DMTimer Библиотека, упрощающая неблокирующие рекуррентные вызовы.
Эмулятор DS1307 Эмулятор DS1307, который превращает Arduino в чип RTC, фактически не имея физического RTC.
ДС1307РТК Использование микросхемы часов реального времени DS1307 с библиотекой времени
DS1307newAlarms Добавление сигналов тревоги по дням недели к функциям RTC DS1307
ДС3231 Библиотека Arduino для часов реального времени (RTC) DS3231
DS3231_RTC Библиотека Arduino для часов реального времени (RTC) DS3231
DS3232RTC Библиотека Arduino для интегрированных часов реального времени Maxim DS3232 и DS3231.
летнее время реального времени Библиотека Arduino для автоматической настройки времени RTC для перехода на летнее время (DST)
Таймер полностью реализована для Arduino DUE
EasyNTPClient Библиотека для чтения времени с серверов Network Time Protocol (NTP).
EasyTask Легкая, но мощная реализация диспетчера задач.
истек Миллис Упрощает кодирование адаптивных скетчей.
ESPPerfectTime SNTP, обеспечивающая более точное время для ESP8266/ESP32.
Время ESP32 Установка и получение внутреннего времени RTC на платах ESP32.
Каждые Неблокирующие замены для delay().
Каждый таймер Библиотека, обеспечивающая возможность вызова функции через определенные промежутки времени.
каждый раз Простая в использовании библиотека для периодического выполнения кода.
Исполнительный Выполнение подпрограмм по указанному расписанию
ezTime ezTime — произносится как «Easy Time» — очень простая в использовании библиотека времени и даты Arduino, которая обеспечивает поиск времени в сети NTP, расширенную поддержку часовых поясов, форматированные строки времени и даты, пользовательские события, миллисекундную точность и многое другое.
FaBo 215 RTC PCF2129 Библиотека для FaBo RTC I2C Brick
FC0005748911 Firechip — библиотека Micro Crystal RV-8263 Arduino, модуль часов реального времени с шиной I2C
Пятнадцатый шаг Библиотека MIDI-секвенсора общего назначения для Arduino.
Пожарный таймер Простая и неблокирующая библиотека для определения времени выполнения процессов
flex_DST Библиотека для наблюдения за летним временем в соответствии с заданными пользователем параметрами.
FreeRTOS Операционная система реального времени FreeRTOS для AVR (Uno, Nano, Leonardo, Mega).
Счетчик периодов Интеллектуальная библиотека с обширными функциями для подсчета (несколько) частот. Для Ардуино Уно и Зеро.
Частотный таймер2 Генерировать частоту с помощью Timer2
Легкая и простая в использовании оболочка для библиотеки Arduino_FreeRTOS_Library.
Geekble_LieDetector Библиотека для Geekble LieDetector
Geekble_Oscillator Генерация импульсов от 31,25 кГц до 8 МГц
Роща — RTC DS1307 Библиотека Arduino для управления Grove — RTC DS1307.
ГиверНТП Библиотека для асинхронного получения точного времени с сервера NTP
GyverOS Простой диспетчер задач для Arduino
ГиверТаймер Простой таймер с режимами периода/тайм-аута на миллисекундах
Гивертаймеры Библиотека для управления аппаратными таймерами на ATmega328p и ATmega2560
HaCTimers Таймер Arduino, управляемый событиями.
HeliOS Проект встроенной операционной системы с открытым исходным кодом, созданный сообществом.
IntervalTimerEx IntervalTimerEx является подклассом Teensy IntervalTimer, чтобы разрешить различные вызываемые объекты в качестве обратных вызовов таймера.
JC_Sunrise Arduino для расчета времени восхода и захода солнца.
jm_Scheduler Совместная библиотека планировщика для Arduino.
Джоббер имитация многопоточности для Arduino & Co.
леОС Простой планировщик, выполняющий небольшие задачи в IRS
леОС2 Простой планировщик на основе сторожевого таймера, выполняющий небольшие задачи в IRS
ЛедТаск Библиотека Arduino демонстрирует мощь невытесняющей многозадачности.
петлитель Прото-планировщик, основанный на использовании millis()
M5_RTC_Module Библиотека для использования модуля RTC от iotec для стека M5.
Макс31328РТК Библиотека для часов реального времени Max31328.
MCP79412RTC для часов/календаря реального времени Microchip MCP79411/12.
МикроБьют Стандартная библиотека MicroBeaut для Arduino.
MicroNMEA Компактная библиотека Arduino для разбора предложений NMEA.
МиллиСтоппер Удобная и легкая пробка
Миллистаймер Библиотека таймеров для работы с millis().
MillisTimerLib Библиотека для использования функции Миллиса в качестве планировщика задач.
msTask Использовать аппаратный таймер 1 для запуска задач в установленное время
Мстаймер2 Запуск функции прерывания с использованием Timer2
мультитаймер для простого использования задержек включения/выключения и таймеров циклов с неблокирующими функциями.
Мой будильник Библиотека, которая управляет задачами на основе тревог и таймеров.
Моя задержка, которая предоставляет неблокирующий повторяющийся таймер с функцией обратного вызова.
NТимер Библиотека Narwhalsss360 NTimer для синхронизированных событий и таймер производительности.
Неотимер «Мощный неблокирующий таймер»
Библиотека NGLedFlasher Библиотека Arduino для мигания более одного светодиода
Без задержки Arduino для использования функции Millis для неблокирующих задержек.
NodeRedTime Получить временную метку эпохи Unix из потока Node-Red.
Время NTP NTPtime, UNIXtime и TimeFunc дают вам полный контроль и больше возможностей для управления временем.
НТП Библиотека NTP
НТПКлиент NTPClient для подключения к серверу времени
NTPClientLib Клиентская библиотека NTP
Простой таймер Nusabot Простая библиотека для запуска действий по времени.
PagonGameDev GameLoop «Библиотека для создания игр с GameLoop»
PCF8523 Библиотека Arduino для часов реального времени PCF8523
Таймер опроса Библиотека Arduino для гибкого управления синхронизацией и событиями с помощью опроса
точный_sntp Эта библиотека является реализацией простого протокола сетевого времени (SNTPv4) для платформы arduino, обеспечивающей точность до доли секунды.
Планировщик процессов Многозадачная библиотека ООП
ptScheduler Библиотека синхронизации Arduino для написания неблокирующих периодических задач без использования процедур задержки или миллисекунд.
PWMFreak Настраивает частоту ШИМ на контакте
RBD_Таймер Управление многими событиями по времени.
Таймер рифов Неблокирующий планировщик, основанный на millis().
Ракетный крик RTCAVRZero Минималистичная реализация RTC (счетчик реального времени) для MCU MegaAVR серии 0.
RP2040_RTC Эта библиотека позволяет использовать RTC с плат на базе RP2040, таких как Nano_RP2040_Connect, RASPBERRY_PI_PICO
RTClib Вилка фантастической библиотеки RTC от Jeelab
Время реального времени Библиотека, совместимая со «Standard C Runtime», для взаимодействия с модулями часов реального времени DS1307 и DS3231.
РТКх Библиотека для доступа к часам реального времени DS1307, DS1337/8, MCP7941x и PCF85263.
RT-резьба Портирование операционной системы реального времени для плат Arduino SAM и SAMD
Часы реального времени Библиотека для RTC на базе I2C (DS1307, DS3231, PCF8563).
RTCCounter Обеспечивает использование периферийного устройства RTC в режиме 32-битного счетчика. Только для плат Arduino SAMD21.
RTCDue Используйте для RTC внутри SAM3X8E от Arduino DUE
RTC RV-3028-C7 Библиотека Arduino Библиотека для управления чрезвычайно точными часами реального времени RV-3028-C7 с чрезвычайно низким энергопотреблением
RTTimer Библиотека Arduino для простого выполнения запланированных задач.
RTCZero Позволяет использовать функции RTC. Только для Arduino Zero, MKRZero и MKR1000.
Rtc_Pcf8563 Библиотека, которая взаимодействует с микросхемой часов реального времени Phillips PCF8563.
RTC_RX8025T Библиотека Arduino для часов реального времени RX8025T (RTC)
RTCDS1307 Библиотека для rtc 1307
RTL8720_RTC Эта библиотека позволяет использовать RTC с плат на базе RTL8720, таких как RTL8720DN, RTL8722DM, RTL8722CSM.
РВ-1805-С3 Библиотека для модуля Micro Crystal RV-1805-C3 с чрезвычайно низким энергопотреблением RTC.
РВ-3028-C7 Библиотека для модуля Micro Crystal RV-3028-C7 с чрезвычайно низким энергопотреблением RTC.
РВ3028 Базовая библиотека для RV-3028-C7 RTC
RV8803Tiny Библиотека для управления чрезвычайно точными часами реального времени с чрезвычайно низким энергопотреблением RV8803 из новой серии ATTINY, работающих на MegaTinyCore.
RX8025 Чип управления RX8025 или солнечный календарь с лунным календарем.
Песочный таймер Простой в использовании и легкий таймер
Диспетчер сцен кооперативный многосценовый менеджер для Arduino
Таблица расписания Эта библиотека позволяет планировать несколько действий во времени.
ПланировщикESP8266 Библиотека для создания временных расписаний.
Таймер сек Простой счетчик секунд
Seeed Arduino RTC Библиотека RTC для SAMD21 и SAMD51.
SeqTimer Небольшой фрагмент последовательного класса Timer (не изменяет аппаратные таймеры)
простая настройка DST Функция автоматической настройки летнего времени для Arduino/ESP8266
SimpleTicker Библиотека для создания тикеров, которые будут уведомлять пользователя об истечении заданного периода. Заменяет задержку() и позволяет пользователям писать неблокирующий код.
Простой таймаут Минимальная, готовая к производству библиотека времени ожидания для Arduino.
Простой таймер Простой таймер Arduino.
Простой таймер это простой класс, который вы можете использовать для управления временем и задачами
ПростоАтомик Библиотека для создания переносимых атомарных блоков в вашей программе
слабый_Fade исчезновение временного значения.
Smart_Duty_Cycling Автоматическая генерация рабочего цикла для вашей программы Arduino.
Мягкий таймер SoftTimer — это легкое псевдомногозадачное решение для Arduino.
Программные таймеры Библиотека SoftTimers для Arduino представляет собой набор программных таймеров. Библиотека нацелена на значительное упрощение многозадачности.
Часы SparkFun 5P49V60 Библиотека Arduino Библиотека, обеспечивающая все функции тактового генератора SparkFun 5P49V60.
Библиотека SparkFun Qwiic RTC RV1805 Arduino Библиотека для управления чрезвычайно точными часами реального времени RV-1805 с чрезвычайно низким энергопотреблением
таймер отжима Универсальный таймер с разрешением 1 миллисекунда, поддерживающий принципы ООП.
SSVLongTime Класс Singleton для возврата времени безотказной работы в секундах.
ССВтаймер Еще один неблокирующий класс таймера, основанный на функции millis().
SSVNTPCoreClass Класс Singleton для получения реального времени по NTP. На основе основной функции esp8266 configTime(). Поддерживает автоматическое летнее время для каждого часового пояса.
STM32F1_RTC Позволяет использовать функции RTC плат на базе STM32F1xx с использованием внешнего низкоскоростного генератора.
STM32duino FreeRTOS Операционная система реального времени реализована для STM32
STM32duino РТК Позволяет использовать функции RTC плат на базе STM32.
Секундомер_RT Библиотека Arduino, реализующая секундомер.
Стробер Простой в использовании и легкий плеер со светодиодной подсветкой
Switch3_lib Клон библиотеки Switch_lib (O.Goma) для переключения цифровых выводов с таймерами, добавление миллисекунд
Switch_lib Библиотека для переключения цифровых выводов с таймерами, temporization и периодами
TCone Библиотека MicroBeaut-TCone с таймером и счетчиком One.
Задача Макуны Библиотека, упрощающая создание сложных многозадачных проектов.
Таск-жокей Простой и легкий совместный диспетчер задач для Arduino, ESP32, STM32 и подобных систем
Диспетчер задач кооперативный многозадачный менеджер для Arduino
Планировщик задач Совместная многозадачность для Arduino, ESPx, STM32 и других микроконтроллеров.
Таскер Избавьтесь от вызовов delay(), вместо этого запланируйте задачи/функции.
Таскраннер Позволяет Arduino запускать планировщик, который может запускать функции с определенной частотой
TeensyTimerTool Общий интерфейс для таймеров Teensy
ThreadedTimer Потоковая библиотека синхронизации для mbed Arduinos
ТикТво Библиотека для создания тикеров, которые могут вызывать повторяющиеся функции. Заменяет delay() неблокирующими функциями. Рекомендуется для плат ESP и Arduino с mbed сзади.
Тикер Библиотека для создания тикеров, которые могут вызывать повторяющиеся функции. Заменяет delay() неблокирующими функциями.
Время Функции хронометража для Arduino
Сигналы времени Выполнять задачи в определенное время или через определенные промежутки времени.
Прерывание времени Разрешает прерывания таймера на различных платформах.
Время ожидания Библиотека Arduino, которая создает обратные вызовы таймера.
TimeProfiler Профилировщик времени для Arduino
TimedState Библиотека Arduino, предоставляющая утилиты для управления состоянием программы во времени без задержки().
Таймер Библиотека для создания старт/стоп таймеров
TimerEvent TimerEvent — это неблокирующая альтернатива функции delay().
Таймер Fa Программный таймер
ТаймерПять Использовать аппаратный таймер 5 для более точного управления ШИМ и/или запуска функции периодического прерывания
Таймер четыре Использовать аппаратный таймер 4 для более точного управления ШИМ и/или запуска функции периодического прерывания
TimerFour32u4 Разрешить использование 10-битного аппаратного высокоскоростного таймера 4 на ATMega16u4 и ATMega32u4.
ТаймерMs Расширенный программный таймер (на основе миллисекунд())
TimerOne Использовать аппаратный таймер 1 для более точного управления ШИМ и/или запуска функции периодического прерывания
Таймер Три Использовать аппаратный таймер 3 для более точного управления ШИМ и/или запуска функции периодического прерывания
Таймеры Библиотека облегченных таймеров
ТаймерыOneForAll В полной мере используйте все аппаратные таймеры на плате Arduino. 充分利用你开发板上所有的硬件计时器
Таймерсапи Библиотека для таймеров, обратного отсчета и счетчиков.
Часовой пояс Arduino для облегчения преобразования часовых поясов и автоматической настройки летнего (летнего) времени.
TinyRTCLib Миниатюрная версия RTCLib для использования с TinyWireM
крошечныйTimeR Легко реализовать прерывания таймера.
Твикли Причудливая библиотека, знакомая с Wiring и мощными процессами в реальном времени, расширенными функциями выводов и бесплатным отказом.
УИКАЛ Библиотека для анализа формата файла iCalendar.
uTimerLib Миниатюрная и совместимая с разными устройствами библиотека таймеров
uUnixDate Крошечная и упрощенная библиотека для преобразования в метки времени UNIX и обратно
Универсальный таймер Простой в использовании, многофункциональный и неблокирующий таймер.
UnixTime Отметка времени Unix для преобразования времени даты и наоборот
Время работы Получить время безотказной работы устройства в годах, месяцах, днях, часах, минутах, секундах, миллисекундах, общем количестве дней и общем количестве секунд.
Библиотека времени безотказной работы Библиотека Uptime для плат Arduino и совместимых систем
VariableTimedAction Библиотека для создания синхронизированных событий/действий.
вн_лунар Библиотека Arduino для преобразования григорианского календаря во вьетнамский лунный.
Сторожевая собака Функции сторожевого таймера
Еженедельный будильник Таймер рабочего дня (термостат как планировщик)
электропроводка-таймер с разрешением 1 миллисекунда, основанный на времени безотказной работы системы (например, Arduino: функция millis() или STM32: функция HAL_GetTick()), поддерживающий принципы ООП.
Еще одна библиотека отладки Arduino Асинхронная библиотека Arduino для устранения дребезга
ZeroTC45 Позволяет использовать счетчики TC4 и TC5 ARM Cortex-M0 для периодических прерываний.

ТАЙМЕР С ИСПОЛЬЗОВАНИЕМ ARDUINO И RTC (ЧАСЫ РЕАЛЬНОГО ВРЕМЕНИ)

ПОСТАНОВКА ЗАДАЧИ:

Лаборатория тканевых культур ашрама Вигьян выращивает табак. Для правильного роста растения ему необходимо 8 часов полной темноты и 16 часов света.

ЦЕЛЬ:

  • Таймер, который ВКЛ/ВЫКЛ на необходимое время.
  • Для уменьшения ненужных потерь энергии.

БЛОК-СХЕМА:

блок-схема

ВВЕДЕНИЕ:

RTC (ЧАСЫ РЕАЛЬНОГО ВРЕМЕНИ):

модуль RTC

Arduino Un o:

модуль RTC

  • 7 системы запоминания времени и даты Arduino.
  • Используется резервная батарея для сохранения времени в случае отключения источника питания.
  • RTC использует кварцевый генератор. частота кварцевого генератора 32,768 кГц.
  • ПРИМЕНЕНИЕ:
  • Таймер
  • цифровые часы
  • проект на основе времени
  • Arduino UNO — это плата микроконтроллера, основанная на ATmega328P . Он имеет 14 цифровых входных/выходных контактов (из которых 6 могут использоваться как выходы ШИМ), 6 аналоговых входов, керамический резонатор 16 МГц, USB-соединение, разъем питания, разъем ICSP и кнопку сброса. Он содержит все необходимое для поддержки микроконтроллера; просто подключите его к компьютеру с помощью USB-кабеля или включите адаптер переменного тока в постоянный или аккумулятор, чтобы начать работу. Вы можете возиться со своим UNO, не слишком беспокоясь о том, что сделаете что-то не так, в худшем случае вы можете заменить чип за несколько долларов и начать заново

    • Таймер включения/выключения устройства на базе RTC. Он включает и выключает устройство в требуемое время.
    • выключит устройство в выбранное время и снова в заданное время включит устройство.
    • Модуль RTC имеет четырехпроводной интерфейс VCC, GND, SDA и SCL. VCC и GND подключены к плате Arduino 5 вольт и земле соответственно.
    • Контакты SCL и SDA подключены к контактам Arduino SCL и SDA. Arduino связывается с модулем RTC.
    • 12-вольтовое реле подключено к цифровому контакту Arduino № 11.

    ЭКСПЛУАТАЦИЯ:

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

    Arduino считывает текущее время с модулей RTC.

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

    , когда текущее время и установленное время не совпадают. когда они не совпадают, он включает реле и посылает высокий уровень логики на цифровой контакт (11).

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

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