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 基板表記のピン |
信号 |
---|---|---|
D13 | 15 | SCK |
D12 | 14 | MISO |
D11 | 16 | MOSI |
D10 | RST | RESET |
5V | VCC | |
GND | GND |
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」を選択します。
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 ……」が表示されます。