緑の中に

緑の中に
国立天文台

8/01/2026

OpenPLCの扱い

OpenPLCの扱い

記述途中です







 

7/08/2026

カウンターの実験



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

PC+Arduino Uno 

■■■ ArduinoUnoCounter-Thonny ■■■

■ハード Arduino Uno  SW合計4個 

 2番端子 -- SW -- GND

 3番端子 -- SW -- GND

 8番端子 -- SW -- GND

10番端子-- SW -- GND

 5番端子 -- 470Ω -- LED黄色 -- GND

 7番端子 -- 470Ω -- LED赤色 -- GND


  < 回路図描画 不正確ですがお許しを>                        

                     +v  

A0番端子 ----| 光センサ 

                 30KΩ--GND


                                                     --- +V

A1番端子 -- VR中央端子 --|

                                  --- GND

A2番端子 未

A3番端子 -- 470Ω -- LED緑色 -- GND

A4番端子 -- 470Ω -- LED黄色 -- GND

A5番端子 -- 470Ω -- LED赤色 -- GND

PC <------> Arduino Uno   USBケーブルで接続します。

■ソフト

file name direct.ino なるファイルを開きます。Arduino Uno COM Port を指定し、繋ぎます。

IDEのシリアルポート で現在Unoに書き込んであるファイル名が表示するプログラムであれば、ファイル名を表示します。

●counter-0004.py 

Thonnyで実行します。Arduino Uno 8pin(プルアップ)SW を押下します。反応があります。

Arduino Uno 8pin(プルアップ)SW を押下すると、カウンターが数値を表示する。

カウント数をタイムスタンプ付きでファイルを保存します。

素晴らしいです!!

面白い!!


●counter-0010.py 

Thonnyで実行します。Arduino Uno 8pin(プルアップ)SW を押下します。反応があります。

Arduino Uno 8pin(プルアップ)SW を押下すると、カウンターが数値を表示する。

カウント数をタイムスタンプ付きでファイルを保存します。

素晴らしいです!!

面白い!!


●direct110-counter-randam-large.py

Arduino Uno 8pin(プルアップ)SW を押下すると、カウンターが数値を表示する。

PopUpする場所が変化して面白い!!


以上










6/17/2026

1月からの外気温をグラフに

 



#Good. 素晴らしい!

#5色使用して描画しました。

import numpy as np

import matplotlib.pyplot as plt

import pandas as pd

import matplotlib

matplotlib.use("TkAgg")  # Thonny 対策

# --- 読み込む CSV ファイル一覧(ファイル名は必要に応じて調整) ---

csv_files = [

    "data88088-2026-1月分-A.csv",

    "data88088-2026-2月分-A.csv",

    "data88088-2026-3月分-A.csv",

    "data88088-2026-4月分-A.csv",

    "data88088-2026-5月分-A.csv",

]

# --- 月ごとに色を変えるための色リスト ---

colors = ["royalblue", "orange", "green", "red", "purple"]

plt.figure(figsize=(14, 6))

# --- 各 CSV を順番に読み込んでプロット ---

for file, color in zip(csv_files, colors):

    df = pd.read_csv(file, encoding="utf-8")

    df["created"] = pd.to_datetime(df["created"], errors="coerce")

    # 月名を凡例に使う(ファイル名から抽出してもOK)

    label_name = file.replace("data88088-2026-", "").replace("-A.csv", "")

    plt.plot(df["created"], df["温度"], label=label_name, color=color)

# --- 0℃ライン ---

plt.axhline(0, color="black", linestyle="--", alpha=0.4)

plt.title("Outdoor Temperature (January–May 2026)")

plt.xlabel("Date")

plt.ylabel("Temperature (°C)")

plt.legend()

plt.grid(True)

plt.tight_layout()

# JPG 保存

plt.savefig("temperature_2026_Jan_to_May.jpg", dpi=300)

plt.show()
------------------------------------

1月1日から5月31日において

151日X(24X60/5)=151x288=43488 

5分間隔で測定しています。データ個数は約4万3千個あるはずです。

4万3千個。これをグラフにプロットする作業を行わせるわけです。

私はエクセルを使用しても、描画させられません。

