Arduino 初心者です。今までArduinoはもちろん、プログラムということに全く接点の無かった者です。そんな私が現在、4桁7セグメントLEDを使い、時計を作成しております。

Arduino 初心者です。今までArduinoはもちろん、プログラムということに全く接点の無かった者です。そんな私が現在、4桁7セグメントLEDを使い、時計を作成しております。 秒は表示せず、下2桁で分を表示、上2桁で時間を表示させようとしております。 現在、00時間00分からカウントが始まり、23時間59分までカウントしたところで00時間00分に戻る表示までは出来ましたが、この状態ですと、一旦電源を切るとまた00時間00分からのカウントになってしまいます。 電源を入れた時に現在時刻から時間が進むようにしたいと思っており、 ネットなどで検索しますと、ESP32でNTPサーバーから時刻を取得出来るという結果が多くヒットします。ESP32が無いと無理なのでしょうか? ゆくゆくはボタンを追加して、時間修正なども出来る時計に仕上げていきたいとは思っていますが、先は長いです... 申し訳ありませんが、ご教授頂けますと幸いです。 よろしくお願いします。

C言語関連 | プログラミング30閲覧xmlns="http://www.w3.org/2000/svg">100

ベストアンサー

0

大よそ設計次第です。検討すべき要件(の一部)を書いておきます。 ・Arduinoに付いているオシレータのレベルでは時計としては用をなさない。 ・RTC(リアルタイムクロック)を使えば電源を落としても、RTCは電池で動き続ける ・RTCを使ったとしても、時刻は狂うので補正は必須 ・RTCの操作方法はどれも変わらないけど、nan********さんの方のRTCの方が高性能。 ajyantaさんの方が低消費電力でサイズ的にも利点があります。 どちらも良い物ですけど、初心者には有名な前者の方が良さそうに思います。 ・自動で時刻を合わせる=取得するなら、webサーバ、標準電波(電波時計)、GPS等がある。 それらは別途モジュール等が必要になるし、取得できる(設置)条件が必要になる。 また、それらでちょくちょく時刻を取得するなら 必ずしもRTCは必須では無い。 ・時計が電池駆動なのか、アダプタ接続なのかで設計が大きく異なる。 ・電源を入れた時/切った時というのは試作時であり、「時計」の完成時には、ほぼ止める事は無い。 ・7セグLEDの消費電力はかなりの物なので、電池駆動には適さない。 ※RTCの操作は、初心者には簡単ではないと思います。まずはライブラリを使う事をお勧めします。

その他の回答(4件)

0

回答があるが分かったのか、分からないのか? 返事をしなきゃ最善の方法を知る、又は回答は出来ないよ。

0

最初のころ、時刻といえばRTCが王道なんでつかったことはあります。 が、最初の時刻合わせってどうすればいいのか?。設定用のボタンとかも付ける必要があるような。最初だけシリアル通信でPCから書き込めばいいか...。などどいろいろ考えることがでてきます。 ESP32のようにネットに接続できる場合、こういうめんどいことを考えなくてもいいので楽です。起動時や定期的にでもNTPサーバーから時刻を取得できるので、いつでも時刻は正確です。もちろんRTSもボタンも不要です。 ネットにつなげない環境でも時刻表示したいとなるとやはりRTCしかないでしょうね。