2014年06月29日 | 公開。 |
2015年10月07日 | 外部クロックモードで書き込みを行わないよう、警告を追加した。 |
2015年10月15日 | スケッチを書き込むのに使う、サンプルスケッチを掲載した。 |
2015年12月08日 | 「ATtiny85を使った作例」の項を追加した。 |
前のページでは、Arduino IDEにATtinyサポートファイルをインストールし、ATtiny44/84/45/85のスケッチの開発環境を準備しました。このページでは、その開発環境を使って、実際にサンプルスケッチを書き込んでみます。
以下の様な、LEDを点滅させるスケッチを用意したので、Arduino IDEで入力し、LCHIKA.inoというファイル名で保存してください。
const int LedPin=0;
void setup()
{
pinMode(LedPin,OUTPUT);
} // setup
void loop()
{
digitalWrite(LedPin,HIGH);
delay(1000);
digitalWrite(LedPin,LOW);
delay(1000);
} // loop
このスケッチは、D0端子に接続したLEDを、2秒周期(点灯1秒、消灯1秒)で点滅させるものです。Arduino IDEにサンプルとして付いてくるBlinkというスケッチでは、D13端子についているLEDを点滅させていますが、ATtiny44/84/45/85には、D13端子はないので、D0端子を使っています。使用する端子が違う以外は、Blinkスケッチと同じ内容のスケッチです。
次にこのスケッチを、実際にマイコンに書き込んでみます。以下の手順でスケッチを書き込んでください。
USBシリアル変換器から電源が供給されている状態でジャンパピンの設定を変えると、電源がショートする事があり、故障の原因になります。過電流保護用のポリスイッチを付けているので、簡単には故障しない設計にはなっていますが、保護回路を過信する事は禁物です。
CN4(ENABLE BUZZER)にジャンパピンを付けると、スケッチの書き込み時に、書き込みの様子を音でモニターできます。音が出るとうるさい場合は、CN4にはジャンパピンを付けないでください。
使用するUSBシリアル変換器は、5V出力の物でも3.3V出力の物でも構いません。上の写真に写っているのは、5V出力と3.3V出力を切り替えられる物です。
電源の入ったパソコンにUSBケーブルを接続すると、LED1(POWER)が点灯します。また、LED6(HEARTBEAT)が周期的に明るくなっ たり暗くなったりします。このようにLED6が周期的に明暗を繰り返すのはArduinoISPのファームウェアが正常に動作している印です。
注:SW1(およびSW2、CN4)は電源が入っているときでも操作して構いません。ただし、ヒューズビットやスケッチの書き込みの最中には操作しないでください。
注:下の図では例として先ほど紹介したLEDを点滅させるスケッチ(LCHIKA.ino)を開いています。
注:下の図ではCOM8を選んでいますが、皆さんの環境に合わせて、COM番号を選んでください。
注:下の図ではATtiny85の1MHzクロックを選択していますが、皆さんの使いたいマイコンの種類とクロック周波数を選んでください。
この時に、外部クロック(external)のモードを選ばないでください。外部クロックを選択した状態でヒューズビットの書き込み(後述)を行うと、それ以降そのマイコンに対しては、Arduino用ブートローダ/スケッチライタでは書込みが行えなくなります。必ず内部クロック(internal)のモードを選択してください。
上の写真を参考にして、ZIFソケット左上のレバーを立てた状態で、マイコンを挿入してください。この際、マイコンの向きを反対にしないように注意してください。
マイコンがZIFソケットに挿入できたら、ZIFソケットのレバーを倒して、マイコンを固定してください。
注:ATtiny44/84/45/85では、ブートローダを使いません。この操作で書き込まれるのは、ヒューズビット(クロック周波数などの各種設定)です。一度ヒューズビットを書き込んだマイコンの場合、クロック周波数を変更しない限り、手順11は省略できます。
ヒューズビットの書き込み後に次のようなメッセージが出ますが、無視してかまいません。
書込装置を使って書き込むメニューを選択すると、コンパイル後にスケッチの書き込みが始まります。
スケッチの書き込み後に次の様なメッセージが出ますが、無視してかまいません。
以上で、スケッチの書き込みが終わりました。続けて同じ型番のマイコンに、同じスケッチを書き込む場合は、手順10以降を繰り返してください。
ATtiny44/84/45/85にスケッチを書き込んだら、ブレッドボードに回路を組んで、動作確認をしてみましょう。具体的にどういう回路を組むかは、どんなスケッチを書き込んだかによりますが、ここではD0に接続したLEDを点滅させるスケッチを書き込んだ場合の動作テストの方法について説明します。
LED点滅スケッチを動作させる場合の配線図を次に示します。
ATtiny44/84/45/85は、内蔵CR発振器をクロックに使う設定になっていますので、外部に水晶発振子やセラロックなどは不要です。
また、RESET端子には内蔵プルアップ抵抗が入っているので、外部プルアップ抵抗がなくても、一応は動作します。ただ、内蔵プルアップ抵抗の抵抗値が高いため、ノイズで誤作動するのが嫌な場合は、図54の様に10kΩのプルアップ抵抗を付けておく方が無難です。
0.1μFのコンデンサは、電源のパスコンですので、セラミックコンデンサを使い、電源端子の近くで配線してください。
図54の回路をブレッドボードに組んだ時の写真を次に示します。
写真にArduino Unoが写っていますが、単に5Vの電源として使っています。また、電源を3.3Vに差し替えても、LEDが少し暗くなるだけで、正常に使えます。
写真ではLEDの点滅の様子が分かりませんが、1秒点灯→1秒消灯→1秒点灯→1秒消灯…と点滅しています。
ピカピカ光るクリスマスツリーおばけの製作(1)の記事に、ATtiny85を使って、クリスマスツリーのイルミネーションの制御を行った作例を紹介しています。ATtiny44/84/45/85を使った小型マイコン基板の製作法の参考になると思いますので、是非読んでください。
商品名 | Arduino用ブートローダ/スケッチライタキット | |
税抜き小売価格 | 3000円 | |
販売店 | スイッチサイエンス | |
サポートページ | Arduino用ブートローダ/スケッチライタキットサポートページ |
商品名 | Arduino用ブートローダ/スケッチライタ(完成品) | |
税抜き小売価格 | 3600円 | |
販売店 | スイッチサイエンス マルツ | |
サポートページ | Arduino用ブートローダ/スケッチライタ(完成品)サポートページ |
商品名 | Arduino Uno用ブートローダスケッチライタシールドキット | |
税抜き小売価格 | 1440円 | |
販売店 | スイッチサイエンス | |
サポートページ | Arduino Uno用ブートローダライタシールドキットサポートページ |