今回は、DS1307RTCを使って、液晶ディスプレイに現在時刻を表示してみようと思います。
プログラミングはAIにお願いしました。
配線図

この回路図の作図には fritzing を利用させて頂いております。https://fritzing.org/home/
使用部品
- DS1307 RTC モジュール ・・・(スターターキット:Amazon購入)
- LCD 1602 Module(液晶ディスプレイ)・・・(スターターキット:Amazon購入)
- シリアルインターフェースモジュール ・・・(Amazon購入)
Amazon.co.jp: WayinTop Raspberry Pi用センサーキット 電子工作キット スターターキット ラズベリー パイ用 超入門 初心者向け 中級者向け 学習キット 電子部品セット プログラミング JAVA C++ Python 日本語チュートリアル : 産業・研究開発用品
Amazon.co.jp: WayinTop Raspberry Pi用センサーキット 電子工作キット スターターキット ラズベリー パイ用 超入門 初心者向け 中級者向け 学習キット 電子部品セット プログラミング JAVA C++ Py...
Amazon.co.jp: LCDアダプターコンバーターモジュール 3-6V IIC I2C TWI SPI シリアルインターフェイスボードポート LCD2004 LCD1602 アダプタプレート LCD アダプタコンバータモジュール IIC/I 2 C/インターフェースLCD 1602液晶スクリーンシリアル For PCF8574AT/PCF8574T Arduino 用 : パソコン・周辺機器
Amazon.co.jp: LCDアダプターコンバーターモジュール 3-6V IIC I2C TWI SPI シリアルインターフェイスボードポート LCD2004 LCD1602 アダプタプレート LCD アダプタコンバータモジュール II...
Arduino IDE
AI(チャットGPT)にお願いしてみました。
「Arduino DS1307RTCを使って、液晶ディスプレイに現在時刻を表示 2行
1行目年/月/日 2行目時刻表示」と入力し、送信。

あっ、という間に、答えが返って来ました。



スケッチをコピーして、Arduino IDEにペースト。
#include <Wire.h>
#include <RTClib.h>
#include <LiquidCrystal_I2C.h>
RTC_DS1307 rtc;
LiquidCrystal_I2C lcd(0x27, 16, 2); // アドレス 0x27、16列2行の液晶ディスプレイに合わせて設定してください
void setup() {
lcd.begin(16, 2);
Wire.begin();
rtc.begin();
// RTCが初期化されていない場合は、次の行のコメントを解除して現在の日付と時刻を設定します
// rtc.adjust(DateTime(F(__DATE__), F(__TIME__)));
lcd.setCursor(0, 0);
lcd.print(" "); // 行の最初に空白を表示してから時刻を表示するために初期化
lcd.setCursor(0, 1);
lcd.print(" "); // 行の最初に空白を表示してから時刻を表示するために初期化
}
void loop() {
DateTime now = rtc.now();
lcd.setCursor(0, 0);
lcd.print(now.year(), DEC);
lcd.print('/');
lcd.print(formatDigits(now.month()));
lcd.print('/');
lcd.print(formatDigits(now.day()));
lcd.setCursor(0, 1);
lcd.print(formatDigits(now.hour()));
lcd.print(':');
lcd.print(formatDigits(now.minute()));
lcd.print(':');
lcd.print(formatDigits(now.second()));
delay(1000); // 1秒ごとに更新
}
// 1桁の数字を2桁の0埋め形式に変換するヘルパー関数
String formatDigits(int digits) {
if (digits < 10) {
return "0" + String(digits);
}
return String(digits);
}
スケッチをコンパイルする。
成功です。

まとめ
- ArduinoとDS1307RTCを使って、LSD液晶ディスプレイに現在時刻を表示しました。
- プログラミングは、またもChatGPTに頼りました。AIは恐ろしすごいです。