Arduino:Примеры/TimeArduinoDue
Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску
Содержание | Знакомство с Arduino | Продукты | Основы | Справочник языка Arduino | Примеры | Библиотеки | Хакинг | Изменения | Сравнение языков Arduino и Processing |
Перевод: Максим Кузьмин
Проверка/Оформление/Редактирование: Мякишев Е.А.
Синхронизация времени с помощью RTC (для Arduino Due)[1]
Это скетч для библиотеки Time и платы Arduino, который демонстрирует, как использовать эту библиотеку вместе с часами реального времени (или просто RTC). Этот пример создан специально для Arduino Due.
Код
/*
Синхронизация времени с помощью RTC (Для Arduino Due)
Пример, демонстрирующий работу библиотеки Time с RTC
(от «Real Time Clock», что значит «часы реального времени»).
Этому скетчу требуется библиотека RTC, написанная
Маркусом Лэнжем (Markus Lange), и скачать ее можно тут:
https://github.com/MarkusLange/Arduino-Due-RTC-Library
*/
#include <TimeLib.h>
#include <rtc_clock.h>
// Выбираем источник для RTC:
//RTC_clock rtc_clock(RC);
RTC_clock rtc_clock(XTAL);
void setup() {
Serial.begin(9600);
rtc_clock.init();
if (rtc_clock.date_already_set() == 0) {
// К сожалению, если применить сброс на плате Arduino Due, то она,
// по всей видимости, не сохраняет состояние RTC.
// Маркус описывает это следующим образом: «Фых! Если использовать
// контакт NRSTB, то Due делает сброс. Причем сброс выполняется на
// всем чипе и на всех бэкап-областях, включая RTC, RTT и SC.
// Впрочем, если вместо NRSTB использовать NRST, то эти области
// сохранят свои прежние значения».
rtc_clock.set_time(__TIME__);
rtc_clock.set_date(__DATE__);
// Впрочем, это может сработать на других неофициальных платах
// на базе SAM3X с RESET-схемой, отличной от Arduino Due.
}
setSyncProvider(getArduinoDueTime);
if(timeStatus()!= timeSet)
Serial.println("Unable to sync with the RTC"); // "Не удалось синхронизироваться с RTC"
else
Serial.println("RTC has set the system time"); // "RTC настроено на системное время"
}
time_t getArduinoDueTime()
{
return rtc_clock.unixtime();
}
void loop()
{
digitalClockDisplay();
delay(1000);
}
void digitalClockDisplay(){
// печатаем время на мониторе порта:
Serial.print(hour());
printDigits(minute());
printDigits(second());
Serial.print(" ");
Serial.print(day());
Serial.print(" ");
Serial.print(month());
Serial.print(" ");
Serial.print(year());
Serial.println();
}
void printDigits(int digits){
// вспомогательная функция для печати данных о времени
// на монитор порта; добавляет в начале двоеточие и ноль:
Serial.print(":");
if(digits < 10)
Serial.print('0');
Serial.print(digits);
}
См.также
Внешние ссылки
Arduino продукты | |
---|---|
Начальный уровень | Arduino Uno • Arduino Leonardo • Arduino 101 • Arduino Robot • Arduino Esplora • Arduino Micro • Arduino Nano • Arduino Mini • Arduino Starter Kit • Arduino Basic Kit • MKR2UNO • TFT-дисплей Arduino |
Продвинутые функции | Arduino Mega 2560 • Arduino Zero • Arduino Due • Arduino Mega ADK • Arduino Pro • Arduino Motor Shield • Arduino USB Host Shield • Arduino Proto Shield • MKR Proto Shield • MKR Proto Large Shield • Arduino ISP • Arduino USB 2 Serial Micro • Arduino Mini USB Serial Adapter |
Интернет вещей | Arduino Yun • Arduino Ethernet • Arduino MKR1000 • Arduino WiFi 101 Shield • Arduino GSM Shield V2 • Arduino WiFi Shield • Arduino Wireless SD Shield • Arduino Wireless Proto Shield • Arduino Ethernet Shield V2 • Arduino Yun Shield • Arduino MKR1000 Bundle |
Носимые устройства | Arduino Gemma • Lilypad Arduino Simple • Lilypad Arduino Main Board • Lilypad Arduino USB • LilyPad Arduino SimpleSnap |
3D-печать | Arduino Materia 101 |
Устаревшие устройства | - |
Примеры Arduino | |
---|---|
Стандартные функции | |
Основы |
|
Цифровой сигнал |
|
Аналоговый сигнал |
|
Связь |
|
Управляющие структуры |
|
Датчики |
|
Дисплей |
Примеры, объясняющие основы управления дисплеем:
|
Строки |
|
USB (для Leonardo, Micro и Due плат) |
В этой секции имеют место примеры, которые демонстрируют использование библиотек, уникальных для плат Leonardo, Micro и Due.
|
Клавиатура |
|
Мышь |
|
Разное |
Категории:
- Страницы, использующие повторяющиеся аргументы в вызовах шаблонов
- Справочник языка Arduino
- Arduino
- Перевод от Сubewriter
- Проверка:myagkij
- Оформление:myagkij
- Редактирование:myagkij
- Страницы, где используется шаблон "Навигационная таблица/Телепорт"
- Страницы с телепортом
- Пример
- Примеры
- Пример программирования Arduino
- Примеры программирования Arduino