Arduino初心者のための電子回路解説①「デジタル出入力ピン」【blink.ino徹底解説記事関連】

アイキャッチ-Arduino Arduino
この記事は約4分で読めます。

このエントリは(リンク)の関連記事になっています。
Arduino界のHelloWorld、またの名をLチカこと「blink.ino」を理解する上での基礎知識について解説しています。
今回は電子回路編①「デジタル出入力ピン」についてです。

Arduino UNOの「デジタル出入力ピン」


上図赤く囲んだ部分が「デジタル出入力ピン」です。
左からD13、D12、…..、D1、D0と名前が付けられていて、この数字部分を指して「ピン番号」とよく呼びます。

名前の通り、「デジタル」の「入力」と「出力」に使えるピンです。

「デジタル」と「アナログ」

特にデジタルという言葉は身近でもよく聞きますが、ここで一度整理しましょう。
Wikipedia先生の解説です。


ポイントを引用すると、

デジタル英語digital英語発音: [ˈdiʤətl]ディジタル)とは、整数のような数値によって表現される(飛び飛びの値しかない)ということ。

 

アナログanalog英語発音: [ˈænəˌlɔːg] ナローグ)は、連続した量(例えば時間)を他の連続した量(例えば角度)で表示すること。

です。

わかりやすい例としては時計があるかと思います。

アナログ時計の特に「時針」は常にどこかの数字を指しているわけではありません。
たとえば上の絵だとだいたい「10時8分」ですが、時針は「10時」と「11時」の間の中途半端な位置にいます。
ところが、デジタル時計では「10時ちょうど」だろうと「10時59分59秒」だろうと「10時台」ならずっと「10時」と表示しています。

Wikipediaの解説の通り、
デジタル時計は時刻を「整数のような飛び飛びの数値で」
アナログ時計は時刻を「連続した角度で」
示しています。

じゃあ、Arduinoの「デジタル」って?

Arduino(を含むコンピュータ)にとっての「デジタル」は「0か1か」です。
「0」は0V、「1」は電源の電圧(たいてい5V)のことを意味しています。

デジタル出力は、0か1かを出力する=「ON」か「OFF」かで出力します。
LEDで言えば「点灯」か「消灯」、モーターで言えば「動く」か「止まる」か等です。
「ON」か「OFF」か
「全」か「無」か
「白」か「黒」か
そういう世界です。
LEDを「ちょっと暗くしたい」、モーターを「ちょっとゆっくり回したい」なんてことはできません。
そういう使い方をしたい場合は「アナログ出力」で使います。

同じように、デジタル入力は0か1かで判断します。
スイッチを「押している」か「押されていない」か、明るさのセンサが「明るい」か「暗い」か等です。
(※厳密にいえば0と1とを判断するボーダーラインがあります。)
「どのくらいの明るさか?」という判断はできません。
そういう使い方をしたい場合は「アナログ入力」で使います。

デジタル出力ピン

デジタル出入力ピンを「デジタル出力モード」にすると、「ON」か「OFF」かの出力ができます。
スケッチ上では「pinMode」命令で「デジタル出力モード」に設定して、「digitalWrite」命令で実際に出力を切り替えます。
「0」と「1」や「ON」と「OFF」は「HIGH」と「LOW」という単語で表現します。

電気回路的にはこんな感じをイメージするとわかりやすいでしょう。

「digitalWrite」で「HIGH」を出力すると、その端子を+5V(Arduinoの電源の+極)につなぎ、「LOW」を出力するとGND(Arduino電源の-極)につなぐイメージです。

例えばLEDを接続すると、

「digitalWrite(13,HIGH);」とするとLED点灯し、「digitalWrite(13,LOW);」とするとLEDが消えます。

 

デジタル入力ピン

デジタル出入力ピンを「デジタル入力モード」にすると、そのピンが「ON」か「OFF」かを読み取ることができます。
スケッチ上では「pinMode」命令で「デジタル入力モード」に設定して、「digitalRead」命令で実際に読み取ります。
結果はoVなら「false」、Arduinoの電源と同じ電圧がかかっていれば「true」とdigitalRead命令に対して返事をします。
下のプログラムでは「pin」という変数(≒テストの解答欄をイメージしてください)に返事を書き込みます。

電気回路図的なイメージはこうです。

内部にLEDが接続されていて、点灯していれば「true」、点灯していなければ「false」と返事が返ってきます。

スイッチを入れると、押されていなければ「false」、押されていれば「true」が返ってきます。
(実際にはこういう使い方はしませんが、イメージしやすいようにこのように描きました。)

デジタル出入力ピンの解説はここまでです。

コメント

タイトルとURLをコピーしました