Arduino を使ったISP
まず電子工作の練習として、FabISPを製作しておく必要があります。しかしそれに書き込むための他のISPや商用のISPを持っていなかったらどうしますか? そのような場合、ArduinoUNOを使って実施することができます!
サマリー:
- コード
- セットアップ
- Makefile
Step 1 コード
まずArduino IDEをダウンロードしてください。
File > Examples > ArduinoISP配下に、ArduinoをISPにするコードがあります:
コードの内容です:
コードが確認できたら、ArduinoとFabISPを接続するための設定を発見できます。以下の部分です、(もちろんVCCは5Vに、GNDはGNDにつなぎます)
あらゆる電源を入れる前にピンの接続が正しいことをよく確認してください
// slave reset: 10: 53
// MOSI: 11: 51
// MISO: 12: 50
// SCK: 13: 52
Arduinoにコードを書き込みます。
ノート:このステップはArduinoがこれから書き込みをしようとするボードにまだ接続されていない状態でする必要があります、そうでないとエラーになります。
Step 2 セットアップ
arduinoにプログラムした後(!)に、RESETとGNDの間に10uFのコンデンサを繋いでください
なぜかというと...
これはArduinoISPスケッチをプログラムしたArduinoの特殊な使い方に関係があります。今回、Arduino(ArduinoISP)そのものにプログラムするのではなくそれを通じてターゲットボードにコードを送りたいのです。コンデンサをつけないと、arduinoはコードの再送信のために自動リセットを実行すると解釈して、FabISP用のコードをArduinoのブートローダに送信します。コンデンサをつけると、リセットパルスを吸収するので、FabISPボードにコードを送信することができます。ソース(英語)
最初に確認したコードの設定に従って、ArduinoをFabISPに接続します:
avrdude用のMakefileの設定
FabISPファームウェア内のMakefileでは、この設定を使ってください。 Arduino IDEを開き、[ツール]> [ポート]で確認して、dev/tty.usbmodem1411の部分に自分のUSBポートを入れてください。
AVRDUDE = avrdude -c stk500v1 -b19200 -P /dev/tty.usbmodem1411 -p $(DEVICE)
Original tutorial by:
- Massimo Menichinelli openp2pdesign | v1.0 |
Remixed/Updated by Eduardo Chamorro, Fab Lab Seoul 01.2017
日本語訳 Asako Okazaki ,Fab Lab Kamakura 01.2019
Licensed under a Commons Attribution 4.0 International License