Что такое DS1307 и как его использовать. Как подключить DS1307 к микроконтроллеру. Как программировать DS1307 на C. Какие основные функции DS1307.
Что такое DS1307 и его основные характеристики
DS1307 — это микросхема часов реального времени с интерфейсом I2C. Основные характеристики:
- Хранит информацию о секундах, минутах, часах, дне недели, дате, месяце и годе
- Автоматически учитывает високосные годы
- Работает в 24-часовом или 12-часовом формате с индикатором AM/PM
- Имеет встроенную схему контроля питания
- Автоматически переключается на батарейное питание при отключении основного
- 56 байт энергонезависимой памяти для хранения данных
- Программируемый выход меандра
Назначение выводов DS1307
DS1307 имеет 8 выводов:
- VCC — питание +5В
- GND — земля
- SDA — линия данных I2C
- SCL — линия тактирования I2C
- SQW/OUT — выход меандра/управляемый выход
- X1, X2 — выводы для подключения кварцевого резонатора 32.768 кГц
- VBAT — вход резервного питания от батареи
Как подключить DS1307 к микроконтроллеру
Для подключения DS1307 к микроконтроллеру необходимо:
- Подать питание +5В на вывод VCC и GND
- Подключить линии SDA и SCL к соответствующим выводам I2C микроконтроллера
- Подключить кварцевый резонатор 32.768 кГц к выводам X1 и X2
- Подключить батарею 3В к выводу VBAT для резервного питания
- При необходимости подключить выход SQW/OUT
Регистры DS1307 и их назначение
DS1307 имеет следующие основные регистры:
- 00h — секунды
- 01h — минуты
- 02h — часы
- 03h — день недели
- 04h — дата
- 05h — месяц
- 06h — год
- 07h — регистр управления
Регистры хранят информацию в BCD-формате. Бит 7 регистра секунд управляет остановкой тактового генератора.
Как программировать DS1307 на языке C
Для работы с DS1307 на C необходимо реализовать следующие основные функции:- Инициализация шины I2C
- Запись байта данных по адресу регистра
- Чтение байта данных из регистра
- Преобразование BCD в двоичный формат и обратно
- Установка/чтение времени и даты
Примеры базовых функций для работы с DS1307:
«`c #includeЭти базовые функции позволяют инициализировать связь с DS1307, читать и записывать данные в его регистры, а также конвертировать значения между BCD и двоичным форматом.
Основные функции DS1307 и их применение
DS1307 предоставляет следующие основные функции:
- Хранение и отсчет текущего времени и даты
- Автоматический учет високосных лет
- Переключение на резервное питание при отключении основного
- Генерация прямоугольных импульсов заданной частоты
- Хранение пользовательских данных в энергонезависимой памяти
Эти функции позволяют использовать DS1307 в различных приложениях, требующих точного отсчета времени и сохранения данных при отключении питания.
Типичные области применения DS1307
DS1307 часто используется в следующих областях:
- Промышленная автоматизация для регистрации событий с меткой времени
- Потребительская электроника (часы, будильники, таймеры)
- Системы контроля доступа с журналированием времени
- Регистраторы данных с привязкой ко времени
- Системы учета энергопотребления
- Автомобильные системы (бортовые компьютеры, тахографы)
Преимущества и недостатки DS1307
Преимущества DS1307:
- Простой интерфейс I2C
- Низкое энергопотребление в режиме батарейного питания
- Встроенная схема переключения на резервное питание
- Дополнительная энергонезависимая память
- Широкий диапазон рабочих температур
Недостатки DS1307:
- Относительно низкая точность хода (до ±2 минут в месяц)
- Отсутствие температурной компенсации
- Ограниченный диапазон годов (до 2100 года)
Альтернативы DS1307 и их сравнение
Существуют альтернативные микросхемы часов реального времени:
- DS3231 — более точные часы с температурной компенсацией
- PCF8563 — низкопотребляющие часы от NXP
- RV-3028-C7 — ультра-низкопотребляющие часы от Micro Crystal
- MCP7940N — часы с батарейным питанием от Microchip
При выборе альтернативы следует учитывать требования к точности, энергопотреблению и дополнительным функциям для конкретного приложения.
Советы по эффективному использованию DS1307
Для оптимальной работы с DS1307 рекомендуется:
- Использовать качественный кварцевый резонатор для повышения точности
- Регулярно синхронизировать время с эталонным источником
- Учитывать саморазряд батареи при длительном хранении устройства
- Использовать подтягивающие резисторы на линиях SDA и SCL
- Правильно инициализировать DS1307 при первом включении
Соблюдение этих рекомендаций поможет обеспечить надежную и точную работу часов реального времени в вашем устройстве.
Ds1307 описание на русском
Автор: Сергей · Опубликовано 24.11.2016 · Обновлено 28.06.2019
DS1307 это небольшой модуль, предназначенный для подсчета времени. Собранный на базе микросхемы DS1307ZN с реализацией питания от литиевой батарейки (LIR2032), что позволяет работать автономно в течение длительного времени. Также на модуле, установлена энергонезависимая память EEPROM объемом 32 Кбайт (AT24C32). Микросхема AT24C32 и DS1307ZN связаны обшей шиной интерфейсом I2C.
► Напряжение питания: 5В
► Рабочая температура: – 40℃ … + 85℃
► Память: 56 байт (энергонезависимая)
► Батарейка: LIR2032 (автоматическое определение источника питания)
► Интерфейса: I2C
► Габариты: 28мм х 25мм х 8 мм
Использовании модуля DS1307 зачастую очень оправдано, например, когда данные считываются редко, интервалом более недели, использовать собственные ресурсы контроллера, неоправданно или невозможно. Обеспечивание бесперебойное питание, например платы Arduino, на длительный срок дорого, даже при использовании батареи.
Благодаря собственной памяти и автономностью, можно регистрировать события, (при автономном питании) например изменение температуры и так далее, данные сохраняются в памяти их можно считать из памяти модуля. Так что модуль DS1307 часто используют, когда контроллерам Arduino необходимо знать точное время, для запуска какого то события и так далее.
Обмен данными с другими устройствами осуществляется по интерфейсу I2C с выводов SCL и SDA. Конденсаторы С1 и С2 необходимы для снижения помех по линию питания. Чтобы обеспечить надлежащего уровня сигналов SCL и SDA установлены резисторы R2 и R3 (подтянуты к питанию). Для проверки работоспособности модуля, на вывод 7 микросхему DS1307Z, подается сигнал SQ, прямоугольной формы с частотой 1 Гц. Элементы R4, R5, R6, VD1 необходимы для подзарядку литиевой батарейки. Так же, на плате предусмотрено посадочное место (U1), для установки датчика температуры DS18B20 (при необходимости можно впаять его), считывать показания, можно с вывода DS, который подтянут к пиатнию, через резистор R1 сопротивлением 3.
На плате расположено две группы контактов, шагом 2.54 мм, для удобного подключения к макетной плате, буду использовать штырьевые разъемы, их необходимо впаять.
Первая группа контактов:
► DS: вывод DS18B20 (1-wire)
► SCL: линия тактирования (Serial CLock)
► SDA: линия данных (Serial Dфta)
► VCC: «+» питание модуля
► GND: «-» питание модуля
Вторая группа контактов:
► SQ: вход 1 МГц
► DS: вывод DS18B20 (1-wire)
► SCL: линия тактирования (Serial CLock)
► SDA: линия данных (Serial Dфta)
► VCC: «+» питание модуля
► BAT:
Подзарядка батареи
Как описывал ваше модуль может заряжать батарею, реализовано это, с помощью компонентов R4, R5, R6 и диода D1. Но, данная схема имеет недостаток, через резистор R4 и R6 происходит разряд батареи (как подметил пользователь ALEXEY, совсем не большой). Так как модуль потребляем незначительный ток, можно удалить цепь питания, для этого убираем R4, R5, R6 и VD1, вместо R6 поставим перемычку (после удаления компонентов, можно использовать обычную батарейку CR2032).
Необходимые детали:
► Arduino UNO R3 x 1 шт.
► Провод DuPont, 2,54 мм, 20 см x 1 шт.
► Кабель USB 2.0 A-B x 1 шт.
► Часы реального времени RTC DS1307 x 1 шт.
Подключение:
Для подключения часы реального времени DS1307, необходимо впаять впаять штыревые разъемы в первую группу контактов. Далее, подключаем провода SCL (DS1307) к выводу 4 (Arduino UNO) и SDA (DS1307) к выводу 5 (Arduino UNO), осталось подключить питания VCC к +5V и GND к GND.
Установка времени DS1307
Первым делом, необходимо скачать и установить библиотеку «DS1307RTC» и «TimeLib» в среду разработки IDE Arduino, далее необходимо настроить время, открываем пример из библиотеки DS1307RTC «Файл» —> «Примеры» —> «DS1307RTC» —> «SetTime» или копируем код снизу.
Микросхема DS1307 предназначена для счета времени — секунд, минут, часов, дней, месяцев и лет. То есть по сути, это часы с календарем.
Она тактируется от собственного кварцевого генератора с частотой 32768 Гц и может работать от двух источников питания — основного и резервного. Важная фишка этой микросхемы заключается в низком потреблении — меньше 500 nA в рабочем режиме. При таком потреблении DS1307 может проработать от трехвольтовой батарейки (типа CR2032 емкостью
200 мА*ч) несколько лет. Также DS1307 может генерировать на одном из выводов меандр и в ее составе есть 56 байт оперативной памяти, которую можно использовать для хранения данных.
Минимальная схема подключения DS1307 включает в себя часовой кварц и один источник питания. Обмен данными с микросхемой осуществляется по I2C, причем DS1307 может работать на шине только как подчиненное устройство (слейвом).
Подключение любой микросхемы начинается с изучения даташита. В случае DS1307 нам нужно выяснить: какую скорость обмена поддерживает микросхема, какой она имеет адрес, как выглядит карта памяти, есть ли у нее управляющие биты или регистры, как передать данные и как прочитать их. Ниже приведены скриншоты из даташита, в которых я нашел требуемую информацию.
Скорость обмена DS1307
Адрес, по которому DS1307 отзывается на I2C шине
Карта памяти DS1307
Карта памяти показывает, по каким адресам расположены регистры микросхемы и сколько их вообще.
По нулевому адресу располагается регистр секунд. Младшие 4 разряда регистра отведены для единиц, там может быть число от 0 до 9. Старшие — для десятков секунд.
Это так называемый двоично-десятичный формат представления чисел (BCD).При таком формате один байт может представить числа только от 0 до 99. Остальные регистры часов и календаря содержат данные в таком же формате.
7-й разряд регистра секунд — управляющий. 0 в этом разряде разрешает работу часов, 1 — запрещает. При подачи питания этот разряд устанавливается в 1.
По первому адресу расположен регистр минут. С ним все понятно.
По второму адресу располагается регистр часов. 6-й бит этого регистра задает формат представления времени. Если он установлен в 1 используется 12 часовой формат, если сброшен -24 часовой.
Далее идут регистры календаря.
По седьмому адресу располагается регистр, управляющий выводом SQW. На него можно выводить внутренний тактовый сигнал разной частоты. Значения битов описаны в даташите. Нас они сейчас не интересуют.
Ну и адреса с 8 по 63-й отведены для оперативной памяти. Их можно использовать для хранения данных.
Как записать данные в DS1307
DS1307 может работать в двух режимах: как подчиненный приемник и как подчиненный передатчик. В первом режиме ведущее устройство передает DS1307 данные, а DS1307 принимает их. Во втором — ведущее устройство принимает от DS1307 данные, а та в свою очередь передает их. (Но обмен в обоих случаях начинает ведущий!)
Для каждого режима в даташите есть описание и диаграмма обмена. Запись данных выполняется согласно следующей последовательности.
1. Ведущий формирует на шине состояние СТАРТ.
2. Ведущий выдает на шину адрес DS1307 с нулевым битом квитирования (адресный пакет), что сигнализирует ведомому о последующей записи данных.
3. Если на шине присутствует микросхема DS1307, она отвечает ведущему — ACK.
4. После получения ответа ведущий передает DS1307 адрес регистра, с которого начнется запись данных. Это значение записывается во внутренний счетчик адреса DS1307.
5. DS1307 снова отвечает ведущему.
6. Получив ответ, ведущий передает ведомому байт данных, который предназначен для записи в регистр DS1307.
7. DS1307 отвечает ведущему.
8. Шаги 6, 7 повторяются несколько раз.
9. Ведущий формирует на шине состояние СТОП.
Адрес, по которому выполняется запись в DS1307, автоматически увеличивается на единицу. Дойдя до последнего адреса, счетчик обнуляется. Записывать можно любое число байт — хоть один, хоть все.
Как прочитать данные из DS1307
1. Ведущий формирует на шине состояние СТАРТ.
2. Ведущий выдает на шину адрес DS1307 с установленным битом квитирования, что сигнализирует ведомому о последующем чтении данных.
3. DS1307 отвечает ведущему.
4. DS1307 передает ведущему байт данных, на который указывает внутренний счетчик адреса.
5. Ведущий отвечает, что принял данные.
6 . Шаги 4, 5 повторяются несколько раз.
7. DS1307 передает ведущему байт данных.
7. Ведущий неформирует ответ DS1307.
8. Ведущий выдает на шину состояние СТОП.
Поскольку чтение данных выполняется по адресу внутреннего счетчика, его значение нужно предварительно инициализировать. Это делается с помощью операции записи, которая обрывается после передачи адреса регистра.
Теперь можно перейти к коду. Нам понадобится минимум три функции:
— функция инициализации,
— функция записи данных,
— функция чтения данных.
Инициализация
Скорость задается с помощью макроса TWBR_VALUE. Здесь используется формула, разобранная в предыдущей части. При компиляции расчетное значение проверяется с помощью директив препроцессора, чтобы убедиться, что оно не выходит за диапазон.
Передача данных
Передача данных начинается с состояния СТАРТ. Чтобы сформировать его, нужно включить TWI модуль, установить бит TWSTA и сбросить флаг прерывания TWINT. Это выполняется в одну строчку, записью в управляющий регистр TWCR.
Когда микроконтроллер выдаст на шину состояние СТАРТ, установится бит TWINT и в статусном регистре TWSR изменится статусный код. Микроконтроллер должен дождаться установки бита TWINT, прежде чем перейдет к следующей операции. Ожидание в нашем случае выполняется циклическим опросом (тупо поллингом .. не путать с троллингом).
Каждая установка бита TWINT сопровождается определенным статусным кодом в регистре TWSR. По хорошему, мы должны проверять эти коды, чтобы контролировать успешность операций. Но поскольку код у нас торный (учебный), мы не будем этого делать.
Далее на шину нужно выдать адресный пакет. В регистр данных TWDR загружаем адрес, а бит квитирования устанавливаем нулевым. После загрузки адреса сбрасываем бит TWINT, инициируя дальнейшую работу TWI модуля, и дожидаемся, когда она завершится, опрашивая TWINT.
Посылаем на шину адрес, с которого будет производиться запись в DS1307. Для этого загружаем в регистр данных требуемое значение, сбрасываем бит TWINT и дожидаемся его установки.
Далее можно гнать остальные данные таким же методом, а когда надоест выдать на шину состояние СТОП.
Полный код функции записи будет выглядеть примерно так.
С помощью этой функции можно производить запись отдельных регистров и инициализировать внутренний регистр адреса DS1307 для последующей операции чтения данных. Пример использования функции есть в тестовых проектах.
Чтение данных из DS1307
Формируем состояние СТАРТ.
Посылаем на шину адресный пакет — адрес и установленный бит квитирования.
Получаем данные. Сбрасываем бит TWINT, инициирую работу TWI модуля. Бит TWEA должен быть установлен в 1, чтобы ведущее устройство сигнализировало ведомому о приеме очередного байта.
Когда бит TWINT снова установится в 1, в регистре данных будет байт принятый от ведомого.
Далее можно продолжать чтение или принять данные без подтверждения и выдать состояние СТОП.
Полный код функции чтения одного байта данный из DS1307 будет выглядеть примерно так.
Как обычно тестовый проект, объединяющий все выше сказанное. Программа простая. Инициализируем периферию, загружаем в DS1307 начальное значение. Далее в цикле считываем временя и выводим на LCD. Для общения с DS1307 используются всего три функции.
Остальные проекты выложу позже.
В следующих частях будет разбор работы со статусными кодами, а далее работа с TWI модулем через прерывания.
Автор: AntonChip. Дата публикации: 30 сентября 2012 .
DS1307 — микросхема часов реального времени с интерфейсом I2C(TWI). Часы / календарь хранят следующую информацию: секунды, минуты, часы, день, дату, месяц и год. Конец месяца автоматически подстраивается для месяцев, в которых менее 31 дня, включая поправку для високосного года. Часы работают в 24-часовом или 12-часовом формате с индикатором AM/PM. DS1307 имеет встроенную схему контроля питания, которая обнаруживает пропадание питания и автоматически переключает схему на питание от батареи.
Vbat — вход батареи для любого стандартного 3 Вольтового литиевого элемента или другого источника энергии. Для нормальной работы напряжение батареи должно поддерживаться между 2.5 и 3.5 В. Уровень, при котором запрещён доступ к часам реального времени и пользовательскому ОЗУ, установлен внутренней схемой равным 1.25 x Vbat. Литиевая батарея ёмкостью 35 mAh или больше достаточна для питания DS1307 в течение более чем 10 лет при отсутствии питания.
SCL (Последовательный Тактовый Вход) — SCL используется, чтобы синхронизировать передачу данных через последовательный интерфейс.
SDA (Вход/Выход Последовательных Данных) — SDA — вход / выход данных для 2-проводного последовательного интерфейса. Это выход с открытым стоком, который требует внешнего притягивающего резистора.
SQW/OUT (Меандр / Выходной Драйвер) — Когда бит SQWE установлен в 1, на выходе SQW/OUT вырабатываются импульсы в форме меандра одной из четырех частот: 1 Гц., 4 кГц., 8 кГц., 32 кГц. Вывод SQW/OUT — с открытым стоком, требует внешнего притягивающего резистора.
X1, X2 — выводы для подключения стандартного кристалла кварца 32.768 кГц. Внутренняя схема генератора рассчитана на работу с кристаллом, имеющим номинальную емкость (CL) 12.5 пФ.
GND – Земля.
VCC – питание 5 вольт.
DS1307 работает как ведомое устройство на последовательной шине. Для доступа к нему надо установить состояние START и передать код идентификации устройства, сопровождаемый адресом регистра. К последующим регистрам можно обращаться последовательно, пока не установлено состояние STOP. Когда VСС падает ниже 1.25 x Vbat, устройство прекращает связь и сбрасывает адресный счетчик. В это время оно не будет реагировать на входные сигналы, чтобы предотвратить запись ошибочной информации. Когда VСС падает ниже Vbat, устройство переключается в режим хранения с низким потреблением. При включении питания устройство переключает питание с батареи на VСС, когда напряжение питания превысит Vbat + 0.2V, и реагирует на входные сигналы, когда VСС станет более 1.25 x Vbat. Когда питание находится в пределах нормы, устройство полностью доступно, и данные могут быть записаны и считаны. Когда к устройству подключена трёхвольтовая батарея и VСС ниже 1.25 x Vbat, чтение и запись запрещены. Однако отсчёт времени при этом работает. Когда VСС падает ниже Vbat, питание ОЗУ и отсчёта времени переключается на внешнюю батарею 3 В.
Информацию о времени и дате получают, считывая соответствующие регистры. Регистры часов показаны в таблице ниже. Время и календарь устанавливаются или инициализируются путём записи байтов в соответствующие регистры. Содержание регистров времени и календаря хранится в двоично-десятичном (BCD) формате, поэтому перед выводом информации на LCD дисплей или семисегментный индикатор необходимо преобразовать двоично-десятичный код в двоичный или ANSII — код.
Бит 7 регистра 0 — это бит остановки хода часов (Clock Halt). Когда этот бит установлен в 1, генератор остановлен. Когда сброшен в ноль, генератор работает, а часы считают время.
DS1307 может работать в 12-часовом или 24-часовом режиме. Бит 6 регистра часов задаёт один из этих режимов. Когда он равен 1, установлен 12-часовой режим. В 12-часовом режиме высокий уровень бита 5 сообщает о послеполуденном времени. В 24-часовом режиме бит 5 — второй бит 10 часов (20-23 часа).
Регистр управления DS1307 предназначен для управления работой вывода SQW/OUT. Бит OUT — управление выходом. Этот бит управляет выходным уровнем на выводе SQW/OUT, когда генерация меандра запрещена. Если SQWE = 0, логический уровень на выводе SQW/OUT равен 1, если OUT = 1, и 0 — если OUT = 0. SQWE — Разрешение меандра. Когда этот бит установлен в 1, разрешается генерация меандра. Частота меандра зависит от значений битов RS0 и RS1. Эти биты управляют частотой меандра, когда его генерация разрешена. В таблице ниже показаны частоты, которые могут быть заданы RS битами.
DS1307 поддерживает двунаправленные 2-проводную шину и протокол передачи данных. Устройство, которое посылает данные на шину, называется передатчиком, а устройство, получающее данные — приемником. Устройство, которое управляет передачей, называется ведущим. Устройства, которые управляются ведущим — ведомые. Шина должна управляться ведущим устройством, которое вырабатывает последовательные такты (SCL), управляет доступом к шине, и генерирует состояния СТАРТ и СТОП. DS1307 работает как ведомое на 2-х проводной шине.
Для работы с DS1307 необходимо организовать функцию чтения из микросхемы и функцию записи.
1. Режим записи в DS1307. Последовательные данные и такты получены через SDA и SCL. После передачи каждого байта передаётся подтверждающий бит ASK. Состояния START и STOP опознаются как начало и конец последовательной передачи. Распознавание адреса выполняется аппаратно после приема адреса ведомого и бита направления. Байт адреса содержит семибитный адрес DS1307, равный 1101000, сопровождаемым битом направления (R/W), который при записи равен 0. После получения и расшифровки байта адреса DS1307 выдаёт подтверждение ASK на линии SDA. После того, как DS1307 подтверждает адрес ведомого и бит записи, ведущий передает адрес регистра DS1307. Тем самым будет установлен указатель регистра в DS1307. Тогда ведущий начнет передавать байты данных в DS1307, который будет подтверждать каждый полученный байт. По окончании записи ведущий сформирует состояние STOP.
2. Режим чтения из DS1307. Первый байт принимается и обрабатывается как в режиме ведомого приёмника. Однако в этом режиме бит направления укажет, что направление передачи изменено. Последовательные данные передаются по SDA от DS1307, в то время как последовательные такты — по SCL в DS1307. Состояния START и STOP опознаются как начало и конец последовательной передачи. Байт адреса — первый байт, полученный после того, как ведущим сформировано состояние START. Байт адреса содержит семибитный адрес DS1307, равный 1101000, сопровождаемым битом направления (R/W), который при чтении равен 1. После получения и расшифровки байта адреса DS1307 выдаёт подтверждение ASK на линии SDA. Тогда DS1307 начинает передавать данные, начинающиеся с адреса регистра, на которые указывает указатель регистра. Если указатель регистра не записан перед инициированием режима чтения, то первый адрес, который читается — это последний адрес, оставшийся в указателе регистра. DS1307 должен получить неподтверждение NOASK, чтобы закончить чтение.
Рассмотрим особенности работы с DS1307 на примере простых часов, которые будут показывать часы, минуты и секунды. Данные будут выводиться на LCD дисплей 16х2. Две кнопки «Часы+» и «Минуты+» позволят подвести нужное время. Микроконтроллер Atmega 8 тактируется от внутреннего генератора частотой 1 MHz, поэтому не забудьте поменять фьюзы. Ниже представлена схема подключения.
Управляющая программа включает в себя наборы функций работы с шиной TWI, часами DS1307, LCD дисплеем.
I2CInit — инициализация шины;
I2CStart — передача условия START;
I2CStop — передача условия STOP;
I2CWriteByte — запись данных;
I2CReadByte — чтение данных;
DS1307Read — функция чтения данных из DS1307;
DS1307Write — Функция записи данных в DS1307;
lcd_com — передача команды в LCD;
lcd_data — передача данных в LCD;
lcd_string — функция вывода строки в LCD;
lcd_num_to_str — функция вывода символа типа int;
lcd_init — инициализация LCD.
Ниже представлен код программы:
Установка fuse-битов микроконтроллера
DS1307 Datasheet Rus
DS1307
Техническое
описание
http://piclist.ru/ 3
Перевод
с
англ
. © PIClist RUS, 2007
Если
Vcc
падает
ниже
1.25 * V
BAT
, DS1307
прерывает
процесс
доступа
и
сбрасывает
счётчик
адреса
,
причем
в
это
время
внешние
сигналы
не
воспринимаются
(
чтобы
предотвратить
запись
ошибочных
данных
).
Если
Vcc
падает
ниже
V
BAT
, DS1307
переключается
в
низкоточный
режим
батарейной
поддержки
.
При
включении
питания
DS1307
переключается
от
батареи
к
Vcc,
когда
значение
Vcc
превышает
V
BAT
+ 0.2
В
.
Входящие
сигналы
начинают
восприниматься
тогда
,
когда
Vcc
превышает
1.25 * V
BAT
.
Блок
—
схема
на
Рис
. 1
показывает
основные
элементы
RTC
с
последовательным
интерфейсом
.
Рис
. 1.
Блок
—
схема
DS1307
Описание
выводов
Vcc
,
GND
–
на
эти
выводы
подается
питание
. Vcc –
это
вход
+5
В
.
Когда
питающее
напряжение
выше
1.25 * V
BAT
,
устройство
полностью
доступно
,
и
можно
выполнять
чтение
и
запись
данных
.
Когда
к
устройству
подключена
батарея
на
3
В
,
и
Vcc
ниже
,
чем
1.25 * V
BAT
,
чтение
и
запись
запрещены
,
однако
функция
отсчёта
времени
продолжает
работать
.
Как
только
Vcc
падает
ниже
V
BAT
,
ОЗУ
и
RTC
переключаются
на
батарейное
питание
V
BAT
.
V
BAT
–
вход
для
любой
стандартной
трёхвольтовой
литиевой
батареи
или
другого
источника
энергии
.
Для
нормальной
работы
DS1307
необходимо
,
чтобы
напряжение
батареи
было
в
диапазоне
2.0 … 3.5
В
.
Литиевая
батарея
с
ёмкостью
48
мА
/
ч
или
более
при
отсутствии
питания
будет
поддерживать
DS1307
в
течение
более
10
лет
при
температуре
25°C.
SCL
(Serial Clock Input —
вход
последовательных
синхроимпульсов
) –
используется
для
синхронизации
данных
по
последовательному
интерфейсу
.
SDA
(Serial Data Input/Output —
вход
/
выход
последовательных
данных
) –
вывод
входа
/
выхода
для
двухпроводного
последовательного
интерфейса
.
Вывод
SDA –
с
открытым
стоком
и
требует
внешнего
подтягивающего
резистора
.
SQW/OUT
(Square Wave/Output Driver —
сигнал
с
прямоугольными
импульсами
) –
когда
включен
,
т
.
е
.
бит
SQWE
установлен
в
1,
вывод
SQW/OUT
выдаёт
прямоугольные
импульсы
с
одной
из
четырёх
M41t56 описание на русском – Тарифы на сотовую связь
82 пользователя считают данную страницу полезной.
Информация актуальна! Страница была обновлена 16.12.2019
Максимально сохранена преемственность с предыдущей версией. Для перехода на новую версию достаточно заменить контроллер на Mega168. Для возможности дистанционного управления необходимо установить приемник IR. Его можно разместить на отдельной плате, соединив всего тремя проводами. При повторении устройства, все же рекомендуется использовать RTC M41T56 вместо DS1307.
Схема:
(Для увеличения, «кликните» мышкой на изображении)
Внешний вид:
Существенно проработан вывод на дисплей информации. Обновление информации происходит по мере необходимости, что, в свою очередь, позволило избежать мерцания дисплея. Это особо важно для инверсных LCD и, мы надеемся, для люминесцентных индикаторов.
Скины теперь хранятся в eep.
Поддерживаются три языка: русский, украинский, английский. При прошивке для каждого языка должно быть соответствия языковых hex и eep файлов.
Применение парных скинов позволяет выводить больше информации на дисплей.
Создано четыре парных скина для трех языков.
Предусмотрена быстрая смена скинов. При нажатии и удержании кнопки «Подсветка» и нажатии кнопки «Вверх» или «Вниз» происходит смена скина на номер вперед или назад соответственно.
В меню часов отображается версия hex и eep.
Для редактирования, создания «индивидуальных» скинов разработана отдельная программа SkinEdit, которая создает bin файл для проверки в Proteus и eep файл для прошивки в Mega168.
Будильники:
Подсчет и отображение на дисплее количества установленных на текущий день будильников.
Добавлен будильник «мигание подсветкой».
При установке будильников можно выбрать, как сработает будильник:
– пищалка;
– «музыкальная открытка»;
– мигание подсветкой;
– установка «высокого» уровня на порту «управление нагрузкой»;
– установка «низкого» уровня на порту «управление нагрузкой».
Оперативный просмотр установленных будильников на сегодня – кнопка «вниз»
или на завтра – кнопка «вверх»
Выход из просмотра установленных будильников кнопкой «Esc» или по истечении 1 минуты.
Коррекция хода часов:
Корректировка точности хода, в текущей версии, составляет от -5.5 до +5.5 секунды/сутки. Реализовано автоопределение типа микросхемы RTC. В зависимости от микросхемы RTC, используются разные способы корректировки точности хода часов:
– Если установлена микросхема RTC DS1307, то корректировка происходит в два этапа:
1). Один раз в сутки, в 23:57 (о чем выводится соответствующая надпись на дисплее) происходит корректировка на ближайшее, от установленного значения, целое количество секунд.
2). Один раз в десять суток в 23:57 осуществляется дополнительная корректировка обеспечивающая точность хода до 0.1 секунды/сутки в среднем за 10 дней. Десятидневный счетчик обнуляется каждый раз, как только пользователь изменит значение корректировки.
Примечание: 1). Во время проведения коррекции, часы не реагируют на внешние раздражители. 2). На промежуток времени с 23:56 до 23:59 установлен запрет на установку будильников.
– Если установлена микросхема RTC M41T56, то корректировка осуществляется с использованием встроенных возможностей самой микросхемы. Корректировка распределена на протяжении суток, а так же работает при отсутствии питания, т.е. при питании от резервной батареи.
Система инфракрасного контроля «sIRCo»
Поддерживается дистанционное управление от пульта по протоколу RC5 (поддержка других протоколов в разработке).
Для управления и синхронизации часов с компьютером разработана система инфракрасного контроля «sIRCo». Аппаратная часть основана на USB устройстве, которое управляется контроллером ATTiny45. Программная часть позволяет управлять часами так же, как с пульта дистанционного управления или кнопками часов, а также осуществить синхронизацию времени и даты в часах со временем и датой компьютера.
Примечания:
1. Jmp1. Jmp4 предназначены для программирования ATTINY в готовом устройстве,
2. При программировании контроллера:
– перемычки Jmp1, Jmp2 и Jmp3 снять;
– перемычку Jmp4 установить, или программировать до установки VD5, IR.
Прошивку, варианты схем, разводку печатных плат, драйвер устройства, программу «sIRCo» можно скачать здесь.
Ряд других, не видимых, оптимизаций, усовершенствований, которые, мы надеемся, обеспечат приятную и комфортную работу Вашего устройства…
Fuse для прошивки микроконтроллеров, применяемых в часах.
Fuse микроконтроллера ATMega168 для некоторых программаторов и программ:
Fuse микроконтроллера ATTiny45 для некоторых программаторов и программ:
Внешний вид часов:
Скачать:
HEX файл: Русский (
13kB), Украинский (
13kB), Английский (
Вся документация проекта, включая большинство datasheet используемых компонентов, здесь (
С уважением: Автор проекта – Даниил Перваков (Danko)
Автор статьи – Николай Ланчак (NickNI)
Краткое описание
Я не буду останавливаться на работе шины IIC, отмечу только что обе микросхемы имеет адрес 0xd0. Для работы с временем микросхемы содержат семь регистров счета и регистр управления. Регистры счета содержат числа в двоично-десятичном формате, однако некоторые биты имеют особое значение.
Регистры
xxx — значение бита не определено.
функция | индекс | биты | возможные значения | |||||||
---|---|---|---|---|---|---|---|---|---|---|
7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | |||
секунды | 0x00 | ST | десятки секунд | единицы секунд | 0 — 59 | |||||
минуты | 0x01 | xxx | десятки минут | единицы минут | 0 — 59 | |||||
часы | 0x02 | SEB | SB | десятки часов | единицы часов | 0 — 23 | ||||
день | 0x03 | xxx | xxx | xxx | xxx | xxx | день недели | 1 — 7 | ||
день месяца | 0x04 | xxx | xxx | десятки дня | единицы дня | 1 — (28|29|30|31) | ||||
месяц | 0x05 | xxx | xxx | xxx | дес | единицы месяца | 1 — 12 | |||
год | 0x06 | десятки года | единицы года | 0 — 99 | ||||||
регистр управления | 0x07 | OUT | FT | S | величина коррекции | – |
бит | после сброса | описание |
---|---|---|
ST | x | При записи 1 в этот бит генератор останавливается |
CEB | x | Когда бит CEB (Century Enable Bit) установлен, то при достижении нового века бит CB (Century Bit) поменяет значение на противоположное. |
CB | x | |
OUT | 1 | Когда биты OUT (OUTput level) и FT (Frequency Test) равны нулю, вывод FT/OUT прижимается к земле. При FT=1 на выводе FT/OUT 512 Гц и бит OUT не имеет значения. |
FT | 0 | |
S | x | Знак калибровки хода RTC. |
Различия начинаются в назначении битов 7, 6 и 5 регистра часов. В M41T56 биты 7 и 6 используются для индикации перехода в новое столетие, а биты 5 и 4 используются для счета десятков часов. Причем счет часов возможен только в режиме 24, режим AM/PM недоступен. В DS1307 бит 7 не используется, ноль в бите 6 указывает, что используется режим счета 24 и этом случае биты 5 и 4 содержат десятки часов. Если в бите 6 единица, то бит 5 становится флагом AM/PM, а бит 4 содержит десятки часов.
Существенные отличия есть в регистре управления, которой содержит слово коррекции хода.
Коррекция хода
M41T56 позволяет компенсировать погрешность кварцевого резонатора в диапазоне от -62 до +124 ppm, что дает отклонение не более чем ±5 секунд за месяц. За компенсацию отвечают шесть младших битов управляющего регистра. Биты 4-0 содержат целое число без знака величины коррекции, а бит 5 задает направление коррекции. Если бит 5 содержит ноль, то ход замедляется с шагом 2.034 ppm, в противном случае RTC ускоряется с шагом 4.068 ppm. Это неудобно, поэтому я набросал пару простых функций для преобразования из ppm в слово коррекции и обратно.
Детектирование сбоев
Ни DS1307, но M41T56 не умеют детектировать сбои генерации, но гарантируют, что при включении питания некоторые биты будут в определенном состоянии. M41T56 при включении в управляющем регистре будет 10xxxxxx. Для отслеживания сбоев в программе можно придерживаться следующего алгоритма. Если при включении микроконтроллера регистр управления RTC содержит 10xxxxxx, значит был сбой питания и в регистр нужно записать значение, старшие биты которого не равны 10. Самое простое — записать слово коррекции с битами 7 и 6 равными нулю.
Классика для часов реального времени.
Назначение выводов:
Функциональная схема:
Назначение регистров:
Функция чтения данных времени из M41T56
Функция сохранения данных
Функции чтения и сохранения данных калибровочной константы
Функции преобразования двоично-десятичных чисел в двоичные и обратно
Простые часы на микроконтроллере AVR
Схема и программа очень простых часов на микроконтроллере AVR с использованием микросхемы реального времени DS1307
Доброго дня уважаемые радиолюбители!
Приветствую вас на сайте “Радиолюбитель“
Сегодня, уважаемые радиолюбители, вашему вниманию предлагается очень простая схема часов на микроконтроллере AVR и часов реального времени с последовательным интерфейсом I2C DS1307.
Конструкция собрана на микроконтроллере ATyni26 (просто именно этот МК был под рукой). Но вы можете применить любой другой МК, главное чтобы у него было 13 свободных входов – 11 для вывода текущего времени на четырехразрядный семисегментный светодиодный индикатор и 2 вывода – на кнопки установки и коррекции времени.
Схема часов:
В схеме применены следующие детали:
— Микроконтроллер – ATyni26 в DID корпусе
– Часы реального времени – DS1307 в DIP корпусе
– Кварц – 32,768 кГц, с входной емкостью 12 пф (можно взять с материнской платы компьютера), от этого кварца зависит точность хода часов
– резервное питание DS1307 – 3 вольтовый литиевый элемент CR2032
– 4-разрядный семисегментный светодиодный индикатор – FYQ-5641UB -21 с общим катодом (ультраяркий, голубого цвета свечения)
– все транзисторы – NPN-структуры, можно применить любые (КТ3102, КТ315 и их зарубежные аналоги), я применил ВС547С
– микросхемный стабилизатор напряжения типа 7805
– все резисторы мощностью 0,25 ватт
– полярные конденсаторы на рабочее напряжение 50 вольт
Ток потребления устройством составляет до 30 мА.
Для питания конструкции можно использовать любое ненужное зарядное устройство от телефона или подходящий блок питания с выходным напряжением 7-9 вольт.
Общение микроконтроллера с часами DS1307 происходит по шине I2C и организовано программным путем.
Батарейку резервного питания часов DS1307 можно и не ставить, но в этом случае, при пропадании напряжения в сети, текущее время придется устанавливать заново.
Печатная плата устройства не приводится, конструкция была собрана в корпусе от неисправных механических часов. Светодиод (с частотой мигания 1 Гц) служит для разделения часов и минут в конструкции.
Работа программы.
Тактовая частота работы микроконтроллера – 1 мГц (заводская установка, FUSE-биты трогать и устанавливать не надо). Размер программы – 1 килобайт.
При запуске программы происходит:
— запуск таймера Т0 с предустановленной частотой СК/8 и вызовом прерывания по переполнению (при такой предустановленной частоте вызов прерывания происходит каждые 2 миллисекунды)
– инициализация портов (порты РА0-6 и РВ0-3 настраиваются на вывод, РА7 и РВ6 на ввод)
– инициализация шины I2C (выводы РВ4 и РВ5)
– при первом запуске, или повторном запуске при отсутствии резервного питания DS307, проверяется 7 бит (СН) нулевого регистра DS1307 и происходит переход в первоначальную установку текущего времени. При этом, кнопка S1 – для установки времени, кнопка S2 – переход к следующему разряду. Установленное время – часы и минуты записываются в DS1307 (секунды устанавливаются в ноль), а также вывод SQW/OUT (7-й вывод) настраивается на генерацию прямоугольных импульсов с частотой 1 Гц
– разрешается глобальное прерывание
– программа переходит в цикл с опросом копки S2
При переполнения счетчика таймера Т0 программа переходит к обслуживанию прерывания (каждые 2 мс):
– считывается текущее время с DS1307 которое записывается в четыре переменные SRAM (десятки часов, единицы часов, десятки минут, единицы минут)
– подпрограммой вывода текущего времени производится динамическая индикация текущего времени на светодиодном индикаторе
– при нажатии кнопки S2 программа запрещает глобальное прерывание и переходит в подпрограмму коррекции времени (кнопками S1 и S2 устанавливаются десятки и единицы минут, затем, с 0 секунд, нажатием кнопки S2 происходит запись уточненного времени в DS1307, разрешение глобального прерывания и возвращение в основную программу).
Примененные в схеме часы DS1307 позволяют выводить на индикацию секунды, минуты, часы, день недели, дату и год.
Если в схеме вместо светодиодных индикаторов применить LCD дисплей, к примеру WH0802 (двухстрочный, с выводом восьми символов в строке) или аналогичный, то можно организовать полноценные часы с полным выводом текущего времени, а питание устройства организовать от гальванических элементов или аккумуляторных батарей.
Расположение выводов микроконтроллера ATyni26:
Расположение выводов DS1307:
Типовая схема подключения D1307:
Рекомендуемая схема подключения кварца к DS1307:
Общение микроконтроллера с часами реального времени DS1307 организовано программным путем, поэтому в схеме можно применить микроконтроллер у которого нет аппаратного модуля I2C.
Программа написана в среде Algorithm Builder, и если вы используете эту программную среду, то сможете ознакомиться с алгоритмом общения микроконтроллера с другими устройствами по шине I2C (в алгоритме подробно прокомментирована каждая строчка).
Даташит DS1307 на русском (312.1 KiB, 1,960 hits)
Часы на ATyni26 в Algorithm Builder (8.2 KiB, 1,891 hits)
Программа часов на ATyni26 в HEX коде (3.1 KiB, 1,751 hits)
Схема часов в формате sPlan7 (119.3 KiB, 6,976 hits)
Ds1302 описание на русском — daticleiwit’s diary
ds1302 описание на русскомds1302 описание на русском
Ds1302 описание на русском Вот смотрел какой то ADUM, там с гальванической развязкой, так та по 160 руб Решил собирать на PCA9306, почитал datasheet там пример с 1,8 В и 3,3 Для однонаправленных шин достаточно было простого делителя напряжения на резисторах, для двунаправленной же линии это решение естественно не годилось. Обзор подготовил Павел Сергеев. Формат: PDF Полностью переведённая, подробная инструкция по программе FL Studio 9 на русском языке. Сразу скажу, что корректную библиотеку можно взять. Возможно, это окажется кому то полезным. CodeVisionAVR — интегрированная среда разработки программного обеспечения для микроконтроллеров семейства Atmel AVR. Вы можете их объединить. Вот еще 1 пример -правда выполнен без библиотеки, это не всегда удобно. CodeVisionAVR включает в себя следующие компоненты: компилятор языка Си для AVR. Это самая свежая версия, дополненная всем необходимым контентом и ключами уже в архиве! Как оказалось есть и простое ds1302 описанье на русском. Есть еще схемка на копеечном полевике и паре резисторов, но у меня она как то странно себя вела, не так как нужно для транслятора уровней. Ваша работа в FL Studio 9 станет более комфортной и профессиональной. Резисторы расчитываются ds1302 описание на русском зависимости от напряжений и токов по обе стороны, методика расчета есть в даташите PCA9306. Если есть знания английского и любознательность — можно почитать. Оригинал в английском переводе. Попробовал все 3 варинта, к сожалению, всё также и осталось. Скачать Скачать Проблемы с закачкой! PCA9306 вообще не дорого. Верхний левый 15 будет анод, верхний правый 16 — катод. Правда показали они 2165 год, 45 месяц, 85 неделю. Это самая свежая версия, дополненная всем необходимым контентом и ключами уже в архиве. Можно, конечно найти и дешевле, но опять-же ждать, а ждать не хотелось. А я думал почему у меня сгорело пару DS1307 SO8. Будто адекватно настроить потрясающе виртуальную машину для ds1302 описанья на русском скачанной системы. Вы можете их объединить. Из найденных схем согласования были опробованы преобразователь на полевом транзисторе и на базе I2C преобразователя PCA9306. Можно посмотреть не только оф. Вот еще 1 пример -правда выполнен без библиотеки, это не всегда удобно. Проблемы начались, когда был загружен демоскетч и часы заработали. Скачать Скачать Проблемы с закачкой. Есть сложное решение этой проблемы. Ведь, даже работая на персональном компьютере мы изредка, да поглядываем в правый нижний угол, а вдруг уже пора на обед, или наступил конец рабочего дня, а может быть уже скоро рассвет. Поскольку DS1302 может работать от 5V, как и ATmega, сначала было решено запитать часы от основного источника 5V и напрямую подключить сигнальные линии к портам контроллера. В общем надо что-то делать. После добавления фильтрующих емкостей по питанию получилась следующая схема: Спасибо, что поделились опытом. Как оказалось есть и простое решение.
Ds1307 описание на русском
Автор: Сергей · Опубликовано 24.11.2016 · Обновлено 28.06.2019
DS1307 это небольшой модуль, предназначенный для подсчета времени. Собранный на базе микросхемы DS1307ZN с реализацией питания от литиевой батарейки (LIR2032), что позволяет работать автономно в течение длительного времени. Также на модуле, установлена энергонезависимая память EEPROM объемом 32 Кбайт (AT24C32). Микросхема AT24C32 и DS1307ZN связаны обшей шиной интерфейсом I2C.
Технические параметры► Напряжение питания: 5В
► Рабочая температура: – 40℃ … + 85℃
► Память: 56 байт (энергонезависимая)
► Батарейка: LIR2032 (автоматическое определение источника питания)
► Интерфейса: I2C
► Габариты: 28мм х 25мм х 8 мм
Использовании модуля DS1307 зачастую очень оправдано, например, когда данные считываются редко, интервалом более недели, использовать собственные ресурсы контроллера, неоправданно или невозможно. Обеспечивание бесперебойное питание, например платы Arduino, на длительный срок дорого, даже при использовании батареи.
Благодаря собственной памяти и автономностью, можно регистрировать события, (при автономном питании) например изменение температуры и так далее, данные сохраняются в памяти их можно считать из памяти модуля. Так что модуль DS1307 часто используют, когда контроллерам Arduino необходимо знать точное время, для запуска какого то события и так далее.
Обмен данными с другими устройствами осуществляется по интерфейсу I2C с выводов SCL и SDA. Конденсаторы С1 и С2 необходимы для снижения помех по линию питания. Чтобы обеспечить надлежащего уровня сигналов SCL и SDA установлены резисторы R2 и R3 (подтянуты к питанию). Для проверки работоспособности модуля, на вывод 7 микросхему DS1307Z, подается сигнал SQ, прямоугольной формы с частотой 1 Гц. Элементы R4, R5, R6, VD1 необходимы для подзарядку литиевой батарейки. Так же, на плате предусмотрено посадочное место (U1), для установки датчика температуры DS18B20 (при необходимости можно впаять его), считывать показания, можно с вывода DS, который подтянут к пиатнию, через резистор R1 сопротивлением 3. 3 кОм. Принципиальную схему и назначение контактов можно посмотреть на рисунках ниже.
На плате расположено две группы контактов, шагом 2.54 мм, для удобного подключения к макетной плате, буду использовать штырьевые разъемы, их необходимо впаять.
Первая группа контактов:
► DS: вывод DS18B20 (1-wire)
► SCL: линия тактирования (Serial CLock)
► SDA: линия данных (Serial Dфta)
► VCC: «+» питание модуля
► GND: «-» питание модуля
Вторая группа контактов:
► SQ: вход 1 МГц
► DS: вывод DS18B20 (1-wire)
► SCL: линия тактирования (Serial CLock)
► SDA: линия данных (Serial Dфta)
► VCC: «+» питание модуля
► GND:«-» питание модуля
► BAT:
Подзарядка батареи
Как описывал ваше модуль может заряжать батарею, реализовано это, с помощью компонентов R4, R5, R6 и диода D1. Но, данная схема имеет недостаток, через резистор R4 и R6 происходит разряд батареи (как подметил пользователь ALEXEY, совсем не большой). Так как модуль потребляем незначительный ток, можно удалить цепь питания, для этого убираем R4, R5, R6 и VD1, вместо R6 поставим перемычку (после удаления компонентов, можно использовать обычную батарейку CR2032).
Необходимые детали:
► Arduino UNO R3 x 1 шт.
► Провод DuPont, 2,54 мм, 20 см x 1 шт.
► Кабель USB 2.0 A-B x 1 шт.
► Часы реального времени RTC DS1307 x 1 шт.
Подключение:
Для подключения часы реального времени DS1307, необходимо впаять впаять штыревые разъемы в первую группу контактов. Далее, подключаем провода SCL (DS1307) к выводу 4 (Arduino UNO) и SDA (DS1307) к выводу 5 (Arduino UNO), осталось подключить питания VCC к +5V и GND к GND. Кстати, в различных платах Arduino вывода интерфейса I2C отличаются, назначение каждого можно посмотреть ниже.
Установка времени DS1307
Первым делом, необходимо скачать и установить библиотеку «DS1307RTC» и «TimeLib» в среду разработки IDE Arduino, далее необходимо настроить время, открываем пример из библиотеки DS1307RTC «Файл» —> «Примеры» —> «DS1307RTC» —> «SetTime» или копируем код снизу.
Микросхема DS1307 предназначена для счета времени – секунд, минут, часов, дней, месяцев и лет. То есть по сути, это часы с календарем.
Она тактируется от собственного кварцевого генератора с частотой 32768 Гц и может работать от двух источников питания – основного и резервного. Важная фишка этой микросхемы заключается в низком потреблении – меньше 500 nA в рабочем режиме. При таком потреблении DS1307 может проработать от трехвольтовой батарейки (типа CR2032 емкостью
200 мА*ч) несколько лет. Также DS1307 может генерировать на одном из выводов меандр и в ее составе есть 56 байт оперативной памяти, которую можно использовать для хранения данных.
Минимальная схема подключения DS1307 включает в себя часовой кварц и один источник питания. Обмен данными с микросхемой осуществляется по I2C, причем DS1307 может работать на шине только как подчиненное устройство (слейвом).
Подключение любой микросхемы начинается с изучения даташита. В случае DS1307 нам нужно выяснить: какую скорость обмена поддерживает микросхема, какой она имеет адрес, как выглядит карта памяти, есть ли у нее управляющие биты или регистры, как передать данные и как прочитать их. Ниже приведены скриншоты из даташита, в которых я нашел требуемую информацию.
Скорость обмена DS1307
Адрес, по которому DS1307 отзывается на I2C шине
Карта памяти DS1307
Карта памяти показывает, по каким адресам расположены регистры микросхемы и сколько их вообще.
По нулевому адресу располагается регистр секунд. Младшие 4 разряда регистра отведены для единиц, там может быть число от 0 до 9. Старшие – для десятков секунд.
Это так называемый двоично-десятичный формат представления чисел (BCD).При таком формате один байт может представить числа только от 0 до 99. Остальные регистры часов и календаря содержат данные в таком же формате.
7-й разряд регистра секунд – управляющий. 0 в этом разряде разрешает работу часов, 1 – запрещает. При подачи питания этот разряд устанавливается в 1.
По первому адресу расположен регистр минут. С ним все понятно.
По второму адресу располагается регистр часов. 6-й бит этого регистра задает формат представления времени. Если он установлен в 1 используется 12 часовой формат, если сброшен -24 часовой.
Далее идут регистры календаря.
По седьмому адресу располагается регистр, управляющий выводом SQW. На него можно выводить внутренний тактовый сигнал разной частоты. Значения битов описаны в даташите. Нас они сейчас не интересуют.
Ну и адреса с 8 по 63-й отведены для оперативной памяти. Их можно использовать для хранения данных.
Как записать данные в DS1307
DS1307 может работать в двух режимах: как подчиненный приемник и как подчиненный передатчик. В первом режиме ведущее устройство передает DS1307 данные, а DS1307 принимает их. Во втором – ведущее устройство принимает от DS1307 данные, а та в свою очередь передает их. (Но обмен в обоих случаях начинает ведущий!)
Для каждого режима в даташите есть описание и диаграмма обмена. Запись данных выполняется согласно следующей последовательности.
1. Ведущий формирует на шине состояние СТАРТ.
2. Ведущий выдает на шину адрес DS1307 с нулевым битом квитирования (адресный пакет), что сигнализирует ведомому о последующей записи данных.
3. Если на шине присутствует микросхема DS1307, она отвечает ведущему – ACK.
4. После получения ответа ведущий передает DS1307 адрес регистра, с которого начнется запись данных. Это значение записывается во внутренний счетчик адреса DS1307.
5. DS1307 снова отвечает ведущему.
6. Получив ответ, ведущий передает ведомому байт данных, который предназначен для записи в регистр DS1307.
7. DS1307 отвечает ведущему.
8. Шаги 6, 7 повторяются несколько раз.
9. Ведущий формирует на шине состояние СТОП.
Адрес, по которому выполняется запись в DS1307, автоматически увеличивается на единицу. Дойдя до последнего адреса, счетчик обнуляется. Записывать можно любое число байт – хоть один, хоть все.
Как прочитать данные из DS1307
1. Ведущий формирует на шине состояние СТАРТ.
2. Ведущий выдает на шину адрес DS1307 с установленным битом квитирования, что сигнализирует ведомому о последующем чтении данных.
3. DS1307 отвечает ведущему.
4. DS1307 передает ведущему байт данных, на который указывает внутренний счетчик адреса.
5. Ведущий отвечает, что принял данные.
6 . Шаги 4, 5 повторяются несколько раз.
7. DS1307 передает ведущему байт данных.
7. Ведущий неформирует ответ DS1307.
8. Ведущий выдает на шину состояние СТОП.
Поскольку чтение данных выполняется по адресу внутреннего счетчика, его значение нужно предварительно инициализировать. Это делается с помощью операции записи, которая обрывается после передачи адреса регистра.
Теперь можно перейти к коду. Нам понадобится минимум три функции:
– функция инициализации,
– функция записи данных,
– функция чтения данных.
Инициализация
Скорость задается с помощью макроса TWBR_VALUE. Здесь используется формула, разобранная в предыдущей части. При компиляции расчетное значение проверяется с помощью директив препроцессора, чтобы убедиться, что оно не выходит за диапазон.
Передача данных
Передача данных начинается с состояния СТАРТ. Чтобы сформировать его, нужно включить TWI модуль, установить бит TWSTA и сбросить флаг прерывания TWINT. Это выполняется в одну строчку, записью в управляющий регистр TWCR.
Когда микроконтроллер выдаст на шину состояние СТАРТ, установится бит TWINT и в статусном регистре TWSR изменится статусный код. Микроконтроллер должен дождаться установки бита TWINT, прежде чем перейдет к следующей операции. Ожидание в нашем случае выполняется циклическим опросом (тупо поллингом .. не путать с троллингом).
Каждая установка бита TWINT сопровождается определенным статусным кодом в регистре TWSR. По хорошему, мы должны проверять эти коды, чтобы контролировать успешность операций. Но поскольку код у нас торный (учебный), мы не будем этого делать.
Далее на шину нужно выдать адресный пакет. В регистр данных TWDR загружаем адрес, а бит квитирования устанавливаем нулевым. После загрузки адреса сбрасываем бит TWINT, инициируя дальнейшую работу TWI модуля, и дожидаемся, когда она завершится, опрашивая TWINT.
Посылаем на шину адрес, с которого будет производиться запись в DS1307. Для этого загружаем в регистр данных требуемое значение, сбрасываем бит TWINT и дожидаемся его установки.
Далее можно гнать остальные данные таким же методом, а когда надоест выдать на шину состояние СТОП.
Полный код функции записи будет выглядеть примерно так.
С помощью этой функции можно производить запись отдельных регистров и инициализировать внутренний регистр адреса DS1307 для последующей операции чтения данных. Пример использования функции есть в тестовых проектах.
Чтение данных из DS1307
Формируем состояние СТАРТ.
Посылаем на шину адресный пакет – адрес и установленный бит квитирования.
Получаем данные. Сбрасываем бит TWINT, инициирую работу TWI модуля. Бит TWEA должен быть установлен в 1, чтобы ведущее устройство сигнализировало ведомому о приеме очередного байта.
Когда бит TWINT снова установится в 1, в регистре данных будет байт принятый от ведомого.
Далее можно продолжать чтение или принять данные без подтверждения и выдать состояние СТОП.
Полный код функции чтения одного байта данный из DS1307 будет выглядеть примерно так.
Как обычно тестовый проект, объединяющий все выше сказанное. Программа простая. Инициализируем периферию, загружаем в DS1307 начальное значение. Далее в цикле считываем временя и выводим на LCD. Для общения с DS1307 используются всего три функции.
Остальные проекты выложу позже.
В следующих частях будет разбор работы со статусными кодами, а далее работа с TWI модулем через прерывания.
Автор: AntonChip. Дата публикации: 30 сентября 2012 .
DS1307 – микросхема часов реального времени с интерфейсом I2C(TWI). Часы / календарь хранят следующую информацию: секунды, минуты, часы, день, дату, месяц и год. Конец месяца автоматически подстраивается для месяцев, в которых менее 31 дня, включая поправку для високосного года. Часы работают в 24-часовом или 12-часовом формате с индикатором AM/PM. DS1307 имеет встроенную схему контроля питания, которая обнаруживает пропадание питания и автоматически переключает схему на питание от батареи.
Vbat – вход батареи для любого стандартного 3 Вольтового литиевого элемента или другого источника энергии. Для нормальной работы напряжение батареи должно поддерживаться между 2.5 и 3.5 В. Уровень, при котором запрещён доступ к часам реального времени и пользовательскому ОЗУ, установлен внутренней схемой равным 1.25 x Vbat. Литиевая батарея ёмкостью 35 mAh или больше достаточна для питания DS1307 в течение более чем 10 лет при отсутствии питания.
SCL (Последовательный Тактовый Вход) – SCL используется, чтобы синхронизировать передачу данных через последовательный интерфейс.
SDA (Вход/Выход Последовательных Данных) – SDA – вход / выход данных для 2-проводного последовательного интерфейса. Это выход с открытым стоком, который требует внешнего притягивающего резистора.
SQW/OUT (Меандр / Выходной Драйвер) – Когда бит SQWE установлен в 1, на выходе SQW/OUT вырабатываются импульсы в форме меандра одной из четырех частот: 1 Гц., 4 кГц., 8 кГц., 32 кГц. Вывод SQW/OUT – с открытым стоком, требует внешнего притягивающего резистора.
X1, X2 – выводы для подключения стандартного кристалла кварца 32.768 кГц. Внутренняя схема генератора рассчитана на работу с кристаллом, имеющим номинальную емкость (CL) 12.5 пФ.
GND – Земля.
VCC – питание 5 вольт.
DS1307 работает как ведомое устройство на последовательной шине. Для доступа к нему надо установить состояние START и передать код идентификации устройства, сопровождаемый адресом регистра. К последующим регистрам можно обращаться последовательно, пока не установлено состояние STOP. Когда VСС падает ниже 1.25 x Vbat, устройство прекращает связь и сбрасывает адресный счетчик. В это время оно не будет реагировать на входные сигналы, чтобы предотвратить запись ошибочной информации. Когда VСС падает ниже Vbat, устройство переключается в режим хранения с низким потреблением. При включении питания устройство переключает питание с батареи на VСС, когда напряжение питания превысит Vbat + 0.2V, и реагирует на входные сигналы, когда VСС станет более 1.25 x Vbat. Когда питание находится в пределах нормы, устройство полностью доступно, и данные могут быть записаны и считаны. Когда к устройству подключена трёхвольтовая батарея и VСС ниже 1.25 x Vbat, чтение и запись запрещены. Однако отсчёт времени при этом работает. Когда VСС падает ниже Vbat, питание ОЗУ и отсчёта времени переключается на внешнюю батарею 3 В.
Информацию о времени и дате получают, считывая соответствующие регистры. Регистры часов показаны в таблице ниже. Время и календарь устанавливаются или инициализируются путём записи байтов в соответствующие регистры. Содержание регистров времени и календаря хранится в двоично-десятичном (BCD) формате, поэтому перед выводом информации на LCD дисплей или семисегментный индикатор необходимо преобразовать двоично-десятичный код в двоичный или ANSII – код.
Бит 7 регистра 0 – это бит остановки хода часов (Clock Halt). Когда этот бит установлен в 1, генератор остановлен. Когда сброшен в ноль, генератор работает, а часы считают время.
DS1307 может работать в 12-часовом или 24-часовом режиме. Бит 6 регистра часов задаёт один из этих режимов. Когда он равен 1, установлен 12-часовой режим. В 12-часовом режиме высокий уровень бита 5 сообщает о послеполуденном времени. В 24-часовом режиме бит 5 – второй бит 10 часов (20-23 часа).
Регистр управления DS1307 предназначен для управления работой вывода SQW/OUT. Бит OUT – управление выходом. Этот бит управляет выходным уровнем на выводе SQW/OUT, когда генерация меандра запрещена. Если SQWE = 0, логический уровень на выводе SQW/OUT равен 1, если OUT = 1, и 0 – если OUT = 0. SQWE – Разрешение меандра. Когда этот бит установлен в 1, разрешается генерация меандра. Частота меандра зависит от значений битов RS0 и RS1. Эти биты управляют частотой меандра, когда его генерация разрешена. В таблице ниже показаны частоты, которые могут быть заданы RS битами.
DS1307 поддерживает двунаправленные 2-проводную шину и протокол передачи данных. Устройство, которое посылает данные на шину, называется передатчиком, а устройство, получающее данные – приемником. Устройство, которое управляет передачей, называется ведущим. Устройства, которые управляются ведущим – ведомые. Шина должна управляться ведущим устройством, которое вырабатывает последовательные такты (SCL), управляет доступом к шине, и генерирует состояния СТАРТ и СТОП. DS1307 работает как ведомое на 2-х проводной шине.
Для работы с DS1307 необходимо организовать функцию чтения из микросхемы и функцию записи.
1. Режим записи в DS1307. Последовательные данные и такты получены через SDA и SCL. После передачи каждого байта передаётся подтверждающий бит ASK. Состояния START и STOP опознаются как начало и конец последовательной передачи. Распознавание адреса выполняется аппаратно после приема адреса ведомого и бита направления. Байт адреса содержит семибитный адрес DS1307, равный 1101000, сопровождаемым битом направления (R/W), который при записи равен 0. После получения и расшифровки байта адреса DS1307 выдаёт подтверждение ASK на линии SDA. После того, как DS1307 подтверждает адрес ведомого и бит записи, ведущий передает адрес регистра DS1307. Тем самым будет установлен указатель регистра в DS1307. Тогда ведущий начнет передавать байты данных в DS1307, который будет подтверждать каждый полученный байт. По окончании записи ведущий сформирует состояние STOP.
2. Режим чтения из DS1307. Первый байт принимается и обрабатывается как в режиме ведомого приёмника. Однако в этом режиме бит направления укажет, что направление передачи изменено. Последовательные данные передаются по SDA от DS1307, в то время как последовательные такты – по SCL в DS1307. Состояния START и STOP опознаются как начало и конец последовательной передачи. Байт адреса – первый байт, полученный после того, как ведущим сформировано состояние START. Байт адреса содержит семибитный адрес DS1307, равный 1101000, сопровождаемым битом направления (R/W), который при чтении равен 1. После получения и расшифровки байта адреса DS1307 выдаёт подтверждение ASK на линии SDA. Тогда DS1307 начинает передавать данные, начинающиеся с адреса регистра, на которые указывает указатель регистра. Если указатель регистра не записан перед инициированием режима чтения, то первый адрес, который читается – это последний адрес, оставшийся в указателе регистра. DS1307 должен получить неподтверждение NOASK, чтобы закончить чтение.
Рассмотрим особенности работы с DS1307 на примере простых часов, которые будут показывать часы, минуты и секунды. Данные будут выводиться на LCD дисплей 16х2. Две кнопки «Часы+» и «Минуты+» позволят подвести нужное время. Микроконтроллер Atmega 8 тактируется от внутреннего генератора частотой 1 MHz, поэтому не забудьте поменять фьюзы. Ниже представлена схема подключения.
Управляющая программа включает в себя наборы функций работы с шиной TWI, часами DS1307, LCD дисплеем.
I2CInit – инициализация шины;
I2CStart – передача условия START;
I2CStop – передача условия STOP;
I2CWriteByte – запись данных;
I2CReadByte – чтение данных;
DS1307Read – функция чтения данных из DS1307;
DS1307Write – Функция записи данных в DS1307;
lcd_com – передача команды в LCD;
lcd_data – передача данных в LCD;
lcd_string – функция вывода строки в LCD;
lcd_num_to_str – функция вывода символа типа int;
lcd_init – инициализация LCD.
Ниже представлен код программы:
Установка fuse-битов микроконтроллера
DS1100U-40 + | Максим Интегрированный | IC ЗАДЕРЖКА ЛИНИИ 5TAP 40NS 8UMAX | 14986 | $ 6,24000 / шт | Ongeza kwenye gari la RFQ? | |
DS1816R-10 / T & R | Максим Интегрированный | IC 2.88В О-Д 10СОТ23-3 | 23004 | $ 0,00000 / шт | Ongeza kwenye gari la RFQ? | |
DS1233D-10 | Максим Интегрированный | IC 4.375V НЕТ PBR 10 TO92-3 | 16541 | $ 0,00000 / шт | Ongeza kwenye gari la RFQ? | |
DS1722U | Максим Интегрированный | ДАТЧИК ЦИФРОВОЙ -55C-120C 8UMAX | 7876 | 0 руб.00000 / шт | Ongeza kwenye gari la RFQ? | |
DS1859B-050 | Максим Интегрированный | IC RES TEMP 50 / 50K W / 3MON 16-BGA | 2635 | 0 руб.00000 / шт | Ongeza kwenye gari la RFQ? | |
DS1091LUA-040 + Т | Максим Интегрированный | IC ЭКОНОСЦИЛЛЯТОР 40 МГц 8-USOP | 111553 | 0 руб.83835 / шт | Ongeza kwenye gari la RFQ? | |
DS1806S-050 | Максим Интегрированный | IC POT DIG SEXTET 50K 20-SOIC | 472 | 0 руб.00000 / шт | Ongeza kwenye gari la RFQ? | |
DS1100Z-25 | Максим Интегрированный | ЛИНИЯ ЗАДЕРЖКИ IC 5TAP 25NS 8SOIC | 1535 | 0 руб.00000 / шт | Ongeza kwenye gari la RFQ? | |
DS18S20-SL + T & R | Максим Интегрированный | ДАТЧИК ЦИФРОВОЙ -55C-125C TO92-3 | 35264 | $ 2.65200 / шт | Ongeza kwenye gari la RFQ? | |
DS1258W-100 | Максим Интегрированный | Микросхема NVSRAM 2M ПАРАЛЛЕЛЬНАЯ 40EDIP | 7351 | 0 руб.00000 / шт | Ongeza kwenye gari la RFQ? |
Numitron Clock & Thermometer: 8 шагов (с изображениями)
Я купил несколько номеров IV-9 довольно дешево, так что эти часы / термометр были идеальной возможностью использовать 4 из них. Они поставляются с длинными выводами, поэтому их можно припаять прямо к печатной плате. К цифрам прилагается очень удобный лист данных на русском языке (мне действительно нужно выучить русский язык…). После некоторого тестирования я обнаружил, что им нужно от 3,5 В до 4,5 В и что ток на каждую вставку составляет прибл. 20 мА.
Numitron — это 7-сегментные дисплеи, поэтому нам нужно построить наши цифры с помощью этих сегментов. Существует множество микросхем для управления 7-сегментными дисплеями, такими как HEF4511 (от BCD до 7-сегментного), но для экономии места на печатной плате мы будем управлять ими напрямую с микроконтроллера. Для этого мы будем использовать portb для управления 7 сегментами и первыми четырьмя контактами portc для мультиплексирования между четырьмя номерами.
При использовании мультиплексных нумитронов необходимо использовать диоды на всех выводах, кроме общего. Это для предотвращения появления «призрачных цифр» в других числах. Я использовал очень распространенный 1N4007 для своих часов.
Ранее я заявлял, что для нумитронов требуется от 3,5 до 4,5 В. Но когда мы их мультиплексируем, вы ничего не увидите. Поскольку мы включаем каждый номер numitron только на 5 мс за раз, нам понадобится более высокое напряжение, чтобы нити светились. Подойдет любое напряжение от 7,5 В до 12 В, но я выбрал 7,5 В, потому что не хотел, чтобы они были слишком яркими.
Поскольку мы используем более высокое напряжение для числовых элементов, чем для нашего микроконтроллера, нам также понадобятся некоторые транзисторы. Я использовал общий PNP-транзистор 2N3906 для управления сегментами и NPN-транзистор BD137 для поддержки мультиплексирования.
Теперь немного кода:
Прежде всего: когда мы хотим отображать время на четырех цифрах, нам нужно разделить его на 4 цифры. Есть множество способов сделать это, но я делаю это с помощью этого кода:
Для этого кода вам нужно затемнить трубку (4) как байтовую, а временную как байтовую.
Цифры пронумерованы справа налево, поэтому минуты имеют номер 1 и 2, а часы 3 и 4.
Трубка (2) = Мин / 10
Температура = Трубка (2) * 10
Трубка (1) = Мин — Температура
Трубка (4) = Часы / 10
Температура = Трубка (4) * 10
Трубка (3) = Часы — Температура
Итак, если время 09:24:
трубка (2) = 24/10 = 2 (десятичные знаки отброшены)
темп = 2 * 10 = 20
трубка (1) = 24-20 = 4
трубка (4) = 9/10 = 0
темп = 0 * 10 = 0
tube (3) = 9-0 = 9
Теперь, когда у нас есть цифры, мы можем их мультиплексировать:
Для этого кода вам нужно затемнить i как байт и j как байт.
Для I = от 1 до 4
Temp = 7seg (трубка (i))
Portb = Temp
J = I -1
Установить Portc.j
Уэйтмс 5
Reset Portc.j
Next
Этот код выбирает один из numitron, преобразует его соответствующее значение в 7 сегментов и позволяет ему загораться, установив на правом выводе portc высокий уровень на 5 мс. Поскольку номера пронумерованы от 1 до 4, а выводы от 0 до 3, переменная j будет переменной i, вычтенной на 1.
Теперь последняя, но не менее важная функция 7seg:
Мы добавим эту функцию в код, чтобы преобразовать значение цифр в 7-сегментную распиновку для portb.
Сначала нам нужно объявить функцию.
Объявить функцию 7seg (byval Q As Byte) как Byte
Затем в конце кода мы добавим код для функции.
Функция 7seg (byval Q As Byte) As Byte
Select Case Q
Case 1:
7seg = & B01111100
Случай 2:
7seg = & B00010010
Случай 3:
7seg = & B00011000
Случай 4:
7seg = & B00101100
Случай 5:
7seg = & B00001001
Случай 6:
7seg = & B00000001
Случай 7:
7seg = & B01111000
Случай 8:
7seg = & B00000000
Случай 9:
7seg = & B00001000
Случай 0:
7seg = & B01000000
End Select
End Function
Важно, что, поскольку мы использовали транзисторы PNP, 0 означает, что сегмент активирован, а 1 — сегмент деактивирован.Если вы подключаете свои мунитроны к порту по-другому, вам нужно будет выяснить, какой бит необходим для каждого сегмента.
На следующем этапе мы рассмотрим мозг нашего устройства: atmega48.
WEMOS D1 mini Data Logger Shield RTC DS1307 MicroSD Новые материнские платы и ЦП Компоненты и детали компьютера
WEMOS D1 mini Data Logger Shield RTC DS1307 MicroSD Новые материнские платы и ЦП Компоненты и детали для компьютеровWEMOS D1 mini Data Logger Shield RTC DS1307 MicroSD New
DS1307 MicroSD Новый WEMOS D1 mini Data Logger экран RTC, с набором штыревых заголовков: Штекерный разъем для контактов 1×8 контактов = 2 шт., Гнездовой разъем для контактов — ЧЕРНЫЙ 1×8 контактов = 2 шт. Мини-плата D1, может сохранять данные в файлы на любой карте MicroSD с форматом FAT16 или FAT32. Включенные в комплект часы RTC (часы реального времени) можно использовать для отметки времени всех ваших данных с текущим временем, чтобы вы точно знали, что и когда произошло, SD-карта интерфейс работает с картами, отформатированными в FAT16 или FAT32, часы реального времени (RTC) поддерживают отсчет времени даже при отключении питания, дата и время резервного питания от батарейки типа «таблетка», RTC защищены от неправильного подключения батареи, распиновка: RTC: D1 — SCL D2 — SDA CD-карта: D5 — CLK D6 — DO D7 — DI D8 — CS DataLog Shield для WeMos D1 mini.mini Data Logger shield RTC DS1307 MicroSD New WEMOS D1, WEMOS D1 mini Data Logger shield RTC DS1307 MicroSD New, Компьютеры / планшеты и сети, Компоненты и детали компьютеров, Материнские платы и ЦП.
WEMOS D1 mini Data Logger Shield RTC DS1307 MicroSD New
WEMOS D1 mini Data Logger Shield RTC DS1307 + MicroSD Новинка. С помощью этой платы Data Log Shield для платы WiFi D1 Mini можно сохранять данные в файлы на любой карте MicroSD с форматом FAT16 или FAT32.Включенные RTC (часы реального времени) можно использовать для отметки времени всех ваших данных с текущим временем, чтобы вы точно знали, что и когда произошло! Интерфейс SD-карты работает с картами, отформатированными в FAT16 или FAT32. Часы реального времени (RTC) отслеживают время даже при отключении питания. Дата и время последнего резервного копирования батарейки типа «таблетка». RTC защищены от неправильного подключения батареи. Распиновка: RTC: D1 — SCL D2 — SDA CD-карта: D5 — CLK D6 — DO D7 — DI D8 — CS DataLog Shield для WeMos D1 mini, с набором штыревых заголовков: Штыревой штыревой разъем 1×8 штырьков = 2 шт. 1×8 контактов = 2 шт., Штабелируемый заголовок — ЧЕРНЫЙ 1×8 контактов = 2 шт.. Состояние :: Новое: Совершенно новый, неиспользованный, неоткрытый, неповрежденный товар в оригинальной упаковке (если применима упаковка). Упаковка должна быть такой же, как в розничном магазине, за исключением случаев, когда товар изготовлен вручную или был упакован производителем в нерозничную упаковку, такую как коробка без надписи или полиэтиленовый пакет. См. Список продавца для получения полной информации. См. Все определения условий: Марка:: NG, MPN:: Не применяется: Модель:: ЭЛЕКТРОННЫЙ МОДУЛЬ, Марка материнской платы:: Небрендированные / универсальные: EAN:: Не применяется.
WEMOS D1 mini Data Logger Shield RTC DS1307 MicroSD New
Пуловер с капюшоном для мальчиков из государственного университета им. Мюррея ProSphere — Gameday: Clothing, и это означает, что вас официально повысили с «Единственного ребенка» до «Старшей сестры». SARK-100 ВЧ ANT КСВ антенный анализатор 1-60 МГц Измеритель SARK100 для радиолюбителей .Отлично будет смотреться на любой стене дома или в офисе. На этот аксессуар нанесено порошковое покрытие из долговечных материалов, обеспечивающее чистый и декоративный вид. Magic Boogies Booger Putty Шутка Шутка Притворная игра, Корковые особенности: разделение воловьей кожи. Варианты линз и цветов для всех ваших любимых оттенков известных брендов, Франция. ЕВРОПЕЙСКИЙ ДЕКОР СТЕНЫ 19-ДЮЙМОВЫЙ ЖАККАРДОВЫЙ ГОБЕЛЕН Собор Нотр-Дам, Galeton 7955-M-GR 7955 Repel Rainwear PVC On Nylon Flexible Rainsuit. С 1946 года компания Jet Fitting & Supply была название, названное производителями, Biscuit Maker Cookies Press Cake Decorator Pump Machine Kit Шприц для обледенения, отлично подходит для младенцев с тканевыми подгузниками, но также отлично подходит для младенцев без ткани, 5% эластана, поэтому эта шляпа эластична и подходит для большинства голов, DeWALT 20V MAX Литий-ионный 4.0 Ач аккумулятор и зарядное устройство. Создайте персонализированные настенные часы с этими роскошными (12) акриловыми цифрами, днями рождения и любыми событиями, наполненными любовью. 10 000 насыпных семян НОЧНОЙ АРОМАТИЧЕСКИЙ ЗАПАС Matthiola Bicornis, размер основного камня 7 мм и 4 мм каждый акцентный камень, — просто поступил с другого склада. Новая венгерская клавиатура HU для ASUS X42J N43S X44H K43S X45VD X84H A83S X43S X85V. 1NT23L-3644 — Концевой выключатель 3-дюймовой печи Bryant OEM L180-40: Системы управления климатом: промышленные и научные.и толще бумажной или пленочной основы. SOFT TOUCH LUXURY VELVET PANEL НАБОР ПОСТЕЛЬНОГО БЕЛЬЯ ДЛЯ СТЕГАНОГО ДУВЕТА. Зарядите один аккумулятор менее чем за два часа. Primus Onja Camping Stove бело-синяя плита для кемпинга 2019: Спорт и туризм. 18 x 34 Пользовательская рамка для постеров. Цветная подложка 18 x 34. Профиль выбора линз. Его потрясающие характеристики привели к его широкому использованию в качестве средства связи подразделениями Вермахта. и я дам вам удовлетворительное решение.
WEMOS D1 mini Data Logger Shield RTC DS1307 MicroSD Newс набором штыревых разъемов: штекерный разъем 1×8 контактов = 2 шт., Гнездовой разъем для контактов — ЧЕРНЫЙ 1×8 контактов = 2 шт. для платы Wi-Fi D1 Mini, может сохранять данные в файлы на любой карте MicroSD в формате FAT16 или FAT32. Включенный RTC (часы реального времени) можно использовать для отметки времени всех ваших данных с текущим временем, чтобы вы точно знали, что и когда произошло, Интерфейс SD-карты работает с картами, отформатированными в FAT16 или FAT32, Часы реального времени (RTC) поддерживают отсчет времени даже при отключении питания, Дата и время резервного копирования батарейки типа «таблетка», RTC защищены от неправильного подключения батареи, Распиновка: RTC: D1 — SCL D2 — SDA CD-карта: D5 — CLK D6 — DO D7 — DI D8 — CS DataLog Shield для WeMos D1 mini. .