Arduinoでミニ四駆が止まるプログラムです。

超音波距離センサーで障害物が近づいたら一時停止するプログラムです。

 

#define trigPin 6 // Trigger Pin
#define echoPin 7 // Echo Pin
double Duration = 0; //受信した間隔
double Distance = 0; //距離
int Motor01_in1 = 9;
int Motor01_in2 = 10;
 
void setup() {
Serial.begin( 9600 );
pinMode( echoPin, INPUT );
pinMode( trigPin, OUTPUT );
pinMode( 3, OUTPUT );
digitalWrite(3, HIGH); 
  pinMode(Motor01_in1,OUTPUT);
  pinMode(Motor01_in2,OUTPUT);

}
void loop() {
  digitalWrite(trigPin, LOW); 
  delayMicroseconds(2); 
  digitalWrite( trigPin, HIGH ); //超音波を出力
  delayMicroseconds( 10 ); //
  digitalWrite( trigPin, LOW );
  
   Duration = pulseIn( echoPin, HIGH ); //センサからの入力
    Duration = Duration/2; //往復時間を半分にする
    Distance = Duration*340*100/1000000; // 音速を340m/sに設定
   
   digitalWrite(Motor01_in1,HIGH);
   digitalWrite(Motor01_in2,LOW);

 if(Distance < 10)
 {
  digitalWrite(Motor01_in1,LOW);
  digitalWrite(Motor01_in2,LOW);
   delay(3000);
   }
   
 }