差分
このページの2つのバージョン間の差分を表示します。
| 両方とも前のリビジョン 前のリビジョン 次のリビジョン | 前のリビジョン | ||
| arduino:writer [2018/12/11 15:44] – baba | arduino:writer [2024/05/07 23:59] (現在) – [手順] baba | ||
|---|---|---|---|
| 行 1: | 行 1: | ||
| ====== Arduino Writer ====== | ====== Arduino Writer ====== | ||
| - | {{ : | + | Arduino as ISPとして書き込むための情報まとめページです。Arduinoのバージョン違いで動作したりしなかったりするので、このページを参照して書き込みを行う際は必ず同じ環境で構築するようお願いします。 |
| + | <WRAP center round important 60%> | ||
| + | * 利用するArduinoは必ず 1.8.5 もしくはそれ以下を利用してください。1.8.6以上はコンパイラが変わっておりそのせいで裸の328への書き込みがうまく言っていないことが報告されています。 | ||
| + | * その後1.9.0-betaの登場によって、1.9.0でも動作を確認しました。 | ||
| + | * 2024年5月7日:この時点での最新バージョンである2.3.2でも動作を確認しました。 | ||
| + | </ | ||
| + | |||
| + | {{ : | ||
| | | ||
| 行 8: | 行 15: | ||
| このページでは,Arduino Duemilanove/ | このページでは,Arduino Duemilanove/ | ||
| + | なおこのページでは書き込み機も自作していますが、DIPを書き込みだけであればaitendoが出している下記が安くておすすめです。 | ||
| + | * http:// | ||
| ===== 内蔵クロック(8MHz)で書き込む(Arduino Duemilanove/ | ===== 内蔵クロック(8MHz)で書き込む(Arduino Duemilanove/ | ||
| 行 13: | 行 22: | ||
| - AVRマイコンATMEGA328P-PU(Arduinoから取り外して使用してはダメです.新品は秋月で買えます.) | - AVRマイコンATMEGA328P-PU(Arduinoから取り外して使用してはダメです.新品は秋月で買えます.) | ||
| - | - Arduino Duemilanove | + | - Arduino Duemilanove(Arduino UNOでも動作を確認しています(2024年5月7日)) |
| - ブレッドボード, | - ブレッドボード, | ||
| - 110-124オームの抵抗(今回は120Ωの抵抗にします) | - 110-124オームの抵抗(今回は120Ωの抵抗にします) | ||
| ==== 手順 ==== | ==== 手順 ==== | ||
| - | === Arduino DuemilanoveにArduino As ISPのプログラムを書き込む === | + | === 1. Arduino DuemilanoveにArduino As ISPのプログラムを書き込む === |
| まずはArduinoとPCを接続し,Arduinoメニューの「ファイル」→「スケッチブックの例」からArduinoISPを選択し,それをArduino Duemilanoveに書き込みます | まずはArduinoとPCを接続し,Arduinoメニューの「ファイル」→「スケッチブックの例」からArduinoISPを選択し,それをArduino Duemilanoveに書き込みます | ||
| - | ===ブレッドボード上に下記回路図を作成する.(抵抗:120Ω,LEDに抵抗付けたい人はどうぞ)=== | + | === 2. ブレッドボード上に下記回路図を作成する.(抵抗:120Ω,LEDに抵抗付けたい人はどうぞ)=== |
| {{ : | {{ : | ||
| - | === Arduinoメニューの「ツール」→「マイコンボード」から「ATMEGA328P/ | + | === 3. Arduinoメニューの「ツール」→「マイコンボード」から「ATMEGA328P/ |
| - | 初期設定状態だと,上記の「ATMEGA328/ | + | 初期設定状態だと,上記の「ATMEGA328/ |
| - | Arduinoで新規ファイルを作成し,下記プログラムをペーストする | + | <WRAP center round info 60%> |
| + | もしarduinoのサイトがリンク切れになっていてもいいように、以下の通りまとめておきます。 | ||
| + | - {{ : | ||
| + | - 展開後、ユーザ名/ | ||
| + | - Arduinoソフトウェアを立ち上げ直す | ||
| + | </ | ||
| + | |||
| + | |||
| + | === 4. Arduinoで新規ファイルを作成し,下記プログラムをペーストする | ||
| Arduinoメニューの「ツール」→「マイコンボード」から「ATMEGA328P/ | Arduinoメニューの「ツール」→「マイコンボード」から「ATMEGA328P/ | ||
| < | < | ||
| 行 44: | 行 61: | ||
| </ | </ | ||
| - | === Arduinoメニューの「ファイル」→「書込装置を使って書込み」を選択し,ATMEGA328Pにプログラムを書き込む === | + | === 5. Arduinoメニューの「ファイル」→「書込装置を使って書込み」を選択し,ATMEGA328Pにプログラムを書き込む === |
| LEDが8秒間隔くらいで点滅したらうまく動作しています.プログラムでは1秒間隔のはずですが, このようになるのは,ここまでの状態でATMEGA328が1MHzで動作しているためです.そこで次の手順で 8MHzで動作するようにします. | LEDが8秒間隔くらいで点滅したらうまく動作しています.プログラムでは1秒間隔のはずですが, このようになるのは,ここまでの状態でATMEGA328が1MHzで動作しているためです.そこで次の手順で 8MHzで動作するようにします. | ||
| - | ===Arduinoメニュー→「ツール」→「ブートローダーを書き込む」を実行し,書込み終わったあと,再度同様の 点滅プログラムを「書込み装置を使って書込み」から実行する=== | + | === 6. Arduinoメニュー→「ツール」→「ブートローダーを書き込む」を実行し,書込み終わったあと,再度同様の 点滅プログラムを「書込み装置を使って書込み」から実行する=== |
| 1秒間隔で実行されればOKです.お疲れ様でした. | 1秒間隔で実行されればOKです.お疲れ様でした. | ||
| - | === 最後に書き込み終わった328Pをブレッドボードから取り出し,電源とLEDの回路だけで動作するかも 確認してみましょう=== | + | === 7. 最後に書き込み終わった328Pをブレッドボードから取り出し,電源とLEDの回路だけで動作するかも 確認してみましょう=== |
| なお,3.3V以下でマイコンを動作させる場合,ピン上のすべてのVCC, | なお,3.3V以下でマイコンを動作させる場合,ピン上のすべてのVCC, | ||
| + | |||
| + | ===== 外部クロック付きのATMEGA328に書き込む ===== | ||
| + | 上記内蔵クロックがお手軽ですが、長期間運営するシステムの一部にマイコンを入れる場合や、動作の信頼性を重要視したい場合、通常は外部クロック(水晶振動子やセラロック等)を載せた状態で書込みを行います。このセクションではその手順を紹介します。先程hardwareにinternal clock 8MHzの328を追加したかと思いますが、今回は外部クロック動作での328になります。そこで、「シナプスのハード製作記」(https:// | ||
| + | |||
| + | 書込みの手順は上記を参照してください。接続方法は下記の図のとおりです。 | ||
| + | |||
| + | {{ : | ||