入出力端子の使い方(Arduinoプログラミング)「Lチカ」プログラムで詳しく紹介

Arduinoコマンド:入出力設定Arduinoコマンド
スポンサーリンク

マイコンボードの入出力端子の使い方について紹介します。
「ATOM LITE」や「M5Stack」「Arduino」にはいくつかの端子があります。
電源や通信等に使用する端子もありますが、ほとんどが「入出力端子」として使用できます。

「入力端子」は外部の状態を本体に取り込むことができ、「出力端子」は本体で処理した結果を外部へ出力することができます。
本体の「入出力端子」を「入力端子」にするか「出力端子」にするかはプログラムで設定します。


1.入出力端子の初期設定

使用する端子を入出力用として設定するにはArduinoのコマンドを使用して以下のように行います。
下コード内の 4,5行目が入力設定、7行目が出力設定、8行目が出力端子の初期化です。

// 初期設定
void setup() {
  // 入力設定
  pinMode(32, INPUT_PULLUP);   //端子「32」を入力に設定
  pinMode(26, INPUT_PULLUP);   //端子「26」を入力に設定

  // 出力設定
  pinMode(21, OUTPUT);         //端子「21」を出力に設定
  digitalWrite(21, LOW);       //出力初期化(出力0V)
}
・入出力を設定するプログラム
  pinMode( 端子番号入出力設定 );

pinMode:本体の端子の入出力を設定するコマンド
端子番号:本体の端子番号を数値で記入
入出力設定
 INPUT    入力に設定
 INPUT_PULLUP 入力に設定(プルアップ設定)
 OUTPUT 出力に設定

INPUTINPUT_PULLUPの違いは「プルアップ抵抗」を「有効」にするか「無効」にするかの違いです。「プルアップ抵抗」については以下リンクで詳しく紹介しています。
とりあえず動作確認程度であれば INPUT_PULLUPにしておきましょう。
スイッチ(操作用)の使い方。身近にあるスイッチについて詳しく紹介
スイッチとは「開閉器」とも呼ばれ電気の通り道をつないだり開いたりするものです。 スイッチには人が操作して動作する「操作スイッチ」と、状況によって動作する「検知スイッチ(センサー)」があります。 ここでは「操作スイッチ」について紹介します。
・端子「32」を入力に設定
  pinMode
( 32INPUT_PULLUP);
・端子「21」を出力に設定
  pinMode( 21OUTPUT);

2.出力端子の初期化

出力に設定した端子は電源ONした時の初期状態を設定しておく必要があります。
設定方法は以下のようになります。

・出力端子の状態を設定するプログラム
  digitalWrite( 端子番号出力状態);
digitalWrite:出力に設定した端子の状態を設定するコマンド
端子番号:本体の端子番号を数値で記入
出力状態
 HIGH 電圧が高い(3.3V)状態に設定
 LOW  電圧が低い(0V)状態に設定
・端子「21」に3.3Vを出力
  digitalWrite
( 21HIGH );
・端子「21」に0Vを出力
  digitalWrite( 21LOW ); 

3.入出力端子の状態取得

入出力端子の状態を取得するときは以下のプログラムを実行します。

・入出力の状態を取得するプログラム
  digitalRead ( 端子番号 );

入出力端子の状態が「HIGH(3.3V)」なら実行結果は「1」、「LOW(0V)」なら実行結果は「0」になります。

全ての端子が入出力に設定出来るわけではありません。
中には入力には設定できても、出力には設定できない端子もあります。
詳しく知りたい方は以下のリンクから確認してみましょう。
超小型で高機能!プログラミング初心者におすすめ「ATOM LITE」
マイコンボードはRaspberry Pi、Arduino、M5Stack等がありますが、一通りやってみてそれぞれの良さはあるものの「最初に何を?」と聞かれたらATOM LITEが一番お手軽♪プログラミング初心者におすすめ
液晶、無線、SDカード、9軸センサ搭載!なんでもできる?M5Stack GRAY
M5Stack GRAYには本体に液晶画面と3個のボタンがあり、SDカード、9軸センサ、スピーカーも内蔵、シリアル通信、WiFi、Bluetoothにも対応、バッテリー駆動も可能と何でもありの高機能マイコンボード!小さくて見た目もおしゃれ♪

4.「Lチカ」プログラムで動作確認してみよう(ATOM LITE使用)

以前紹介した「ATOM LITE」の「Lチカ」プログラムでは「本体のボタン」と「本体のLED」を使って動作確認を行いました。

