前回はマイコンの選び方について解説をしました。
今回はマイコンへの自動化プログラムの書き込み方を詳しく解説したいと思います。
用意するもの
まずは以下の2つをダウンロードします。
- dfu-programmer
- マイコン自動化プログラム
dfu-programmerは自動化プログラムをマイコンに書き込むためのソフトです。
今回は分かりやすいようにデスクトップに「マイコン」フォルダを作り,そこにダウンロードして説明していきます。
dfu-programmerのダウンロード
dfu-programmerは以下のサイトからダウンロードすることができます。
リンク先の少し下にあるDownloadsのproject fileをクリックするとダウンロードサイトに飛ばされます。
ダウンロードサイトの緑色になっているDownload Latest Versionをクリックするとdfu-programmer-winのzipファイルがダウンロードされます。
これを分かりやすいところ(例えばデスクトップのマイコンフォルダ)に解凍します。
自動化プログラムのダウンロード
ポケモン剣盾のマイコン自動化プログラムは色々な方々が作ったものを公開してくれています。
今回はか_かさんのロトムIDくじ自動化のプログラムを利用させてもらおうと思います。
ポケモン剣盾でのマイコンによる自動化です。
各自自己責任でお願いします。
使う際はReadme.txtを参照してください。https://t.co/8jB5AfetV7— か_か (@kz_pka) 2020年2月5日
リンク先からプログラムをダウンロードし解凍すれば準備は終わりです。
プログラムの書き込み方
では準備ができましたのでマイコンにプログラムを書き込んでいこうと思います。
プログラムに書き込むための手順を以下に示します。
- マイコンをPCに接続する。
- マイコンをDFUモードにする。
- ドライバを更新する
- 使いたいプログラムと同じフォルダにdfu-programmer.exeをコピーする。
- PowerShellを使ってプログラムを書き込む
1.マイコンをPCに接続する
まずはマイコンを付属のUSBケーブルを使ってWindowsPCに接続します。
そして左下のWindowsマークを右クリックしデバイスマネージャーを立ち上げます。
2.マイコンをDFUモードにする
DFUモードにするためにはAtmega16u2のRESET_2ピンとGNDピンをショートさせる必要があります。
なので以下の画像のように2つのピンをジャンパ線でつなぐ,または僕のようにカッターを使ってちょんと接触させてショートさせます。
そしてカッターをピンから外します。
するとPCからUSB機器が取り外されたときと接続されたときの音がするはずです。
初めての方(ドライバを更新していない方)はデバイスマネージャーの「他のデバイス」の中に「不明なデバイス」が表示されます。
(「Atmel USB Devices」の中に「ATmega16U2」と表示される方もいるかもしれません…)
表示がされない方はもう一度ショートさせてみてください。
表示がされたらマイコンはDFUモードになっているはずです。
3.ドライバの更新
表示された不明なデバイス(またはATmega16U2)を右クリックし「ドライバーの更新」をクリックします。
ドライバーの検索方法は下の「コンピューターを参照してドライバーソフトウェアを検索」を選びます。
参照からダウンロードした「dfu-programmerのdfu-prog-usb.1.2.2」のフォルダを選びます。
「ドライバーが正常に更新されました」と表示されたらデバイスマネージャーを閉じます。
4.使いたいプログラムのフォルダにdfu-programmer.exeをコピーする
ダウンロードしたdfu-programmer.exeを自分が使いたいプログラムが入っているフォルダにコピーします。
5.PowerShellを使ってプログラムを書き込む
自分が使いたい自動化プログラムの入っているフォルダを開きます。
エクスプローラ内の何もないところで「Shftキー+右クリック」をし,「PowerShell ウィンドウをここで開く」をクリックします。
すると青いWindows PowerShellの画面が出てきます。
次に下記の文をコピペしてエンターキーを押します。
.\dfu-programmer.exe ATmega16U2 erase
「Success」と表示されたらもともと書き込まれていたプログラムが削除されます。
さらに次の文をコピペしてエンターキーを押します。
.\dfu-programmer.exe ATmega16U2 flash Joystick.hex
これも同様に「Success」と表示されれば無事マイコンに自動化プログラムを書き込むことができました。
書き込むプログラムは「.hex」になっているプログラムです。
なので例えばトーナメントループ用のプログラムの名前が「LoopTournament.hex」なら「Joystick.hex」のところを「LoopTournament.hex」にしてからエンターキーを押します。
【2/29追記】元のファームウェアへの戻し方です
プログラムの使い方
基本的にはプログラムを作ってくれた人がフォルダ内に「Readme.txt」を用意してくれているのでその通りにすることで自動化プログラムを実行できます。
(例えばランクマッチを一回してロトミの前に立ってからマイコンを繋ぐなど)
他のプログラムへの書き換え方
二回目以降の書き込みではドライバーの更新は必要ありません。なので3番の手順を省略して,
- マイコンをPCに接続する。
- マイコンをDFUモードにする。
- ドライバを更新する(省略する)
- 使いたいプログラムと同じフォルダにdfu-programmer.exeをコピーする。
- PowerShellを使ってプログラムを書き込む
これらを同様に行うことで他のプログラムを書き込むことができます。
【3/18追記】1クリックで書き込む方法
さいごに
次回はプログラムの編集をするための環境構築を詳しく解説したいと思います。
質問などありましたら答えられる範囲で答えますのでコメント欄にてお願いします。
【2/15追記】
今回の方法で書き込んだマイコンの販売やそれをするために金銭を要求することは違法です。
メルカリのアカウントがBANされたり任天堂などから法的措置を取られたとしても僕は一切の責任を取りません。
【2/13追記】プログラム編集方法環境準備編です。
コメント