BASIC4MCU | 질문게시판 | 아두이노 적외선 센서 코딩 질문입니다.
페이지 정보
작성자 안다고 작성일2018-12-01 17:24 조회8,911회 댓글1건본문
int A_1A = 8;
int A_1B = 9;
int B_1A = 12;
int B_1B = 13;
int leftLineSensor = 6;
int rightLineSensor = 7;
int speed = 100;
void setup() {
pinMode(A_1A, OUTPUT);
pinMode(A_1B, OUTPUT);
pinMode(B_1A, OUTPUT);
pinMode(B_1B, OUTPUT);
digitalWrite(A_1A, LOW);
digitalWrite(A_1B, LOW);
digitalWrite(B_1A, LOW);
digitalWrite(B_1B, LOW);
pinMode(leftLineSensor, INPUT);
pinMode(rightLineSensor, INPUT);
}
void loop() {
if (!digitalRead(leftLineSensor) && !digitalRead(rightLineSensor)) {
analogWrite(A_1A, speed);
analogWrite(A_1B, 0);
analogWrite(B_1A, speed);
analogWrite(B_1B, 0);
} else if (!digitalRead(leftLineSensor) && digitalRead(rightLineSensor)) {
analogWrite(A_1A, 0);
analogWrite(A_1B, speed);
analogWrite(B_1A, speed - 20);
analogWrite(B_1B, 0);
} else if (digitalRead(leftLineSensor) && !digitalRead(rightLineSensor)) {
analogWrite(A_1A, speed - 20);
analogWrite(A_1B, 0);
analogWrite(B_1A, 0);
analogWrite(B_1B, speed);
} else if (digitalRead(leftLineSensor) && digitalRead(rightLineSensor)) {
analogWrite(A_1A, 0);
analogWrite(A_1B, 0);
analogWrite(B_1A, 0);
analogWrite(B_1B, 0);
}
}
위에가 자료조사를 바탕으로 작성한 코딩 내용입니다. 실제 아두이노를 컴퓨터에 연결하여 실행하면 적외선 센서는 인식을 하며 깜빡깜빡 거리고 모터또한 직진으로 잘 돌아갑니다. 그런데 센서와 모터가 호환이 되지않아서 센서가 깜빡거리며 인식해도 모터의 속력이 느려지거나 하지 않고 계속 동속도로 직진만을 합니다. 케이블 연결 사진도 첨부합니다. 어디가 문제일까요?
댓글 1
조회수 8,911master님의 댓글
master 작성일
speed는 0~255 범위입니다.
낮은 범위는 힘이 없어서 모터가 돌아가지 않을테고요
최고 255까지인데 현재는 100으로 구동하고 있고
-20을 뺀 속도도 있으니
100과 80 두가지 속도로 구동하고 있는 셈입니다.
7.8% 차이를 둔 것인데요
차이가 작아서 별로 구분이 안가고 있는겁니다.