<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ko">
	<id>https://arduwiki.com/html/index.php?action=history&amp;feed=atom&amp;title=RTC_Module%28DS1302%29_JP</id>
	<title>RTC Module(DS1302) JP - 편집 역사</title>
	<link rel="self" type="application/atom+xml" href="https://arduwiki.com/html/index.php?action=history&amp;feed=atom&amp;title=RTC_Module%28DS1302%29_JP"/>
	<link rel="alternate" type="text/html" href="https://arduwiki.com/html/index.php?title=RTC_Module(DS1302)_JP&amp;action=history"/>
	<updated>2026-04-29T00:25:17Z</updated>
	<subtitle>이 문서의 편집 역사</subtitle>
	<generator>MediaWiki 1.40.1</generator>
	<entry>
		<id>https://arduwiki.com/html/index.php?title=RTC_Module(DS1302)_JP&amp;diff=2305&amp;oldid=prev</id>
		<title>ArduWiki: 새 문서: {{#seo:|title=アルドゥウィキ：アルドゥイーノ RTC モジュール (DS1302) ガイド|title_mode=append|keywords=アルドゥイーノ, 情報科学, メーカー学習, パフォーマンス評価, RTC モジュール (DS1302), アルドゥイーノプロジェクト, キャップストーンプロジェクト, アルドゥイーノサンプルコード|description=アルドゥイーノで RTC モジュール (DS1302) を制御する方法（基本情報、回路...</title>
		<link rel="alternate" type="text/html" href="https://arduwiki.com/html/index.php?title=RTC_Module(DS1302)_JP&amp;diff=2305&amp;oldid=prev"/>
		<updated>2025-03-20T11:48:33Z</updated>

		<summary type="html">&lt;p&gt;새 문서: {{#seo:|title=アルドゥウィキ：アルドゥイーノ RTC モジュール (DS1302) ガイド|title_mode=append|keywords=アルドゥイーノ, 情報科学, メーカー学習, パフォーマンス評価, RTC モジュール (DS1302), アルドゥイーノプロジェクト, キャップストーンプロジェクト, アルドゥイーノサンプルコード|description=アルドゥイーノで RTC モジュール (DS1302) を制御する方法（基本情報、回路...&lt;/p&gt;
&lt;p&gt;&lt;b&gt;새 문서&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{#seo:|title=アルドゥウィキ：アルドゥイーノ RTC モジュール (DS1302) ガイド|title_mode=append|keywords=アルドゥイーノ, 情報科学, メーカー学習, パフォーマンス評価, RTC モジュール (DS1302), アルドゥイーノプロジェクト, キャップストーンプロジェクト, アルドゥイーノサンプルコード|description=アルドゥイーノで RTC モジュール (DS1302) を制御する方法（基本情報、回路、サンプルコード）を紹介します。情報科学とメーカー授業で活用できます。}}&lt;br /&gt;
[[File:Rtc모듈대표이미지.jpg|center|class=coders100]]&lt;br /&gt;
&lt;br /&gt;
ボードに接続されていなくても時間を記憶するモジュールです。&lt;br /&gt;
&lt;br /&gt;
バッテリー（CR2032）を使用します。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== &amp;#039;&amp;#039;&amp;#039;仕様&amp;#039;&amp;#039;&amp;#039; ==&lt;br /&gt;
* 動作電圧：3.3V 〜 5V&lt;br /&gt;
* 動作電流：2V 基準 300nA&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== &amp;#039;&amp;#039;&amp;#039;必要なハードウェア&amp;#039;&amp;#039;&amp;#039; ==&lt;br /&gt;
* RTC モジュール&lt;br /&gt;
* Arduino&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== &amp;#039;&amp;#039;&amp;#039;接続&amp;#039;&amp;#039;&amp;#039; ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| colspan=&amp;quot;1&amp;quot; rowspan=&amp;quot;1&amp;quot; |RTC module&lt;br /&gt;
| colspan=&amp;quot;1&amp;quot; rowspan=&amp;quot;1&amp;quot; |Arduino&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;1&amp;quot; rowspan=&amp;quot;1&amp;quot; |VCC&lt;br /&gt;
| colspan=&amp;quot;1&amp;quot; rowspan=&amp;quot;1&amp;quot; |5V&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;1&amp;quot; rowspan=&amp;quot;1&amp;quot; |GND&lt;br /&gt;
| colspan=&amp;quot;1&amp;quot; rowspan=&amp;quot;1&amp;quot; |GND&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;1&amp;quot; rowspan=&amp;quot;1&amp;quot; |CLK&lt;br /&gt;
| colspan=&amp;quot;1&amp;quot; rowspan=&amp;quot;1&amp;quot; |D5&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;1&amp;quot; rowspan=&amp;quot;1&amp;quot; |DAT&lt;br /&gt;
| colspan=&amp;quot;1&amp;quot; rowspan=&amp;quot;1&amp;quot; |D4&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;1&amp;quot; rowspan=&amp;quot;1&amp;quot; |RST&lt;br /&gt;
| colspan=&amp;quot;1&amp;quot; rowspan=&amp;quot;1&amp;quot; |D3&lt;br /&gt;
|}&lt;br /&gt;
[[File:Rtc 회로.png|center|class=coders70]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== &amp;#039;&amp;#039;&amp;#039;ライブラリ&amp;#039;&amp;#039;&amp;#039; ==&lt;br /&gt;
This document uses the Rtc by Makuna library for Arduino. [[Arduino Libraries]]&lt;br /&gt;
[[File:Rtc 라이브러리.png|center|class=coders70]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== &amp;#039;&amp;#039;&amp;#039;サンプルコード&amp;#039;&amp;#039;&amp;#039; ==&lt;br /&gt;
コンパイル時点で時間を保存するコードで、ボードにアップロード時に若干の差が生じます。&lt;br /&gt;
（コードコンパイル後にボードにアップロードされるため、アップロード中に誤差が発生）&lt;br /&gt;
&lt;br /&gt;
[[File:Rtc 예제1.png|center|class=coders50]]&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c++&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;lt;ThreeWire.h&amp;gt;  &lt;br /&gt;
#include &amp;lt;RtcDS1302.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
//--------------------Modified Section-------------------------------&lt;br /&gt;
#define CLK 5     //Specify CLK pin number&lt;br /&gt;
#define DAT 4     //Specify DAT pin number&lt;br /&gt;
#define RST 3     //Specify RST pin number&lt;br /&gt;
&lt;br /&gt;
ThreeWire myWire(DAT,CLK,RST);&lt;br /&gt;
//--------------------------------------------------------------&lt;br /&gt;
RtcDS1302&amp;lt;ThreeWire&amp;gt; Rtc(myWire);&lt;br /&gt;
&lt;br /&gt;
void setup () &lt;br /&gt;
{&lt;br /&gt;
    Serial.begin(57600);&lt;br /&gt;
&lt;br /&gt;
    Serial.print(&amp;quot;compiled: &amp;quot;);&lt;br /&gt;
    Serial.print(__DATE__);&lt;br /&gt;
    Serial.println(__TIME__);&lt;br /&gt;
&lt;br /&gt;
    Rtc.Begin();&lt;br /&gt;
&lt;br /&gt;
    RtcDateTime compiled = RtcDateTime(__DATE__, __TIME__);&lt;br /&gt;
    printDateTime(compiled);&lt;br /&gt;
    Serial.println();&lt;br /&gt;
&lt;br /&gt;
    if (!Rtc.IsDateTimeValid()) &lt;br /&gt;
    {&lt;br /&gt;
        // Common Causes:&lt;br /&gt;
        //    1) first time you ran and the device wasn&amp;#039;t running yet&lt;br /&gt;
        //    2) the battery on the device is low or even missing&lt;br /&gt;
&lt;br /&gt;
        Serial.println(&amp;quot;RTC lost confidence in the DateTime!&amp;quot;);&lt;br /&gt;
        Rtc.SetDateTime(compiled);&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    if (Rtc.GetIsWriteProtected())&lt;br /&gt;
    {&lt;br /&gt;
        Serial.println(&amp;quot;RTC was write protected, enabling writing now&amp;quot;);&lt;br /&gt;
        Rtc.SetIsWriteProtected(false);&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    if (!Rtc.GetIsRunning())&lt;br /&gt;
    {&lt;br /&gt;
        Serial.println(&amp;quot;RTC was not actively running, starting now&amp;quot;);&lt;br /&gt;
        Rtc.SetIsRunning(true);&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    RtcDateTime now = Rtc.GetDateTime();&lt;br /&gt;
    if (now &amp;lt; compiled) &lt;br /&gt;
    {&lt;br /&gt;
        Serial.println(&amp;quot;RTC is older than compile time!  (Updating DateTime)&amp;quot;);&lt;br /&gt;
        Rtc.SetDateTime(compiled);&lt;br /&gt;
    }&lt;br /&gt;
    else if (now &amp;gt; compiled) &lt;br /&gt;
    {&lt;br /&gt;
        Serial.println(&amp;quot;RTC is newer than compile time. (this is expected)&amp;quot;);&lt;br /&gt;
    }&lt;br /&gt;
    else if (now == compiled) &lt;br /&gt;
    {&lt;br /&gt;
        Serial.println(&amp;quot;RTC is the same as compile time! (not expected but all is fine)&amp;quot;);&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop () &lt;br /&gt;
{&lt;br /&gt;
    RtcDateTime now = Rtc.GetDateTime();&lt;br /&gt;
&lt;br /&gt;
    printDateTime(now);&lt;br /&gt;
    Serial.println();&lt;br /&gt;
&lt;br /&gt;
    if (!now.IsValid())&lt;br /&gt;
    {&lt;br /&gt;
        // Common Causes:&lt;br /&gt;
        //    1) the battery on the device is low or even missing and the power line was disconnected&lt;br /&gt;
        Serial.println(&amp;quot;RTC lost confidence in the DateTime!&amp;quot;);&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    delay(10000); // ten seconds&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
#define countof(a) (sizeof(a) / sizeof(a[0]))&lt;br /&gt;
&lt;br /&gt;
void printDateTime(const RtcDateTime&amp;amp; dt)&lt;br /&gt;
{&lt;br /&gt;
    char datestring[20];&lt;br /&gt;
&lt;br /&gt;
    snprintf_P(datestring, &lt;br /&gt;
            countof(datestring),&lt;br /&gt;
            PSTR(&amp;quot;%02u/%02u/%04u %02u:%02u:%02u&amp;quot;),&lt;br /&gt;
            dt.Month(),&lt;br /&gt;
            dt.Day(),&lt;br /&gt;
            dt.Year(),&lt;br /&gt;
            dt.Hour(),&lt;br /&gt;
            dt.Minute(),&lt;br /&gt;
            dt.Second() );&lt;br /&gt;
    Serial.print(datestring);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 実行結果 ===&lt;br /&gt;
[[File:Rtc 실행결과.png|center|class=coders70]]&lt;/div&gt;</summary>
		<author><name>ArduWiki</name></author>
	</entry>
</feed>