「Unknown Device」になったPro Microのブートローダの再書き込み

Pro Micro(ATmega32U4)をパソコンにUSB接続したときに「Unknown Device」になりました。このときのPro Microにブートローダを再書き込みして、再度パソコンからPro Microを認識できるようにします。「ebayで購入したPro Microへのプログラム書き込み」で購入したPro Microを使用していた時に、USB接続すると「Unknown Device」になったため、Arduino UNOを使用して、Arduino LeonardoのブートローダをPro Microに書き込みました(Arduino LeonardoとPro Microと回路は同じ。ただし、Pro MicroではデジタルピンのD11,D12,D13が省略されています)。この結果は、Arduino Leonardoとしてプログラムを書き込むことができます。なお、ATmega328Pにブートローダを書き込む方法については、「Arduino Uno R3を使ってATmega328Pにブートローダの書き込み」を参照してください。

Arduino UNOとPro Microの接続

Arduino UNOとPro Microを次のようにISPで接続します。

Arduino UNOとPro Microの接続
Arduino UNO Pro Micro
基板表記のピン
信号
D13 15 SCK
D12 14 MISO
D11 16 MOSI
D10 RST RESET
5V VCC
GND GND

Arduino UNOとPro Microを接続した画像を次に示します。

Arduino UNOとPro Microの接続

Pro MicroにArduino Leonardoのブートローダの書き込み

次の手順で、Arduino UNOを使用してArduino LeonardoのブートローダをPro Microに書き込みます。

1. Arduino UNOを接続しArduino IDEを起動します。
2. メニューバー「ツール」→「ボード」で「Arduino/Genuino UNO」を選択し、メニューバー「ツール」→「ポート」でArduino UNOが接続されているポートを選択します。
3. メニューバー「ファイル」→「スケッチ例」→「11.AurduinoISP」→「AruduinoISP」を選択して、スケッチ「ArduinoISP」を取得します。
4. メニューバー「スケッチ」→「マイコンボードに書き込む」を選択して、Arduino UNOにスケッチ「ArduinoISP」を書き込み、Arduino UNOをAVR ISP化します
5. メニューバー「ツール」→「ボード」とすすみ「Arduino Leonardo」を選択します。
6. メニューバー「ツール」→「書込み装置」とすすみ「Arduino as ISP」を選択します。

「Arduino as ISP」の選択

7. メニューバー「ツール」→「ブートローダを書き込む」を実行し、ブートローダ書込終了のメッセージが表示されるまで待ちます。

ブートローダの書き込む

8. ブートローダが書き込みしたPro Microをパソコンに接続すると、次のようにデバイスマネージャーに「Arduino Leonardo」と表示されます。

以後,Pro Micro は Arduino Leonardoとして使用することができます

ブートローダが書き込まれたPro Microの動作確認

ブートローダが書き込まれたPro Microの動作を確認するために、シリアル回線を使用して「tomosoft ……」を送信する次のプログラム「ProMicro_check.ino」を作成します。

ProMicro_check.ino

void setup()
{
    Serial.begin(9600);        //This pipes to the serial monitor
}
  
void loop()
{
    Serial.println("tomosoft ......");  
    delay(1000);                // wait for a second
}

プログラム「ProMicro_check.ino」を実行すると、Arduino IDEのシリアルモニタにつぎのように「tomosoft ……」が表示されます。

Pro Microのチェック