간단한 온도계 만들기
사용한 것
2000엔 조금으로 살 수 있는 적외선 온도 센서, MLX90614를 가지고 남아 있었기 때문에
사용해 보았습니다.
과거에 딸기 리낙스에서 구입한 3V 동작품입니다.
배선
MLX90614의 핀 구성입니다.
Arduino UNO
브레드보드
MLX90614
3V3
-
VDD
GND
-
VSS
A5(SCL)
10kΩ
SCL
A4(SDA)
10kΩ
SDA
SCL과 SDA의 경우 10kΩ의 한쪽 다리에서 3V3 전원을 공급해야 합니다.
실제로 배선하면 이렇게 됩니다.
기본 동작
Adafruit의 편리한 라이브러리가 있으므로 쉽게 작동 할 수 있습니다.
Arduino IDE 스케치> 라이브러리 포함> 라이브러리 관리
나온 검색창에 "mlx"라고 검색하면 표시됩니다.
위에서 세 번째, "Adafruit MLX90614 Library"입니다.
선택하고 "설치"를 누르고 무사히 설치되면 사용할 수 있습니다.
간단하게 동작 확인을 해 봅니다.
mlx90614_test.ino#include <Adafruit_MLX90614.h>
Adafruit_MLX90614 mlx = Adafruit_MLX90614();
void setup() {
mlx.begin();
Serial.begin(9600);
}
void loop() {
// 表面温度の表示
Serial.print("Temperature : "); Serial.println(mlx.readObjectTempC());
// 周囲温度の表示
Serial.print("Ambient : "); Serial.println(mlx.readAmbientTempC());
Serial.println();
delay(3000);
}
손가락을 가까이 보면 시리얼 모니터에 이런 식으로 나타납니다.
PC에 연결하지 않아도 온도를 볼 수 있도록
이것만으로는 매번 PC에 연결되지 않으면 온도를 볼 수 없습니다.
거기서, 시판의 온도계와 같이, 단체로 온도를 볼 수 있도록(듯이) 하고 싶습니다.
가지고 있던 M5Stack에 계측한 온도를 표시하도록 했습니다.
A 버튼을 누르면 표면 온도, C 버튼을 누르면 주위 온도가 나오게 합니다.
m5stack_mlx90614.ino#include <Adafruit_MLX90614.h>
#include <M5Stack.h>
Adafruit_MLX90614 mlx = Adafruit_MLX90614();
void setup(){
// セットアップ
M5.begin();
mlx.begin();
Serial.begin(115200);
// デフォルト表示
Serial.println("Title");
M5.Lcd.fillScreen(BLACK);
M5.Lcd.setTextColor(WHITE);
M5.Lcd.setCursor(70, 40);
M5.Lcd.setTextSize(4);
M5.Lcd.print("MLX90614");
M5.Lcd.setTextSize(3);
M5.Lcd.setCursor(20, 100);
M5.Lcd.print("Temperature");
M5.Lcd.setCursor(170, 140);
M5.Lcd.print("Display");
}
void loop() {
if(M5.BtnA.wasPressed()) {
// 表面温度表示
Serial.println("Temperature");
M5.Lcd.setCursor(10, 40);
M5.Lcd.fillScreen(RED);
M5.Lcd.setTextColor(WHITE);
M5.Lcd.setTextSize(3);
M5.Lcd.print("Temperature ");
M5.Lcd.setCursor(50, 100);
M5.Lcd.setTextSize(8);
M5.Lcd.print(mlx.readObjectTempC());
M5.Lcd.setCursor(230, 180);
M5.Lcd.setTextSize(2);
M5.Lcd.print(" deg.");
delay(1000);
}
if(M5.BtnC.wasPressed()) {
// 周囲温度表示
Serial.println("Ambient");
M5.Lcd.setCursor(10, 40);
M5.Lcd.fillScreen(GREEN);
M5.Lcd.setTextColor(WHITE);
M5.Lcd.setTextSize(3);
M5.Lcd.print("Ambient ");
M5.Lcd.setCursor(50, 100);
M5.Lcd.setTextSize(8);
M5.Lcd.print(mlx.readAmbientTempC());
M5.Lcd.setCursor(230, 180);
M5.Lcd.setTextSize(2);
M5.Lcd.print(" deg.");
delay(1000);
}
M5.update();
}
실제로 움직이고 있는 곳을 GIF 애니메이션으로 해 보았습니다.
빨간 화면의 표면 온도 때 손가락을 가까이하면 온도가 바뀌고 있음을 알 수 있습니다.
요약
센서에 대상물을 가까이 하는 것만으로 바로 온도를 측정할 수 있으므로,
유아의 체온 측정 등에 사용되는 이유를 잘 알았습니다.
또, M5Stack가 부담없이 단독으로 움직이는 표시기로서 취급할 수 있기 때문에, 조금 동작을 시험해 보고 싶을 때에 최적입니다.
Reference
이 문제에 관하여(간단한 온도계 만들기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/s_fujii/items/1cc5fe6206f6dc24d8cc
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Adafruit의 편리한 라이브러리가 있으므로 쉽게 작동 할 수 있습니다.
Arduino IDE 스케치> 라이브러리 포함> 라이브러리 관리
나온 검색창에 "mlx"라고 검색하면 표시됩니다.
위에서 세 번째, "Adafruit MLX90614 Library"입니다.
선택하고 "설치"를 누르고 무사히 설치되면 사용할 수 있습니다.
간단하게 동작 확인을 해 봅니다.
mlx90614_test.ino
#include <Adafruit_MLX90614.h>
Adafruit_MLX90614 mlx = Adafruit_MLX90614();
void setup() {
mlx.begin();
Serial.begin(9600);
}
void loop() {
// 表面温度の表示
Serial.print("Temperature : "); Serial.println(mlx.readObjectTempC());
// 周囲温度の表示
Serial.print("Ambient : "); Serial.println(mlx.readAmbientTempC());
Serial.println();
delay(3000);
}
손가락을 가까이 보면 시리얼 모니터에 이런 식으로 나타납니다.
PC에 연결하지 않아도 온도를 볼 수 있도록
이것만으로는 매번 PC에 연결되지 않으면 온도를 볼 수 없습니다.
거기서, 시판의 온도계와 같이, 단체로 온도를 볼 수 있도록(듯이) 하고 싶습니다.
가지고 있던 M5Stack에 계측한 온도를 표시하도록 했습니다.
A 버튼을 누르면 표면 온도, C 버튼을 누르면 주위 온도가 나오게 합니다.
m5stack_mlx90614.ino#include <Adafruit_MLX90614.h>
#include <M5Stack.h>
Adafruit_MLX90614 mlx = Adafruit_MLX90614();
void setup(){
// セットアップ
M5.begin();
mlx.begin();
Serial.begin(115200);
// デフォルト表示
Serial.println("Title");
M5.Lcd.fillScreen(BLACK);
M5.Lcd.setTextColor(WHITE);
M5.Lcd.setCursor(70, 40);
M5.Lcd.setTextSize(4);
M5.Lcd.print("MLX90614");
M5.Lcd.setTextSize(3);
M5.Lcd.setCursor(20, 100);
M5.Lcd.print("Temperature");
M5.Lcd.setCursor(170, 140);
M5.Lcd.print("Display");
}
void loop() {
if(M5.BtnA.wasPressed()) {
// 表面温度表示
Serial.println("Temperature");
M5.Lcd.setCursor(10, 40);
M5.Lcd.fillScreen(RED);
M5.Lcd.setTextColor(WHITE);
M5.Lcd.setTextSize(3);
M5.Lcd.print("Temperature ");
M5.Lcd.setCursor(50, 100);
M5.Lcd.setTextSize(8);
M5.Lcd.print(mlx.readObjectTempC());
M5.Lcd.setCursor(230, 180);
M5.Lcd.setTextSize(2);
M5.Lcd.print(" deg.");
delay(1000);
}
if(M5.BtnC.wasPressed()) {
// 周囲温度表示
Serial.println("Ambient");
M5.Lcd.setCursor(10, 40);
M5.Lcd.fillScreen(GREEN);
M5.Lcd.setTextColor(WHITE);
M5.Lcd.setTextSize(3);
M5.Lcd.print("Ambient ");
M5.Lcd.setCursor(50, 100);
M5.Lcd.setTextSize(8);
M5.Lcd.print(mlx.readAmbientTempC());
M5.Lcd.setCursor(230, 180);
M5.Lcd.setTextSize(2);
M5.Lcd.print(" deg.");
delay(1000);
}
M5.update();
}
실제로 움직이고 있는 곳을 GIF 애니메이션으로 해 보았습니다.
빨간 화면의 표면 온도 때 손가락을 가까이하면 온도가 바뀌고 있음을 알 수 있습니다.
요약
센서에 대상물을 가까이 하는 것만으로 바로 온도를 측정할 수 있으므로,
유아의 체온 측정 등에 사용되는 이유를 잘 알았습니다.
또, M5Stack가 부담없이 단독으로 움직이는 표시기로서 취급할 수 있기 때문에, 조금 동작을 시험해 보고 싶을 때에 최적입니다.
Reference
이 문제에 관하여(간단한 온도계 만들기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/s_fujii/items/1cc5fe6206f6dc24d8cc
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
#include <Adafruit_MLX90614.h>
#include <M5Stack.h>
Adafruit_MLX90614 mlx = Adafruit_MLX90614();
void setup(){
// セットアップ
M5.begin();
mlx.begin();
Serial.begin(115200);
// デフォルト表示
Serial.println("Title");
M5.Lcd.fillScreen(BLACK);
M5.Lcd.setTextColor(WHITE);
M5.Lcd.setCursor(70, 40);
M5.Lcd.setTextSize(4);
M5.Lcd.print("MLX90614");
M5.Lcd.setTextSize(3);
M5.Lcd.setCursor(20, 100);
M5.Lcd.print("Temperature");
M5.Lcd.setCursor(170, 140);
M5.Lcd.print("Display");
}
void loop() {
if(M5.BtnA.wasPressed()) {
// 表面温度表示
Serial.println("Temperature");
M5.Lcd.setCursor(10, 40);
M5.Lcd.fillScreen(RED);
M5.Lcd.setTextColor(WHITE);
M5.Lcd.setTextSize(3);
M5.Lcd.print("Temperature ");
M5.Lcd.setCursor(50, 100);
M5.Lcd.setTextSize(8);
M5.Lcd.print(mlx.readObjectTempC());
M5.Lcd.setCursor(230, 180);
M5.Lcd.setTextSize(2);
M5.Lcd.print(" deg.");
delay(1000);
}
if(M5.BtnC.wasPressed()) {
// 周囲温度表示
Serial.println("Ambient");
M5.Lcd.setCursor(10, 40);
M5.Lcd.fillScreen(GREEN);
M5.Lcd.setTextColor(WHITE);
M5.Lcd.setTextSize(3);
M5.Lcd.print("Ambient ");
M5.Lcd.setCursor(50, 100);
M5.Lcd.setTextSize(8);
M5.Lcd.print(mlx.readAmbientTempC());
M5.Lcd.setCursor(230, 180);
M5.Lcd.setTextSize(2);
M5.Lcd.print(" deg.");
delay(1000);
}
M5.update();
}
센서에 대상물을 가까이 하는 것만으로 바로 온도를 측정할 수 있으므로,
유아의 체온 측정 등에 사용되는 이유를 잘 알았습니다.
또, M5Stack가 부담없이 단독으로 움직이는 표시기로서 취급할 수 있기 때문에, 조금 동작을 시험해 보고 싶을 때에 최적입니다.
Reference
이 문제에 관하여(간단한 온도계 만들기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/s_fujii/items/1cc5fe6206f6dc24d8cc텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)