電子工作に興味があるけど何から始めていいかわからないという人もいるかもしれませんね。Arduino?それともRaspberry Pi?他にもいろいろありますよね。

個人的に初めての人にお勧めなのはやはりArduinoです。学習コストが圧倒的に低くて簡単です。関連書籍もたくさんありますし、何よりもインターネット上には先人たちが残してくれた様々なアドバイスやヒントが豊富に転がっています。

プログラミングにおいては、Arduino IDEという専用ツールを使い、C/C++ライクな「Arduino言語」でプログラムを組みますが、大変わかりやすい言語です。自分はもとはデザイナーでプログラミングには疎かったのですが、簡単なJavaScriptを理解できるような方なら誰でもすぐに理解できます。

そういうわけで、今回は電子工作の「Hello, World !」とも言える「Lチカ」つまりLEDをチカチカ光らせる方法を扱いたいと思います。

スポンサーリンク




目次

  1. Arduinoを入手しよう
  2. Arduino IDEのインストール方法
  3. 他にLチカに必要なもの
    1. ブレッドボード
    2. LED
    3. 抵抗(固定抵抗器)
    4. ジャンパー線
  4. ブレッドボードで回路を組む
    1. 回路図
    2. 回路の組み方の解説
  5. プログラムして実行!
    1. プログラムコード
    2. コードの解説
    3. コードを実行しよう!
  6. オームの法則について
  7. まとめ

1. Arduinoを入手しよう

Arduinoをまだ持っていない人は、スイッチサイエンスの「Arduinoをはじめようキット」もオススメです。UNOだけでなくブレッドボードやジャンパーワイヤー、LED等が入ったスターターキットになっています。自分も最初はこれを買いました。

※上記のリンクはamazonへのリンクとなっています。

まずはArduinoを購入しましょう。実はArduinoにはMegaからNanoまで大小様々な機種があります。またArduinoの仕様はオープンハードウェアとして公開されているので、沢山の互換ボードが市販されています。詳しくなってきたら、色々買い揃えて使ってみるのも楽しみの一つとなりますが、今回はオリジナルで、最も人気の高い「Arduino UNO」という機種を使ってみたいと思います。

PCとはUSBケーブル(Type-B)を使って接続しますが、Type-Bはプリンターとの接続で一般的によく使うタイプです。すでにお持ちであれば、別途購入する必要はありません。

2. Arduino IDEのインストール方法

Arduino UNO 本体を準備できたら、今度は開発環境である「Arduino IDE」をインストールします。

まずはこちらからダウンロードし、インストールしてみてください。
https://www.arduino.cc/en/software

お使いの環境を確認の上、インストールしましょう。

※この記事を書いている人はマックな人なので、macOSを前提に話を進めさせていただきます。

フリーでインストールしたい場合は、上の図のピンクで印をつけた方をクリックします。気に入った場合、寄付するのはよいことだと思います。

インストーラーをダウンロードしたら、インストールしてください。インストール方法はとても簡単ですので、ここでは割愛します。

3. 他にLチカに必要なもの

Arduino本体を入手し、Arduino IDEをインストールしたら、今度はLチカに必要なものも入手しましょう。以下のものが必要になります。

  • ブレッドボード
  • LED(砲弾型 直径5mm or 3mm)
  • 抵抗(250〜300Ω程度のもの)
  • ジャンパー線(オス-オス)

ちなみに、電子工作が全く初めての方は、必要なものを個別で入手するよりも、Arduino本体もセットされた下記のような商品を入手されるのもいいかもしれません。わたしも一番最初はこれを買いましたよ。

※上記一覧のリンクはamazonへのリンクとなっています。

3-1. ブレッドボード

ブレッドボードというのは、平たい板状のもので穴がたくさん開いています。その穴にLEDやジャンパー線を差し込んで配線できるという便利な道具です。これを使えば、半田付けしなくても回路を組むことができ、また取り外せば、パーツを再利用しつつ、他の回路を作ることができる優れものです。電子工作には必須のツールです。

3-2. LED

電子工作でよく使うLEDは主に砲弾型と呼ばれるもので、直径5mmのものと3mmのものがあります。色は、赤、緑、青、黄、白などがあります。これら単色以外にフルカラーLEDというRGB値を制御できるものもありますが、この記事では単色のLEDを使います。

3-3. 抵抗(固定抵抗器)

抵抗(固定抵抗器)とは回路の電流を適正に保つのに必要で、回路の適正電流を考慮に入れた適正値のものを使う必要があります。Arduinoを使った回路の場合、電流を20mA(ミリアンペア)程度にする必要があります。

今回のLチカでは250〜300Ω程度の抵抗があれば大丈夫です。適正な抵抗の値を計算する方法を知りたい方は、この記事の「オームの法則について」を参照してください。

3-4. ジャンパー線

ジャンパー線とは、ブレッドボードとArduinoを接続するためのケーブルです。両端がオスのものを購入してください。

4. ブレッドボードで回路を組む

さて、必要なものが揃ったら、いよいよ回路を組みます。下図を参考に回路を組んでみてください。

4-1. 回路図

