緑の中に

緑の中に
国立天文台

1/12/2025

ESP32 + RTC

 ESP32 + RTC

RTC (Real Time Clock)   時計のことです

この画像には、ESP32マイコン(中央)、RTC(左上)、温度センサSi7021(左下)が写っています。


RTCをうまく使えました。いままで、RTCへ現在時刻を登録(初期設定)する方法を、私は

プログラム中に年、月、日、曜日(番号)、時、分、秒 を書いて、初期設定していました。ここの部分を少し改良しました。




 

25/  とは西暦2025年 です。プログラムの改善により 2025/ としました。

あとは、Mon/Day/HH:MM:SS です。

このタイムスタンプを観測データの先頭に付けるようにプログラムしました。



 ↑ 温湿度センサー Si7021 

 このセンサーは優れものです。安定しています。

TANITA の温度計をこのセンサーの近くに置き、比較しました。
温度に関しては、ほぼ一致です。これはすごいことです。

PC側はTera Term で受信します。 TeraTermもすぐれものアプリですね!
TeraTermの使用法も次第に理解が深まりました。しかし、まだまだ用途がありそうです!










32ビットマイコンに着手

32ビットマイコンに着手 ESP32マイコン


 














このマイコンのプログラム開発は、Arduino IDE においてESP32が使えるようにカスタマイズした。その手順は、Web や参考書籍に載っています。

お薦め書籍
IoT開発スタートブック ESP32でクラウドにつなげる
電子工作をはじめよう!
技術評論社 下島健彦 著


写真には2種類の32Bitマイコンを載せています。
■上から4枚の写真
ESPRESSIF DevKiC-32E
DEVELOPMENT BOARD  
ESP32 DevKit
 製造会社名 品番 版 でしょうか。 いろいろ書いてあります。    

■ 下から2枚の写真
GROVE  STARTER KIT for Arduino
seeed studio
GROVEという独自の規格をアピールしています。半田ごて作業をすることなく、コネクター
を介しての接続で実験できることを主張しています。
 しかし、最下部の写真の様にケーブルを自分なりに加工して使用しました。そして、ブレッドボードを使用しました。


とにかく最初にプログラムするとなると、LEDの点灯です。そして、LEDを消灯する。
いわゆるLチカです。

LEDーチカチカ が動作すると、やっぱりうれしいですね!
全てのはじまりは、Lチカからです。
























12/14/2024

赤外線センサー&電子オルゴール

 赤外線センサー&電子オルゴール


10m距離の動体物も検知しました

20m ぐらいの距離は検知しているようです




12/05/2024

基板に組みました

 



赤外線センサー受信部は、動体物を検知すると3秒間のOneShot動作回路に調節しました。一度検知してから、次の3秒後には動体物があれば、また検知して動作します。
せわしくオルゴール音を発します。

そこで、マイコンを介在させて以下のようにしました。

緑LED点灯は、オルゴール動作によりスピーカよりオルゴール音を発している状態です。
約20秒間オルゴール音の動作です。

オレンジLED点灯は、赤外線センサーが感知してもこのマイコンにより不感知として扱い、オルゴール音は発しません。約40秒間にわたりオルゴール音は発しません。

以上により、頻繁な動作を抑え、安定な動作としました。
これは用途によっては良し悪しです。もちろん、20秒ー40秒の時間の変更はPICマイコンのプログラムで変更可能です。

つぎはこの装置を三脚に取りつける工程に入ります。










10/02/2024

赤外線センサー & ICオルゴール

 赤外線センサー & ICオルゴール

PIC12F683でOneShotを実現










9/17/2024

Monitor Display (監視表示)

 Monitor Display (監視表示)

先の「電子カレンダー」と似たようなプログラムではあるが、違いはアラーム動作に入ったことが眼で確認できるプログラムである。現在Unoにプログラムを書き込んで実験しています。
UnoはSRAM容量の制限がNanoより厳しく、アラームのすべてを記述したプログラムではありません。今後Nanoへ書き込み、すべての予定のアラームを書き込んだプログラムで実験する必要があります。

マイコン(Arduino Nano)が正しく時刻を検出しているか確認します。
そのためにマイコンにLCDを取付けて動きを表示することが必要です。

LCD表示様子_ACM 1602NI-FLW-FBW-M01-I2C接続キャラクタLCDモジュール 16x2行 白色バックライト付 を使用。







マイコンNanoのRestスイッチを押下すると、

Nanoへ書き込んだプログラム名を表示  [Rtc60SecIntLcdAlm_100] [Wk-1]

 [9_Mon 16_Day]     Wk-1  は0から数えて1番目の曜日 月曜日


現在時刻 日付 曜日(曜日番)を表示 [11:4:1]

60秒毎に割込み動作に入ります   [その結果 in Func()]

通常動作に入ります [in Loop()]


*LCD表示器への電源OFFとしても問題ありません。そのようにすれば電流消費を節約できます。


*RTCは初期化した内容を保持するため
必ず電池でBackUp通電しておくこと。
(主原電OFFの前にBackUPを通電すれば良い)


以上によりこのLCD表示器を見れば、現在時刻および警報動作へ入ったときが確認できます。



----------------------------

3V電池 抵抗100Ω ダイオード RTC +電極 のハード。Uno 3.3V のルートに *ダイオードを入れた。

装置電流測定 

Uno 3.3V 端子電源より 9.3mA を吐き出してる. RTCへは3V電池でBackUpの状態である

3V電池でBackUp その接続を外しても9.3mA と同じ値であった。

(4.5mA LCD照明を暗くして)

LCDの電源OFFでは 1mA  ●  <--- 今後SWを入れて構成すると良いと思う。


BackUp3V電池からRTCへの吐き出し電流は0.02mAであった。この状態は、Uno3.3VがRTCへ給電してある時である。

Uno3.3VがRTCへ給電STOPでは0.02mA であった。 ● <---- RTCをこの状態で保管できる。BackUp電池の消費を抑えながら保管できる。

--------------------  




9/08/2024

RTC(Real Time Clock) 電子カレンダーを作る

 RTC(Real Time Clock) 電子カレンダーを作る




2秒間隔の歩進としました

RTCの初期設定部の要の一部を載せます。
問題は、Initializeプログラム書き込み時に
いかに実時刻を書き込むかにかかっている

// ★★★★
// Wire.write(0x59); //秒   00秒と書いては良くない. 59秒と書くこと. [ 下記↓[分+1]が直ちに書き込まれると考える.59秒だから.
// Wire.write(0x23); //分  20分などと.  [[ここの分+1] がスタートすると考える.よって[Compile&Write]時間を見込むこと]
// [↑一度[Compile&Write] に要する経験値秒を調べる. それを考慮してWriteする.おおよそ15~30秒ぐらいの範囲である]
// Wire.write(0x17); //時 11時など [↑一度[Compile&Write] に要する経験値秒を調べる.(一度実行する) それを考慮して再度Writeする]
// ★★★★

すばらしい!

主電源OFFとするときは、RTCのSRAMへバックアップ電源を供給してからとする事。
そうでないと、上記実時刻合わせを再度強いられます。

先の獣害対策装置には、時計の様にLCD部に表示するまでの機能は付けませんでした。
しかし、運用中の保守において必ず欲しいという機能です。

--
書きかけです