ramen_thumb

今回はArduinoを使って、ATTiniy85というマイコンに書き込みをしていきます。
前回のラーメンタイマーはAVRライターが必要だったのですが
Arduinoでも書き込みできるらしいので、試してみました。


Arduino UNO(互換機でもいけました)を持っているひとは
ぜひ試してみて下さいね。

↓↓続きを読む↓↓ をご覧ください 
 
にほんブログ村 IT技術ブログ ゲーム開発へ

Arduinoでテストしてみよう

まずはArduinoを使って プログラムがうまく動くか試してみます。
下のように配線してみました。

pgp_117


LEDについている抵抗は100Ω
スイッチについている抵抗は10kΩです

TinkerCadというサイトで、配線とプログラムを確認することができるので
チェックしてみてください。
(ブラウザだと音が割れちゃいますが、実機ではだいじょぶでした)

書き込みシールド

マイコンにプログラムを書き込むには、Arduinoとマイコンをつなぐ必要があります。
こんな感じです。

pgp_118

10μFのコンデンサを取り付けています。
これがないと書き込み時にエラーになるので注意。

毎回この回路を作るのは大変なので
書き込みシールドを作っておくといいです。

pgp_119

マイコンの取り外しができるように、ICソケットを使います。
Arduinoの各ピンに刺さるように、ピンヘッダを使って足を伸ばします。

書き込みシールドの作り方はこちらを参考にしました。

Arduinoを書き込み装置化

Arduinoを書き込み装置化することで、
ATTinyなどのマイコンにプログラムを書き込むことができます。

まずはArduinoIDEを開きましょう。

日本語化したい時は
pgp_121

「File」→「Preferences」を開き
「Language」の項目を「日本語」にすると、日本語になります。

ここでは日本語で解説します。

ArduinoをUSBでパソコンと接続しておきましょう。
ここではまだ書き込みシールドは外しておきます。

ArduinoIDEの「ファイル」→「スケッチ例」→「11.ArduinoISP」→「ArduinoISP」をえらびます。

pgp_120


ArduinoISPという、すでにプログラムされているファイルが開きました。

pgp_125

「書き込み」の矢印を押して、プログラムをArduinoに書き込みましょう。

書き込みができたら
前の項で作っておいた「書き込みシールド」を装着します。


ATTinyシリーズのボード設定を追加

ATTiny85に書き込みができるように、設定を追加します。
(ボード一覧にATTinyがあればとばしてOK)

「ファイル」→「基本設定」を開き
pgp_127
「追加のボードマネージャのURL」という欄に
http://drazzy.com/package_drazzy.com_index.json
をコピペしましょう。
「OK」をクリックして閉じます。


つぎに「ツール」→「ボード」→「ボードマネージャ」を開きましょう。
pgp_126


ボードマネージャの検索窓に「ATTiny」と入力します。
pgp_128

すると「ATTinyCore by Spence Konde」という項目があります。
これを「インストール」しましょう。

ブートローダーの設定

ボードが追加できたら、ブートローダーの書き込みをしましょう。

pgp_129

「ツール」→「ボード」を開くと
「ATTinyCore」という項目が増えています。
この中から「ATTiny25/45/85(No bootloader)」をえらびます。


pgp_130

「Chip」を「ATtiny85」
「ClockSource」を「1MHz(internal)」に
「書き込み装置」を「Arduino as ISP」にします

ClockSourceは時間を計るときにズレるので1MHzにしてます。
(8MHzにしたい時はプログラムを変えて対応してもいいです)

設定ができたら「ブートローダーを書き込む」をクリックします。

ATtiny85にプログラムを書き込もう

新しいファイルを開いて、ATtiny85に書き込むためのプログラムをしましょう。 こんな感じにしました。 先ほどのサンプルとはピン番号が違います。

電源用のピン・GND用のピン・RESETピンは入出力に使えないので
それ以外のピンを指定しましょう。

プログラムができたら
pgp_131

「ツール」をクリックして設定を確認します
(さっきと同じ設定になっていればOK)

「スケッチ」→「書き込み装置を使って書き込む」をクリックします。

これで、ATtiny85にプログラムを書き込むことができました。

pgp_132

ATTiny85と、それぞれのパーツをつないで
うまく動けば完成です。

ボタンを押すと、LEDが順番に光ります。
ボタンを1秒以上長押しすると、ピロっという音がなり、カウントが始まります。
(LEDの点灯数×1分)
指定分が経過すると、メロディーが流れます。