비접촉온도센서
VCC : 5V(브레드보드)
GND: GND(브레드보드)
SDA: A4(브레드보드)
SCL: A5(브레드보드)
LCD모듈
GND:GND(브레드보드)
VCC:5V(브레드보드)
SDA:A4(브레드보드)
SCL:A5(브레드보드)
쿨링팬의 GND - GND
쿨링팬의 VCC- 릴레이 NO
릴레이 GND(-) - GND
릴레이 VCC (+) - 5V
릴레이 SIG (S) - D4
릴레이 COM - 5V
온도센서 인식값이 LCD에 출력되고, 온도에 따라 쿨링팬이 작동하도록 만들어 봅시다.(30도 기준)
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
#include <Wire.h>
#include <Adafruit_MLX90614.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27,16,2);
Adafruit_MLX90614 mlx = Adafruit_MLX90614();
int relay=4;
void setup() {
pinMode(relay, OUTPUT);
Serial.begin(9600);
lcd.init();
lcd.backlight();
mlx.begin();
}
void loop() {
lcd.print("Temp");
lcd.print(mlx.readObjectTempC());
lcd.print("'C");
lcd.begin(16,2);
delay(500);
if(mlx.readObjectTempC()>30){
digitalWrite(relay, HIGH);
delay(500);
}
else{
digitalWrite(relay, LOW);
delay(500);
}
}
01: I2C 통신 라이브러리 불러오기
02:MLX90614 온도센서 라이브러리 불러오기
03:LCD 1602 I2C용 라이브러리 불러오기
04:LCD 설정 접근주소는 0x27, 16개문자 2행
05:MLS90614 사용
06:Setup 함수를 정의한다
07: 통신속도를 9600으로 설정
08: LCD 초기화
09:LCD 백라이트 켜기
10:mlx모듈 읽기 시작
11:loop함수를 정의한다.
12:LCD의 2번째칸 0행에
13: Temperature 'C 표시
14: LCD의 6번째칸 1행에
15: 온도센서 인식 값 표시