질문게시판 > 여러 개의 HC-06 값을 하나의 스마트폰으로 전송받는 코딩을 작성하려고 합니다

인기검색어 > 아두이노 센서 ATMEGA128

최신글 질문게시판 동영상강좌 가입하기

▼ BASIC4MCU 후원업체 신제품 정보 ▼

▲ BASIC4MCU 후원업체 신제품 정보 ▲

BASIC4MCU > 질문게시판

여러 개의 HC-06 값을 하나의 스마트폰으로 전송받는 코딩을 작성하려고 합니다

페이지 정보

작성자 봄빛 작성일20-03-21 09:45 조회6,894회 댓글3건

본문

초보인지라 블루투스 연결 중 어려움이 있어 조언을 구합니다.

    

아래와 같은 것을 만들고자 합니다.

1. 초음파 HC-SR04(15cm이상 150cm 이하)를 이용하여 통과를 확인하고자 합니다.

2. HC-SR04를 지날 경우 네오픽셀 불이 켜지고 소리가 나도록 합니다.

3. 통과 신호는 HC-06으로 스마트폰으로 전송하고자 합니다.

4. 위 1~3의 기능을 하는 기기 여러개를 통과하고 각각의 통과 여부를 스마트폰으로 전송하고자 합니다.

 

이렇게 시스템을 구현하는 중 3번과 4번 단계에서 어찌하지 못해 조언을 구합니다.

 

1. HC-SR04를 지날 경우 통과 신호를 스마트폰으로 전송하고자 한다면 코딩을 어떻게 해야 할까요? 변수 val값이 아닌 jump 0,1 값으로 받고자 합니다.

 

2. HC-06을 여러 개의 아두이노에 설치하고자 합니다. 그리고 각각의 값을 스마트폰으로 전송받으려고 합니다. 이럴 경우 각각의 아두이노에서는 어떤 값으로 정의를 해야 스마트폰에서 별개로 인식받을 수 있을까요?

 


#include <SoftwareSerial.h>
#include <Wire.h>
#include <DFPlayer_Mini_Mp3.h>
#include <Adafruit_NeoPixel.h>
#include <afstandssensor.h>

SoftwareSerial mySerial(10, 11); // RX, TX
SoftwareSerial BTSerial(7, 8); // RX, TX
Adafruit_NeoPixel strip = Adafruit_NeoPixel (8, 5, NEO_GRB + NEO_KHZ800);
AfstandsSensor afstandssensor(13, 12);

#define las_beam 3
#define las_button 4
#define select 6
#define led 5

bool jump = false;
int jump_success = 0;
int previous = LOW;
int state = LOW;
int reading;
long time = 0;
long devounce = 10;


void setup () {
 Serial.begin (9600);
 mySerial.begin (9600);
  BTSerial.begin (9600);
 mp3_set_serial (mySerial); //set softwareSerial for DFPlayer-mini mp3 module
 delay(1);  //wait 1ms for mp3 module to set volume
 mp3_set_volume (10);
  pinMode (las_beam, OUTPUT);  
  pinMode (las_button, INPUT);
  pinMode (select, INPUT);
  pinMode (led, OUTPUT);
  strip.setBrightness(80);
  strip.clear();
  strip.begin();
}



