#include <SoftwareSerial.h>
#include <AFMotor.h>
AF_DCMotor motor_L(1); // 모터드라이버 L293D 1: M1에 연결, 4: M4에 연결
AF_DCMotor motor_R(4);
int echo = 13;
int trig = 12;
void setup() {
Serial.begin(9600); // PC와의 시리얼 통신속도
Serial.println("Eduino Smart Car Start!");
pinMode(trig, OUTPUT);
pinMode(echo, INPUT);
// turn on motor
motor_L.setSpeed(500); // 왼쪽 모터의 속도
motor_L.run(RELEASE);
motor_R.setSpeed(500); // 오른쪽 모터의 속도
motor_R.run(RELEASE);
}
void loop() {
int val1 = digitalRead(A0); // 라인센서1
int val2 = digitalRead(A5); // 라인센서2
digitalWrite(trig, HIGH);
delayMicroseconds(10);
digitalWrite(trig, LOW);
unsigned long time = pulseIn(echo, HIGH);
float distance = ((float)(340*time)/10000)/2;
Serial.print(distance);
Serial.println("cm");
if (distance < 5){
motor_L.run(RELEASE);
motor_R.run(RELEASE);
}
else if(val1 == 0 && val2 == 0){ //전진
motor_L.run(FORWARD);
motor_R.run(FORWARD);
}
else if (val1 == 0 && val2 == 1) { // 우회전
motor_L.run(FORWARD);
motor_R.run(RELEASE);
}
else if (val1 == 1 && val2 == 0) { // 좌회전
motor_L.run(RELEASE);
motor_R.run(FORWARD);
}
else if (val1 == 1 && val2 == 1) { // 정지
motor_L.run(RELEASE);
motor_R.run(RELEASE);
delay(3000);
motor_L.run(FORWARD);
motor_R.run(FORWARD);
}
}
이건데 삐소리가 나면서 바퀴가 잘안굴러가네요
외부전원 교체 및 공급상태를 확인해 주시기 바랍니다.