질문게시판 > 아두이노 초음파센서와 HC06(블루투스)를 이용, 릴레이동작

TODAY245 TOTAL2,927,913
사이트 이용안내
Login▼/회원가입
최신글보기 질문게시판 기술자료 동영상강좌

아두이노 센서 ATMEGA128 PWM LED 초음파 AVR 블루투스 LCD UART 모터 적외선


BASIC4MCU | 질문게시판 | 아두이노 초음파센서와 HC06(블루투스)를 이용, 릴레이동작

페이지 정보

작성자 나도할수있어아두 작성일2023-04-27 00:02 조회1,399회 댓글3건

본문

	

HC06블루투스를 활용하여

마스터단에서는 초음파센서로 10cm 이상이고 1M이하의 범위에 물체가 들어오면 "1" 또는 "HIGH 신호를 

슬레이브단 HC06으로 전송. 이를 슬레이브에서는 "1" 또는 "HIGH" 신호가 들어왔을때 relay를 ON 시키는 동작을 구현하려 합니다.

 

아래는 제가 직접 공부하여 코드를 작성해 보았는데

 

마스터단에서 10cm이상 1M이하의 범위를 주는 방법을 모르겠습니다..

범위를 주는 방법과 제가 작성한 코드가 정상적인 코드인지 검토한번 해주시면 너무나 감사하겠습니다.

 

혼자서 유튜브를 보고 공부하고 있는데 어려움이 많습니다.. 도움 꼭 부탁드립니다.

 

HC06(마스터코드)

 */

#include <SoftwareSerial.h>

 

#define TRIG 4

#define ECHO 5

 

SoftwareSerial HC06(2, 3); // RX, TX

 

void setup() {

  Serial.begin(9600); //PC-아두이노간

  HC06.begin(9600); //아두이노-블루투스모듈

  // put your setup code here, to run once:

  

  pinMode(TRIG,OUTPUT); //trig 발사

  pinMode(ECHO,INPUT); //echo 받기

}

int duration = 0;

void loop() {

  // put your main code here, to run repeatedly:

  

   // trigpin으로 초음파를 보낸 후 초음파가 다 보내지면, echopin이 신호를 받아들일 준비를함.

 

  digitalWrite(4,HIGH);

  delay(10);

  digitalWrite(4,LOW);

 

  //trigpin에서 low신호를 보내고 echopin으로 돌아오는 시간을 측정

  //echopin은 high에서 low로 떨어지는 시간 측정

 

  duration = pulseIn(5, HIGH);

  distance = (float)duration*0.017; 

 

  // pulsein함수는 echo핀이 high -> low로 변하는 시간을 us로 나타내주는 함수.

  //(물체까지의 거리=속도x시간/2 = 시간x 0.034/2)[cm] 즉 duration에는 echopin이 high에서 low로 변하는 시간을 저장하고 그값을 통해 측정한 거리값을  float의 형태로 distace에 저장.

  // 0.017 = 0.034/0...속도는 340m/s.

 

 

  if(duration<=10){

    digitalWrite(4,HIGH);

    Serial.println("물체감지!");

    HC06.write('1');

    // 10cm 이상의 거리에 물체 감지 = 카와 균형추의 교차점이다.

 

   }else{

    Serial.println("물체미감지");

    HC06.write('0');

    //교차점이 아닌경우

  }

  delay(200);

}


 

 

 

 

 

HC06(슬레이브코드)

 */

#include <SoftwareSerial.h>

 

#define relay 4

 

SoftwareSerial HC06(2, 3); // RX, TX

 

void setup() {

  Serial.begin(9600); //PC-아두이노간

  HC06.begin(9600); //아두이노-블루투스모듈

  pinMode(led,OUTPUT);

}

 

void loop() { // run over and over

  if(HC06.available()){

    char c = HC06.read();

    if(c == '0'){

      //relay OFF

      digitalWrite(relay,LOW);

    }else if(c == '1'){

      //relay ON

      digitalWrite(relay,HIGH);

    }

  }

}


 

  • BASIC4MCU 작성글 SNS에 공유하기
  • 페이스북으로 보내기
  • 트위터로 보내기
  • 구글플러스로 보내기

댓글 3

조회수 1,399

master님의 댓글

master 작성일

