0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【完成】ESP32-S3 をあらゆるソフトから制御できる IO プラットフォーム(USB / Wi‑Fi 対応)

0
Last updated at Posted at 2026-06-28

この記事では、ESP32-S3 を使った 24V 対応 I/O デバイス「ESP32IO」の完成版アップデート内容をまとめています。

  • DI/DO の絶縁化(フォトカプラ方式)
  • ADC の安定化(オペアンプバッファ)
  • I2C センサ対応(BME280 / MPU6050 / VL53L1X / OLED)

あらゆるソフトから制御できる I/Oプラットフォーム として完成しました。

これまでの開発記事はこちらにまとめてあります
👉 https://qiita.com/Noritama-Lab/items/cae87dc4cd67fe438c82

📸 完成品の外観

image.png

※今回から ESP32-S3-DevkitC-1 を ESPRESSIF の正規品に変更しています。設計した基板は 44 ピンのものなら互換品にも対応しています。使用する場合は、ファームウェア(Config.h)のピン番号だけ開発ボードに合わせて変更してください。

image.png

🔄 以前からの変更点(最終版で改善したポイント)

今回の完成版では、試作段階から以下の 3 点を大きく改善しました。

1. DI/DO の絶縁化(フォトカプラ方式へ変更)

従来はトランジスタベースの簡易回路でしたが、産業用 24V I/O を安全に扱うため、フォトカプラによる絶縁方式に変更しました。

  • 入力回路
    image.png

  • 出力回路
    image.png

2. ADC の安定化(オペアンプバッファ追加)

0–10V 入力の安定性を高めるため、オペアンプによるバッファ回路を追加しました。

試作版より大幅に測定精度が向上
image.png

3. I2C 機能の追加(センサー連携が可能に)

完成版では I2C デバイスを直接扱える機能を追加しました。

以下のセンサは接続するだけでデータ取得が可能になります。

機能 センサ名
温湿度・気圧センサ BME280
3軸加速度センサ MPU6050
レーザー距離センサ VL53L1X
OLEDディスプレイ SSD1306

Python API からは以下が利用できます:

  • i2c_scan
  • i2c_write(汎用センサ用)
  • i2c_read(汎用センサ用)
  • get_sensors
  • set_oledx

これにより、I/O デバイス+I2C センサーの複合利用が可能になりました。


📐 最終仕様まとめ

■ I/O 構成

種類 チャネル 電圧 備考
DI 6ch 3.3~24V フォトカプラ絶縁
DO 6ch 3.3~24V / 50mA フォトカプラ絶縁
ADC 2ch 0–10V バッファ回路により安定化
PWM 2ch 3.3V ESP32-S3直結
i2c 1ポート - BME280, MPU6050, VL53L1X, SSD1306対応※

※ i2c_write / i2c_read に JSON を送ることで、汎用的な I2C センサも制御できます。

■ 通信

  • USB CDC(仮想COM):ローカルPCから高速・安定制御
  • Wi‑Fi(HTTP API):LAN内のどこからでもアクセス可能
  • 対応環境:Python / Node‑RED / VBA / PowerAutomate / Webブラウザ etc...

■ 電源

  • USB給電(I/O は外部 3.3~24V)

🎁 まとめ

ESP32IO は 「ソフトウェアと現実世界をつなぐリモート I/O プラットフォーム」 として完成しました。

USB または Wi-Fi で接続するだけで、統一された JSON API を通して、Python・Node‑RED・VBA・Power Automate・Webブラウザなど、さまざまなソフトウェアから 24V 対応のデジタルI/O、アナログ入力、PWM、I2C センサを制御できます。

今回の完成版では、

  • フォトカプラによる 24V I/O の絶縁化
  • オペアンプバッファによる ADC の安定化
  • I2C センサ・OLED への対応

を追加しました。

今後は、Python・Node‑RED・Excel VBA・Power Automate などを使った具体的な活用例やチュートリアルも順次公開していく予定です。

「この I2C センサにも対応してほしい」「こんな使い方ができないか」といった要望や質問がありましたら、お気軽にコメントください。

今後も ESP32IO の機能追加や活用事例を公開していきますので、気に入っていただけましたら、ぜひフォローをお願いします。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?