素人による電子工作の学習記録 6回目〜NPNトランジスタによるアクティブブザーの制御
はじめに
本稿は連載『素人による電子工作の学習記録』の第6回目です。前稿の第5回目では、3つのロータリーポテンショメーターを用いて、RGB LEDの点灯を調整する方法に関して扱いました。そして第6回目の本稿では、NPNトランジスタを用いて、アクティブブザーを鳴らす方法に関して扱います。
用いた部品
今回は、下記に列挙した部品を用いました(図1を参照)。今回の主役は、アクティブブザーです。
・コントロールボード× 1
・ブレッドボード× 1
・USBケーブル× 1
・Jumper M/M × 6
・NPNトランジスタ × 1
・アクティブブザー × 1
・押しボタンスイッチ × 1
・抵抗1kΩ × 1
・抵抗10kΩ × 1
アクティブブザーとパッシブブザー
アクティブブザーは、その内部に発信器があり、電力が供給されている限り音が鳴ります。一方、パッシブブザーは、外部の発振器信号を用いることで音が鳴ります。
図2および図3は、アクティブブザーとパッシブブザーを並べて撮影した写真です。図2は上側から撮影した写真で、図3は下側から撮影した写真です。図2とは異なり、図3ではアクティブブザーとパッシブブザーの違いが明白です。図2および図3の左手側が、今回の記事で扱うアクティブブザーです。
電子回路の構成
電子回路の構成は図4の通りです。NPNトランジスタが電流を通すことで、アクティブブザーの音が鳴ります。なお、図4において、NPNトランジスタは、アクティブブザーの右横に位置する黒い部品を指します。
プログラム
プログラムは下記の通りです。本プログラムにおける13行目の条件分岐が満たされる場合、14行目のdigitalWrite()によって、アクティブブザーが動作します。
01 int button_pin = 12;
02 int buzzer_pin = 9;
03
04 void setup(){
05 pinMode(button_pin, INPUT);
06 pinMode(buzzer_pin, OUTPUT);
07 }
08
09 void loop(){
10 if (digitalRead(button_pin) == HIGH)
11 digitalWrite(buzzer_pin, LOW);
12
13 else
14 digitalWrite(buzzer_pin, HIGH);
15 }
アクティブブザーの動作確認
音量に気をつけながら、下記の動画をご覧ください。本動画は動きが少なく地味ですが、押しボタンスイッチを押すことで、アクティブブザーが「ピー」と鳴ることを確認できます。
後記
本稿の第6回目ではじめて、LED以外の電子部品を制御する内容を扱いました。そして次回の第7回目では、モーターの制御に関して扱う予定です。本連載の第1回目でも述べた通り、私が電子工作を学習するに至った経緯は、ミニ四駆のようなラジコンカーの操作性を自由に変更できたら面白いと考えたことにあります。
本連載を執筆しながら、電子工作の初歩から学習を続けてきましたが、ついに次回の第7回目からは、ラジコンカーで必要なモーターを扱います。遅筆ではありますが、『素人による電子工作の学習記録 』は次回の第7回目に続きます。どうぞ引き続きお付き合いください!
***
著者からのお願い
この記事がよいと思っていただけましたら、下記にある「スキ」のアイコンをクリックしていただけますと非常に励みになります。「スキ」の数に応じて、今後に執筆する記事の内容を参考にさせていただきます。
著者のXアカウント
ハカセさん@since20230823
https://twitter.com/since20230823
この記事が気に入ったらサポートをしてみませんか?