この記事は小型のマイコンボードArduino Unoで電子工作に入門するための記事です 電子工作を体験したことがない方を対象に電子工作の基本から応用までを分かりやすくご紹介します。 ハンズオン形式となっていますので、下記の用意するものをご準備いただき実際に手を動かしながら体験していただければと思います。
もくじ
この記事では以下の内容について学びます。
-
Arduinoとは
-
電気の操作と利用に必要な構成要素
-
電流、電圧、抵抗とオームの法則とは
-
回路とは
-
極性とは
-
ハンズオン
必要なもの
-
PC(この記事ではWindowsを使用します)
-
Arduino Uno
-
USB-A (オス) - USB-B(オス)ケーブル
-
ブレッドボード
-
ジャンパワイヤ
-
LED
-
抵抗
1.Arduinoとは
Arduinoはオープンソースプラットフォームです。Arduinoは、物理的なプログラム可能な回路基板(マイクロコントローラー)と、コンピューター上で作成したコードを物理的な基板にアップロードするために使用されるソフトウェアまたはIDE(統合開発環境)の両方で構成されます。 OSSプロジェクトであるためソフトウェアは無料で、しかもハードウェアは安価なため多くの人々に人気です。 Arduinoには多くのバリエーションが存在します。今回使用するArduino UnoはArduinoファミリーのなかで最も人気のあるうちの一つで、初めて電子工作を勉強するのに最適です。 よくArduinoと比較されるものにRaspberryPiがあります。最も大きな違いはOSの有無で、ArduinoがOSを搭載しないマイクロコントローラであるのに対し、RaspberryPiはOSを搭載し単一でコンピュータとして機能するシングルコンピュータです。どちらも電子工作を始めるのに魅力的な選択肢です。ArduinoとRaspberryPiとの違いはこちらの記事に詳しく書かれています。
3.電気の操作と利用に必要な構成要素
電子工作をはじめるとき、電圧、電流、抵抗の基本を理解することから始めることが重要です。これらは、電気の操作と利用に必要な基本的な構成要素です。最初は、これらの概念を「見る」ことができないため、理解するのが難しい場合があります。
電流、電圧、抵抗とオームの法則とは
電圧(V)
回路上の2点間の電荷の差です。よく電気を押し出す力のように表現されます。 例えば日本の家庭用コンセントの電圧は100Vです。
電流(A)
電荷が流れる速度です。よく電気の流れる量と表現されます。 例えば一般的なモバイルバッテリーの出力は2.4Aです。
抵抗(抵抗器)
抵抗は電流の流れにくさを表した数値です。 オーム(Ω)という単位で測定されます。 抵抗器は電流を流れにくくさせる部品で、数値(Ω)が大きいほどその能力が高いことを示します。
オームの法則
オームの法則は、電気回路の電圧、電流、抵抗の関係を計算するために使用される式です。 V = I・R V =電圧(ボルト) I =電流(アンペア) R =抵抗(オーム) 例えばある電圧の電源でLEDを点灯させるときに、それに必要な抵抗の大きさを求めるのに使います。 オームの法則はハンズオンパートで使用します。
ハンズオン
ストーリー
-
LEDを点灯させる
-
LEDを点滅させる
-
LEDをPythonのシリアル通信で制御する
1.LEDを点灯させる
LEDはある決まった方向に電流を流すと光ります。これを極性と言います。電流が大きいほどLEDは明るく光りますが、LEDの定格電流を超えた電流が流れるとLEDが損傷する場合があります。そのため抵抗器を使うことで、LEDが最も能力を発揮する大きさの電流が流れるようにします。 このセクションではArduinoは単純な5V電池として考えてください。 使用するLEDの仕様は下記の通りです。 ・標準電流:20mA ・順方向電圧(VF):2.9V~3.6V このLEDは約3Vで20mAの電流を流すと最適であるということがわかります。 しかし、Arduinoの電源電圧は5Vです。LEDには3V20mAの電圧がかかるようにしたいので、抵抗には2Vかかり20mAの電流が流れるようにします。 これをオームの法則に当てはめると、V=IRですから2=0.02Rとなり、R=100が導かれます。 このLEDを定格範囲の電流電圧で光らせるためには100Ωの抵抗を使えばよいことが分かりました。 下記のように配線してみましょう。
LEDが点灯しました。 先ほど抵抗は電流を流れにくくする部品と説明しました。 ためしに100Ωの抵抗を直列に2つ繋げて200Ωにしてみましょう。 LEDが暗くなったことが分かります。
2.LEDを点滅させる
次にLEDを点滅させましょう。 先ほどはArduinoを単純な電源としましたが、今度はLEDを点灯させるプログラムをArduinoに書き込みマイコンとして実行しましょう。 まずはArduino IDEを起動し、下記のコードを入力します。
void setup()
{
//2番ピンを出力モードに設定
pinMode(2, OUTPUT);
}
void loop()
{
//2番ピンを出力をオン
digitalWrite(2, HIGH);
delay(1000);
//2番ピンを出力をオフ
digitalWrite(2, LOW);
delay(1000);
}
setup()はボードが起動した最初だけ実行され、loop()はボードの起動中ずっと繰り返し実行されます。 入力したら➡️ボタンをクリックしてコードをArduinoに書き込みます。
下記のように配線をしてください。
マイコンを起動するとLEDが1s間隔で点滅しました。
3.LEDをPythonのシリアル通信で制御する
準備中です。
まとめ
今回試したようにArduinoは気軽にハードウェアの学習、開発が可能なプラットフォームです。 他にもArduinoにはシールドと呼ばれる様々な拡張ボードが販売されており、それらを組み合わせることで手軽に機能拡張が可能です。もちろん単体のセンサやモーター、通信モジュールを接続し制御することもできます。 これがハードウェア開発のきっかけになれば嬉しく思います。