Raspberry PiとArduinoをシリアル接続する際は単純につなぐとそれぞれ電圧が違うので壊れてしまう可能性がある(主にラズパイの方が)
入出力電圧
Raspberry PI
- 入力電圧
- 0~0.8V : LOW(OFF)として判断
- 0.8~1.3V : 不定(不安定でどっちになるかわからない)
- 1.3~3.3V: HIGH(ON)として判断
- 出力電圧
- ON : 3.3V出力
- Off : GND(出力)
Arduino
- 入力電圧
- 0~2.5V : LOW(OFF)として判断
- 2.5~5.0V: HIGH(ON)として判断
- 出力電圧
接続時の問題
RaspberryPi(TX) => Arduino(RX)
ラズベリーパイの出力電圧は3.3Vですが、Arduinoは入力電圧として2.5~5.0Vに対応しているのでそのまま送ってしまって問題ありません
Arduino(TX) => RaspberryPi(RX)
問題なのはこちらです
ラズベリーパイの入力電圧は上記の通り0V~3.3Vですが、arduinoの出力電圧は5Vでこの範囲を超えてしまっています
このまま何もせず接続すると過電圧で最悪ラズパイが壊れてしまいます
解決方法
電圧を下げる
具体的に電圧を下げる方法はいくつもありますが、抵抗分割するのがブレッドボード上などでは一番てっとり早いです


分圧回路 - Wikipedia