/* Arduino ライブラリとは?(製作編)
距離に応じてLEDを制御する
*/
#include <HCSR04.h>
#define TRIG_PIN 2 // トリガー端子
#define ECHO_PIN 3 // エコー端子
#define NEAR 10.0 // この値以下だったら「近い」判定(単位:cm)
#define MID 30.0 // この値以下だったら「中間」判定(単位:cm)
// LED接続端子
#define LED_NEAR 4 // 近い
#define LED_MID 6 // 中間
#define LED_FAR 8 // 遠い
HCSR04 kyoriSensor(TRIG_PIN, ECHO_PIN); // 距離センサーオブジェクト生成
void setup(){
// シリアルモニタ初期化
Serial.begin(9600);
// 端子設定
pinMode(LED_NEAR, OUTPUT);
pinMode(LED_MID, OUTPUT);
pinMode(LED_FAR, OUTPUT);
}
void loop() {
// 距離測定&シリアルモニタ表示
float distance = kyoriSensor.dist();
Serial.println(distance);
if( distance > 0.0 ) { // 測定できた時の処理
if( distance<=NEAR ){ // 近い場合
digitalWrite(LED_NEAR, HIGH);
digitalWrite(LED_MID, LOW);
digitalWrite(LED_FAR, LOW);
} else if( distance<=MID ) { // 中間の場合
digitalWrite(LED_NEAR, LOW);
digitalWrite(LED_MID, HIGH);
digitalWrite(LED_FAR, LOW);
} else { //それ以外の場合
digitalWrite(LED_NEAR, LOW);
digitalWrite(LED_MID, LOW);
digitalWrite(LED_FAR, HIGH);
}
}
// 時間待ち
delay(200);
}