В этом уроке мы подключим к Arduino часы, настроим их и заставим тикать.
Необходимые компоненты
qплата для прототипирования;
qArduino Nano;
qмодуль часов.
Схема подключения
Рис. У5.1. Схема подключения часов
Для работы Arduino с датчиками часами имеется готовая библиотека — DS1302, которую можно можно скачать здесь.
Важно! Если часы не слушаются то подключите GND часов через резистор 1кОм к GND ардуино.
Скетч получения данных с часов и вывода их в последовательный порт представлен в листинге У5.1.
#include <DS1302.h>
// Init the DS1302
DS1302 rtc (4, 3, 2); // Подключаем RST,I\O,SCLK к пинам 4,3,2
void setup()
{
rtc.halt(false);
rtc.writeProtect(false);
Serial.begin(9600);
// Строки ниже предназначены для настройки. Необходимо выставить нужное время/дату, залить скетч в контроллер и, закомментировав эти строки, заново залить скетч в контроллер.
rtc.setDOW(2134); // Настройка дня недели
rtc.setTime(15, 0, 0); // Настройка часов в формате 12:00:00 (24 часа)
rtc.setDate(6, 8, 2010); // Настройка даты в формате 01.01.2000
}
void loop()
{
// Посылаем в монитор порта день недели
Serial.print(rtc.getDOWStr());
Serial.print(" ");
// Посылаем в монитор порта дату
Serial.print(rtc.getDateStr());
Serial.print(" -- ");
// Посылаем в монитор порта время
Serial.println(rtc.getTimeStr());
delay (1000);
}
Внимание!
Обратите внимание, что часы сначала надо настроить.
Листинг У5.1
Порядок подключения
- Подключите вывод часов GND к выводу GNDна Arduino, выводы SCLK, I/O, RST — к D2, D3, D4 соответственно. Контакт VCC не используется, потому что часы получают питание от батарейки (рис. У5.1 и У5.2).
- Загрузите скетч, описанный в листинге У5.1.
- Откройте монитор последовательного порта для просмотра полученных данных.
Рис. У5.2. Монтажная плата подключения часов
Рис. У5.3. Данные часов в мониторе последовательного порта
Данные получены (рис. У5.3), и все работает!