BASIC4MCU | 질문게시판 | 답변 : 마스터 슬레이브 초음파센서로 진동모터 진동시키기 도와주십시오
페이지 정보
작성자 master 작성일2022-05-31 13:46 조회1,727회 댓글1건본문
아두이노 블루투스 마스터슬레이브 통신중
마스터에 초음파 센서를 연결하여
일정 거리 이상이되면
슬레이브 쪽 진동 모터가 진동하도록 코딩 하려고 하는데
//
#include <SoftwareSerial.h> //시리얼통신 라이브러리 호출
int blueTx=2; //Tx (보내는핀 설정)at
int blueRx=3; //Rx (받는핀 설정)
SoftwareSerial mySerial(blueTx,blueRx); //시리얼 통신을 위한 객체선언
//
#define TRIG 8 //TRIG 핀 설정 (초음파 보내는 핀)
#define ECHO 9 //ECHO 핀 설정 (초음파 받는 핀)
//
void setup(){
Serial.begin(9600); //시리얼모니터
mySerial.begin(9600); //블루투스 시리얼
pinMode(TRIG,OUTPUT);
pinMode(ECHO,INPUT);
pinMode(13,OUTPUT);
}
//
void loop(){
digitalWrite(TRIG,1); delayMicroseconds(10); digitalWrite(TRIG,0);
long duration=pulseIn(ECHO,HIGH);
long distance=duration*17/1000;
Serial.println(distance);
//
if(distance<10){ digitalWrite(13,1); mySerial.write('1'); } // 10cm 감지
else { digitalWrite(13,0); mySerial.write('0'); } // 감지 안됨
//
delay(1000);
}
///슬레이브
#include <SoftwareSerial.h> //시리얼통신 라이브러리 호출
//
int blueTx=2; //Tx (보내는핀 설정)at
int blueRx=3; //Rx (받는핀 설정)
SoftwareSerial mySerial(blueTx,blueRx); //시리얼 통신을 위한 객체선언
//
char incomingByte ;
//
void setup(){
Serial.begin(9600); // 시리얼모니터
mySerial.begin(9600); // 블루투스 시리얼
pinMode(13,OUTPUT); // 진동모터
}
//
void loop(){
//
if(mySerial.available()){
char r=mySerial.read();
Serial.write(r); //블루투스측 내용을 시리얼모니터에 출력
//
if(r=='1'){ digitalWrite(13,1); } // 10cm 감지 // 진동모터 ON
if(r=='0'){ digitalWrite(13,0); } // 감지 안됨 // 진동모터 OFF
}
}
댓글 1
조회수 1,727냐옹님의 댓글
냐옹 작성일정말 감사합니다 덕분에 잘해결되었습니다