В этом уроке мы подключим к 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

 

Порядок подключения

  1. Подключите вывод часов GND к выводу GNDна Arduino, выводы SCLK, I/O, RST — к D2, D3, D4 соответственно. Контакт VCC не используется, потому что часы получают питание от батарейки (рис. У5.1 и У5.2).
  2. Загрузите скетч, описанный в листинге У5.1.
  3. Откройте монитор последовательного порта для просмотра полученных данных.

Screenshot 17

Рис. У5.2. Монтажная плата подключения часов

Screenshot 18

Рис. У5.3. Данные часов в мониторе последовательного порта

 

Данные получены (рис. У5.3), и все работает!