-
아두이노 프로젝트 | 스마트 냉각팬Technology/Arduino 2024. 7. 19. 18:00
1. 스마트 냉각팬
스마트 냉각팬 일상에서 쉽게 발견할 수 있는 냉각팬을 아두이노 플랫폼을 이용해 온도에 따라 스마트하게 제어해보자. 구현하고자 하는 스마트 냉각팬은 DC12V 냉각팬, DC 5V 릴레이 모듈, 온도센서 LM35와 LCD I2C 모듈로 구성되어 있다. 온도센서로 측정한 온도는 LCD I2C 모듈에 실시간으로 출력되며, 냉각팬은 온도센서로 측정한 온도가 30°C 이상이면 냉각팬이 동작하고, 30°C 미만이면 동작하지 않도록 프로그램을 작성해보자.
2. 프로젝트
2.1. 회로 구성
회로 구성 [FAN] DC12V 팬모터 MGA8012XB-O25
80x80x25mm, Ball Bearing, 12V, 0.39A, 3600RPM, 2pin, 수명 70000H
www.devicemart.co.kr
아두이노 1채널 5V 미니 릴레이 모듈 [SZH-EK082]
아두이노, AVR, ARM, PIC 등 다양한 마이크로 컨트롤러 제어가 가능한 1채널 5V 릴레이 모듈입니다.
www.devicemart.co.kr
1602 I2C 캐릭터LCD (화이트/블루)
아두이노 호환 16×2 캐릭터 LCD 모듈 / 문자 : White / 백라이트 : Blue / I2C 통신을 통해 제어합니다. / 80mm×36mm
www.devicemart.co.kr
LM35DZ
온도센서, 0 ~ 100도까지
www.devicemart.co.kr
2.2. 프로그램 작성
#include <LiquidCrystal_I2C.h> // LCD I2C 라이브러리 추가 // LCD라는 이름의 LCD I2C 객체 생성 LiquidCrystal_I2C LCD(0x20, 16, 2); // I2C 주소, 열과 행의 개수 입력 int Value = 0; // 정수형 변수 선언 후 0으로 초기화 float Voltage = 0; // 실수형 변수 선언 후 0으로 초기화 float Temperature = 0; int Relay = 12; // 정수형 변수 선언 후 디지털 핀 번호 12로 초기화 void setup() { pinMode(A0, INPUT); // 아날로그 입력 A0번 핀을 입력(INPUT) 모드로 설정 pinMode(Relay, OUTPUT); // 디지털 12번 핀을 출력(OUTPUT) 모드로 설정 LCD.init(); // LCD 사용 시작 LCD.backlight(); // LCD 백라이트 켜기 LCD.print("Temperature:"); } void loop() { // 아날로그 입력 A0번 핀으로부터 아날로그 신호를 입력 받은 후 변수에 저장 Value = analogRead(A0); // 아날로그 값에 해당하는 전압을 연산한 후 변수에 저장 Voltage = 5.0 / 1023 * Value; // 전압에 해당하는 온도를 연산한 후 변수에 저장 Temperature = 1 / 0.01 * Voltage; LCD.setCursor(0, 1); // LCD 커서를 0열 1행으로 이동 LCD.print(Temperature); // LCD에 변수에 저장된 온도값을 입력 LCD.print(" Celsius"); delay(1000); // 1000 ms 대기 LCD.setCursor(0, 1); LCD.print(" "); // 온도가 30°C 이상일 경우 실행 if (Temperature >= 30) { digitalWrite(Relay, HIGH); // 디지털 12번 핀에 디지털 신호 HIGH 출력 } else { digitalWrite(Relay, LOW); } }
[함께 읽으면 좋은 페이지]
아두이노 | 릴레이 DC 5V 모듈
1. 릴레이 DC 5V 모듈 릴레이(Relay)는 전기 신호로 제어할 수 있는 물리적 스위치 소자로, 낮은 전압의 제어 신호로 높은 전압에서 동작하는 회로를 제어할 수 있게 한다. 릴레이의 동작 전압은 DC 5V
vedacube.tistory.com
아두이노 I2C 통신 | LCD I2C 모듈
1. I2C 통신 두 장치가 일대일로 통신하는 시리얼 통신과는 다르게, I2C(Inter-Integrated Circuit) 통신은 한 컨트롤러(master)에 여러 개의 주변 장치(slave)를 연결하여 신호를 주고 받는다. I2C 통신은 데
vedacube.tistory.com
아두이노 | 온도센서 LM35
1. 온도센서 LM35 온도센서 LM35는 TMP36과 마찬가지로, 주변 온도를 감지해 전기 신호로 변환하는 전자 소자이다. -55°C부터 150°C도까지 측정할 수 있어 TMP36보다 넓은 범위의 온도를 감지한다.
vedacube.tistory.com
반응형'Technology > Arduino' 카테고리의 다른 글
아두이노 | 바이폴라 스텝모터 드라이버 A4988 모듈 (4) 2024.11.08 아두이노 라이브러리 | 유니폴라 스텝모터 드라이버 ULN2003 (3) 2024.11.07 아두이노 | 온도센서 LM35 (0) 2024.07.12 아두이노 | 온도센서 TMP36 (1) 2024.07.05 아두이노 프로젝트 | 디지털 도어락 (0) 2024.06.28