【ポケモン剣盾】Atmega32U4のIDE用のプログラムをAtmega16U2で動かしてみる

ポケモン剣盾のマイコン自動化プログラムは多分2系統に分かれてます。

一つはArduino UnoなどのAtmega16U2にdfu-programmerで書き込むタイプ。

もう一つはArduino LeonardoなどのAtmega32U4にArduino IDEを使って書き込むタイプの2つです。

今回はAtmega32U4のIDEで書き込むタイプのプログラムをAtmega16U2にdfu-programmerで書き込む方法を解説します。

目次

HoodLoader2について

HoodLoader2というブートローダーを16U2に書き込むと32U4みたいな使い方ができます。

なのでIDEからAtmega16U2に32U4用プログラムを書き込んで実行することができるのです。

しかしブートローダーを書き込まなくてもできる,簡単な裏技的方法を見つけたので今回はそちらを紹介します。

準備するもの

必要なものは,

  • Arduino IDE
  • dfu-programmer
  • HoodLoader2のBoards Manager

です。一つずつ解説していきます。

Arduino IDE

これはArduinoの公式サイトからダウンロードできます。

dfu-programmer

これの入手先と使い方は過去記事にて解説してるので参照ください。

あわせて読みたい
【ポケモン剣盾】マイコンへのプログラムの書き込み方と使い方 ポケモン剣盾でのマイコン自動化をしたい方々へ向けて。マイコンへのプログラムの書き込み方と使い方の解説です。

HoodLoader2のBoards Manager

HoodLoader2のBoards Managerのインストール手順は,

    1. Arduino IDEを起動
    2. 追加のボードマネージャのURLにURLを入力
    3. ボードマネージャーを開きHoodLoader2をインストール

です。

1.Arduino IDEを起動

インストールしたArduino IDEを起動して環境設定を開きます。

2.追加のボードマネージャのURLにURLを入力

環境設定の「追加のボードマネージャのURL」に下記のURLを入力して「OK」を押します。

あわせて読みたい

3.ボードマネージャーを開きHoodLoader2をインストール

IDEのメニューから「ツール」>「ボード」>「ボードマネージャ」を開きます。

HoodLoader2があるのでインストールをクリックして閉じます。

HoodLoader2のboards.txtの書き換え

マイコンをSwitchに認識させるためにboards.txtを書き換えます。

ユーザー名\AppData\Local\Arduino15\packages\HoodLoader2\hardware\avr\2.0.5の中にあるboards.txtを開きます。
注:このときメモ帳ではうまく書き換えられないらしいのでVSCodeなどを使ってください。

書き換え個所は4か所で,vid,pidのところを,

HoodLoader2atmega16u2.vid.0=0x0f0d
HoodLoader2atmega16u2.pid.0=0x0092

HoodLoader2atmega16u2.build.vid=0x0f0d
HoodLoader2atmega16u2.build.pid=0x0092

と書き換えてください。

Atmega16U2用のhexファイルの生成

IDEのメニュー>ツールの「ボード」は「HoodLoader2 16U2」を,「Board / Bootloader / USB-Core」は「HoodLoader2 Uno」をそれぞれ選択します。

そしてメニュー>スケッチ>「コンパイルしたバイナリを出力」をクリックします。

hexファイルの書き込み

inoファイルがあるフォルダにhexファイルが2つできるので「~~.ino.HoodLoader2.hex」のファイルをdfu-programmerを使って16U2に書き込みます。

さいごに

今回の方法で16U2に32U4 IDE用プログラムを書き込んで実行させることができます。

しかし,メモリの使用量がけた違いに大きくなります。

なので動作不安定につながったり,そもそもメモリが足りない可能性もあるのでそこはご了承ください。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

コメント

コメントする

目次