部品解説
このセクションでは各部品について、その動作や制御方法を解説します
このセクションでは各部品について、その動作や制御方法を解説します
このセクションでは出力部品について、その動作や制御方法を解説します
7つのセグメント(棒)と小数点の点灯を切り替えることで、数字や文字を表示することができます
制御対象基盤には2つ取り付けてあり、指定のピンに信号を送ることで各7セグメントの表示のON/OFFを切り替えることができます
各セグメントには9つのピンがあり、2つ合計で18個のピンを使用します
9つのうち1つは表示の切り替え(ON/OFF)に使用し、残りの8つで各セグメントと小数点のON/OFFを切り替えます
セグメントのピン配置は一番上の横棒、右上、右下と時計回りに配置されており、最後は中央横棒、小数点となっています
ステッピングモーターと同じように、二次元配列にパターンを格納することを推奨します
// パターン例
const int SEG_PTN[][7] = {
{1,1,1,1,1,1,0}, // 0
{0,1,1,0,0,0,0}, // 1
{1,1,0,1,1,0,1}, // 2
// 省略
{1,1,1,1,0,1,1}, // 9
{0,0,0,0,0,0,0} // リセット
};
// リセットを入れると便利
DCモーターは回る、止まるの動作のみをする基本的なモーターです
プログラムで、回転する方向、速度、停止の素早さを制御できます
2つのピンとクロックで制御します
ピン1 | ピン2 | 動作 |
---|---|---|
LOW | LOW | 緩やかな停止 |
HIGH | HIGH | 急停止 |
HIGH | LOW | 回転 |
LOW | HIGH | 逆回転 |
ステッピングモーターは回転する角度を調節できるモーターです
プログラムで、回転する方向、角度、速度を調節することができます
4つのピンとクロックで制御します
ピン1 | ピン2 | ピン3 | ピン4 |
---|---|---|---|
HIGH | HIGH | LOW | LOW |
LOW | HIGH | HIGH | LOW |
LOW | LOW | HIGH | HIGH |
HIGH | LOW | LOW | HIGH |
パターンを二次元配列に格納して for
文などで値を取り出すと簡潔なプログラムにすることができます
ブザーは一定の周波数の音を鳴らすことができます
プログラムで周波数、音を鳴らす長さを指定することができます
Arduino言語に含まれている tone
関数を使用することで周波数、音を鳴らす秒数を指定することができます
また、 noTone
関数を使用することで音を消すこともできます
このセクションでは入力部品について、その動作や制御方法を解説します
押している間のみ通電する、最も単純なスイッチです
入力基盤によって、プルアップ・プルダウンがあるので注意しましょう
digitalRead
関数を用いて値を読み取ります
if (digitalRead(ピン番号) == HIGH) {
// HIGHの時の処理
} else {
// LOWの時の処理
}
明るさを読み取ることができるセンサーです
digitalRead
関数を使用すると HIGH
/ LOW
で値を読み取ることができます
analogRead
関数を使用するとアナログ値で読み取ることができます
明るさの具合で処理を変更する問題は出題されないので、 digitalRead
関数を使用することが一般的です
if (digitalRead(ピン番号) == HIGH) {
// HIGHの時の処理
} else {
// LOWの時の処理
}
軸がどれだけ回転されられたかを読み取ることができます
出力値は、0から1023の1024段階で出力されます
digitalRead
関数を使用すると HIGH
/ LOW
で値を読み取ることができます
analogRead
関数を使用するとアナログ値で読み取ることができます
あまりHIGH/LOWで読み取るような問題は出題されないので analogRead
関数を使用することが一般的です
int volume = analogRead(ピン番号);
if (volume <= 500) {
// 中央より下の値のときの処理
} else if(volume <= 524) {
// 中央付近のときの処理
} else {
// 中央より上の値のときの処理
}