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は通常そのままで問題ありません。回路の安全性と通信の安定性を両立させるために、適切な電圧変換を行いましょう。


コメント