たかが抵抗1本されど抵抗1本、プルアップ抵抗の役割とは:今岡通博の俺流!組み込み用語解説(3)(2/2 ページ)
今岡通博氏による、組み込み開発に新しく関わることになった読者に向けた組み込み用語解説の連載コラム。第3回で取り上げるのは「プルアップ抵抗」だ。
Arduinoの入力端子にプルアップ抵抗を設定する
ここまでの説明で、マイコン入力端子にプルアップ抵抗がいかに必要かが分かってもらえたかと思います。
このマイコンに必要不可欠と言ってもいいプルアップ抵抗は、マイコンボードでは簡単に設定できるようになっています。ここからは、マイコンボードにおけるプルアップ抵抗の設定方法について説明します。
図2は、マイコンボードの代表と言ってもいいArduino UNOの代表的な写真です。マイコンとしては、アトメル(Atmel)の「Atmega328シリーズ」が搭載されています。アトメルは2016年にマイクロチップに買収されましたが、現在も製品としてのAtmega328シリーズは供給されているようです。
リスト1はArduinoの入出力端子の中から1本を入力端子として設定する記述です。setupという関数内で入出力設定を行っています。pinMode関数で入出力ピンの設定を行うわけですが、第1引数のbuttonPinで設定を行うピンを指定します。このbuttonPinのピン番号はグローバル変数などで整数値が定義されています。
void setup() { pinMode(buttonPin, INPUT); }
次の第2引数では第1引数で指定した入出力端子について、入力端子として使うか出力ピンとして使うかを指定しています。このリストの場合“INPUT”となっていますので、この端子は入力端子として設定されることになります。
この入力端子に、図1に示した回路図のようにタクトスイッチとプルアップ抵抗を接続すると、指定した入力端子からタクトスイッチが押下されているか否かを電圧のハイとローでマイコン側のプログラムで読み取ることができます。
リスト2はマイコン内部でプルアップ抵抗を接続する設定を行うコードです。第2引数を“INPUT_PULLUP”に変更することでこの設定が可能になります。
void setup() { pinMode(buttonPin, INPUT_PULLUP); // プルアップ抵抗設定 }
図3はマイコンの入力端子にプルアップ抵抗を接続しない回路図になっています。本来ならタクトスイッチが押下されていない場合に入力端子の電位が不定になりますが、リスト2を実行しておくことでマイコン内部にプルアップ抵抗が設定されるため、マイコン外部にプルアップ抵抗を接続する必要がなくなるのです。
おわりに
今回はプルアップ抵抗について語ってみました。いかがでしたでしょうか。抵抗1本の話でしたが、デジタル入力を安定させるために重要な役割を果たします。たかが抵抗1本されど抵抗1本。次回も楽しんでいただけるコンテンツを用意しております。お楽しみに。
Copyright © ITmedia, Inc. All Rights Reserved.
関連記事
- ≫連載「今岡通博の俺流!組み込み用語解説」バックナンバー
- ≫連載「注目デバイスで組み込み開発をアップグレード」バックナンバー
- 組み込み開発の基本の基になるトランジスタの話
今岡通博氏による、組み込み開発に新しく関わることになった読者に向けた組み込み用語解説の連載コラム。第2回で取り上げるのは「トランジスタ」だ。 - 電子回路の「アイソレーション」を考える
今岡通博氏による、組み込み開発に新しく関わることになった読者に向けた組み込み用語解説の連載コラムがスタート。第1回で取り上げるのは「アイソレーション」だ。 - 分かっておきたいトランジスタの種類
筆者が選ぶ「これだけは押さえておきたいトランジスタの種類」を紹介。今回の主役はバイポーラトランジスタとダーリントントランジスタだ - さらに分かっておきたいトランジスタの種類
前回に続き“トランジスタの種類”をテーマに「電界効果トランジスタ」「ユニジャンクショントランジスタ」「フォトトランジスタ」を紹介する