hiro yamamoto works

マイコンハード、ソフトを作ったりしています。
お家や現場のお困りごと解決に!
内容利用は自己責任でお願いします。

温度ロガーを作ります。(ケース収納を検討する)

2024-05-26 08:38:50 | マイコンソフト&ハードウェア

書きかけの投稿です。(気づいたことがあれば書き加えます。)

いろいろ検討して、完成したので見てください。

秋月電子のユニバーサル基板Dタイプ(47×36mm 旧型取り付け穴4個)を
タカチのネットワークケースPF10-4-10に、
”貼り付けボス”秋月販売コード:111455 型番:ASR-5を貼り付けて、
タッピングビス 3×5 なべ:110254で固定する感じでやってみようと思います。
XIAO ESP32C3用ロッドアンテナを取り付け予定です。
2枚め画像のように基板裏配線と干渉する部分はカットします。
経年劣化による剥がれ落下を防ぐため、ホットボンドを塗布します。

いろいろ検討した結果、なんとか形になりました。
配線引き回し、I2Cバスバッファの位置など、下の画像のようにしました。
ケース左側に見える小さい基板がI2Cバッファです。

下の画像がほぼ全体
上の小さい箱がセンサを収納したケース、
右側下がRJ-45ジャックとI2Cバッファが入っています。
そのとなり4連RJ-45ジャックで、本体からのI2Cバスを4分岐(並列接続)しています。

ケース加工に手間がかかりました。今後の課題です。
部品の固定はホットボンドを多用しています。

4連RJ-45ジャック
秋月電子”LANコネクタDIP化”をホットボンドで固定

シリーズ完結かな


教えてもらいました(XIAO ESP32C3でWEPを使う時)

2024-05-23 20:57:45 | ナレッジ_knowledge

”古めのWi-Fiアクセスポイントを活用したい”とご依頼があったので、
google先生に聞いてみたら
ESP32で”WEP”を使う方法を見つけました。
感謝して使わせてもらいました。
WiFi.begin(ssid,password);の前に1行追加するだけで、
”WEP”アクセスポイントへ接続できるようになりました。
  WiFi.setMinSecurity(WIFI_AUTH_WEP); // Lower min security to WEP.
// or
//WiFi.setMinSecurity(WIFI_AUTH_WPA_PSK); // Lower min security to WPA.
  WiFi.begin(ssid, password);


教えてもらいました。(ESP32で現在時刻と時差時刻を使いたい時)

2024-05-06 12:00:20 | ナレッジ_knowledge

chatGPT先生に教わりました。

現在の時刻と一定の時間差を設けた時刻を使いたい。
サンプルスケッチ "ESP32"- "Time"-" SimpleTime"を使って改変点を載せます。
//void printLocalTime()の中に入れました。
  time_t now;//time_tは時刻を表すために使用される型 "time_t"型の"now"を宣言
  time(&now);//現在のUNIX時間を取得しその値をポインタ経由で変数"now"に格納
//中略
//以降は関数"void printLocalTime()"の最後の方に入れる
  //例として9時間前の時刻を取得する
  time_t some_hours_ago = now - 9 * 60 * 60;
  struct tm *some_hours_ago_info;//"some_hours_ago_info"構造体を宣言
  //'*'(間接参照演算子)ポインタが指し示すメモリ上の値を取得するために使用されます。
  //'&'(アドレス演算子)変数のアドレスを取得するために使用されます。
  
  //"->"[ポインタが指し示す構造体]のメンバアクセスする際に使用されます
  some_hours_ago_info = localtime(&some_hours_ago);
  
  //"some_hours_ago"というtime_t型変数のアドレスを渡している。
  //some_hours_agoが示すUNIX時間を地元時間に変換する
  //その地元時間の情報を格納した"struct tm"構造体へのポインタを返す
  //シリアルモニタへ表示してみる
  Serial.println(some_hours_ago_info->tm_year + 1900);
  Serial.println(some_hours_ago_info->tm_mon + 1);
  Serial.println(some_hours_ago_info->tm_mday);
  Serial.println(some_hours_ago_info->tm_hour);
  Serial.println(some_hours_ago_info->tm_min);
  Serial.println(some_hours_ago_info->tm_sec);
//以降変更なし省略



温度ロガーを作ります。(仕様変更で温度4ch、湿度と気圧1chにしました。)

2024-05-02 13:13:20 | マイコンソフト&ハードウェア

この投稿は書きかけです。

諸々事情で仕様変更となりました。
測定するデータと、入手都合からAE-BME680を採用しました。<br />I2CアドレスがADT7410と重ならなくて良かった。


長方形の3個はADT7410(温度)、凸型はAE-BME680(温湿度気圧)
※BME680は圧力、湿度、温度に加えガス(有機溶剤、アルコール等)の検出が可能ですが、ガス検出は使っていません。


AE-BME680センサとPCA9600D I2Cバスバッファです。


LANコネクタ付き(LANケーブル流用でセンサ配線を延長します。)

つづく