c
1//HC-SR04を設定 2#define trigPin A4 3#define echoPin A5 4//2つのモーターを定義 5#include <AFMotor.h> 6AF_DCMotor motor1 (1); 7AF_DCMotor motor4 (4); 8//間隔、距離 9long duration; 10int distance; 11 12 13void setup(){ 14//HC-SR04を設定 15 pinMode(trigPin, OUTPUT); 16 pinMode(echoPin, INPUT); 17 Serial.begin(9600); 18//モータのスピードを設定する 19 motor1.setSpeed(200); 20 motor4.setSpeed(200); 21//モータを停止させる 22 motor1.run(RELEASE); 23 motor4.run(RELEASE); 24} 25//HC-SR04で距離を測定する 26void loop(){ 27 uint8_t i; 28 digitalWrite(trigPin, LOW); 29 delayMicroseconds(5); 30 digitalWrite(trigPin, HIGH); 31 delayMicroseconds(10); 32 digitalWrite(trigPin, LOW); 33 duration = pulseIn(echoPin, HIGH); 34 distance = duration*0.034/2; 35//距離が25センチ以上の時は前進、それ以下の場合はモータ4を逆回転させる 36 if (distance >= 25){ 37 motor1.run(FORWARD); 38 motor4.run(FORWARD); 39 }else{ 40 motor1.run(FORWARD); 41 motor4.run(BACKWARD); 42 } 43 44 45 delay(1); 46} 47```arduino にモーター制御シールドをつけ、DCモータ2個と超音波距離センサーを接続して、障害物を回避する車を作るためのプログラムを作成いたしました。 48プログラムはエラーはなく、実際にarduinoに転送して動作もできております。 49お伺いしたことは、以下に記したプログラムをさらに簡易にすることができるのかということです。 50プログラムとしては、前進する車が、25チの障害物があると片方のモータを逆回転させながら方向を変えるというものです。 51修正点や改善点を教えていただければと願います。 52どうぞ宜しくお願い致します。
回答2件
あなたの回答
tips
プレビュー