ArduinoからESP32へUART接続する際の電圧変換と分圧回路の基本

工学

Arduino Unoは5Vロジック、ESP32は3.3Vロジックを使用するため、直接接続するとESP32の入力ピンを破損する可能性があります。UART通信で安全に接続するためには、電圧を3.3Vに変換する必要があります。

分圧回路の基本

分圧回路は、抵抗2本を使って入力電圧を低くする方法です。一般的に、5Vから3.3Vに下げる場合、上側抵抗R1と下側抵抗R2を使い、出力電圧Vout = Vin * (R2 / (R1 + R2)) の式で抵抗値を決めます。

例えばR1=1kΩ、R2=2kΩの場合、5V入力から約3.3Vを得ることができます。

注意点

  • 分圧回路は信号の立ち上がり・立ち下がりが遅くなる場合があるので、高速通信の場合はレベル変換ICを使用することが望ましい。
  • ESP32のTX→ArduinoのRXの場合、通常3.3V信号でもArduinoは読み取れるため、分圧は不要なことが多い。

代替方法

ロジックレベル変換モジュールを使うと簡単かつ安全です。モジュールには双方向変換が可能なタイプがあり、複数のUARTピンやI2Cラインにも対応できます。

まとめ

Arduinoの5V TXをESP32の3.3V RXに接続する場合は、分圧回路またはロジックレベル変換を用いるのが安全です。ESP32のTX→ArduinoのRXは通常そのままで問題ありません。回路の安全性と通信の安定性を両立させるために、適切な電圧変換を行いましょう。

コメント

タイトルとURLをコピーしました