そのように考えると、このプログラムのすごさを実感します。
AIでプログラムを作りました。





5/19/2026

ワンショット回路に電子音

 ワンショット回路に電子音













最初はワンショット回路を作った時は、LEDの一定時間点灯回路でした。
しかし見逃しにより、発生のタイミングを把握しずらく感じました。

するとブザー回路を追加する事は一般的です。
ブザー音の音色をより電子的な音色とできないか検討しました。


より電子音的な音色としたワンショット回路です。
(ラッチ回路とも言いますよね!)

ブザーは使用せず、スピーカーへ電子音源相当の信号を一定時間送っています。
後日製作回路の一部を載せます。


*電子音的な音発生装置の既製品があれば良いのですが、見当たりません。
 






















PICの音源を約3秒ほどスピーカーから発します。
スピーカーから音源を発している時の装置の全電流は、75mAです。
そして、音源が停止しますと、装置の全電流は140mAほどの電流が継続して流れます。

 そこで、電流停止回路を
音源が停止した直後に動作させる仕組みにしています。
これにより装置の待機電流は4.8mAになります。(この4.8mAは電源パイロットLEDの消費電流)
 なんとも、複雑な回路による電子音発生装置です。
もっとスマートでシンプルな方法はないものか思案しています。
 
 世の中にある電子装置の電子音は、どのような構成でしょうか。
分かる方いますか。

私はメカニカルブザー音は好きではありません。用途にもよりますが。
国会議事堂ではメカニカルブザーですね。



3/01/2026

2026年2月の気温 富士山?

     

 富士山になっています?





12/17/2025

Pythonによる片対数グラフ用紙の作成と関数

 

AIでプログラムを作りました。
昔はFortranで数値計算をしたものをファイルに書き出し、このファイルをBasicによる片対数グラフ用紙に読み込んで描画していました。


7/26/2025










● このグラフについて

Arduino Uno の11番ピンに付けたスイッチ(Normal HIGH)をActive Lowにすると、

Windows PC の画面に信号がPOP-UP します。そして、数秒経過ごとに赤(上)-->青(下)と点灯を自動で切換します。


この手順の概略を書きます
書きかけ途中です




4/18/2025

複素数を描画(Python言語による)

複素数を描画(Python言語による)

AI(Copilot)の支援により、簡単に描画できました
Python言語による複素数の描画です 
複素数 A、Bの表示です

楽ですね!  

以下の様にキーワードを与えて、AIが生成したプログラムをVSCへ貼り付けます。
そして、実行し、さら改良していきます。

私が与えたKey Wordは以下です。CopilotこのWordを逐次与えました。

[Python言語で 数学 複素数の扱い グラフ化 です]

[具体的な値が分かりやすいので、以下のようにします。 複素数を A B とします A=5+3i B=8-5i]


[虚部のiをすべてjに変換したプログラムとしてください。 電気電子工学系で使用するので]

[そして、原点から各プロット座標へ、ベクトル描画を行ってください]

[絶対値の表示を、グラフエリアにも同様に表示してください]


-----♦--------♦-------♦------♦------♦---------

import numpy as np

import matplotlib.pyplot as plt


# 複素数の定義(電気電子工学表記)

A = 5 + 3j  # j を使用

B = 8 - 5j

# 絶対値(ノルム)の計算

abs_A = np.abs(A)

abs_B = np.abs(B)


# ターミナルに絶対値を表示

print(f"|A| = {abs_A:.2f}")

print(f"|B| = {abs_B:.2f}")


# 実部と虚部を抽出

real_parts = [A.real, B.real]

imag_parts = [A.imag, B.imag]

---  省略
---
-----♦--------♦-------♦------♦------♦---------

もしAIを私が使用しなかったら、このプログラムを作ることができたであろうか?
Pythonの参考書を読み、試しては試す。
相当な時間が必要であることが想像できます。

いまここにAIが生成したプログラムは、私は現在完全に解説はできません。
しかしながら全体といてはイメージがつかめた感じです。
使いながら、プログラムを理解していく方針も悪くはないと感じています。

以前なら、Fortran とBasic を組み合わせたりした過程をPyhton言語では一気に行えますね!
[Python言語]が大好きになりました。

