はじめに
arudino Unoを使用してLEDを光らせるまでを説明します。
- Arudino Unoの購入
- パソコンにArudino IDEをインストール
- LEDとArduino Unoを接続
- プログラミング
- プログラミングコードをPCからArduino Unoにアップロード
1.Arudino Unoの購入
現在Aruino Unoは電子工作部品を販売している店舗やインターネットから容易に購入できます。
Amazonでは3,240円で販売されていました。
Arudino Unoを使用してLEDを光らせるためにはArudino Unoも含めて以下のものが必要です。
番号 | 商品名 | 価格 | 参考の販売店 |
1 | Arudino Uno | 3,240円 | Amazon |
2 | LED(3mm赤色LED 100個入り) | 350円 | 秋月電子通商 |
3 | カーボン抵抗180Ω(100本入り) | 100円 | 秋月電子通商 |
4 | ブレッドボード | 200円 | 秋月電子通商 |
5 | ジャンパーコード(オス-オス) | 220円 | 秋月電子通商 |
LEDは1個10円から売っていますので、100個もいらないという方はそちらを購入すればよろしいです。
ほとんどのLEDは20mAの電流を流すと明るく光るようになっています。
「標準電流:20mA」と記載されているLEDを購入すればよろしいです。LEDのスペックに3mm、5mmとあるのはLEDの大きさ(上から見た時の直系)です。
カーボン抵抗は180Ω(オーム)を使用します。何Ωの抵抗かは色で判断します。180Ωは茶・灰色・茶・金(最後の金は誤差を表す個所なので購入する抵抗によって変わります)です。抵抗のカラーコードは世界共通です。wikiのカラーコードを参照ください。
180Ωを使用する理由は以下のようになります。
- Arduino Unoの電源電圧は5V です。
- Arduino UnoのIOピンから流せる最大電流は200mAです。
- LEDにかかる順電圧(VF)は2.0Vです。
- LEDに流す電流は20mAです。
- 抵抗にかかる電圧は5.0V-2.0V=3.0V
- 必要な抵抗値は V(電圧)=I(電流)x R(抵抗)から R= 3.0v ÷ 20mA = 150Ω
- 150Ωの抵抗をつければOKです。
180Ωの場合は3.v÷180Ωなので16mAとなります。
今回使用するLEDは「インジケーターやモニターなどの 用途でしたら1~5mA程度でも十分実用になります。」とありますので、16mAでも問題ありません。
カーボン抵抗のスペック欄に1/4W、1/6Wという表記がありますが、これは抵抗器が耐えられるワット数です。これを超えると、壊れますので注意が必要です。
1/4Wと表記されていた場合、20mA流れると壊れる電圧は 電圧 x 0.02A= 1/4W(0.25)から電圧=0.25/0.02≒12Vとなります。
ブレッドボードは縦と横で配線がつながっているボードのことです。+(プラス)、-(マイナス)と書かれてる両端2列は一般的には電源用に利用します。
縦にそれぞれ裏でつながっています。
ブレッドボードの内側についてはabcdeが繋がっています。fghijもつながっています。次の列も同様にabcde、fghijはそれぞれ繋がっています。
右側の図の黄色いところが裏側で繋がっている個所になります。
ジャンパーコードは オス-オス、オス-メス、メス-メスがありますので、注意して下さい。
両端が凸になっているものがオス-オスです。
2.パソコンにArudino IDEをインストール
ArduinoにプログラミングするためにはArduino用のIDE(Integrated Development Environment)が必要です。
インストール方法については前回を参照してください。
3.LEDとArduino Unoを接続
Arduino UnoとLED、抵抗、を以下のように接続します。
図と全く同じにする必要はありません。
Arduino Unoの13番ピンからカーボン抵抗→LED→GNDと接続されていればOKです。
LEDは足が長い方がプラス側(抵抗側)、短い方がマイナス側(GND側)となります。
抵抗には向きはありません。
デジタルピン13から5vが出力され抵抗を介してLEDが点灯します。図の作成にはfritzingを使用しています。
ジャンパーコードを追加して以下のように接続しても同じです。
4.プログラミング
PCからArduino IDEを起動します。LEDを光らせるサンプルコードが既に用意されているので、それを使用してLEDを光らせます。
スケッチ例→01.Basics→Blinkを選択します。
arduinoを動かすプログラムは初期設定を行うsetup関数とsetup後繰り返し実行されるloop関数で動作しています。
pinMode(ピン名、INPUT/OUTPUT)でピン名を設定し、それが入力か出力かを設定ます。
LED_BULTINは13番ピンに設定されているので、13番ピンを出力ピンとして使用します。
loop関数なのdigitalWrite(LED_BULTIN,HIGH)、digitalWrite(LED_BULTIN,LOW)は
13番ピンの出力を5V(HIGH)、0V(LOW)に設定するという意味です。
delay(1000)は1000ms(=1秒) 時間を止めるという意味です。
従ってこのプログラムは5V出力→1秒待つ→0V出力→1秒待つ を繰り返すという内容です。
digitalWrite(LED_BULTIN,HIGH)
delay(1000)
digitalWrite(LED_BULTIN,LOW)
delay(1000)
一番左上のチェックマークのようなverifyマークをクリックするとコンパイルが実行されます。
エラーがでなければOKです。サンプルプログラミングなので誤って書き込みを行っていなければ問題は起きません。
5.プログラミングコードをPCからArduino Unoにアップロード
Arduino UnoとLEDを事前に繋いでいる状態で、Arduino UnoとPCをUSBケーブルで接続します。
デフォルトでArduino Unoが選択されていますが、確認のためArduino IDE のツールをクリックして
Arduino Unoとなっていることをチェックします。Uno以外のデバイスを使用する場合はここから変更してください。
Arduino IDEのuploadボタンをクリックします。➡ボタンです。
アップロードが完了したら1秒おきにLEDが点滅します。
プログラムを変更する場合は一旦USBケーブルを外します。
以下は簡単な変更例です。書き換え後にUSBケーブルを接続しアップロードを押すと実行されます。
- delay(1000)の括弧の数字の値を変更すると点滅の速度が変わります。
- setup関数でpinMode(10、OUTPUT)としてピン13からピン10に変更するとピン10がHIGH/LOWを繰り返します。
- LEDを直列に追加すると2つ同時に光ります。