1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

esp8266 で ds3231を使う3 アラーム機能まとめ

Last updated at Posted at 2016-12-10

#概要
DS3231にはアラーム機能がついてる。
このアラーム機能を使ってDeepSleepモード中のESP8266をオンにしたい。
ただ、DS3231にはアラーム機能がよくわからないのでまとめて見る。
違ってたらご指摘お願いします。

#アラーム機能
アラーム機能はalarm1,alarm2があるようです
###alarm1
1-1.1秒に1回のアラームが発生する
1-2.分と秒が一致するとアラームが発生する
1-3.時、分、秒が一致するとアラームが発生する
1-4.日、時、分、秒が一致するとアラームが発生する
1-5.曜日、時、分、秒が一致するとアラームが発生する
###alarm2
2-1.1分間に1回アラーム(毎分00秒)が発生する
2-2.分が一致したときのアラームが発生する
2-3.時、分が一致するとアラームが発生する
2-4.日、時、分が一致するとアラームが発生する
2-5.曜日、時、分が一致するとアラームが発生する

難しいと思っていたけど、alarm1は秒単位で指定、alarm2は分単位でアラームを
指定できるってことのようです。

こちらのサイトにも関連記事があります。
http://blogs.yahoo.co.jp/dascomp21/68145713.html
データーシート
https://datasheets.maximintegrated.com/en/ds/DS3231.pdf

#アラーム機能を使う
https://github.com/jarzebski/Arduino-DS3231
DS3231_alarm.inoを書き込んでお試しした。


30秒毎にタイマーをセットしました。

#include <Wire.h>
#include <DS3231.h>

DS3231 clock;
RTCDateTime dt;

void setup()
{
  Serial.begin(115200);
  
  Serial.println("Initialize DS3231");;
  clock.begin();

  clock.armAlarm1(false);
  clock.armAlarm2(false);
  clock.clearAlarm1();
  clock.clearAlarm2();
 
  clock.setAlarm1(0, 0, 0, 30, DS3231_MATCH_S);
  clock.setAlarm2(0, 0, 0,     DS3231_EVERY_MINUTE);

}


void loop()
{
  dt = clock.getDateTime();

  Serial.println(clock.dateFormat("d-m-Y H:i:s - l", dt));

  // Call isAlarm1(false) if you want clear alarm1 flag manualy by clearAlarm1();
  if (clock.isAlarm1())
  {
    Serial.println("ALARM 1 TRIGGERED!");
  }

  // Call isAlarm2(false) if you want clear alarm1 flag manualy by clearAlarm2();
  if (clock.isAlarm2())
  {
    Serial.println("ALARM 2 TRIGGERED!");
  }
 
  delay(1000);
}

setAlarm1(曜日 or 日, 時, 分, 秒, mode)
setAlarm2(曜日 or 日, 時, 分,   mode)


Alarm1で30秒になったら、Alarm2で毎分アラームが発生するように設定
clock.setAlarm1(0, 0, 0, 30, DS3231_MATCH_S);
clock.setAlarm2(0, 0, 0, DS3231_EVERY_MINUTE);

#まとめ
何日、何時、何分、何秒と言うのは設定でできるけど、15秒毎とか10分毎と言うのは
プログラム上に仕掛けが必要です。

なんか、おもってたんと違う感じです。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?