Arduino Pro mini(3.3V)を複数台(現状はとりあえず2台)使用し相互にシリアル通信をさせたいと思っております。
たとえば、Arduino[A]にシリアルモニタからハードウェアシリアルで値を送り、その値に応じてArduino[A]からArduino[B]にソフトウェアシリアルで信号を送りLEDを制御する、などしたいと思っております。
ArduinoをそれぞれFTDIを使いUSBから電源を取ってきた場合は、うまく動作したのですが、
Arduino[A]をFTDIで動かし、Arduino[B]を電池駆動にしたところ、Arduino自体は動いているようなのですが、[B]へのソフトウェアシリアル通信ができませんでした。(信号を送っても反応なしのような状態)
いろいろ試してみたところ、Arduino[A]と[B]のグランドを共通にしたところ、通信ができました。
理想としては、それぞれのArduinoを電池駆動の分離したモジュールとして扱いたく、通信の際にはRX,TXをそれぞれ繋げばよいかと考えていたのですが、グランドを共通にする必要があるのでしょうか?
通信時の接続ピン数をできる限り抑えるにはその他の方法もありそうな気がしますが、アドバイスをいただければ幸いです。
また、SoftwareSerialでは
SoftwareSerial mySerial(8, 9);
のようにピンアサインをすると思いますが、これをloop内からif文等で
SoftwareSerial mySerial(9, 8);など動的に変更することは可能でしょうか?
どうぞよろしくお願いいたします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/07/12 14:25