#define echoPin 6 // Echo Pin は6ピンに接続
#define trigPin 7 // Trigger Pin は7ピンに接続
 
double Duration = 0; //受信した間隔 double Distance = 0; //距離 int led1 = 13; //13番ピンにLEDを接続 int led2 = 12; //12番ピンにLEDを接続 int led3 = 11; //11番ピンにLEDを接続 int led4 = 10; //10番ピンにLEDを接続 int led5 = 9; //9番ピンにLEDを接続 void setup() { Serial.begin( 9600 ); //シリアル通信を開始 pinMode( echoPin, INPUT ); pinMode( trigPin, OUTPUT ); pinMode(led1, OUTPUT); pinMode(led2, OUTPUT); pinMode(led3, OUTPUT); pinMode(led4, OUTPUT); pinMode(led5, OUTPUT); } void loop() { digitalWrite(trigPin, LOW); delayMicroseconds(2); digitalWrite( trigPin, HIGH ); //超音波を出力 delayMicroseconds( 10 ); // digitalWrite( trigPin, LOW ); Duration = pulseIn( echoPin, HIGH ); //センサからの入力 if (Duration > 0) { Duration = Duration / 2; //往復距離を半分にする Distance = Duration * 340 * 100 / 1000000; // 音速を340m/sに設定 Serial.print("Distance:"); Serial.print(Distance); Serial.println(" cm"); if (Distance < 5) {//5cm以内になるとLED1が点灯 digitalWrite(led1, HIGH); delay(100); digitalWrite(led1, LOW); } else if (Distance < 10) { //10cm以内になるとLED2が点灯 digitalWrite(led2, HIGH); delay(100); digitalWrite(led2, LOW); } else if (Distance < 15) { //15cm以内になるとLED3が点灯 digitalWrite(led3, HIGH); delay(100); digitalWrite(led3, LOW); } else if (Distance < 20) { //20cm以内になるとLED4が点灯 digitalWrite(led4, HIGH); delay(100); digitalWrite(led4, LOW); } else { //それ以上の場合はLED5が点灯 digitalWrite(led5, HIGH); delay(100); digitalWrite(led5, LOW); } } }