Mira&Luna's nursery lab

旅乙女と発明娘の子供部屋

ATtiny2313を使えるようにする。

f:id:miraluna:20181215104752j:plain:w300 Mira


Arduinoを使って「ATtiny2313🌈」というマイコンにプログラムを書き込めるようにします🍅


🌈 ATtiny2313-20PU
f:id:miraluna:20220220174013j:plain

この子がATtiny2313というマイコン(マイクロコントローラ)。中にプログラミングを書き込めば、いろんな電子パーツを制御できるマイクロなコンピュータよ。
あだ名は「虹彩(アイリス)🌈」。ここいらじゃ(私の中では)”お虹さん”で通っている姐さんなの。「瞳子(ATtiny13)」のお姉さん。
ATtiny2313の足(Pin)は全部で20本。Arduino UNOのブレインである「みつは(ATmega328)」と比べると小さいね。

   🎀 「瞳子」ATtiny13A       🎀 「みつは」ATmega328P-PU

🥕 "みつは"たち姉妹(AVRマイコンたち)


f:id:miraluna:20220220174013j:plain:w150 🌈お虹さんの実力(スペック)
動作電圧    :2.7v~5.5v
プログラムメモリ:2kB
EEPROM    :128B
RAM      :128B
クロック    :20MHz
Pin数      :20本

Arduino UNOのコンピュータ「みつは(ATmega328)」のプログラムメモリが32kBだから、そんなに大きなプログラムを書き込むことはできない。でも「瞳子(ATtiny13)」のほぼ2倍の性能を持っているから可能性は広い。足が20本あるというのも、複数の電子パーツを制御するのに役立ちそう。期待してます、お虹さん。


🌈 「ATtiny2313」にプログラムを書き込む。
(Arduinoとその開発環境(IDE)のある状況から始めます。)

. ATTinyCore を ArduinoIDEにインストールする。
. Arduinoに "ArduinoISP"プログラムを書き込む。
. 配線をする。
. ブートローダを書き込む。
. スケッチ(プログラム)を書き込む。
                  と、いう手順で書き込みます。


. ATTinyCoreをArduinoIDEにインストールする。
Arduino IDEは無料でダウンロードできるArduino開発環境です。2022年2月現在、最新版の「Arduino IDE 1.8.19」をダウンロードできます。→Arduino公式サイト
この Arduino IDE では、いろんな Arduino のボード(Arduino UNO とか Arduino Leonardo とか Arduino nano とか)にプログラムを書き込むことができるようになっているんだけど、ATmega328とか、ATtiny2313のようにボードの選択肢にないものもあるの。だから Arduino IDE に ATtiny2313 のボードを加える必要がある。
そこで、ATtiny2313をボードに加えることのできる開発環境パッケージを Arduino IDE にインストールします。

名前は「ATTinyCore」。作者はSpence Kondeさん。
Thank you for your great project. →GitHubの<ATtinyCoreのページ

ATTinycoreのページに行くと、READMEの中に「Installation」というところがあります。ここに入ると ↓ 下のURLが置かれています。
     http://drazzy.com/package_drazzy.com_index.json

以下の手順でATtiny2313(とたくさんのTinyシリーズ)をボードに加えます。

 上のURLをコピーします。
 Arduino IDE を開き、「ファイル」→「環境設定」と進み、
  「追加のボードマネージャのURL」にコピーを貼って「OK」を押します。
 「ツール」→「ボード」→「ボードマネージャ」と進み、
  SpenceKondeさんの「ATTinycore」を見つけてインストールします。
 一度 Arduino IDE を閉じ、開き直します。

これで ATtinyシリーズがボードに加わります。


. Arduinoに "ArduinoISP"プログラムを書き込む。

 Arduino IDE を起動します。「ファイル」→「スケッチ例」→「11. ArduinoISP」と進み、「ArduinoISP」というスケッチを開きます。
その「ArduinoISP」スケッチを Arduino に書き込みます。

これで Arduino が書込み装置になりました。


. 配線をする。

f:id:miraluna:20220220174041j:plain
f:id:miraluna:20220220195231p:plain:w200 f:id:miraluna:20220220195235p:plain:w150
ATtiny2313の「SCK」「MISO」「MOSI」を Arduinoの D13,D12,D11に、「RESET」を D10に配線します。(写真のオレンジと緑の線)
ATtiny2313の「Vcc」と「GND」を、Arduinoの 5vと GNDにそれぞれ配線します。(写真の赤と白の線)
f:id:miraluna:20220220174102j:plain
それから Arduino の RESETと GNDの間に「10μFのコンデンサ」を入れるといいそうですが、なくても書き込みできました🐪 コンデンサを入れる場合には向きに注意。白いマイナス帯が描かれている側の足をGNDへ。反対の足をリセット側へ。

これにて 配線完了🍎


. ブートローダを書き込む。
いよいよスケッチを書き込みたいところなんだけど、その前にブートローダというものを書き込んで、ヒューズ設定を行います。
Arduino IDE を開いて、「ツール」→「ボード」→「ATTinyCore」→「ATtiny2313(a)/4313(No bootloader)」を選びます。
そしてまた「ツール」を開くとボードが「ATtiny2313(a)/4313(No bootloader)」になっているはず。
「Chip」を「ATtiny2313/ATtiny2313A」にします。
「Clock」は「8MHz(internal)」がおすすめ。("external"は外付け発振器が必要。)
「書込装置」を「Arduino as ISP(ATTinyCore)」にします。

そして「ブートローダを書き込む」でブートローダを書き込みます。
ブートローダを書き込まずにプログラムを書き込むこともできたけど、動作速度がすっごく遅くなった。
もし書き込みエラーが出たら、「配線を見直す」「"Chip"や"書込装置"などの設定を見直す」「気分転換して明日もう一度やり直してみる」というようなことを試してみてくださいね。


. スケッチ(プログラム)を書き込む。
ブートローダが書き込めたらあとは簡単。
設定をそのままにして、「マイコンボードに書き込む」でスケッチを書き込むだけ。

🌈 Lチカできた✨ f:id:miraluna:20220220174150j:plain:w400

f:id:miraluna:20191015184121j:plain:left:w200 これで虹彩(アイリス)こと「ATtiny2313」を使うことができるようになりました。
やったね。
また一人、みつはたちの姉妹が増えました。電子工作で活躍する日が楽しみね🍎





🌈 他の姉妹たちの記事はこちら 🌈
miraluna.hatenablog.com