色レジ自動厳選(バッチファイルを用いた書き込み
導入記事に引き続き、ATmega16U2のマイコンを用いた自動化について話をしていきたいと思います。
ATmega16U2のマイコンの導入記事は、こちら。
今回は、導入記事の時に用いたバッチファイルを用いて、マイコンのプログラムの入れ替えについて記載していきたいと思います。この記事を読むことで"自動書き込み用のバッチファイルを準備してくれているデータの書き込み"が可能になります。
バッチファイルの書き換え
1.バッチファイルパッケージのダウンロード
色レジ系が厳選できるプログラムをパッケージにしたので、こちらからダウンロードをし、右クリックから「全てを展開」を行い、解凍します。
2.マイコンをショートさせ、DFUモードに移行する
導入記事の"ドライバの導入までを終えているATmeaga16U2のマイコン"を使用してください。
以下の手順は、前回と同様です。
マイコンにUSBを刺し、PCに接続します。その後、画像の位置の2本の部分の回路を繋ぐようにショートさせます。回路をショートさせることがうまくいくと、デバイスが一旦抜けて差し込まれた音がするはずです。これで、DFUモードに移行します。
3.書き込みをしたいバッチファイルをダブルクリック
マイコンに書き込みをしたいプログラムのバッチファイルをダブルクリックします。
それぞれ以下の個体のためのプログラムになってます。
BAT_RegiDrago:色レジドラゴ / BAT_RegiEleki:色レジエレキ
BAT_RegiIce:色レジアイス / BAT_RegiRock:色レジロック
BAT_RegiSteel:色レジスチル
4.書き込みの様子
以下の画像のような書き込み画面がでて、「Success」となっていれば、成功です。(画像は、BAT_A_Loopのファイルのものです。)
色レジ厳選をやってみる
「部屋のスイッチを踏む - レジ系とエンカウント - 通常色の場合、逃げる - 部屋を出る」を繰り返すプログラムになっています。色違いが出るとエフェクトの時差により逃げるが選択されない状態が維持され、自動で色違いとエンカウントしている状態になります。
逃げた場合は保証などありませんのでご了承ください。
1.事前準備
① 各種レジ系と遭遇し、倒すまたは逃げている状態からスタートします。
② 手持ちのポケモン 色違いではない、開始特性がない(いかくなど)かつ、なついていないポケモンを先頭にします。
③ 基本設定 話の速度を「はやい/Fast」「戦闘アニメ:オフ」に設定します。
④神殿を出入りして雪原のマップのロードをしておく。(※不要な場合もあります。)
※手持ちポケモンのオススメは、オーロット(収穫/ヒメリのみ持ち)トリック、スキルスワップ、にほんばれ +1(リフレクター、もりののろいなど補助技) です。
2.所定のスイッチを踏む
スタート時に所定のスイッチを踏んだ状態からスタートします。
<色レジドラゴ>
ドアを入って正面の直線のスイッチ3つを押しておいてください。
<色レジエレキ>
全てのスイッチがOFFの状態で使用してください。
<色レジロック>
真ん中のスイッチのみ押した状態で、使用開始してください。
<色レジアイス>
ドアから像までのスイッチの手前と奥をON、まんなかをOFFにした状態から使用開始してください。
<色レジスチル>
全てのスイッチがOFFの状態で使用してください。
3.像の正面の中心に立つ
像の中心で話しかけられる位置に立ちます。場所のイメージは画像のような感じです。話しかけていない状態からスタートしてください。
4.マイコンを差し込む
プログラムが書き込まれたマイコンを接続すると自動でスタートします。しばらく様子をみて、失敗しているようであれば再度位置など調整し、やり直してみてください。
5.色違いが出るまで待つ
色違いが出ると自動で待っている状態になるはずなので、色違いが出るまで待機します。遭遇確率は低いため、人によっては1週間とか出ない方もいるようですが、みなさんの捕獲を祈ってます!
◎ プログラムによって色違いが出たよー!というツイートや、筆者へのリプ、DMは開発した側として励みになりますので、もし良ければ教えてもらえると嬉しいです!
◎ 良くある質問などは、noteの最下部に記載いたします。
バッチファイルってなに?
バッチファイルとは、「Windows用の複数の処理を順番に実行していくためのファイル」です。配布しているデータは、それを用いて、マイコンへの書き込みを自動で行えるようにしています。
バッチファイル中身は、「右クリック→編集」でみることができます。
中身を解説すると、以下のような処理が行われるようになっています。
# dfu-programmer.exeを用いて、ATmega16U2の内容を消去する。
.\dfu-programmer.exe ATmega16U2 erase
# dfu-programmer.exeを用いて、RegiEleki.hexを書き込む
.\dfu-programmer.exe ATmega16U2 flash RegiEleki.hex
# dfu-programmer.exeを用いて、ATmega16U2のUSBポートをリセットし、再接続する
.\dfu-programmer.exe ATmega16U2 reset
# 処理を一時停止する
PAUSE
本来は、このような処理をPowerShellを用いて書き込まなければいけないのですが、実施することが決まっていれば自動化することができるというものになっています。
ここまでで、バッチファイルがあるものの書き込みができるようになりました。次回は、バッチファイルは用意されていないが、HEXファイルなどの書き込めるファイルを手動で書き込む方法について説明していきたいと思います。
これができると、公開されている多くのHEXファイルを書き込むことができるようになります。
プログラム開発の功労者について
今回公開している色レジ系の厳選プログラムは、すでに公開してあるプログラムを編集し、各レジ系への対応と安定化を僕の方で行いました。さらに、自分の環境のみで確実に動くか確認を行えないため、デバッグという確認作業をサポートしていただきました。プログラマーの業界では、こう言った情報を公開し、さらに改良して引き継いでいく文化があるのですが、noteでは記載できる環境がないので、ここに記載させていただきます。
編集前のプログラム公開:
手羽先さん:https://twitter.com/Pokemontradeac
デバッグ:
とらさん:https://twitter.com/Gulalto
他にも、ここでは公開できないのですが、複数名にサポートいただきました!みなさんのおかげでプログラムの公開などができておりますので、使用の際は開発に関わった方への是非感謝の気持ちを持ちつつ使ってもらえたらと思います!
よくある質問
いくつかよくいただく質問を記載しました。また、こちらの質問以外に「事前準備」の部分で抜けがある場合もありますので、忘れずにチェックしてください。
Q.踏み外してしまうときがあります
A.マイコンの入力の具合で踏み外しが発生する場合がありますが、ループが継続できていれば、そのまま様子をみてください。
Q.部屋の中から出られなくなる。部屋の外で動いてしまう。
A.Switch Liteやマイコン、ドッグ、言語の環境で入力がずれ込んでしまうことがあるようです。Lite版や他言語版は適宜更新していますので、以下のリンクを確認ください。
https://www.notion.so/23a6f413766d448395d6c6f0beafeb86
Q.長時間使ってると動かなくなります。
A.Switch自体の発熱やマイコンの長時間稼働の問題がある可能性があるため、数時間休ませてから再度トライしてください。
Q.なつき度って?
A.ナックルシティのポケモンセンターから通路を挟んで右隣の家にいる少年に聞くことでなつき度がわかります。
「なつき度の下げ方」
1.バウタウンで漢方を買う(ちからのねっこが、効率よく下げられるようです。)
2.霰か砂嵐の天候の場所でエンカウント
3.毎ターン漢方を使う(26個あげれば十分です。)
4.ナックルシティの少年になつき度を聞く
5.「ザ・ふつう」か「スパルタ」あたりにしておくと良いでしょう。
Q.おすすめのポケモンは?
A.PPを枯れないようにするために、オーロットがおすすめです。事前準備のところに技構成などが書いてあります。捕獲要員には、エルレイドにみねうち+催眠or電磁波とかで対応することが多いです。
Q.ELEGOOのマイコンを使っているが導入がうまくいかない
A.導入のページに引き続き、このような問い合わせをいただくことが多いのですが、ELEGOOのマイコンはDFUモードに移行できない個体が混ざっていることが稀にあるようです。価格は上がりますが、品質的にはArduino UNOの方が確実かと思うので、そちらの導入を検討ください。
Q.色違いと遭遇して、逃げたり攻撃したりしないのですか?
A.プログラムは継続しているので、攻撃することや逃げてしまう場合もあるかもしれないです。こちらでは、攻撃してしまう事例に関しては確認していますが、逃げている事例に関しては把握していません。
プログラムの動作を確認したい場合は、「自分の出すポケモンの1体目を色違いで出す」ことで同じ動作ができますので、自身の環境で動作を行ってください。
この記事が気に入ったらサポートをしてみませんか?