3/02/2025

ESP32 DevKitC-32E (マイコン) & Si7021(温湿度センサー)

 ESP32 DevKitC-32E (マイコン) & Si7021(温湿度センサー)

Ambient とWebで検索してください

このような状態で実用に供することが可能となりました
(下図は一連の登録およびESP32へのプログラム書き込み後の結果です)








素晴らしいです











温湿度センサー Si7021

 温湿度センサー Si7021

このセンサーは I2C接続ができます。
温度および湿度を計測します。安定して、ほぼ正確な値が取得出来ます。

お奨です。



 このセンサーへの接続線を何メートルまで延ばせるか?
AIによると1m という応答でした。


1/12/2025

ESP32 + RTC

 ESP32 + RTC

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

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


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

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



アンビエントデーター株式会社のIoTクラウドサービスに接続した場合は、RTCまで用意する必要はありません。
IoTクラウドサービス側で、各データの先頭に年月日時刻を付けてくれます


↓ 下記は自身のRTCからの受信画像です


 

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

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

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



 ↑ 温湿度センサー Si7021 

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

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

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








アンビエントデーター株式会社のIoTクラウドサービスに接続した場合は、RTCまで用意する必要はありません。IoTクラウドサービス側で、各データの先頭に年月日時刻を付けてくれます。



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

--
書きかけです



8/27/2024

稼働中です

稼働中です

 



使用バッテリーについて

|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||

2024.6.14 Amazon からバッテリー&充電器&バッテリテスター 到着 総額\40247円

LiTime 12V50Ah リン酸鉄リチュウムイオンバッテリー 640W 出力 4000回以上リサイクル
¥23199.

================================================
12V 50Ah

Li Time
Ampere Timeから
LiFeP04

(50A BMS)
製品
マニュアル
リン酸鉄リチュウムイオン (LiFeP04) バッテリー

service.jp@litime.com


製品概要

12.8V 50Aバッテリー
動作電圧:12.8V
充電電圧:14.4V±0.2V
推奨充電電流:10A (0.2C)
最大継続充電/放電電流:50A
最大継続負荷電力:640W

M8*1.25mmピッチ マイナス端子

M8*1.25mmピッチ  プラス端子

W198mmXD166mmxH170mm

付属部品
M8-35/64"(14mm)ターミナルボルト

ボルト絶縁カバー

===============================

14.6V10A LiFeP04 バッテリー充電器

LIFE & DISCOVERY

jp.litime.co

メーカー:Shenzhen Litime Technology Co.,Ltd
公式サイト:jp.litime.com
メール:service.jp@litime.com

-----
10A(0.2C) 約5時間で容量の100%まで満充電されます。

==========================================

++++++++++++++++++++++++++++++++++++++
2024年
*到着バッテリー 13.15V 66% 6月15日 到着バッテリー
6月15日 10:00~13:30 充電したt 13.65V  100%
6月16日 8:00  13.4V

6月17日 9:05  13.40V 100%  
6月17日 11:15  負荷(獣害対策装置)へ通電
6月17日 14時 畑に設置完了。運用開始。 天候は曇りから、雨になる予報である。

2024.8.19 6:50 残量計78% 12.5V(負荷接続状態にて)
特に変わったこと無し

2024.8.25 18:30
バッテリー電圧(デジタルテスタ)計 9.92V 無負荷開放端子電圧
別アナログ電圧テスタでは内部抵抗が表出するせいか、1.5V 
バッテリー残量計 全く反応せず

●8月19日 まで確実に出力供給は行えました。
バッテリーを満充電からの日数は63日です。2か月間は供給できたことになります。
負荷の使用頻度・負荷の状態によりますが、66日間持続できたことは喜びです。

2024.8.26 7:17 
デッキにて充電開始 7:17   RedLED常時点灯
充電完了 12:50  GreenLED常時点灯

●約5時間で充電満状態でした。このことは、バッテリー説明書通りでした。
「10A(0.2C) 約5時間で容量の100%まで満充電されます」
 
●再度、畑へ設置し再稼働させました
2024.8.26  午後   15:00 再稼働