ArduinoMEGAから得られる列車位置情報等の内容を親機であるRasPiに知らせる必要がありますが、これはUART1により通信を行います。
ArduinoMEGAには、UART0~3まで4つのポートが用意されていますが今回UART1(18、19ピン)を使い、TTL/USB変換器によりRaspiにはUSBから
通信する事としました。<シリアル1:19番(RX)18番(TX)>
TTL/USB変換基板は、秋月電子から「AF-FT234X」¥600を使用しています。(3.3V仕様ですが、5Vトレラントにより5Vでも入力可能です。)
いよいよRasPi4&ArduinoMEGAが制御部の板に取り付けていくので、遠隔操作が欠かせません。
その為 RasPi4の画面操作は、VNC Viewer を使って外部ノートPCから操作(編集作業)を行う事となりますが、注意点があります。
VNC Viewer を使用するには、以下の設定が必要です。
1.Raspbian画面で、「設定」「RaspberryPiの設定」「インターフェース:VNC有効」
2.端末から「sudo raspi-config」「7 Advanced Option」「A5 Resolution」「CEA Mode 16 1920x1080 60Hz 16:9」
リブートすればOKです。
ここからは、ノートPCから遠隔操作となります。
AF-FT234XのUSB側をRasPi4に挿して、下記コマンドでUSBが何番か確認します。
$ ls -l /dev/ttyUSB*

最初は、2個表示されました。これはTWELITEもUSBで刺さっている為です。一度AF-FT234Xを外して再度確認したものが下段です。
ここでは「TWELITEがttyUSB1」で「AF-FT234XがttyUSB0」という事になります。
次にシリアルのアクセス権を与える。
$ sudo usermod -a -G dialout $USER
すべての操作は RasPi4上で行うのでArduinoIDEも Raspbian にインストールしておきます。
sudo apt-get install arduino
を実行するとプログラミング内にArduinoIDEが出来上がります。
RasPiから遠隔で、USB通信しArduinoのプログラムもダウンロードできるのなら、通常のUSB接続にする。(TTL/USB変換使用中止)
ここで問題発生、Raspi4にArduinoMEGA(拡張基板付き)を付けるとリブート&電源立上げが出来なくなる。
解決しました。<1台のMEGAのみはOK、2台のMEGAでは駄目でした。>
RasPi4のUSBとArduinoMEGAのUSB間のケーブル内の電源線(DC5Vラインのみ)を切断で解決です。
たぶんMEGA拡張基板にArduinoMEGAの電源を供給していますが、この電源との干渉だと思われます。
拡張ボードにDC5V印加での運用では、RasPi4は立ち上がらない。USB給電に切り替えるとOKとなる。
しばらくこの問題は置いておきます。
これ以外の症状としては、
1.電源投入時、USBのポートNoが変化するので、プログラム修正が必要。
1.2つ以上のシリアルポートを使用すると、どちらかのシリアルポートが機能しなくなる。
1.シリアルポートを開ける通信クラスをアクセスするとArduinoMEGAのGPIOが「Lo」となりすべてのLEDが消灯する。
受信コマンドを打つと「HIGH」になる。
1.スピードが遅く(115200)ホールセンサ情報が飛んでしまう。