Часы реального времени Мастер Кит для Arduino
Для управления проектами на Arduino в реальном времени, запуска различных событий в заданное время, включения/выключения устройств по расписанию и т.д. будет очень полезен данный модуль. При подключении он использует всего два аналоговых порта, работающих в режиме интерфейса I2C, к которым можно параллельно подключать и другие устройства с данным интерфейсом.
Модуль-расширение для микроконтроллерных модулей Arduino позволяет добавить в ваш проект часы реального времени, управляемые по шине I2C.
Модуль MP1095 - часы реального времени реализован на базе микросхемы M41T56M6 и совместим с популярными библиотеками Time и DS1307RTC, разработанными для среды Arduino.
Библиотеки и примеры доступны на нашем сайте и на сайте www.arduino.cc.
Вот пример кода для работы с данным модулем:
(сначала нужно скачать и установить библиотеки для работы с ним)
#include <Wire.h>
#include <DS1307.h>
int
rtc[7];
byte rr[7];
int
ledPin = 13;
void
setup()
{
DDRC|=_BV(2) |_BV(3);
// POWER:Vcc Gnd
PORTC |=_BV(3);
// VCC PINC3
pinMode(ledPin, OUTPUT);
Serial.begin(9600);
RTC.get(rtc,
true
);
if
(rtc[6]<12){
RTC.stop();
RTC.set(DS1307_SEC,1);
RTC.set(DS1307_MIN,27);
RTC.set(DS1307_HR,01);
RTC.set(DS1307_DOW,7);
RTC.set(DS1307_DATE,12);
RTC.set(DS1307_MTH,2);
RTC.set(DS1307_YR,12);
RTC.start();
}
//RTC.SetOutput(LOW);
//RTC.SetOutput(HIGH);
//RTC.SetOutput(DS1307_SQW1HZ);
//RTC.SetOutput(DS1307_SQW4KHZ);
//RTC.SetOutput(DS1307_SQW8KHZ);
RTC.SetOutput(DS1307_SQW32KHZ);
}
void
loop()
{
int
i;
RTC.get(rtc,
true
);
for
(i=0; i<7; i++)
{
Serial.print(rtc[i]);
Serial.print(
" "
);
}
Serial.println();
digitalWrite(ledPin, HIGH);
delay(500);
digitalWrite(ledPin, LOW);
delay(500);
if
(Serial.available() > 6) {
for
(i=0;i<7;i++){
rr[i]=BCD2DEC(Serial.read());
}
Serial.println(
"SET TIME:"
);
RTC.stop();
RTC.set(DS1307_SEC,rr[6]);
RTC.set(DS1307_MIN,rr[5]);
RTC.set(DS1307_HR,rr[4]);
RTC.set(DS1307_DOW,rr[3]);
RTC.set(DS1307_DATE,rr[2]);
RTC.set(DS1307_MTH,rr[1]);
RTC.set(DS1307_YR,rr[0]);
RTC.start();
}
}
char
BCD2DEC(
char
var){
if
(var>9){
var=(var>>4)*10+(var&0x0f);
}
return
var;
Array ( [PREVIEW_TEXT] => Компания Мастер Кит расширяет линейку модулей, совместимых с Arduino. Одна из последних новинок - MP1095 часы реального времени [~PREVIEW_TEXT] => Компания Мастер Кит расширяет линейку модулей, совместимых с Arduino. Одна из последних новинок - MP1095 часы реального времени [PREVIEW_PICTURE] => Array ( [ID] => 3290 [TIMESTAMP_X] => Bitrix\Main\Type\DateTime Object ( [userTimeEnabled:protected] => 1 [value:protected] => DateTime Object ( [date] => 2013-06-24 16:00:37.000000 [timezone_type] => 3 [timezone] => Europe/Moscow ) ) [MODULE_ID] => iblock [HEIGHT] => 500 [WIDTH] => 500 [FILE_SIZE] => 128194 [CONTENT_TYPE] => image/jpeg [SUBDIR] => iblock/afb [FILE_NAME] => afbe251666155bfd1cdc03b6c0a36d5b.jpg [ORIGINAL_NAME] => mp1095.jpg [DESCRIPTION] => [HANDLER_ID] => [EXTERNAL_ID] => [~src] => [SRC] => /upload/iblock/afb/afbe251666155bfd1cdc03b6c0a36d5b.jpg [UNSAFE_SRC] => /upload/iblock/afb/afbe251666155bfd1cdc03b6c0a36d5b.jpg [SAFE_SRC] => /upload/iblock/afb/afbe251666155bfd1cdc03b6c0a36d5b.jpg [ALT] => Часы реального времени Мастер Кит для Arduino [TITLE] => Часы реального времени Мастер Кит для Arduino ) [~PREVIEW_PICTURE] => 3290 [ID] => 1746 [~ID] => 1746 [NAME] => Часы реального времени Мастер Кит для Arduino [~NAME] => Часы реального времени Мастер Кит для Arduino [IBLOCK_ID] => 1 [~IBLOCK_ID] => 1 [IBLOCK_SECTION_ID] => [~IBLOCK_SECTION_ID] => [DETAIL_TEXT] =>Для управления проектами на Arduino в реальном времени, запуска различных событий в заданное время, включения/выключения устройств по расписанию и т.д. будет очень полезен данный модуль. При подключении он использует всего два аналоговых порта, работающих в режиме интерфейса I2C, к которым можно параллельно подключать и другие устройства с данным интерфейсом.
Модуль-расширение для микроконтроллерных модулей Arduino позволяет добавить в ваш проект часы реального времени, управляемые по шине I2C.
Модуль MP1095 - часы реального времени реализован на базе микросхемы M41T56M6 и совместим с популярными библиотеками Time и DS1307RTC, разработанными для среды Arduino.
Библиотеки и примеры доступны на нашем сайте и на сайте www.arduino.cc.
Вот пример кода для работы с данным модулем:
(сначала нужно скачать и установить библиотеки для работы с ним)
[~DETAIL_TEXT] =>#include <Wire.h>
#include <DS1307.h>
int
rtc[7];
byte rr[7];
int
ledPin = 13;
void
setup()
{
DDRC|=_BV(2) |_BV(3);
// POWER:Vcc Gnd
PORTC |=_BV(3);
// VCC PINC3
pinMode(ledPin, OUTPUT);
Serial.begin(9600);
RTC.get(rtc,
true
);
if
(rtc[6]<12){
RTC.stop();
RTC.set(DS1307_SEC,1);
RTC.set(DS1307_MIN,27);
RTC.set(DS1307_HR,01);
RTC.set(DS1307_DOW,7);
RTC.set(DS1307_DATE,12);
RTC.set(DS1307_MTH,2);
RTC.set(DS1307_YR,12);
RTC.start();
}
//RTC.SetOutput(LOW);
//RTC.SetOutput(HIGH);
//RTC.SetOutput(DS1307_SQW1HZ);
//RTC.SetOutput(DS1307_SQW4KHZ);
//RTC.SetOutput(DS1307_SQW8KHZ);
RTC.SetOutput(DS1307_SQW32KHZ);
}
void
loop()
{
int
i;
RTC.get(rtc,
true
);
for
(i=0; i<7; i++)
{
Serial.print(rtc[i]);
Serial.print(
" "
);
}
Serial.println();
digitalWrite(ledPin, HIGH);
delay(500);
digitalWrite(ledPin, LOW);
delay(500);
if
(Serial.available() > 6) {
for
(i=0;i<7;i++){
rr[i]=BCD2DEC(Serial.read());
}
Serial.println(
"SET TIME:"
);
RTC.stop();
RTC.set(DS1307_SEC,rr[6]);
RTC.set(DS1307_MIN,rr[5]);
RTC.set(DS1307_HR,rr[4]);
RTC.set(DS1307_DOW,rr[3]);
RTC.set(DS1307_DATE,rr[2]);
RTC.set(DS1307_MTH,rr[1]);
RTC.set(DS1307_YR,rr[0]);
RTC.start();
}
}
char
BCD2DEC(
char
var){
if
(var>9){
var=(var>>4)*10+(var&0x0f);
}
return
var;
Для управления проектами на Arduino в реальном времени, запуска различных событий в заданное время, включения/выключения устройств по расписанию и т.д. будет очень полезен данный модуль. При подключении он использует всего два аналоговых порта, работающих в режиме интерфейса I2C, к которым можно параллельно подключать и другие устройства с данным интерфейсом.
Модуль-расширение для микроконтроллерных модулей Arduino позволяет добавить в ваш проект часы реального времени, управляемые по шине I2C.
Модуль MP1095 - часы реального времени реализован на базе микросхемы M41T56M6 и совместим с популярными библиотеками Time и DS1307RTC, разработанными для среды Arduino.
Библиотеки и примеры доступны на нашем сайте и на сайте www.arduino.cc.
Вот пример кода для работы с данным модулем:
(сначала нужно скачать и установить библиотеки для работы с ним)
[DETAIL_TEXT_TYPE] => html [~DETAIL_TEXT_TYPE] => html [PREVIEW_TEXT_TYPE] => text [~PREVIEW_TEXT_TYPE] => text [DETAIL_PICTURE] => Array ( [ID] => 3291 [TIMESTAMP_X] => Bitrix\Main\Type\DateTime Object ( [userTimeEnabled:protected] => 1 [value:protected] => DateTime Object ( [date] => 2013-06-24 16:00:37.000000 [timezone_type] => 3 [timezone] => Europe/Moscow ) ) [MODULE_ID] => iblock [HEIGHT] => 500 [WIDTH] => 500 [FILE_SIZE] => 128194 [CONTENT_TYPE] => image/jpeg [SUBDIR] => iblock/8f3 [FILE_NAME] => 8f354bd47120a8998005f85f8a4a7073.jpg [ORIGINAL_NAME] => mp1095.jpg [DESCRIPTION] => [HANDLER_ID] => [EXTERNAL_ID] => [~src] => [SRC] => /upload/iblock/8f3/8f354bd47120a8998005f85f8a4a7073.jpg [UNSAFE_SRC] => /upload/iblock/8f3/8f354bd47120a8998005f85f8a4a7073.jpg [SAFE_SRC] => /upload/iblock/8f3/8f354bd47120a8998005f85f8a4a7073.jpg [ALT] => Часы реального времени Мастер Кит для Arduino [TITLE] => Часы реального времени Мастер Кит для Arduino ) [~DETAIL_PICTURE] => 3291 [TIMESTAMP_X] => 24.06.2013 16:00:37 [~TIMESTAMP_X] => 24.06.2013 16:00:37 [ACTIVE_FROM] => 24.06.2013 [~ACTIVE_FROM] => 24.06.2013 [LIST_PAGE_URL] => /newslist/ [~LIST_PAGE_URL] => /newslist/ [DETAIL_PAGE_URL] => /newslist/MP1095/ [~DETAIL_PAGE_URL] => /newslist/MP1095/ [LANG_DIR] => / [~LANG_DIR] => / [CODE] => MP1095 [~CODE] => MP1095 [EXTERNAL_ID] => 1746 [~EXTERNAL_ID] => 1746 [IBLOCK_TYPE_ID] => news [~IBLOCK_TYPE_ID] => news [IBLOCK_CODE] => news [~IBLOCK_CODE] => news [IBLOCK_EXTERNAL_ID] => furniture_news_s1 [~IBLOCK_EXTERNAL_ID] => furniture_news_s1 [LID] => s1 [~LID] => s1 [NAV_RESULT] => [DISPLAY_ACTIVE_FROM] => 24.06.2013 [IPROPERTY_VALUES] => Array ( ) [FIELDS] => Array ( [PREVIEW_PICTURE] => Array ( [ID] => 3290 [TIMESTAMP_X] => Bitrix\Main\Type\DateTime Object ( [userTimeEnabled:protected] => 1 [value:protected] => DateTime Object ( [date] => 2013-06-24 16:00:37.000000 [timezone_type] => 3 [timezone] => Europe/Moscow ) ) [MODULE_ID] => iblock [HEIGHT] => 500 [WIDTH] => 500 [FILE_SIZE] => 128194 [CONTENT_TYPE] => image/jpeg [SUBDIR] => iblock/afb [FILE_NAME] => afbe251666155bfd1cdc03b6c0a36d5b.jpg [ORIGINAL_NAME] => mp1095.jpg [DESCRIPTION] => [HANDLER_ID] => [EXTERNAL_ID] => [~src] => [SRC] => /upload/iblock/afb/afbe251666155bfd1cdc03b6c0a36d5b.jpg [UNSAFE_SRC] => /upload/iblock/afb/afbe251666155bfd1cdc03b6c0a36d5b.jpg [SAFE_SRC] => /upload/iblock/afb/afbe251666155bfd1cdc03b6c0a36d5b.jpg [ALT] => Часы реального времени Мастер Кит для Arduino [TITLE] => Часы реального времени Мастер Кит для Arduino ) ) [PROPERTIES] => Array ( [AUTOR] => Array ( [ID] => 21 [TIMESTAMP_X] => 2016-08-11 15:08:07 [IBLOCK_ID] => 1 [NAME] => Автор [ACTIVE] => Y [SORT] => 500 [CODE] => AUTOR [DEFAULT_VALUE] => [PROPERTY_TYPE] => S [ROW_COUNT] => 1 [COL_COUNT] => 30 [LIST_TYPE] => L [MULTIPLE] => N [XML_ID] => [FILE_TYPE] => [MULTIPLE_CNT] => 5 [TMP_ID] => [LINK_IBLOCK_ID] => 0 [WITH_DESCRIPTION] => N [SEARCHABLE] => N [FILTRABLE] => N [IS_REQUIRED] => N [VERSION] => 1 [USER_TYPE] => [USER_TYPE_SETTINGS] => [HINT] => [PROPERTY_VALUE_ID] => [VALUE] => [DESCRIPTION] => [VALUE_ENUM] => [VALUE_XML_ID] => [VALUE_SORT] => [~VALUE] => [~DESCRIPTION] => [~NAME] => Автор [~DEFAULT_VALUE] => ) [SOURCE] => Array ( [ID] => 22 [TIMESTAMP_X] => 2016-08-11 15:08:07 [IBLOCK_ID] => 1 [NAME] => Источник [ACTIVE] => Y [SORT] => 500 [CODE] => SOURCE [DEFAULT_VALUE] => [PROPERTY_TYPE] => S [ROW_COUNT] => 1 [COL_COUNT] => 30 [LIST_TYPE] => L [MULTIPLE] => N [XML_ID] => [FILE_TYPE] => [MULTIPLE_CNT] => 5 [TMP_ID] => [LINK_IBLOCK_ID] => 0 [WITH_DESCRIPTION] => N [SEARCHABLE] => N [FILTRABLE] => N [IS_REQUIRED] => N [VERSION] => 1 [USER_TYPE] => [USER_TYPE_SETTINGS] => [HINT] => [PROPERTY_VALUE_ID] => [VALUE] => [DESCRIPTION] => [VALUE_ENUM] => [VALUE_XML_ID] => [VALUE_SORT] => [~VALUE] => [~DESCRIPTION] => [~NAME] => Источник [~DEFAULT_VALUE] => ) [dd] => Array ( [ID] => 120 [TIMESTAMP_X] => 2016-08-11 15:08:07 [IBLOCK_ID] => 1 [NAME] => 11 [ACTIVE] => Y [SORT] => 500 [CODE] => dd [DEFAULT_VALUE] => [PROPERTY_TYPE] => F [ROW_COUNT] => 1 [COL_COUNT] => 30 [LIST_TYPE] => L [MULTIPLE] => N [XML_ID] => [FILE_TYPE] => [MULTIPLE_CNT] => 5 [TMP_ID] => [LINK_IBLOCK_ID] => 0 [WITH_DESCRIPTION] => N [SEARCHABLE] => N [FILTRABLE] => N [IS_REQUIRED] => N [VERSION] => 1 [USER_TYPE] => [USER_TYPE_SETTINGS] => [HINT] => [PROPERTY_VALUE_ID] => [VALUE] => [DESCRIPTION] => [VALUE_ENUM] => [VALUE_XML_ID] => [VALUE_SORT] => [~VALUE] => [~DESCRIPTION] => [~NAME] => 11 [~DEFAULT_VALUE] => ) ) [DISPLAY_PROPERTIES] => Array ( ) [IBLOCK] => Array ( [ID] => 1 [~ID] => 1 [TIMESTAMP_X] => 11.08.2016 15:08:07 [~TIMESTAMP_X] => 11.08.2016 15:08:07 [IBLOCK_TYPE_ID] => news [~IBLOCK_TYPE_ID] => news [LID] => s1 [~LID] => s1 [CODE] => news [~CODE] => news [API_CODE] => [~API_CODE] => [NAME] => Новости [~NAME] => Новости [ACTIVE] => Y [~ACTIVE] => Y [SORT] => 500 [~SORT] => 500 [LIST_PAGE_URL] => /newslist/ [~LIST_PAGE_URL] => /newslist/ [DETAIL_PAGE_URL] => #SITE_DIR#/newslist/#ELEMENT_CODE#/ [~DETAIL_PAGE_URL] => #SITE_DIR#/newslist/#ELEMENT_CODE#/ [SECTION_PAGE_URL] => [~SECTION_PAGE_URL] => [PICTURE] => [~PICTURE] => [DESCRIPTION] => [~DESCRIPTION] => [DESCRIPTION_TYPE] => text [~DESCRIPTION_TYPE] => text [RSS_TTL] => 24 [~RSS_TTL] => 24 [RSS_ACTIVE] => Y [~RSS_ACTIVE] => Y [RSS_FILE_ACTIVE] => N [~RSS_FILE_ACTIVE] => N [RSS_FILE_LIMIT] => 0 [~RSS_FILE_LIMIT] => 0 [RSS_FILE_DAYS] => 0 [~RSS_FILE_DAYS] => 0 [RSS_YANDEX_ACTIVE] => N [~RSS_YANDEX_ACTIVE] => N [XML_ID] => furniture_news_s1 [~XML_ID] => furniture_news_s1 [TMP_ID] => [~TMP_ID] => [INDEX_ELEMENT] => Y [~INDEX_ELEMENT] => Y [INDEX_SECTION] => N [~INDEX_SECTION] => N [WORKFLOW] => N [~WORKFLOW] => N [BIZPROC] => N [~BIZPROC] => N [SECTION_CHOOSER] => L [~SECTION_CHOOSER] => L [LIST_MODE] => [~LIST_MODE] => [VERSION] => 1 [~VERSION] => 1 [LAST_CONV_ELEMENT] => 0 [~LAST_CONV_ELEMENT] => 0 [SOCNET_GROUP_ID] => [~SOCNET_GROUP_ID] => [EDIT_FILE_BEFORE] => [~EDIT_FILE_BEFORE] => [EDIT_FILE_AFTER] => [~EDIT_FILE_AFTER] => [SECTIONS_NAME] => Разделы [~SECTIONS_NAME] => Разделы [SECTION_NAME] => Раздел [~SECTION_NAME] => Раздел [ELEMENTS_NAME] => Новости [~ELEMENTS_NAME] => Новости [ELEMENT_NAME] => Новость [~ELEMENT_NAME] => Новость [RIGHTS_MODE] => E [~RIGHTS_MODE] => E [SECTION_PROPERTY] => [~SECTION_PROPERTY] => [PROPERTY_INDEX] => [~PROPERTY_INDEX] => [CANONICAL_PAGE_URL] => [~CANONICAL_PAGE_URL] => [REST_ON] => N [~REST_ON] => N [EXTERNAL_ID] => furniture_news_s1 [~EXTERNAL_ID] => furniture_news_s1 [LANG_DIR] => / [~LANG_DIR] => / [SERVER_NAME] => hobbylab.ru [~SERVER_NAME] => hobbylab.ru ) [SECTION] => Array ( [PATH] => Array ( ) ) [SECTION_URL] => [META_TAGS] => Array ( [TITLE] => Часы реального времени Мастер Кит для Arduino [BROWSER_TITLE] => [KEYWORDS] => [DESCRIPTION] => ) )#include <Wire.h>
#include <DS1307.h>
int
rtc[7];
byte rr[7];
int
ledPin = 13;
void
setup()
{
DDRC|=_BV(2) |_BV(3);
// POWER:Vcc Gnd
PORTC |=_BV(3);
// VCC PINC3
pinMode(ledPin, OUTPUT);
Serial.begin(9600);
RTC.get(rtc,
true
);
if
(rtc[6]<12){
RTC.stop();
RTC.set(DS1307_SEC,1);
RTC.set(DS1307_MIN,27);
RTC.set(DS1307_HR,01);
RTC.set(DS1307_DOW,7);
RTC.set(DS1307_DATE,12);
RTC.set(DS1307_MTH,2);
RTC.set(DS1307_YR,12);
RTC.start();
}
//RTC.SetOutput(LOW);
//RTC.SetOutput(HIGH);
//RTC.SetOutput(DS1307_SQW1HZ);
//RTC.SetOutput(DS1307_SQW4KHZ);
//RTC.SetOutput(DS1307_SQW8KHZ);
RTC.SetOutput(DS1307_SQW32KHZ);
}
void
loop()
{
int
i;
RTC.get(rtc,
true
);
for
(i=0; i<7; i++)
{
Serial.print(rtc[i]);
Serial.print(
" "
);
}
Serial.println();
digitalWrite(ledPin, HIGH);
delay(500);
digitalWrite(ledPin, LOW);
delay(500);
if
(Serial.available() > 6) {
for
(i=0;i<7;i++){
rr[i]=BCD2DEC(Serial.read());
}
Serial.println(
"SET TIME:"
);
RTC.stop();
RTC.set(DS1307_SEC,rr[6]);
RTC.set(DS1307_MIN,rr[5]);
RTC.set(DS1307_HR,rr[4]);
RTC.set(DS1307_DOW,rr[3]);
RTC.set(DS1307_DATE,rr[2]);
RTC.set(DS1307_MTH,rr[1]);
RTC.set(DS1307_YR,rr[0]);
RTC.start();
}
}
char
BCD2DEC(
char
var){
if
(var>9){
var=(var>>4)*10+(var&0x0f);
}
return
var;