Arduino UNO と IM920s でシリアル通信を行うサンプルスケッチ
- im920s_pairing
im920s のペアリング用プログラム、arduino uno に取り付けた IM920s にシリアルモニタから IM コマンドを打ち込む事が可能 - im920s_ps3
コントローラ接続&受信側プログラム、キャラクタ入出力モード(文字列送信)でコントローラのデータを送信する。コントローラを接続しなければデータ送信がされないので注意 - im920s_slave
受信側プログラム、キャラクタ入出力モード(文字列送信)でコントローラのデータを受信する。
導入から使い方に関してはこの記事を参考して進めて欲しい
マイコン開発するなら PlatformIO がめちゃくちゃいいぞ #C++ - Qiita
- IM920s を USB 変換アダプタに取り付ける
- USB 変換アダプタを PC に接続する。CP210x の表記が目印
- 設定>シリアルポートを選択し、スピードを19200に設定
ENWR
という文字列をコピーし、編集>貼り付け<CR> もしくは Alt+Rでシリアルモニタに送信。OK
という表示が出たら続けるSTNN [ノード番号]
を 4 と同じ手順で送信する。- 親機に設定したい場合
[ノード番号]
は 0001を指定。 - 子機は
0002
からFFEF
まで指定可能。 - ノード番号は
STNN 1
のように指定できないので 0 埋めを行うこと
- 親機に設定したい場合
STCH [チャンネル番号]
を送信する。- [チャンネル番号]は
01
から29
まで指定可能。 - チャンネル番号は通信先のデバイスと合わせる
- 今回のプログラムでは
16
を利用している
- [チャンネル番号]は
RPRM
で設定内容を確認する。STGN
でペアリングする。
子機のシリアルモニタにGRNOREGD
の表示が出て LED の点滅が止まったら、USB 端子を PC から外して再接続する。- 子機再接続後、親機から
TXDA [任意の文字列]
でデータを送信する。 子機のシリアルモニタにデータが送られたら成功
- Arduino IDE で Arduino/im920s_pairing にある im920s_pairing.inoを開く
- 子機と親機にプログラムを書き込む
- Tera Term でのペアリングで記載されているコマンドをシリアルモニタに打ち込む
- リポジトリの Arduino/ の中にある.ino ファイルをクリックして Arduino IDE で開く。
- 以降書き込み手順については割愛
- vscode を開く
- PlatformIO アイコンを選択し左メニューからPick a folderをクリック
- PlatformIO/ 内の 3 つのフォルダから書き込みたいプログラムが入っているフォルダを選択する。
- Command+Shift+Pもしくは画面左下の矢印ボタンを押して書き込み