昨日の記事の続きです。
自動化プログラムの編集方法、makeする方法、シリアル通信のやり方について書いていきます。
自動乱数消費のプログラムの乱数消費数をいじったり、自動くじや自動ワットなどの待機時間を調整したりするときに編集→makeという作業が必要になってきます。
この作業はシリアル通信をするためにも必要になります。
以下に自動化プログラムの編集方法、makeする方法、最後にシリアル通信のやり方について書いていきますが、うる覚えなので間違っていたら指摘してください。
自動化プログラムの編集方法
拾ってきた自動化プログラムのフォルダの中に、joystick.c makefileというふたつのファイルがあるものがあると思います。
それらをメモ帳でもなんでも適当なテキストエディタで開いて書き換えるだけです。
joystick.cは動かす内容(乱数消費数やら待機時間やら)、makefileはatmega16u2かatmega32u4か、プログラムがわからない私が書き換えてるのはそれくらいですね。
この2つのファイルともともとあった他のファイルを使用して.hexをmakeします。
.hexのmake
Ubuntuのインストール
Windows10前提で書いていきます。
Ubuntuのインストールについては説明するの面倒なので以下のサイトの「まずはWSLとディストリビューションをインストールしよう」の項目を見てください。
初期設定のパスワードについてですが、画面に表示されなくて適当に打ってたらわからなくなって再インストールする羽目になったのでわかりやすいパスワードでいいと思います。
Ubuntuにmakeするために必要なパッケージをインストール
私はここで詰まって色々インストールしてしまって最小限のものはわからないのですが、おそらくgcc-avr avr-libcのふたつがあれば大丈夫だと思います。
Ubuntuを起動し、ユーザー名とパスワードを入力し、以下のコマンドを一つずつ入力します。(一行ごとにエンター押してインストールしてから次のインストール)
sudo apt-get install -y gcc-avr
sudo apt-get install -y avr-libc
たぶんこの2つでいけると思いますが、無理でもmake時に出るエラーを見れば何が足りないかわかるはずです。
【2020/2/3追記】
上記の2つで無理でしたら、
sudo apt-get update
sudo apt-get install -y avr-gcc
このあたりのコマンドを打ってみてください。
それでも無理ならエラー内容でググってください。
.hexのmake
joystick.cとmakefileがあるフォルダの空いているところでshift押しながら右クリックし、Linuxシェルをここに開くを選択します。
Linuxシェルが開いたら、makeと入力しエンター押すだけです。
成功したら.hexファイルがjoystick.cとmakefileがあるフォルダの中にできているはずです。
以下注意事項
make時にエラーが出ましたら、他のファイルやらubuntuのパッケージやらが足りてないのでエラーを見て判断してください。
makeしたプログラムが動きませんでしたら、makefileのatmega16u2かatmega32u4かの項目が違っている可能性があります。
joystick.cとmakefileだけでできるわけではないので、色々なファイルがある元のフォルダの中で作業してください。
joystick.cしか配布されていない場合、適当に揃っているプログラム(私は面倒なので全部乱数消費プログラムでやってますがゼルダの伝説BotWの雪玉プログラムとかでもいいと思います)を拾ってきてその中に入れて作業すればいけると思います。
シリアル通信のやり方
ここまで出来ていればシリアル通信はめちゃくちゃ簡単ですのでシリアル通信のやり方も書いておきます。
以下のサイトからシリアル通信用のプログラムSwitch-Fightstickを拾ってきて、そのままmakeしてマイコンに書き込み、マイコンとUSBシリアル変換アダプタを繋ぎ、PCとSwitchに接続するだけです。
Switch-FightstickはDownloadZIPではlufaファイルだけDownloadできなかったので、後でlufaファイルも選択してDownloadする必要がありました。
マイコンとUSBシリアル変換アダプタの繋ぎ方はちょっと調べたら出てくると思います。※記事最後の【2020/1/29追記】に載せました。
USBシリアル変換アダプタはPCに初めて繋いだときにドライバーをインストールする必要があると思いますが自動でされるので問題ありません。
シリアル通信を使って何をするかですが、簡単に言うとPCでコードを書いてSwitchを動かすことができます。
私はNX Macro Controllerというものを使用しています。
画像認識を使用するためにはキャプチャーボードが必要ですけどね。
私が使ってるのはこれです。
画像認識いろいろ試してみましたが、公式画像をいじった画像や適当に拾ってきた画像では認識せず、NX Macro Controllerの右クリックで直接キャプチャした画像じゃないと安定しない感じでした。
【2020/1/29追記】
マイコンとシリアル変換アダプタの繋ぎ方で躓いていた方がおりましたので実際に繋いだ画像を追記しておきます。
【2020/2/3追記】
白と黒のジャンパーワイヤなので見づらいと思うので追記しておきます。
GND-GND、TXD-TX→1です。
あとおまけで私が10分くらいで適当に組んだNX Macro Controller用の自動レイド配布マクロを置いておきます。
中身見ていただければわかりますがガバガバです。ID厳選マクロ作ってくれとお願いしてきた方がいましたが、これを見たら私がID厳選マクロなんてもの組めるわけないってわかりますよね。
ついでにもう一つ、Ubuntuのパッケージの項目、おそらくあの2つじゃ足りません。というかたぶんそのままだとインストール出来ないかもです。アップデートとかが必要かと思います。忘れたのでそこは他のサイト見てください(追記しました。それでも駄目ならググってください。)
【2020/2/1追記】
3日時渡りした後にレイド配布するマクロ組みました。
【2020/12/14追記】
期限切れのリンクを削除。
最新版はこちらです。
プログラムのパスワードはraidhaihuです。