Arduinoと戯れてみる!

Arduino 入門 番外編 03 【デジタル出力 とは】【 デジタル入力 とは】

arduino-extra-edition-03Arduino番外編
スポンサーリンク

Arduino 入門
番外編 03
【デジタル出力 とは】【 デジタル入力 とは】

こんにちはomoroyaです。

今回は、Arduino 入門 番外編 03 デジタル出力 とは デジタル入力 とはです。

arduino 入門 番外編はarduinoの基本的なことを書いていく方向性にしたいと考えています。

本日は、arduinoのデジタル出力とデジタル入力についてです。

その前に、arduinoの外観とピン配置を知っていたほうが良いので番外編 02も併せてお読みください。

arduino自身のことを少しづつ理解して行きましょう。

 

いやいや、arduinoを早速始めたいんだ!というかたは下記の入門編からお読みください。

 

Arduino入門編の解説にて使用しているArduinoは互換品です。

互換品とは言え、Arduinoはオープンソースであり複製して販売するのもライセンス的に問題なし。

そのため互換品の品質も悪くなく、それでいて値段は安いです。

正規品本体の値段程度で豊富な部品が多数ついています。

 

正規品の本体単品がほしい方はこちらとなります。

 

スポンサーリンク

Arduino デジタル出力 デジタル入力 ピン

番外編02のおさらいです。

Arduino UNO R3の外観図を下記に示します。

外観図右下のデジタル0~デジタル13がデジタル出力、デジタル入力のピンになります。

arduino_uno_R3-appearance

デジタルというのは、通常「1」と「0」の2値のことを言います。

Arduinoでは「1」に相当するものが、電圧の高い「5V」であり、「High」と表現します。

また、「0」に相当するものが、電圧の低い「0V」であり、「Low」と表現します。

 

モードの設定

デジタル出力とデジタル入力が同じピンに割り当てられています。

同じピンなのに、出力、入力の区別はどうするの?と思いますよね。

そこで登場するのが次のコマンド。

pinMode(ピン番号,モード)
ピン番号:使用するピン番号を指定
モード:OUTPUTを指定すれば出力、INPUTと指定すれば入力

例 デジタル13(ピン番号13)を出力ピンとして指定する。

pinMode( 13, OUTPUT );

 

デジタル出力

デジタル出力は、外観図のデジタル0~13までの端子が対応しています。

指定したピンからは「5V」、「0V」を出力することができます。

各端子に動作させたい部品を接続することで、「5V」、「0V」を与えて制御することになります。

例えば、LEDを点灯、消灯、モータの回転、停止などの制御が可能です。

使用する制御コマンドは以下です。

digitalWrite(ピン番号,値)
ピン番号:使用するピン番号を指定
値:HIGHまたはLOWを指定。
※HIGHは5V、LOWは0Vを出力を意味する。

例 デジタル13(ピン番号13)に5Vを出力する。

digitalWrite( 13, HIGH );

 

入門のLesson編にてdigitalWrite()を使ったダイオードの点滅を制御する実践の解説をしています。

 

デジタル入力

デジタル入力もデジタル出力と同様には、外観図のデジタル0~13までの端子が対応しています。

指定したピン番号にかかった電圧の状態が「5V」なのか「0V」なのかを判断します。

それによって、「HIGH」、「LOW」を戻り値として返します。

※実際には5Vよりも低い電圧、0Vよりも高い電圧でも「HIGH」、「LOW」の判断はします。

なぜなら、判定するためのレベルをArduino自身が持っており、それより高ければ「HIGH」、低ければ「LOW」と判断するためです。

一般的に、「閾値(しきいち)」や「スレッショルド」などど呼ばれるものです。

Arduinoの場合は、HIGHを判定する閾値は約2.7V、LOWを判断する閾値は約2.1Vに設定されています。

そのため、2.7Vより高ければ、「HGIH」、2.1Vよりも低ければ「LOW」となります。

2.7Vと2.1Vの間は何?っていうことになりますが、閾値を設定する場合は不安定な動作を避けるためにヒステリシスを持たせておきます。

ヒステリシスについては、また別の機会に説明します。

想定の使用例としては、スイッチがオン、オフのどちらの状態にあるのかを知るために利用したりします。

ようは外部の機器の状態を知りたい!

なおかつその判定は高いか低いかの2値で十分!

というときに取利用するということです。

使用する制御コマンドは以下です。

digitalRead(ピン番号)
ピン番号:値を読みたいピン番号を指定
戻り値:HIGHまたはLOW

例 デジタル13(ピン番号13)に5Vを出力する。
※読みだすコマンドのため、読みだした値を格納する変数が必要です。
ここではvalとしています。
intは整数型を定義していて、使用できる値の範囲は-32768から32767です。

int val;
val = digitalRead(13);

記事を書いていて気づきましたが、入門 Lesson編にてdigitalReadを利用した実践解説がまだでした。

いずれアップしますので、少々お待ちください・・・。

アップしましたら更新いたします。

digitalReadを利用した実践解説をアップいたしましたのでお知らせします。

 

次回の番外編 04は【アナログ出力】の解説を予定しています。

Arduino 入門 番外編 04 【アナログ出力 とは】
今回は、「Arduino 入門 番外編 04 アナログ出力 とは」です。arduino 入門 番外編はarduinoの基本的なことを書いていく方向性にする予定です。今回は、arduinoのアナログ出力について解説していきます。…

 

最後に

疑問点、質問などありましたら気軽にコメントください。

この電子部品の解説をしてほしい!などなどなんでもOKです。

リンク切れ、間違いなどあればコメントいただけると助かります。

 

Arduino入門編、番外編、お役立ち情報などなどサイトマップで記事一覧をぜひご確認ください。

 

Arduino入門編で使用しているUNOはAmazonにて購入可能です。

互換品とは言え、Arduinoはオープンソース。

複製して販売するのもライセンス的に問題なし。

 

そのため互換品の品質も悪くなく、それでいて値段は安いです。

正規品本体の値段程度で豊富な部品が多数ついています。

 

学習用、遊び用、お試し用には安価な互換品がおすすめです。

 

 

上記のものでも十分に多数の部品が入っていますが、最初からもっと多数の部品が入っているこちらもお勧めです。

 

Amazonでお得に買う方法

Amazonでお得に購入するなら、Amazonギフト券がおすすめです。

現金でチャージするたびに、チャージ額に応じたポイントが付与されます。

最大2.5%!!!(Amazonプライム会員ならさらにお得)

チャージ額(一回分)一般プライム会員
5,000円~19,999円0.5%1.0%
2,0000円~39,999円1.0%1.5%
40,000円~89,999円1.5%2.0%
90,000円~2.0%2.5%

さらに、初回チャージで1000ポイントもらえるキャンペーンも実施中!

\Amazonギフト券 1000ポイントキャンペーン/
Amazonチャージ 初回購入で1000ポイントキャンペーン

 

補足情報
コンビニ・ATM・ネットバンクが対象
購入は1円単位で可能

コメント

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