一つ注意点ですが、LEDにはアノード(+)、カソード(-)という極性があり、回路を組むときに方向を間違えないようにする必要があります。この電極の見分け方ですが、発光部プラパーツ内の面積が小さくて、ピンが長い方が通常アノード(+)です。

4-2. 回路の組み方の解説

  1. ジャンパー線をArduinoのデジタルI/Oの9番に挿します。
  2. LEDのアノード(+)が、デジタルI/Oの9番と繋がるようにします。
  3. LEDのカソード(-)に抵抗を接続します。抵抗には極性(向き)はありません。
  4. 抵抗からArduinoのGNDに繋がるようにジャンパー線で繋ぎます。

5. プログラムして実行!

回路が組めたら、いよいよArduino IDEでプログラムを組みます。IDEを起動しましょう。IDEが起動したらArduinoを接続します。

接続したら「ツール > ボード」を確認して「Arduino/Genunino Uno」が選択されているか確認してください。また「ツール > シリアルポート」も確認して、Arduino UNOが認識されているか確認してみましょう。

接続がうまくいっているようなら、プログラミング開始です。下記のように記述します。

5-1. プログラムコード

// Blinking LED

const int LED = 9;         // LEDはデジタルピン9に接続

void setup() {
  pinMode(LED, OUTPUT);    // デジタルピンを出力に設定
}

void loop() {
  digitalWrite(LED, HIGH); // LEDを点ける
  delay(3000);             // 3秒待つ
  digitalWrite(LED, LOW);  // LEDを点ける
  delay(1000);             // 1秒待つ
}

※Arduinoの言語はC/C++に似ていますが、独自の言語ということになっています。

5-2. コードの解説

最初に、定数(const)を宣言し、デジタルI/Oの番号を数値(int)として設定しておきます。今回は「LED」という定数を宣言してみました。

setup()は最初に一度だけ実行される特殊な関数ですが、そこで、デジタルI/Oを「OUTPUT」として使う設定を行ないます。

loop()は、繰り返し呼ばれる関数ですが、そこで出力の設定を行ないます。

digitalWrite(LED, HIGH)で電流を流し、digitalWrite(LED, LOW)で電流を止めることができます。delay()は遅延を発生させることができる関数で、Arduinoで回路を組むときにはよく使います。引数として持たせる数値にはミリ秒で設定します。

5-3. コードを実行しよう!

組めたら、実行してみましょう。Arduino IDEの画面左上に矢印型のアイコンがあるのが見えますか?そこをクリックすることで実行可能です。下記のように点滅すれば成功です!

3秒ごとに点滅すれば成功です!

6. オームの法則について

回路に使用する適正な抵抗の値を導き出すにはオームの法則を使って計算する必要があります。中学校くらいで習っていると思うのですが、普段仕事などで使わなければ忘れちゃいますよね(笑)簡単に覚えられますので、これを機に覚えてしまいましょう!

ヴァレンタインデー(V)には、愛(I)があ〜る(R)」と覚えるとよいとどこかで聞いたことがあります。ヴァレンタインデーに恋が成就する恋人たちを想像しながら覚えてしまいましょう(笑)式にすると、 V(電圧)= I(電流)* R(抵抗)ですね。

この式を抵抗を求める式に変えてやります。I(電流)R(抵抗)の値を掛けたものがV(電圧)なのですから… R(抵抗)を求めるにはV(電圧)I(電流)で割ればよいのです。つまり…

R(抵抗)= V(電圧)/ I(電流)

Arduinoを使って組む回路に使用できる電圧は通常5V、適正電流は20mAです。回路の電流を20mAにするには、5V / 0.02A = 250Ωということになります。ただ、ぴったり20mAにする必要もなく、20mA程度に抑えればよいという感じです。適正電流を数mA上回ったからといって、すぐにArduinoが壊れるようなことはないとは思いますが、40mA以上の電流を流すとArduinoが壊れますので注意してください。

例えば、手元に330Ωの抵抗があったとします。これは使えるのでしょうか。では、早速オームの法則を使って計算してみましょう。

先ほどの式を今度は電流を求める式に変えてやります。I(電流)R(抵抗)の値を掛けたものがV(電圧)なのですから… I(電流)を求めるにはV(電圧)R(抵抗)で割れば良いのです。つまり…

I(電流)= V(電圧)/ R(抵抗)

5V / 330Ω = 0.01515…つまり約15mAです。この場合、回路の電流が20mAに収まっているので使っても大丈夫ということになりますね!

ただ、抵抗が大きすぎると今度は電流が下がり、LEDの光が暗くなってしまいます。やはり回路を組むには適正値を計算できるようになる必要がありますね。

7. まとめ

今回はArduino初心者の人が必ずやるLチカの方法を解説してみました。LEDを単に付けたり消したりするだけですが、仕組みを理解した上で、体験してみるとなかなか感慨深いものです。

この「自分でもできた!」という経験はとても大切だと思います。これを足がかりとしてさらに電子工作についての理解をさらに深めていきましょう!

またオームの法則についても簡単に解説しましたが、電子工作を趣味にする人にとっては重要な事柄ですので、これを期に覚えておきたいところです。