BASIC4MCU | 질문게시판 | 아두이노 온도센서 블루투스 통신 앱만들기 질문
페이지 정보
작성자 햇맹 작성일2021-06-09 21:12 조회3,553회 댓글1건본문
아두이노 블루투스 통신 코드를 따로 업로드하고, 그 후 온도측정 코드를 업로드(코드 두개를 따로) 했을때에는 온도센서로(max6675) 측정한 값을 휴대폰 블루투스 화면으로 불러오는데에는 성공을 했습니다.
그런데 MIT앱인벤터로 만든 앱을 통해 실행을 하면 화면에 아무 값이 안뜨거나 블루투스 연결이 끊어졌다고 뜹니다.
질문입니다.
0. max6675 자체가 블루투스를 통신과 거리가 먼 센서일까요? max6675 블루투스 솔루션이 단하나도 없었습니다.
1. 원래 블루투스 통신을 할때 블루투스 코드를 업로드 한 뒤 측정하는 코드를 업로드 하나요?
2. 아니라면 코드 두개를 합쳐야 하나요? 합쳐야 한다면 도움좀 부탁드립니다. 합쳐봐도 오류만 뜹니다..ㅠㅠ
3. 앱인벤터 블루투스 통신값을 받아오는 블록에도 오류가 있다면 지적 부탁드립니다. (사진첨부)
블루투스 연결 코드
#include <SoftwareSerial.h>
SoftwareSerial BTSerial(2, 3); //bluetooth module Tx:Digital 2 Rx:Digital 3
void setup() {
Serial.begin(9600);
BTSerial.begin(38400);
delay(1000);
}
void loop() {
if (BTSerial.available())
Serial.write(BTSerial.read());
if (Serial.available())
BTSerial.write(Serial.read());
}
온도 측정 코드
#include <max6675.h>
#include <SoftwareSerial.h>
#define ktcSO 8
#define ktcCS 9
#define ktcCLK 10
MAX6675 tem(ktcCLK, ktcCS, ktcSO);
SoftwareSerial BTSerial(2,3);
void setup() {
Serial.begin(9600);
BTSerial.begin(38400);
delay(1000);
}
void loop() {
int t = tem.readCelsius();
BTSerial.print("온도: ");
BTSerial.print(t);
BTSerial.println(" C");
delay(500);
}
댓글 1
조회수 3,553master님의 댓글
master 작성일
#define ktcSO 8
#define ktcCS 9
#define ktcCLK 10
핀번호를 7,8,12 로 변경해서 다시 시도해보세요(핀 연결도 변경 해줘야 함)