BASIC4MCU | 질문게시판 | 아두이노 코드합치기 문의합니다~
페이지 정보
작성자 우노새내기a 작성일2020-06-22 13:34 조회3,258회 댓글1건본문
블루투스로도 움직이고 라인감지햇을땐 라인트레이서가되게하려고 코드짯는데
이렇게해도 잘될까요?
#include <SoftwareSerial.h>
SoftwareSerial BTSerial(4, 5);
int in1 = 9;
int in2 = 6;
int in3 = 10;
int in4 = 11;
int L = 5;
int R = 4;
int RSpeed = 255;
int LSpeed = 255;
char data;
void setup() {
BTSerial.begin(9600);
pinMode(L, INPUT);
pinMode(R, INPUT);
}
void loop() {
if (BTSerial.available()) {
data = BTSerial.read();
if (data == 'f') { //직진
analogWrite(in1, RSpeed);
analogWrite(in2, 0);
analogWrite(in3, 0);
analogWrite(in4, LSpeed);
}
if (data == 'r') { //우회전
analogWrite(in1, 0);
analogWrite(in2, 0);
analogWrite(in3, 0);
analogWrite(in4, LSpeed);
}
if (data == 'l') { //좌회전
analogWrite(in1, RSpeed);
analogWrite(in2, 0);
analogWrite(in3, 0);
analogWrite(in4, 0);
}
if (data == 'b') { //후진
analogWrite(in1, 0);
analogWrite(in2, RSpeed);
analogWrite(in3, LSpeed);
analogWrite(in4, 0);
}
if (data == 's') { //정지
analogWrite(in1, 0);
analogWrite(in2, 0);
analogWrite(in3, 0);
analogWrite(in4, 0);
}
}
if (digitalRead(R) == HIGH && digitalRead(L) == LOW) {
//우회전
analogWrite(in1, 0);
analogWrite(in2, 0);
analogWrite(in3, 0);
analogWrite(in4, LSpeed);
}
if (digitalRead(R) == LOW && digitalRead(L) == HIGH) {
//좌회전
analogWrite(in1, RSpeed);
analogWrite(in2, 0);
analogWrite(in3, 0);
analogWrite(in4, 0);
}
if (digitalRead(R) == HIGH && digitalRead(L) == HIGH) {
//직진
analogWrite(in1, RSpeed);
analogWrite(in2, 0);
analogWrite(in3, 0);
analogWrite(in4, LSpeed);
}
if (digitalRead(R) == LOW && digitalRead(L) == LOW) {
//직진
analogWrite(in1, RSpeed);
analogWrite(in2, 0);
analogWrite(in3, 0);
analogWrite(in4, LSpeed);
}
}
댓글 1
조회수 3,258master님의 댓글
master 작성일동작시켜보시고 문제가 발생 했을 때 질문을 작성해주세요