AVRでLEDを点灯させる
今回の内容
今回は、AVRでLEDを点灯させるために、回路とLED点灯プログラムを作成します。作成したプログラムをAVR書き込み用ライターを使ってAVRに書き込み、LEDが点灯しているか確認します。
前回の内容
前回はAVRの環境構築(統合開発環境AVRStudioのインストール)と使い方について説明しました。
[追記] AVRに関する記事を以下の記事にまとめましたので、ぜひご覧ください。
AVRに関する記事
作成するLED点灯回路
AVRで基本となる回路
AVRを使うためには、AVRに電源を繋げないといけません。AVRを使うための基本となる回路を図1に示します。 1pin (PC6)には数十kΩの抵抗を繋げておきます。図1では47kの抵抗を使用しています。
今回作成する回路
今回作成する回路は、図3の通りです。基本の回路に、抵抗とLEDを1個ずつ追加しただけのシンプルな回路です。なお、抵抗とLEDは直列にし、ピン13(PD7)に繋ぎます。
AVRへのプログラム書き込み
AVRISPmkIIの端子配置
AVRにプログラムを書き込むにはライターが必要です。今回は、ライターとしてAVRISPmkIIを使用します。 AVRISPmkIIのピンは6つあり、それぞれの端子に役割があります(詳しくは説明しませんが)。AVR側にも、その役割にあった端子があり、ライタと対応する端子同士を繋げて、プログラムを書き込みます。
VCC | 電源 |
MISO | 出力 |
MOSI | 入力 |
SCK | クロック |
GND | グランド |
RES | RSTとも書く。リセット |
AVRとライタを繋げる束を作る
具体的には、図6の左のような線を使って6本1組の束を作ります。束にする前に"MISO"のようなタグを貼っておくと、AVRに繋げるとき分かり易いと思います。束にするとき、ライター端子名と合うようにまとめて下さい。
束にしたやつをライターに繋げるとき、ライターの端子に注意して繋げます。僕は、ライターのでっぱりを右にして、左上にVCC、右上にMISOが来るように繋げています(図7)。
AVRとAVRISPmkIIを繋げる
まず、今回使用するAVRであるATmega88のピン配置を見てみましょう。赤い実線で囲まれているのが、ライターの端子と繋げるところです。ライタの"MISO"と AVRの"MISO"を一致させて繋げます。他も同様です。
また、点線で囲まれているのは、電源とグランドなので、そのピンに繋げなくても別にいいです。ただし、VCCは電源に、GNDはグランドに繋げること。
先ほど作った束を使って、図9のようにAVRとAVRISPmkIIをつなげます。
その後、コンピュータとAVRISPmkII(ライター)をつなげます。初めてAVRISPmkIIを繋いだとき、AVRISPmkIIのドライバーが自動インストールされます(Windows7では)。コンピュータが自動でドライバーをインストールしてくれたのを確認します。これで、ライターを経由して、コンピュータとAVRがつながりました。
AVRとコンピュータが正しく接続されると、AVRISPmkIIのLEDが2つ緑色に点灯します(図10)。この時、AVRに電源が繋がっていなかったりして、間違って接続されると緑色以外のLEDが光ります。こうなったら、正しく接続されているかをしっかり確認してください。
AVRにプログラムを書き込む
AVRとコンピュータを接続したら、AVRStudioの「Con」と書かれたボタンを押してください(図12)。
すると、図13のような画面が出ると思います。PlatformをAVRISPmkII(使用するライタ)に、PortをUSBにして、Connect...を押します。
図14の画面が出るので、メニュータグがMainになっていることを確認します。そして、"Device and Signature Bytes" を "ATmega88"(使用するAVR)にして、Read Signatureを押します。
Signature not read と書かれていたところに数字の羅列(0x.. 0x.. )が表示され、その下に「デバイスがマッチした」ことが表示されればOKです。
そのままの画面で、メニュータグでProgramを選択します。図15のような画面に移るので、そこでFlash部分の "Input HEX File" 部分に、今回作ったhexファイルを指定します。そして、Programボタンを押すと、AVRにプログラムが書かれます。
もし長い英語でエラー画面が出てしまったら、AVRとライターの接続が間違っているので、接続を確認してください。電源電圧(5V)が、かかってますか? "MISO"のところに"MOSI"が繋がっていませんか?
プログラム動作確認
プログラムがAVRに書かれたら、すぐに動作を始めます。今回の場合、ATmega88のPD7(ポート)に繋がっているLEDが点灯するはずです(図15)。
AVRで作ったもの
AVRでTVリモコンとライントレーサを製作しました。作り方も説明しているので、ぜひ以下のリンクからご覧ください。
<< AVRを使うための環境を整えるへ | AVRでのタイマとPWMの使い方へ >> |