こんにちは。
この度、AVRマイコン(ATMEGA328P,ATtiny2313,ATtiny13A)を買ったり買ってもらったりして、どのように使っていこうか考えていました。
【ことのいきさつ】
Arduinoを使って書き込む方法があると知る
KosakaLab
  探すとここに行き当たる。丁寧な解説つきでとてもありがたい。
  でもどこの説明もArduino UNOでやってる。
僕のArduino UNOは現在故障中で使えない
 スイッチサイエンスの永久保障
  Arduino UNO R3の永久保障の内容が最強。みんなここで買うべきっしょ。
(はやく直してもらえばいいのに)
  Arduino LeonardoはUNOとほぼ同等なボード。
使ってる人はUNOより少ない。ちょっと安い。
Arduino Leonardoでやってるページを見つける
 G2SS Diary: LeonardoでAttiny85にスケッチを書き込んでみた http://g2ss.blogspot.jp/2013/01/leonardoattiny85.html
  できないことはないけど、一手間必要なんだなと知る。
Arduino Leonardoでやる詳細のページも見つける
 Arduino Leonardo as ISP : 
  英語だけど絵がいっぱいで一番くわしくわかりやすい
できた!
というわけで僕もG2SS Diaryさん同様、やり方の手順を公開します。
0. 準備 用意するもの
・Arduino Leonardo USBケーブル・AVRマイコン(上記3つで動作を確認)
・ブレッドボードとジャンパ線
・確認用LEDと抵抗
・パソコン(OSはMacOSX、Windows7で確認)
・Arduino IDE1.0.6 (1.5.8 BETAではうまくいかない)
1. Leonardoを書き込み装置にしよう
[ファイル]->[スケッチの例]->[Arduino ISP] を開く。内容を書き換える。(SS->10 , 9->13)
[Arduino ISP Leonardo]とか別名で保存しておくといい。
hardware.zipをダウンロード&解凍&[Arduino]ディレクトリの中に置いておく。
(http://make.kosakalab.com/arduino/use/source/hardware.zip)
Arduino IDEを再起動して[ツール]->[マイコンボード]でなにやらたくさん出てきたらオッケー。
[hardware]ディレクトリの中に[leofix]というディレクトリをつくります。
[leofix]ディレクトリの中に[programmers.txt]というテキストファイルをつくります。
テキストファイルには以下の4行を書いておく。
arduinoispleo.name=Arduino as ISP (Leonardo)
arduinoispleo.communication=serial
arduinoispleo.protocol=arduino
arduinoispleo.speed=19200
再起動すると[ツール]->[書き込み装置]に[Arduino as ISP (Leonardo)]がある。
2. マイコンと配線しよう
  Arduino Leonardo側 <ーーー> マイコン
        SCK      <-->    SCK
        MISO    <-->    MISO
        MOSI    <-->    MOSI
        10     <-->   RESET
        5V     <-->   VCC
        GND    <-->   GND
        0(RX1)   <-->   RX (必要ないかも)
 まず、前述のArduinoISPLeonardoをLeonardoに書き込む
 設定は マイコンボード:Arduino Leonardo
     ポート:Leonardoを認識してるポート
     書き込み装置:AVRISP mkII
 次に、前述のLEDチカチカスケッチをマイコンに書き込む
 設定は マイコンボード:ATtiny2313 (internal 8MHz clock) <-- 自分の使うマイコン
     ポート:Leonardoを認識してるポート
     書き込み装置:Arduino as ISP (Leonardo)
 LEDチカチカスケッチ
void setup( ) {ピンで2番を指定しているので、RXD,TXD,の隣くらいのピンにLEDを刺しておくと光る
pinMode(2, OUTPUT);
}
void loop( ) {
digitalWrite(2, HIGH);
delay(125);
digitalWrite(2, LOW);
delay(125);
}
という感じで僕はできました。
Arduinoの関数とかがどの程度使えるのか分からないので、今後検証していきたいと思います。
以上、Arduino IDEとLeonardoでマイコンに書き込みしてみようのコーナーでした。









