Arduino Mega の助けを借りて MDB プロトコルを使用して自動販売機と通信しようとしていますが、部分的に成功しています。
私が使用している回路はここに添付されています
回路図を以下に示しますが、
Arduino Mega はシリアル 1 を介してラップトップと通信し、自動販売機の通信は Arduino Mega のシリアル 2 を介して行われます。
通信にはUSARTを使用しています。
私が直面している奇妙な問題は、茶色のワイヤ A と B が最初に接続されていない場合 (Arduino TX を自動販売機 RX に接続している場合) にのみ、自動販売機との通信がデータの送信を開始することです。自動販売機からのデータを確認したら、ワイヤー A と B をショートさせ、Arduino は自動販売機にもデータを送信し始めます。
しかし、自動販売機の起動時にワイヤ A と B が接続されている場合、自動販売機は Arduino にデータを送信しないため、通信は行われません。ワイヤーAとBを毎回手動で接続せずに動作させたいです。
オプトカプラPC817Cを置き換えてみました
- PC814
- 4N35
- 6N137 高速オプトカプラ
ヘックスインバーターを交換してみた
- 74HC04AP
ワイヤーAとBの間にメカニカルリレーとソリッドステートリレーを入れてみて、外部入力を介して接続しようとしましたが、何も起こりません
.ワイヤーAとBの間にスイッチとしてフォトカプラを追加し、ファームウェアで制御しようとしました.
16 進インバーターを 16 進バッファー HCF4050BE と NOT ゲートに置き換えてみましたが、上記のコンポーネントの組み合わせに関係なく、問題は同じままです。自動販売機。
MateDealer のコード
を使用しています。
この手動プロセスを自動化したいので、そのための簡単なソリューションが必要です。