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);
}
}