BASIC4MCU | 질문게시판 | 아두이노간 블루투스 통신에 대해서 질문있습니다
페이지 정보
작성자 뉴비에오 작성일2022-07-13 20:56 조회7,146회 댓글0건첨부파일
본문
블루투스를 사용해서 아두이노끼리 연결시켜 초음파센서로 측정된 값을 다른 아두이노에 보내서 모터를 움직이려고 합니다. 그런데 수신을 받는 아두이노의 시리얼 모니터에 초음파센서 값이 뜨지 않고 모터도 움직이지 않습니다. 어떡하면 값이 출력되고 모터를 움직일 수 있는지 알려주시면 감사하겠습니다. 아두이노는 둘다 2560 mega 입니다.
먼저 수신하는 코드 입니다.
#include <SoftwareSerial.h>
#define TRIG 3
#define ECHO 4
SoftwareSerial bluetooth(6, 7); // TX, RX
void setup() {
Serial.begin(9600);
bluetooth.begin(9600);
pinMode(TRIG,OUTPUT); //trig 발사
pinMode(ECHO,INPUT); //echo 받기
}
int duration = 0;
void loop() {
//평소에는 1 감지되면 0
digitalWrite(TRIG,LOW);
delayMicroseconds(2);
digitalWrite(TRIG,HIGH);
delayMicroseconds(10);
digitalWrite(TRIG,LOW);
duration = (pulseIn(ECHO, HIGH)/29.0)/2; //cm
Serial.print(duration);
Serial.println("CM");
bluetooth.print(duration);
bluetooth.println("CM");
bluetooth.write(duration);
delay(100);
}
그리고 수신하여 모터를 움직이는 코드입니다. 모터를 움직이는 코드는 전에 질문드렸던 코드 입니다.
#include <SoftwareSerial.h>
SoftwareSerial bluetooth(6, 7); // RX, TX
int motor_1 = 5;
int motor_2 = 4;
int old_dist,n,d;
int text = 0;
void setup() {
Serial.begin(9600);
bluetooth.begin(9600);
pinMode(motor_1, OUTPUT);
pinMode(motor_2, OUTPUT);
}
void loop() { // run over and over
if (Serial.available()) { //블루투스에서 넘어온 데이터가 있다면
bluetooth.write(Serial.read());
bluetooth.print(bluetooth);
}
if (bluetooth.available()){
text = bluetooth.read();
Serial.write(text);
Serial.println(text);
if((old_dist+1)<=text){ // 1cm 이상 멀어지면
n=text-old_dist;
old_dist+=n;
d=n*1000;
Serial.print(old_dist);
Serial.print("Cm,cnt=");
Serial.println(n);
digitalWrite(motor_1, HIGH);
digitalWrite(motor_2, LOW); //dc모터 정방향 회전
delay(d); // cm당 1초
digitalWrite(motor_1, LOW);
digitalWrite(motor_2, LOW); //dc모터 정지;
}
//
if((old_dist-1)>=text){ // 1cm 이상 가까워지면
n=old_dist-text;
old_dist-=n;
d=n*1000;
Serial.print(old_dist);
Serial.print("Cm,cnt=");
Serial.println(n);
digitalWrite(motor_1, LOW);
digitalWrite(motor_2, HIGH); //dc모터 역방향 회전
delay(d); // cm당 1초
digitalWrite(motor_1, LOW);
digitalWrite(motor_2, LOW); //dc모터 정지;
}
delay(100);
}
}
부탁드립니다.
댓글 0
조회수 7,146등록된 댓글이 없습니다.