/* ULTRASONIC SENSOR */ const int trigPin = A0; /* trigPin を A0に割り当てる */ const int echoPin = A1; /* echoPin を A1に割り当てる */ int out6 = 6 ; /* out6 を 6 に割り当てる */ long duration, cm, inches; /* long型の変数を宣言 */ void setup() { Serial.begin(9600); /* シリアルモニタに表示 */ pinMode(trigPin, OUTPUT); /* 出力 */ pinMode(echoPin, INPUT); /* 入力 */ pinMode(out6, OUTPUT); /* 出力 */ } void loop() { digitalWrite(trigPin, LOW); /* trigPin - OFF */ delayMicroseconds(5); /* 5マイクロミリ秒 停止 */ digitalWrite(trigPin, HIGH); /* デジタル出力 ON */ delayMicroseconds(10); /* 10マイクロミリ秒 停止 */ digitalWrite(trigPin, LOW); /* デジタル出力 OFF */ /* echoPin を INPUT にする */ pinMode(echoPin, INPUT); /* ピンに入力されるパルスを検出します パルスがHIGHになっている時間(duration)を調べます */ duration = pulseIn(echoPin, HIGH); /* 距離の計算 */ cm = (duration/2)/29.1; Serial.println(cm); /* シリアルモニタに出力   */ if (cm < 30) /* 距離(cm) が 30 より 小さいとき */ { analogWrite(out6, cm); /* ON */ } else { analogWrite(out6, 0); /* OFF */ } }