Arduinoを使って「ATtiny2313🌈」というマイコンにプログラムを書き込めるようにします🍅
🌈 ATtiny2313-20PU
この子がATtiny2313というマイコン(マイクロコントローラ)。中にプログラミングを書き込めば、いろんな電子パーツを制御できるマイクロなコンピュータよ。
あだ名は「虹彩(アイリス)🌈」。ここいらじゃ(私の中では)”お虹さん”で通っている姐さんなの。「瞳子(ATtiny13)」のお姉さん。
ATtiny2313の足(Pin)は全部で20本。Arduino UNOのブレインである「みつは(ATmega328)」と比べると小さいね。
🎀 「瞳子」ATtiny13A 🎀 「みつは」ATmega328P-PU
🥕 "みつは"たち姉妹(AVRマイコンたち)
🌈お虹さんの実力(スペック)
動作電圧 :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 が書込み装置になりました。
ハ. 配線をする。
ATtiny2313の「SCK」「MISO」「MOSI」を Arduinoの D13,D12,D11に、「RESET」を D10に配線します。(写真のオレンジと緑の線)
ATtiny2313の「Vcc」と「GND」を、Arduinoの 5vと GNDにそれぞれ配線します。(写真の赤と白の線)
それから 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チカできた✨
これで虹彩(アイリス)こと「ATtiny2313」を使うことができるようになりました。
やったね。
また一人、みつはたちの姉妹が増えました。電子工作で活躍する日が楽しみね🍎
🌈 他の姉妹たちの記事はこちら 🌈
miraluna.hatenablog.com