「ATOM LITE」の本体ボタンを使用した「Lチカ」プログラムは以下のリンクで詳しく紹介しています。

定番の Lチカ!(ATOM LITE編)で遊びながら自然と身につくプログラミング
プログラミング初心者ならとりあえず「Lチカ」やりましょう!LEDを点灯、消灯(チカチカ)させるものです。サンプルプログラムをコピペでとりあえず動作確認。LEDの色は数値を変えるだけ。いろいろ試して遊びながら学びましょう♪

今回は「外部スイッチ」と「外部LED」を取り付けて「Lチカ」できるようにしたものです。
「ATOM LITE」本体に「外部スイッチ」と「外部LED」を取り付けたものが下の画像です。

LEDをボタンスイッチで点灯Lチカ

「外部スイッチ」は「デュアルボタンユニット」というものを使用します。
これにはコネクタ付きのケーブルが付属していて「ATOM LITE」のコネクタ(Groveコネクタ)と接続することができます。

「スイッチ」については以下のリンクで詳しく紹介しています。

スイッチ(操作用)の使い方。身近にあるスイッチについて詳しく紹介
スイッチとは「開閉器」とも呼ばれ電気の通り道をつないだり開いたりするものです。 スイッチには人が操作して動作する「操作スイッチ」と、状況によって動作する「検知スイッチ(センサー)」があります。 ここでは「操作スイッチ」について紹介します。

青ボタンが端子「32」(G32)とつながり、赤ボタンが端子「26」(G26)につながるので、それぞれ入力端子に設定して使用します。

「外部LED」には「抵抗内蔵LED(青色)」を使用しています。
「LED」には足が2本あり、長い方が「+」短い方が「ー」です。長い方を端子「21(G21)」に、短い方を端子「G(0V)」にそれぞれ差し込みます。

「外部スイッチ」と「外部LED」を使用しますがこれらは別途購入する必要があります。

「ATOM LITE」と「デュアルボタンユニット」は「スイッチサイエンス」さんで購入できますが、抵抗内蔵LED等は「秋月電子通商」さんの方が必要な数量、色だけ購入できて送料(600円)を考えても別で購入するのがお得だと思います。
部品の購入先にも扱う部品によって得意不得意があるので「スイッチサイエンス」さんで本体やユニット等、「秋月電子通商」さんで部品等を購入するのがおすすめです。

今回使用したものを下表にまとめました。

品名型式等購入先価格
本体ATOM LITEスイッチサイエンス1287円
スイッチユニットデュアルボタンユニット スイッチサイエンス407円
抵抗内蔵LED抵抗内蔵5mmLED 5V
赤:[ I-06245 ]
青:[ I-06247 ]
秋月電子通商※色により異なる
1パック(10個)120円~200円
1個15円~25円

実際にどのように動作するか確認してみましょう。
以下のコードを「コピペ」して書き込みを行い、動作確認をしてみてください。
※コピーは下コード(黒枠)内の右上角にある小さなアイコンのクリックでもできます。
#include <M5Atom.h>    //Atomのヘッダファイルを準備

// 初期設定
void setup() {
  // 入出力端子設定
  pinMode(32, INPUT_PULLUP);   //入力端子(青ボタン)
  pinMode(26, INPUT_PULLUP);   //入力端子(赤ボタン)

  pinMode(21, OUTPUT);         //出力端子(LED)
  digitalWrite(21, LOW);       //出力初期化(LED消灯)
}
// メイン
void loop() {
  if (digitalRead(32) == 0) {  //青ボタンがON(0)なら
    digitalWrite(21, HIGH);    //LED点灯(3.3V出力)
  }
  if (digitalRead(26) == 0) {  //赤ボタンがON(0)なら
    digitalWrite(21, LOW);     //LED消灯(0V)
  }
  delay(100);
}
今回は出力端子を「21」(G21)に設定しました。「ATOM LITE」には他にも「G19、G22、G23、G25、G33」が「出力端子」に設定できるので、これらの端子でも「LED」が点灯できることを確認してみましょう。
他の端子を使用するときは使う端子を「出力端子」として設定して「LED」の足の長い方をその端子に差し替えてください。

「LED(発光ダイオード)」については以下のリンクで詳しく紹介しています。

LED(発光ダイオード)の使い方。Lチカでの動作確認方法
LEDが登場するまで光源としては白熱電球が主流でした。白熱電球は電気を熱に変えて光りますがLEDは+と-の電気が結合する時のエネルギーで光り、電気を直接光に変換するため発光効率が非常に良いです。

コメント

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