BASIC4MCU | 질문게시판 | 아두이노 초음파센서와 블루투스 함께 사용하는법 알고 싶습니다.
페이지 정보
작성자 대학생 작성일2021-06-12 17:47 조회4,250회 댓글1건본문
안녕하세요 아두이노 공부하고있는 학생입니다.
앱인벤터로 아두이노를 조작하고 싶어서 블루투스와 초음파센서를 이용해서 만들고 싶은데
밑에 첨부한 두 코딩을 합칠 수 있는 방법이 있을까요?
학교에서 겉핥기 식으로 배워서 제 지식으로 합치니 자꾸 오류가 뜨네요 ㅜㅜ
초음파 센서 회로도
블루투스 회로도
블루투스 코딩
/*
* District P
* 아두이노 코딩 시즌2
* #5 블루투스 모듈 세팅 코드
*
*/
#include // 소프트웨어 시리얼 라이브러리 불러옴
int BT_RXD = 8; // 아두이노측 수신부 RXD는 8번핀(HC-06측 송신부 TXD와 연결)
int BT_TXD = 7; // 아두이노측 송신부 TXD는 7번핀(HC-06측 수신부 RXD와 연결)
SoftwareSerial bluetooth(BT_RXD, BT_TXD); // 소프트웨어 시리얼 bluetooth 객체 선언
void setup(){
Serial.begin(9600); // 시리얼 통신 시작
bluetooth.begin(9600); // 블루투스 통신 시작
}
void loop(){
if (bluetooth.available()) { // 블루투스 통신에 데이터가 입력되면(스마트폰 -> 아두이노)
Serial.write(bluetooth.read()); // 블루투스 통신에 입력된 데이터를 시리얼 모니터로 출력(스마트폰 -> 아두이노 -> PC)
}
if (Serial.available()) { // 시리얼 통신에 데이터가 입력되면(PC -> 아두이노)
bluetooth.write(Serial.read()); // 시리얼 통신에 입력된 데이터를 블루투스 통신으로 출력(PC -> 아두이노 -> 스마트폰)
}
}
초음파센서 코딩/*District P아두이노 코딩#12초음파거리센서 다루기 코드*/int trig_pin = 13; // trig 핀을 아두이노의 13번핀에 연결int echo_pin = 12; // echo 핀을 아두이노의 12번핀에 연결void setup() {Serial.begin(9600); // 시리얼 통신 시작pinMode(trig_pin, OUTPUT); // trig_pin은 아두이노의 신호를 받으므로 출력모드로 설정pinMode(echo_pin, INPUT); // echo_pin은 아두이노에 신호를 주므로 입력모드}void loop() {// 초음파를 10us(마이크로 초)동안 발사digitalWrite(trig_pin, LOW);digitalWrite(echo_pin, LOW);delayMicroseconds(2);digitalWrite(trig_pin, HIGH);delayMicroseconds(10);digitalWrite(trig_pin, LOW);// echo_pin이 HIGH가 될때까지의 시간을 duration 변수에 저장unsigned long duration = pulseIn(echo_pin, HIGH);// 거리를 계산float distance = ((float)(340 * duration) / 10000) / 2;Serial.print(distance);Serial.println("cm");// 거리를 출력delay(500);}
댓글 1
조회수 4,250master님의 댓글
master 작성일
#include // 소프트웨어 시리얼 라이브러리 불러옴
int BT_RXD = 8; // 아두이노측 수신부 RXD는 8번핀(HC-06측 송신부 TXD와 연결)
int BT_TXD = 7; // 아두이노측 송신부 TXD는 7번핀(HC-06측 수신부 RXD와 연결)
SoftwareSerial bluetooth(BT_RXD, BT_TXD); // 소프트웨어 시리얼 bluetooth 객체 선언
//
/*
District P
아두이노 코딩#12
초음파거리센서 다루기 코드
*/
int trig_pin = 13; // trig 핀을 아두이노의 13번핀에 연결
int echo_pin = 12; // echo 핀을 아두이노의 12번핀에 연결
//
void setup(){
pinMode(trig_pin, OUTPUT); // trig_pin은 아두이노의 신호를 받으므로 출력모드로 설정
pinMode(echo_pin, INPUT); // echo_pin은 아두이노에 신호를 주므로 입력모드
Serial.begin(9600); // 시리얼 통신 시작
bluetooth.begin(9600); // 블루투스 통신 시작
}
//
void loop(){
if (bluetooth.available()) { // 블루투스 통신에 데이터가 입력되면(스마트폰 -> 아두이노)
Serial.write(bluetooth.read()); // 블루투스 통신에 입력된 데이터를 시리얼 모니터로 출력(스마트폰 -> 아두이노 -> PC)
}
if (Serial.available()) { // 시리얼 통신에 데이터가 입력되면(PC -> 아두이노)
bluetooth.write(Serial.read()); // 시리얼 통신에 입력된 데이터를 블루투스 통신으로 출력(PC -> 아두이노 -> 스마트폰)
}
// 초음파를 10us(마이크로 초)동안 발사
digitalWrite(trig_pin, LOW);
digitalWrite(echo_pin, LOW);
delayMicroseconds(2);
digitalWrite(trig_pin, HIGH);
delayMicroseconds(10);
digitalWrite(trig_pin, LOW);
// echo_pin이 HIGH가 될때까지의 시간을 duration 변수에 저장
unsigned long duration = pulseIn(echo_pin, HIGH);
// 거리를 계산
float distance = ((float)(340 * duration) / 10000) / 2;
Serial.print(distance);
Serial.println("cm");
// 거리를 출력
delay(500);
}