You are on page 1of 6

ĐẠI HỌC LẠC HỒNG

KHOA CƠ ĐIỆN - ĐIỆN TỬ


--------

MÔN: THỰC TẬP VI ĐIỀU KHIỂN ỨNG DỤNG


BÀI 5

SVTH: Nguyễn Khắc Hoài Nam


GV hướng dẫn: Ngô Kim Long
Bài 5: LCD
Mục tiêu:
- Sinh viên đọc được các dạng ngõ vào digital: nút nhấn, cảm biến on/off, …
- Xuất giá trị on/off ở ngõ ra , để điều khiển on/off các thiết bị theo yêu cầu.
Yêu cầu 1.1:
Viết chương trình hiển thị thông tin cá nhân lên LCD, với nội dung như sau:
- Hàng trên: LH UNIVERSITY.
- Hàng dưới: CLASS: 21OT111_N2.
Tất cả đều canh giữa màn hình.
Màn hình 1 tồn tại trong 2s sau đó chuyển qua màn hình 2 như sau:
2. Viết chương trình ổn định nhiệt độ, hiển thị thông tin lên LCD, với nội dung
như sau:
- Hàng trên: Min: ?? (canh trái), Tọa độ (8,0) hiển thị MAX: ??
- Hàng dưới: NHIET DO: ??
Khi NHIETDO<GIÁ TRỊ Min thì mở đèn, tắt quạt.
Khi NHIETDO> GIÁ TRỊ Max thì mở quạt, tắt đèn.
Khi nhiệt độ >min và nhiệt độ <Max thì đèn và quạt đều tắt.
Khách hàng có thể tự thiết lập được giá trị Max, Min bằng nút nhấn.
Nội dung triển khai:
Câu 1 (10đ): Lập bảng thống kê Input/Output, địa chỉ sử dụng cho từng ngõ
vào ra
Bảng thống kê địa chỉ ngõ vào (Input)

Địa chỉ /
STT Tên Input Mô tả chức năng
Pin
1 Nút nhấn Start Pin 8 Điều chỉnh giá trị Min, Max.
Truyền tín hiệu giá trị nhiệt độ về
2 LM35 Pin A0
mạch Arduino mega 2560.
3
4
Bảng thống kê địa chỉ ngõ ra (Output)

Tên Địa chỉ /


STT Mô tả chức năng
output Pin
1 LED Pin 14 Trạng thái ngỏ ra của đèn
2 FAN-DC Pin 15 Trạng thái ngỏ ra quạt
3 RS Pin 7 Trạng thái ngỏ ra đoạn màn hình
4 E Pin 6 Trạng thái ngỏ ra đoạn màn hình
5 D4 Pin 5 Trạng thái ngỏ ra đoạn màn hình
6 D5 Pin 4 Trạng thái ngỏ ra đoạn màn hình
7 D6 Pin 3 Trạng thái ngỏ ra đoạn màn hình
8 D7 Pin 2 Trạng thái ngỏ ra đoạn màn hình

Câu 2 (10đ): Vẽ sơ đồ khối của hệ điều khiển này, giải thích hoạt động của các
khối.
Hình 1: Sơ đồ khối của hệ điều khiển LCD.
Nguyên lý hoạt động:
- Nguồn sẽ được cung cấp để hệ điều khiển có thể chạy.
- Ta có ngỏ vào là nút nhấn và LM35 sẽ truyền tín hiệu về mạch Arduino mega
2560. Sau khi xử lý, mạch sẽ xuất ra tín hiệu ở ngỏ ra để điều khiền màn hình
LCD, Led và Fan-DC.
Câu 3: (10đ): Vẽ sơ đồ kết nối (mạch nguyên lý) của hệ thống.

Hình 2: Sơ đồ kết nối của hệ thống.

Câu 4 (20đ): Trình bày sơ đồ giải thuật xử lý của đề bài.


Hình 3: Sơ đồ giải thuật.
Câu 5 (50đ): Viết code chương trình xử lý (30đ) và trả lời câu
hỏi(20đ) (copy code vào đây và gởi file qua drive)

#include <LiquidCrystal.h>

LiquidCrystal lcd(7,6,5,4,3,2);
int adc, gtMAX=42, gtMIN=38;
float nhietdo;

void setup() {
// put your setup code here, to run once:
pinMode(8, INPUT);
pinMode(9, INPUT);
pinMode(14, OUTPUT);
pinMode(15, OUTPUT);
lcd.begin(16,2);
lcd.setCursor(0,0);
lcd.print("LH UNIVERSITY");
lcd.setCursor(0,1);
lcd.print("CLASS 21OT111-N2");
delay(1000);
lcd.clear();
lcd.setCursor(0,0);
lcd.print("gtMIN");
lcd.print(gtMIN);
lcd.setCursor(9,0);
lcd.print("gtMAX");
lcd.print(gtMAX);
lcd.setCursor(0,1);
lcd.print("NHIETDO:");
}

void loop() {
// put your main code here, to run repeatedly:
adc=analogRead(A0);
nhietdo=adc*500.0/1023.0;
lcd.setCursor(9,1);
lcd.print(nhietdo);
if(nhietdo<gtMIN){
digitalWrite(14, LOW);// tắt quạt
digitalWrite(15, HIGH);//mở đèn
}
if(nhietdo>gtMAX){
digitalWrite(14, HIGH);// mở quạt
digitalWrite(15, LOW);// tắt đèn
}
if((nhietdo>gtMIN)&&(nhietdo<gtMAX)){
digitalWrite(14, LOW);//tắt quạt
digitalWrite(15, LOW);//tắt đèn
}
}

You might also like