1 thought on “original

  • // 15センチ以上だと、モーターが回転し、ブザーが鳴るプログラム

    #include  //サーボモーターを動かす関数を用意します

    #define echoPin 11 //距離センサーの「echo」が11番ピン
    #define trigPin 12 //距離センサーの「trig」が12番ピン

    double Duration = 0; //受信した間隔
    double Distance = 0; //距離

    Servo myservo;
    int pos = 0;
    int value = 0;

    void setup() {
    pinMode(echoPin,INPUT);
    pinMode(trigPin,OUTPUT);

    myservo.attach(2);

    Serial.begin(9600);

    }

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

    //時計回り(when 1450~700 µsec) 逆時計回り(when 1550~2300 µsec) 1500に近い方が回転がおそくなる

    if(Distance>15){ //Distance>15(15cmより大きい)→<、>と数値の変更ができます。

    for(pos = 0; pos < =180; ++pos) { myservo.write(pos); value = myservo.read(); Serial.println(value); delay(30); } }else{ for(pos = 180; pos >= 0; –pos) {
    myservo.write(pos);
    value = myservo.read();
    Serial.println(value);
    delay(30);

    }

    }

    }
    }

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です