if(duration<=10){
duration을 체크하지말고 distance를 체크하세요
  if((distance>=10)&&(distance<=100)){ // 10~100cm

나도할수있어아두님의 댓글

나도할수있어아두 작성일

감사합니다.
추가 질문이 있습니다
현재 hc06을 사용하여 무선통신을 하고있는데 lora(SX1276)를 사용하여 무선통신이 가능하다고 알게 되었습니다
통신거리는 Hc06은 최대10M 로라는 1km이상이라는데
긴 직사각형의 철판으로 둘러싸인 7~8M거리 통로안에서 통신을 하는 환경인데 hc06을 사용하는것이 유리한지 아니면 lora(SX1276)를 사용하는게 유리한지 궁금합니다
두 통신부품의 차이가 단순 통신거리의 차이 밖에는 없는지 궁급합니다.

master님의 댓글

master 댓글의 댓글 작성일

예제를 쉽게 찾을 수 있을테니 테스트 해보면 알 수 있지 않을까요?

질문게시판HOME > 질문게시판 목록

MCU, AVR, 아두이노 등 전자공학에 관련된 질문을 무료회원가입 후 작성해주시면 전문가가 답변해드립니다.
ATMEGA128PWMLED초음파
아두이노AVR블루투스LCD
UART모터적외선ATMEGA
전체 스위치 센서
질문게시판 목록
제목 작성자 작성일 조회
질문 모터드라이버의 출력전압세기에 관한 질문댓글[3] 이미지 mathdied 23-07-01 322
질문 마이크로아두이노가 갑자기 연결이안됩니다 도와주세요댓글[3] 매드닥터 23-06-27 414
답변 답변글 답변 : 마이크로아두이노가 갑자기 연결이안됩니다 도와주세요댓글[6] 이미지첨부파일 매드닥터 23-06-29 478
질문 ADC 이용한 NTC 써미스터 온도 센서로 LED 밝기 조절댓글[4] 밍구리 23-06-26 527
질문 Trm121 가까이 가면 led 점등댓글[1] 첨부파일 그냥사는사람 23-06-25 308
질문 DC 24V 릴레이 출력을 입력 신호로 사용중인데 입력 신호가 안들어오는 상태에서도 입력이 들어왔다고 하면서…댓글[2] 갓비타 23-06-25 528
질문 모터-모터드라이버에 따른 배터리 선택 질문댓글[2] 이미지 mathdied 23-06-25 368
질문 5Phase 스테핑 모터 결선 문의댓글[1] 이미지첨부파일 오후에 23-06-25 292
질문 Atmega128 미로탈출 자율주행 자동차댓글[4] 닉네임1 23-06-23 719
질문 스텝모터 구동 질문입니다. 밍굴땡굴 23-06-23 278
답변 답변글 답변 : 스텝모터 구동 질문입니다.댓글[3] master 23-06-23 541
질문 ATMEGA128, 스위치로 LED와 부저 제어하댓글[1] 염소염소 23-06-22 500
질문 같은 색상의 블록과 기둥을 매치하기 코딩댓글[1] 이미지 당찬병아리 23-06-20 296
질문 안녕하세요 c언어에서 코드비전 코드변환 부탁드립니다.댓글[3] olaf 23-06-18 453
답변 답변글 답변 : 안녕하세요 c언어에서 코드비전 코드변환 부탁드립니다. master 23-06-19 642
질문 아두이노 전자피아노 녹음, 재생기능댓글[6] 노대 23-06-17 863
질문 ATMEGA128 팬모터(쿨링팬) 구입 관련 질문댓글[1] 말하는감자 23-06-17 552
질문 아두이노 워터펌프 관련 질문있습니다!댓글[1] 어이캑 23-06-16 441
질문 7세그먼트 질문이 있습니다. 수렉 23-06-15 280
답변 답변글 답변 : 7세그먼트 질문이 있습니다.댓글[1] master 23-06-16 379
질문 아두이노 연결이 안됩니다.(오프라인이라고 떠요)댓글[3] 이미지첨부파일 HYUBME 23-06-15 544
질문 atmega128 온도센서 (dts_sil300-b) 작동이 안됩니다댓글[1] wig7227 23-06-13 629
질문 codevision의 소리 설정을 어떻게 해야 하나요?댓글[1] rpdla 23-06-13 328
질문 atmega 128 디지털시계댓글[2] ckswls00 23-06-12 491
질문 아두이노 lcd 디지털시계 (도와주시면 감사하겠습니다!)댓글[1] 이미지첨부파일 김리 23-06-11 561
질문 아두이노 디지털 시계댓글[1] 이미지첨부파일 1233 23-06-11 433
질문 dfplayer 블루투스 연결 앱인벤터댓글[1] 이미지첨부파일 아두이노우 23-06-11 430
질문 아두이노 LCD 글자 출력질문입니다. Tell 23-06-10 484
답변 답변글 답변 : 아두이노 LCD 글자 출력질문입니다. master 23-06-10 451
질문 아두이노 delay함수를 millis함수로 대체하는방법댓글[1] 첨부파일 이게아닌데 23-06-09 434
게시물 검색

2022년 1월 2월 3월 4월 5월 6월 7월 8월 9월 10월 11월 12월
2021년 1월 2월 3월 4월 5월 6월 7월 8월 9월 10월 11월 12월
2020년 1월 2월 3월 4월 5월 6월 7월 8월 9월 10월 11월 12월
2019년 1월 2월 3월 4월 5월 6월 7월 8월 9월 10월 11월 12월
2018년 1월 2월 3월 4월 5월 6월 7월 8월 9월 10월 11월 12월
Privacy Policy
MCU BASIC ⓒ 2020
모바일버전으로보기