아두이노 코딩-200: SPS미세먼지 센서 블루투스 출력 앱인벤터 모니터링

in #kr5 years ago (edited)

아두이노에서 SPS 미세먼지 센서 측정 결과는 간단하게 Serial.print 명령에 의해 시리얼 모니터에서 확인이 가능하다. 하지만 미세먼지 센서 측정기를 휴대용으로 사용하기 위해서는 PC와 USB 케이블을 제거하고 아두이노의 실린더형 어댑터에 직류건전지를 연결하여 5V 로 레귤레이팅한 전압을 아두이노에 공급하게 된다. 따라서 측정 결과를 출력해 보려면 LCD 디스플레이가 제격이긴 하나 앞서 다루어보았던 것처럼 SPS30센서의 특성으로 인해 I2C 1602LCD 디스플레이 출력이 불가능하였기에 남은 방법은 SPS30 샌서배선은 그대로 유지한 상태에서 HC-06 블루투스 보드를 설치하여 출력 결과를 무선으로 날린 후 스마트폰에서 받아 보면 될 것이다. 다시 말하면 무선 방식에 의한 Serial.print 작업으로 보면 될 듯하다. HC-06블루투스 보드의 성능은 시험해 본 바에 의하면 약 10m 정도의 직선거리를 커버하는 듯하다.
noname01.png

아두이노에 HC-06블루투스를 설치한 후 코드 상에서 수정 작업은 전혀 불 필요하다. 단 컴파일 업로딩할 때에는 HC-06의 아두이노 디지털 핀 0번과 1번을 반드시 빼두어야 한다. 컴파일 업로딩이 완료된 후에는 USB 케이블을 제거한 후 디지털 핀 0번과 1번에 점퍼선을 연결한 후 어댑터를 통해 직류 전압을 공급하도록 한다.

블루투스 송신 내용을 스마트폰에서 출력해 보기 위해서는 앱인벤터로 코딩하도록 하자. 지금 사용 중인 센서가 SPS30 미세먼지 센서이긴 하지만 출력 시간이 그다지 빠르지 않은 편으로서 아두이노 온습도 센서인 DHT11 이나 DHT22 센서 사용 결과 출력과 비슷한 양상이다. 따라서 앱인벤터 코드를 새로이 짝성할 필요는 없으며 이미 가지고 있는 앱인벤터 코드에 숟가락을 얺어 놓는 정도의 코딩 작업을 하기로 한다.
아두이노 온습도 센서 DHT 출력 결과를 스마트폰에 서 모니터링 하는 앱인벤터 코드 사례는 필자의 작업일지에 해당하는 초보자를 위한 아두이노 앱인벤터 코딩에 자세히 기술되어 있다. 여기 기술된 앱인벤터 코드 구조에서 택스트 내용만 조금 손보아 그대로 사용하기로 한다. 많은 분들이 앱인벤터 배우기를 주저하기도 하는데 아두이노 기본을 잘 알고 있으면 하루나 이틀 정도 교보문고에서 구매할 수 있는 본서의 내용을 가지고 해보면 숙달될 수 있으며 엄청 쓸모가 많음에 유의하자.

noname02.png

앱인벤터 디자이너 단계에서 보면 ListPicker, Horizontal Arrangement, Label, BluetoothClient alc Clock을 팔레트에서 가져다 아래의 Components처럼 배열하자. 아울러 각각의 요소들에 대해서 속성창에서 폰트 색, 글자 크기 및 배경색들을 지정해 줄 필요가 있다.

noname03.png

Blocks에서 퍼즐 코딩을 실시하자.

noname04.png

바뀐 부분은 ”Connection with DHT11”에서 ”Connection with SPS0”이다.

LIstPiker 는 스마트폰 블루투스 환경에서 등록 대상 리스트 중 하나를 선정하는 과정을 뜻한다.

noname05.png

블루투스 어드레스 선정 즉 Picking 작업이 이루어지면 그 어드레스를 터치하여 블루투스 페어링이 이루어지게 되며 성공하면 “Connection with SPS30”“ 메시지를 볼 수 있게 된다.

지금의 앱인벤터 코딩은 단순하게 아두이노에서 날라온 Serial.print 데이터를 그것이 몇 바이트로 구성되든 간에 잡아서 Label3 에 넣어 출력하는 아주 간단한 코드이다. 현재 아두이노 출력이 PM2.5와 PM1.0을 출력한 후 줄바꿈하므로 아래 화면에서 줄바꿈이 일어나면서 출력이 이루어진다.

noname06.png

이러한 방식에 의해서 설사 여러 종류의 센서 값을 순차적으로 출력하더라도 혼동 없이 결과 값을 쉽게 받아 볼 수 있다.
앱인벤터 코드 자체는 대단히 간단하므로 위 퍼즐 코드를 따라 동일한 퍼즐이 얻어지도록 각자 코딩 연습을 해보도록 하자.
마나마인로고.png

Sort:  

짱짱맨 호출에 응답하였습니다.

Coin Marketplace

STEEM 0.26
TRX 0.11
JST 0.033
BTC 62796.11
ETH 3045.55
USDT 1.00
SBD 3.85