« Arduinoで作ろう(10) 赤外線距離センサ GP2Y0A21YK | トップページ | Arduinoで作ろう(12) サーボモータを動かす »

2018年6月13日 (水)

Arduinoで作ろう(11) RTCモジュール DS3231 でデジタル時計

Ds3231_i2c_lcd

RTC(リアルタイムクロック)DS3231搭載モジュールを使って,LCD表示のデジタル時計を作ってみました。

このRTCモジュールには電池ホルダがついていて,リチウム充電池LIR2032を入れて時計情報を保持できるようになっています。充電回路があるのでCR2032を入れたりしちゃイケナイようですが,長時間使うのでなければ大丈夫でしょう(?)
ArduinoとはI2Cで接続するので信号線は2本で配線もカンタンです。

勉強不足で,仕様や使い方が今ひとつよく分からないのですが,ココで拾ってきたサンプルスケッチを利用して(ほとんどそのままですが),デジタル時計を作ることができました。
DS3231用のライブラリは色々あるようですが,とりあえずココでダウンロードできるRtcDS3231ライブラリを使ってみました。

スケッチはこちら→ 20180613.ino

#include <Wire.h> #include <RtcDS3231.h> #include <ST7032.h>

RtcDS3231<TwoWire> Rtc(Wire);
ST7032 lcd ;

void setup ()
{
Rtc.Begin() ;

// DS3231の日時を「それなりの値」に設定する場合に、以下の2行をコメントアウト
// RtcDateTime compiled = RtcDateTime(__DATE__, __TIME__) ;
// Rtc.SetDateTime(compiled) ;

lcd.begin(16, 2) ;
lcd.setContrast(30);
}

void loop ()
{
char buff[12] ;

RtcDateTime dt = Rtc.GetDateTime() ;

sprintf(buff, "%04u/%02u/%02u", dt.Year(), dt.Month(), dt.Day()) ;
lcd.setCursor(0, 0) ;
lcd.print(buff) ;

sprintf(buff, " %02u:%02u:%02u", dt.Hour(), dt.Minute(), dt.Second()) ;
lcd.setCursor(0, 1) ;
lcd.print(buff) ;

delay(100) ;
}

| |

« Arduinoで作ろう(10) 赤外線距離センサ GP2Y0A21YK | トップページ | Arduinoで作ろう(12) サーボモータを動かす »

Arduino」カテゴリの記事

トラックバック


この記事へのトラックバック一覧です: Arduinoで作ろう(11) RTCモジュール DS3231 でデジタル時計:

« Arduinoで作ろう(10) 赤外線距離センサ GP2Y0A21YK | トップページ | Arduinoで作ろう(12) サーボモータを動かす »