[아두이노 강좌] 28. 안드로이드폰 무선 온습도계 모니터 만들기 / 블루투스, 앱인벤터

  DHT11.zip 4.4K 342 7년전

8495a8810bae33cf24fc5f62064deb13_1463064
 

 

8495a8810bae33cf24fc5f62064deb13_1463064 개요 

 

이번 글에서는 아두이노에서 구한 센서 값을 블루투스 무선통신을 통해 안드로이드폰에서

모니터링해보도록 합시다.

 

8495a8810bae33cf24fc5f62064deb13_1463064

 

 

8495a8810bae33cf24fc5f62064deb13_1463064 센서값 모니터링하기 

 

아두이노와 DHT11 온습도 센서, 블루투스 HC-06모듈을 연결하여 온도, 습도를 측정하고 

측정된 센서 값을 안드로이드폰으로 보내봅시다. 


8495a8810bae33cf24fc5f62064deb13_1463064 준비물

8495a8810bae33cf24fc5f62064deb13_1463064

43a90244ad374d1133a62b9c25070d17_1463461

43a90244ad374d1133a62b9c25070d17_1463461 회로도 연결

43a90244ad374d1133a62b9c25070d17_1463461


43a90244ad374d1133a62b9c25070d17_1463461

43a90244ad374d1133a62b9c25070d17_1463461 아두이노 프로그램 (15)

 

#include "DHT.h"                           // DHT.h 라이브러리를 포함한다.

#define DHTPIN 2                          // DHTPIN을 디지털 2번핀으로 정의한다.

#define DHTTYPE DHT11              // DHTTYPE을 DHT11로 정의한다.

DHT dht(DHTPIN, DHTTYPE);       // DHT설정 - (디지털2, DHT11)


void setup() {

  Serial.begin(9600);                  // 시리얼 통신을 시작한다. 속도는9600

}


void loop() {

  delay(3000);                                // 3초 딜레이

  int h = dht.readHumidity();         // 변수 선언 (h는 습도)

  int t = dht.readTemperature();     // 변수 선언 (t는 온도)

  Serial.print("Humidity: ");          // Humidity를 출력

  Serial.print(h);                           // h(습도 값) 출력

  Serial.print(" %\t");                   //  %를 출력

  Serial.print("Temperature: ");    // Temperature를 출력

  Serial.print(t);                            // t(온도 값) 출력

  Serial.println(" C");                    // C 출력 후 줄바꿈

}

 

43a90244ad374d1133a62b9c25070d17_1463462

 

43a90244ad374d1133a62b9c25070d17_1463462 프로그램 해석
위 코드는 DHT라이브러리를 포함하여야 업로드가 가능합니다.

■ 바탕화면의 아두이노 아이콘을 우클릭하여 속성 → 파일 위치 열기 → libraries 폴더로 이동

■ 본문에 첨부되어있는 DHT 폴더를 복사하여 libraries 폴더 안에 붙여넣기 

 

DHT11 센서를 통해 온도/습도를 측정한 후 시리얼 통신으로 온도와 습도를 출력하라는내용

입니다. 앱으로 시리얼 통신 데이터를 수신받으면 온도와 습도를 모니터링할 수 있습니다.

 

43a90244ad374d1133a62b9c25070d17_1463462

 

43a90244ad374d1133a62b9c25070d17_1463462 앱 인벤터 프로그래밍


■ 팔레트 - 사용자 인터페이스 - 레이블 

■ 팔레트 - 사용자 인터페이스 - 목록 선택 

■ 팔레트 - 연결 - 블루투스 클라이언트 

■ 팔레트 - 센서 - 시계 

■ 컴포넌트 - 시계1 - 속성 - 타이머 간격 (3000) 

 

43a90244ad374d1133a62b9c25070d17_1463462
 

43a90244ad374d1133a62b9c25070d17_1463462

 

 

43a90244ad374d1133a62b9c25070d17_1463462 결과 확인하기 

 

아래 과정을 통해 안드로이드 폰으로 온도/습도를 모니터링 해봅시다.


1. 아두이노에 소스 코드를 업로드해줍니다.

2. 안드로이드폰의 블루투스 기능을 활성화 시킵니다.

3. 주변기기를 탐색한 후 HC-06을 페어링(연결 해줍니다.) 핀번호는 1234

4. 안드로이드폰에서 제작한 앱을 다운로드 받고 실행합니다.

5. 블루투스 연결을 누른 후 페어링 했던 블루투스 기기를 연결합니다.

6. 507 에러가 발생할 경우 5번 과정을 다시 시도합니다.

7. 아두이노에서 측정된 온도/습도 센서 값이 출력됩니다.


본 예제는 센서 값을 수신 받기 위한 최소한의 코드로 앱을 제작하는 과정입니다.

앱 인벤터의 디자이너를 활용하면 앱의 레이아웃, 색상, 배경 등의 디자인을 프로

그래밍 해줄 수 있습니다.

 

HC-06 구매 및 기술 문의 바로가기


 

f9a0e505b5756f06246939084c038895_1621232

 

링크바로가기: https://smartstore.naver.com/mechasolution_com/products/2855891646

메카리워즈 Image Map


모바일 버전으로 보기