-
아두이노 프로젝트 | 스마트 냉각팬Technology/Arduino 2024. 7. 19. 18:00
1. 스마트 냉각팬
일상에서 쉽게 발견할 수 있는 냉각팬을 아두이노 플랫폼을 이용해 온도에 따라 제어해보자. 구현하고자 하는 스마트 냉각팬은 DC12V 냉각팬, DC 5V 릴레이 모듈, 온도센서 LM35와 LCD I2C 모듈로 구성되어 있다. 온도센서로 측정한 온도는 LCD I2C 모듈에 실시간으로 출력되며, 냉각팬은 온도센서로 측정한 온도가 30°C 이상이면 냉각팬이 동작하고, 30°C 미만이면 동작하지 않도록 프로그램을 작성해보자.
2. 프로젝트
2.1. 회로 구성
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 커서를 0열 1행으로 이동 LCD.print(" "); // 온도가 30°C 이상일 경우 실행 if (Temperature >= 30) { digitalWrite(Relay, HIGH); // 디지털 12번 핀에 디지털 신호 HIGH 출력 } else { digitalWrite(Relay, LOW); } }
[함께 읽으면 좋은 페이지]
반응형'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