M5Stack에 온도 센서 DS18B20을 연결하여 기온(℃ 및 F)을 획득
목적
앞의 기사( JAWS DAYS 2017 IoT 핸즈온【후반】참가 보고 )에서 이용한 기온 센서 DS18B20을 M5Stack에 연결해 방의 기온을 패널에 표시시켜 보았으므로, 그 순서를 나타냅니다.
준비
아래의 도구를 준비합니다.
M5Stack BASIC
절차
1. Hello World를 확인합니다.
Windows 시작 M5Stack 등을 참고로 Hello World 샘플을 동작 확인합니다. 덧붙여서 Hello World로서 샘플의 테트리스를 동작시켜 보았습니다.
2. 라이브러리 OneWire, DallasTemperature 설치
Arduino IDE를 시작하고 도구> 라이브러리 관리를 선택하고 라이브러리 관리자 검색 창에서 라이브러리 OneWire, DallasTemperature의 두 가지를 설치합니다.
3. 코드 작성 및 쓰기 Arduino IDE를 시작하고 아래 코드를 복사하여 마이크로 컴퓨터 보드에 씁니다. 코드 자체는 여기 사이트 에 있었습니다.
temperature.ino
#include <M5Stack.h>
#include <OneWire.h>
#include <DallasTemperature.h>
#define ONE_WIRE_BUS 2 // DS18B20 on arduino pin2 corresponds to D4 on physical board
OneWire oneWire(ONE_WIRE_BUS);
DallasTemperature DS18B20(&oneWire);
void setup() {
M5.begin();
M5.Lcd.setTextColor(TFT_WHITE, TFT_BLACK);
M5.Lcd.setTextSize(2);
}
void loop() {
float celsius;
float fahrenheit;
DS18B20.begin();
int count = DS18B20.getDS18Count();
//M5.Lcd.clear();
M5.Lcd.setCursor(0, 0);
M5.Lcd.print("Devices found: ");
M5.Lcd.println(count);
if (count > 0) {
DS18B20.requestTemperatures();
for (int i = 0; i < count; i++) {
celsius = DS18B20.getTempCByIndex(i);
fahrenheit = celsius * 1.8 + 32.0;
celsius = round(celsius);
fahrenheit = round(fahrenheit);
M5.Lcd.print("Device ");
M5.Lcd.print(i);
M5.Lcd.print(": ");
M5.Lcd.print(celsius, 0);
M5.Lcd.print( "C / ");
M5.Lcd.print(fahrenheit, 0);
M5.Lcd.println("F");
}
}
delay(2000);
}
위 컴파일시 오류가 없으면 쓰기 성공입니다.
4. 온도 센서와 M5Stack 연결
이전 기사 ( JAWS DAYS 2017 IoT 핸즈온【후반】참가 보고 )의 다음 회로도를 참고하여 다음과 같이 연결합니다.
사진과 같이 M5Stack을 뒤집어 M5Stack 오른쪽 하단의 G를 파란색 점퍼 와이어, 오른쪽의 G2를 노란 점퍼 와이어, 오른쪽 3V3을 빨간색 점퍼 와이어에 연결합니다.
M5Stack을 뒤집은 그림은 다음과 같습니다.
5. 실행
연결되면 온도 센서 데이터가 M5Stack으로 전송되고 전면 패널에 온도(℃ 및 F)가 표시됩니다. 패널의 표시로부터 방의 온도가 21℃/70F인 것을 알 수 있습니다.
미래의 도전
Reference
이 문제에 관하여(M5Stack에 온도 센서 DS18B20을 연결하여 기온(℃ 및 F)을 획득), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/knyrc/items/889645342db00371a017텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)