ボタン¶
概要¶
このレッスンでは、Arduinoを使用してボタンでLEDを制御する方法について学びます。ボタンとLEDは、リモコン、懐中電灯、インタラクティブインスタレーションなど、さまざまな電子デバイスにおいて基本的なコンポーネントです。このセットアップでは、ボタンを入力デバイスとして使用し、LEDの状態を制御します。
ボタンはArduino Uno R4ボードのピン12に、LEDはピン13に接続されています。ボタンが押されると、Arduinoに信号が送られ、LEDが点灯します。逆に、ボタンが放されると、LEDが消えます。このシンプルだが効果的なメカニズムは、ホームオートメーションシステム、インタラクティブディスプレイなど、より複雑なプロジェクトの基礎となることができます。
このレッスンを終えるころには、ボタンからの入力を読み取り、それを使用してLEDを制御する方法を理解し、Arduinoの入出力操作に関する基本的な理解を得ることができます。
必要なコンポーネント¶
このプロジェクトには、以下のコンポーネントが必要です。
全セットを購入するのが便利です。こちらがリンクです:
名称 |
このキットのアイテム数 |
リンク |
---|---|---|
Elite Explorer Kit |
300+ |
以下のリンクから個別に購入することもできます。
コンポーネント紹介 |
購入リンク |
---|---|
- |
|
配線図¶
回路図¶
ボタンの一方の端をピン12に接続し、プルダウン抵抗と0.1uF(104)のコンデンサー(ボタンが動作する際にジッターを排除し、安定したレベルを出力するため)と接続します。抵抗の他端をGNDに、ボタンの他端のピンの一つを5Vに接続します。ボタンを押すと、ピン12は5V(HIGH)になり、同時にピン13(LEDが組み込まれている)をHighに設定します。次にボタンを放すと(ピン12がLOWに変わる)、ピン13はLowになります。そのため、ボタンを押して放すたびに、LEDが交互に点灯し消えるのが見られます。
コード¶
注釈
ファイル
18-button.ino
をelite-explorer-kit-main\basic_project\18-button
のパスで直接開くことができます。または、このコードをArduino IDEにコピーしてください。
コード解析¶
定数と変数の定義
このセグメントでは、ボタンとLEDのピン番号が定義されます。また、
buttonState
変数が宣言され、ボタンの現在の状態を保持します。const int buttonPin = 12; const int ledPin = 13; int buttonState = 0;
セットアップ関数
setup()
関数は、Arduinoボードが起動するときに一度実行されます。ボタンとLEDのピンモードは、pinMode
関数を使用して設定されます。void setup() { pinMode(buttonPin, INPUT); pinMode(ledPin, OUTPUT); }
メインループ
loop()
関数は繰り返し実行されます。このループ内で、digitalRead()
関数を使用してボタンの状態を読み取ります。ボタンが押されているかどうかに応じて、LEDを点灯または消灯します。void loop() { buttonState = digitalRead(buttonPin); if (buttonState == HIGH) { digitalWrite(ledPin, HIGH); } else { digitalWrite(ledPin, LOW); } }