緑の中に

緑の中に
国立天文台

1/12/2025

ESP32 + RTC

 ESP32 + RTC

途中




32ビットマイコンに着手




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






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部に表示するまでの機能は付けませんでした。
しかし、運用中の保守において必ず欲しいという機能です。

--
書きかけです