void loop () {
 
  int val = afstandssensor.afstandCM();
  reading = digitalRead(las_button);
 
  if ((reading == HIGH ) && (previous == LOW) && (millis() - time > devounce)){
    if (state == HIGH){
      state = LOW;   
    }
    else {
      state = HIGH;
    }
    digitalWrite(las_beam, state);
  }
  if ((jump == false) && (val < 150) && (val > 15)) {
    jump == true;
    jump_success++;
    Serial.print("jump_success = ");
    Serial.println(jump_success);
    Serial.print("distance = ");
    Serial.println(afstandssensor.afstandCM());
    mp3_play();
    for(int i=0; i<9; i++) {
      strip.setPixelColor (i, strip.Color(255,0,0));
      strip.show();     
    }
    delay(5000);    
    for(int i=0; i<9; i++) {
      strip.setPixelColor (i, strip.Color(0,0,0));
      strip.show();
    }
  }
  if (digitalRead(select) == HIGH) {
    mp3_next();
    }
  while (BTSerial.available()) {
  byte BT_data = BTSerial.read();
  Serial.write(BT_data);
  if (BT_data =='1') {
    digitalWrite(3,HIGH);
    }
  if (BT_data == '2') {
    digitalWrite(3,LOW);   
  }
  }
  while (Serial.available()){
    byte Serial_data = Serial.read();
    Serial.print("Serial_data = ");
    Serial.println(Serial_data);
    if(Serial_data == '1') {
      digitalWrite(3,HIGH);
      BTSerial.write('1');     
    }
    else {
      Serial.print("fail");
      Serial.println(Serial_data);
      digitalWrite(3,LOW);
      BTSerial.write('0');
    }
  }

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

댓글 : 3

조회수 : 6,894

master님의 댓글

master 작성일

http://blog.naver.com/PostView.nhn?blogId=roboholic84&logNo=220789820175&parentCategoryNo=&categoryNo=&viewDate=&isShowPopularPosts=false&from=postView
HC-06은 다중연결이 안되는 것으로 알고 있는데요 검색해보니 위와 같은 글도 있습니다.
확실히 되는지는 직접 해보면 알 수 있겠죠

master님의 댓글

master 작성일

현재 스마트폰에서 여러개의 HC-06이 페어링된 상태라면
각각의 HC-06 연결 포트가 다를 것입니다만
각각의 아두이노에서도 다른 컴맨드를 전송할 수도 있습니다.
1번 아두이노 '0','1' 전송
2번 아두이노 '2','3' 전송
3번 아두이노 '4','5' 전송

봄빛님의 댓글

봄빛 작성일

감사합니다~^^ 막막하던 것이 열리네요~^^

게시물 검색

BASIC4MCU > 질문게시판 목록

제목 날짜
공지 MCU, AVR, 아두이노 등 전자공학에 관련된 질문은… 스태프  19-01-15
공지 사이트 이용 안내 댓글[25] master  17-10-29
질문 Atmega IO핀 출력 상태 질문이요.. 댓글[3] chelsea 새글 13:32
답변 답변 : Atmega IO핀 출력 상태 질문이요.. 댓글[6] master 새글 14:34
질문 아두이노 센서 쉴드 v5.0 과 음성인식 모듈(V2)통… 댓글[6] 첨부파일AutoSun 새글 22-07-05
질문 초음파 센서를 사용한 dc모터 제어에 관해 질문 있습니… 첨부파일뉴비에오 새글 22-07-04
답변 답변 : 초음파 센서를 사용한 dc모터 제어에 관해 질… 댓글[2] master 새글 22-07-05
질문 아두이노 Sensor Shield 5.0 시리얼 통신 … 댓글[2] AutoSun  22-07-04
질문 Atmega 코드 좀 봐주세요. 댓글[1] 첨부파일chelsea  22-07-04
질문 아두이노 while문 탈출 질문 yhj2644  22-07-01
답변 답변 : 아두이노 while문 탈출 질문 댓글[8] master  22-07-01
질문 ESP32-C3 리튬폴리머 ADC 전압 체크 관련 문의… 댓글[3] cansad  22-06-30
질문 ESP32-C3 리튬폴리머 ADC 전압 체크 관련 문의 댓글[3] cansad  22-06-30
질문 빵판없이 디스플레이 넣을 수 있을까요? 댓글[2] 첨부파일오소로롯  22-06-29
질문 라즈베리파이4 신형 선택문제 댓글[1] maximum  22-06-26
질문 음전압 ADC 댓글[2] 412904  22-06-26
질문 아두이노 센서값 출력 질문입니다! 댓글[1] 아궁2  22-06-24
질문 ATmega128, ATmega28 RS232통신 첨부파일Moon4201  22-06-24
답변 답변 : ATmega128, ATmega28 RS232… 댓글[1] master  22-06-25
질문 서보모터, 온습도센서 코드 질문 댓글[2] 첨부파일kshdlfaldfh  22-06-22
답변 답변 : 서보모터, 온습도센서 코드 질문 댓글[15] master  22-06-22
질문 steppermulti5 질문 응애  22-06-21
답변 답변 : steppermulti5 질문 댓글[1] master  22-06-22
질문 atmega128 avr usart 질문 snoflak  22-06-21
답변 답변 : atmega128 avr usart 질문 댓글[5] master  22-06-21
질문 사용자 정의 함수 변환 하는 방법 댓글[2] 첨부파일da0800  22-06-21
질문 atmega128 댓글[1] 양의노래  22-06-20
질문 아두이노 동시동작 재질문 댓글[9] 첨부파일죠르디  22-06-20
질문 초음파센서로 dc모터 제어하기 댓글[1] 첨부파일난쟁2  22-06-20
질문 아두이노 동시동작 댓글[7] 죠르디  22-06-19
게시물 검색


Privacy Policy
MCU BASIC ⓒ 2017
PC버전