Mira&Luna's nursery lab

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

ATtiny13を使えるようにする。

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

Arduinoを使って、1cm四方のちっちゃなマイクロコンピュータATtiny 13A」を使えるようにします。

f:id:miraluna:20190421155321j:plain:w400
この子です。 あだ名は「瞳子(どうこ・とうこ)」「瞳chen」「Pupil」。
Atmel社のAVRマイクロコンピュータ「ATtiny13A」。
Arduinoマイクロコンピュータ「ATmega328」が 28pinなのに比べて、 8pinのtiny13はとってもちっちゃい。あと安い。2019年1月現在、秋月電子さんで50円。駄菓子屋さんのブタメンより安いコンピュータなの。
でもちっちゃくてもれっきとしたコンピュータ。この子にプログラムを書き込めば、いろんな電子部品を制御するブレインになるのよ。

今回はこのATtiny13にプログラムを書き込むための開発環境の作り方を紹介したいと思います。



Arduino IDE のボードに ATtiny13(ついでにATtiny10も)を加える。

Arduinoを使ってマイコンマイクロコンピュータ)にプログラムを書き込むときに、マイコンの種類を選ぶ場面があります。Arduinoの開発環境である「Arduino IDE」の中の、「ツール」→「ボード」という項目。ATmega328(みつは)を載せたままの状態でArduinoを使うなら「Arduino/Genuino Uno」を選んだままでも大丈夫。でもみつは以外のマイコンを使う場合には、ここで書き込みを行うマイコンの種類を正しく指定しなくちゃいけないの。だけど初めの選択肢の中にはATtiny13がないんです。

だからここにATtiny13の選択肢を作る必要があります。

ネットの海の中には、プログラミングの技術者さんや個人でプログラムを作っている人たちがそれぞれの作品を持ち寄って集まる「GitHub」というプラットフォームがあります。私はここで公開されている「bitDuino」のプログラムを改編したものを使わせていただきました。
bitDuinoの作成者は、まりす(maris-HY)さん。
Arduino IDE Ver.1.8.○向けに改編してくださったのはkosakalabのkosakaさん。
GitHubbitDuinoのページはこちらです。
kosakaさんのkosakalabのページはこちらです。
(今回の方法とは別に、しなぷすさんのページも参考にさせていただきました。)
まりすさん、kosakaさん、しなぷすさん、ありがとうございました。


以下の手順でATtiny13をボードに加えます。

 kosakalabさんに置かれている下記URLをコピーします。
   https://kimio-kosaka.github.io/bitDuino10/package_bitDuino10_index.json
   https://kimio-kosaka.github.io/bitDuino13/package_bitDuino13_index.json

 Arduino IDE を開き、「ファイル」→「環境設定」と進み、
  「追加のボードマネージャのURL」のボックスにコピーを貼って「OK」を。

 「ツール」→「ボード」→「ボードマネージャ」と進み、
  bitDuino10とbitDuino13を見つけてインストールします。

すると「ボード」にATtiny10とATtiny13の選択肢が現れるはず。
これでArduino IDE のボードにATtiny13(とATtiny10)が加わりました。



.ATtiny13にプログラムを書き込むための配線。

さあ、これでArduinoのみつは(ATmega328)とATtiny13を差し替えればプログラムを書き込める、と思ったらATtiny13はpinが8本しかない。
そう、マイコンを差し替えるだけでは書き込みを行うことができないから、そのための配線をしなきゃいけないの。

※ 配線をする前にArduinoに載っているみつはにArduino ISPのプログラムを
  書き込んでおきましょう。
  詳しくはブートローダ書き込み手順.を見てください。


書き込み用の配線方法はこう。
f:id:miraluna:20190104204812p:plain

難しくないですよね。
ポイントはリセットとグラウンドの間に10μFの電解コンデンサを入れるところね。コンデンサには向きがあるから注意。GNDにはマイナスの極(白い帯のある側)ですよ。

ブートローダを書き込むときのようにArduinoに挿さっているみつははそのままです。みつはにはArduino ISPのプログラムが書かれていますね。

これでATtiny13(ATtiny10)にスケッチ(プログラム)の書き込みができるようになりました。
以下の手順で書き込みを行います。

 Arduinoに載っているATmega328(みつは)に Arduino ISP のプログラムを書き込む。

 上の図のように配線する。または書込みシールドを装着する。
                    シールドの作成方法は→ こちらから
 「ツール」→「ボード」で「ATtiny13」を選択する。

 「ツール」→「Clock」で好みの動作クロックを選択する。

 「書込装置」を「Arduino as ISP」に指定する。

 「ブートローダを書き込む」でブートローダを書き込む。

 「マイコンボードに書き込む」か「書込装置で書き込む」でスケッチを書き込む。

ブートローダを書き込まなくても、スケッチを書き込むことができます。でもブートローダを書き込まないと動作が安定しなくなることがあるの。
注意が必要なのはクロックの動作速度。9.6MHzだとLEDのチカチカのタイミングがくるって遅くなっちゃった。1.2MHzにしたら通常通りに動作しました。プログラムメモリに余裕のあるスケッチを書き込むなら、ブートローダを書き込んだほうがいいかも。


ちっちゃいコンピュータATtiny13Af:id:miraluna:20190104205731j:plain:w30
プログラムを書き込んで、どんなものを動かそうかな。
いろんなアイディアが浮かんでわくわくです。
                     Tinyミラf:id:miraluna:20180105114819j:plain:w30でした。
ATtiny85を使う方法の記事は ←こちら
新Tiny0シリーズ ATtiny202を使う方法の記事は ←こちら


おまけ
ATtiny13A」を使って作ってみたもの
miraluna.hatenablog.com
miraluna.hatenablog.com
miraluna.hatenablog.com
miraluna.hatenablog.com



             🎀Miraの部屋🎀