BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC CÔNG NGHỆ TP HCM VIỆN KỸ THUẬT NGÀNH ĐIỆN TỬ VIỄN THÔNG ĐỒ ÁN TỐT NGHIỆP THIẾT KẾ VÀ THI CÔNG MÔ HÌNH NHÀ KÍNH ĐIỀU KHIỂN QUA MÁY TÍNH Giảng viên hướng dẫn ThS PHẠM HÙNG KIM KHÁNH Sinh viên thực hiện PHẠM TRẦN TUẤN DUY Mã SV 1511010082 HOÀNG TIẾN HƯNG Mã SV 1711010032 TP Hồ Chí Minh, năm 2021 III Danh mục hình ảnh Hình 1 1 Biểu tượng của Bluetooth 1 Hình 1 2 Các thiết bị hỗ trợ sóng Bluetooth 2 Hình 1 3 Giao diện xuất mạch in của protues 4 Hình 1 4 Sơ.
BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC CÔNG NGHỆ TP HCM VIỆN KỸ THUẬT NGÀNH ĐIỆN TỬ VIỄN THÔNG ĐỒ ÁN TỐT NGHIỆP THIẾT KẾ VÀ THI CƠNG MƠ HÌNH NHÀ KÍNH ĐIỀU KHIỂN QUA MÁY TÍNH Giảng viên hướng dẫn: ThS PHẠM HÙNG KIM KHÁNH Sinh viên thực hiện: PHẠM TRẦN TUẤN DUY Mã SV: 1511010082 HỒNG TIẾN HƯNG Mã SV: 1711010032 TP.Hờ Chí Minh, năm 2021 Danh mục hình ảnh Hình 1.1 Biểu tượng Bluetooth Hình 1.2 Các thiết bị hỗ trợ sóng Bluetooth .2 Hình 1.3 Giao diện xuất mạch in protues Hình 1.4 Sơ đồ mạch nguyên lý Hình 1.5 Hình ảnh 3D protues Hình 2.1 Mơ hình nhà kính Hình 2.2 Nguyên lý hoạt động .8 Hình 2.3 Cơng nghệ đèn led Hình 4.1 Khối nguồn 11 Hình 4.2 Laptop 11 Hình 4.3 Khối thu bluetooth HC-05 12 Hình 4.4 Khối điều khiển Arduino nút nhấn 12 Hình 4.5 Khối cảm biến 13 Hình 4.6 Khối điều khiển tải 13 Hình 4.7 Khối hiển thị 14 Hình 4.8 Module thu phát Bluetooth HC-05 .15 Hình 4.9 Arduino uno r3 17 Hình 4.10 Cảm biến nhiệt độ LM35 19 Hình 4.11 Sơ đồ đấu nối 21 Hình 4.12 Sơ đồ nguyên lý .22 Hình 4.13 Sơ đồ nối dây cảm biến độ ẩm với arduino .23 Hình 4.14 Cảm biến độ ẩm đất 23 Hình 4.15 Relay 12v 24 Hình 4.16 Cảm biến quang trở 25 Hình 4.17 Màn hình LCD 20x4 26 Hình 4.18 Sơ đồ nguyên lý .27 Hình 5.1 Sơ đồ mạch in 28 Hình 5.2 Mạch in thực tế 28 Hình 5.3 Mạch hồn chỉnh .29 Hình 5.4 Phần mềm giám sát 29 III MỤC LỤC Lời cam đoan i Lời cám ơn ii Danh mục hình ảnh iii Mục lục iv Lời nói đầu vi CHƯƠNG I: GIỚI THIỆU 1.1 Tổng quát Bluetooth 1.1.1 Giới thiệu 1.1.2 Các đặc điểm Bluetooth 1.2 Tổng quan phần mềm protues 1.2.1 Giới thiệu 1.2.2 Lý nên sử dụng PROTUES 1.2.3 Tính Protues Professional CHƯƠNG II:TỔNG QUAN GIẢI PHÁP 2.1 Khái niệm 2.2 Một số công nghệ nhà kính 2.2.1 Cảm biến kết nối vạn vật 2.2.2 Công nghệ đèn led CHƯƠNG III: PHƯƠNG PHÁP GIẢI QUYẾT CHƯƠNG IV:QUY TRÌNH THIẾT KẾ 10 4.1 Sơ đồ khối 10 4.2 Chức nhiệm vụ khối 10 4.2.1 Khối nguồn 10 4.2.2 Khối phát 11 4.2.3 Khối thu bluetooth HC- 05 11 4.2.4 Khối điều khiển arduino 12 4.2.5 Khối cảm biến 12 4.2.6 Khối điều khiển tải 13 4.2.7 Khối hiển thị 14 4.3 Giới thiệu linh kiện có mạch 14 4.3.1 Giới thiệu module thu phát sóng ( bluetoolh HC-05) 14 4.3.2 Arduino uno r3 17 IV 4.3.3 Cảm biến nhiệt độ LM35 20 4.3.4 Cảm biến độ ẩm đất 21 4.3.5 Relay 12V 23 4.3.6 Cảm biến ánh sáng quang trở 24 4.3.7 Màn hình LCD 20x4 25 4.3.8 Giao diện Visual studio 2015 26 4.4 Sơ đồ nguyên lý hoạt động mạch 277 4.4.1 Sơ đồ nguyên lý 277 4.4.2 Nguyên lý hoạt động 27 CHƯƠNG V: THI CÔNG SẢN PHẨM 28 5.1 Sơ đồ mạch in 28 5.2 Mạch in thực tế 28 5.3 Mạch hoàn chỉnh 29 5.4 Phần mềm giám sát 29 CHƯƠNG VI: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN ĐỀ TÀI 34 6.1 Kết 34 6.2 Hướng phát triển đề tài 34 TÀI LIỆU THAM KHẢO 35 PHỤ LỤC 36 V LỜI NÓI ĐẦU Tính cấp thiết đề tài Nơng nghiệp công nghệ cao – Một cụm từ ngày phổ biến đời sống xã hội trở nên quen thuộc phương tiện thông tin đại chúng Chúng ta thấy rằng, với phát triển kinh tế nông thôn, chủ trương Đảng nhà nước hướng nông nghiệp theo đường ngày chun nghiệp hóa, ngày đại Nơng thôn đời đẩy mạnh phát triển quy mô lẫn số lượng mơ hình kinh tế trang trại, gia trại, khu chăn nuôi tập trung, khu phát triển sản phẩm nông nghiệp chuyên biệt rau v.v… Việc tự động hóa thay vị trí người lĩnh vực, hỗ trợ tối đa, giúp người thực công việc dễ dàng thuận tiện Một điều tất yếu yêu cầu tự động hóa lĩnh vực nơng nghiệp, đặc biệt nông nghiệp theo hướng sản xuất thương mại, nông nghiệp công nghệ cao không ngoại lệ Xác định rằng, nhu cầu sản phẩm sản phẩm điện tử công nghệ cao hỗ trợ cho ngành phát triển nông nghiệp nuôi trồng lớn Tuy nhiên hệ thống điện tử hỗ trợ, phục vụ cho ngành chưa phát triển mạnh mang tính chất rời rạc, chưa kết hợp với tiềm lĩnh vực điện tử ngành nông nghiệp nuôi trồng lớn Đã có số cơng ty, tập đồn lớn hỗ trợ đầu tư thiết bị, hệ thống công nghệ vào ngành nông nghiệp công nghệ cao Việt Nam JETRO, NIKKO FOODS (Nhật Bản) hay số nơng dân tìm hiểu áp dụng mơ hình nơng nghiệp cơng nghệ cao Singapore Xuất phát từ yêu cầu thực tế, thân gia đình có trang trại ni trồng theo hướng tập trung chuyên hóa Việc phụ giúp gia đình giúp em xác định nhu cầu cần thiết gần gũi người nông dân Từ trải nghiệm với kiến thức học tìm hiểu thời gian qua, em đưa chu trình, hệ thống thiết lập chế độ hoạt động riêng phù hợp với nhu cầu trang trại ni trồng Tất tích hợp hệ thống gọi “Mơ hình nhà kính điều khiển qua máy tính” VI Lý chọn đề tài Ngày nay, kĩ thuật điện – điện tử phát triển mạnh mẽ với bùng nổ ngành công nghệ thông tin công nghệ viễn thông thúc đẩy phát triển kinh tế toàn cầu làm tiền đề cho lĩnh vực khác phát triển Đặc biệt lĩnh vực tự động hóa hay q trình điều khiển từ xa Đã có nhiều phương thức điều khiển từ xa, chẳng hạn như: điều khiển modul sim, wifi, Rf,… Nhưng hệ thống điều khiển nhà kính qua máy tính với cảm biến dễ dàng phục vụ gia đình doanh nghiệp Vì vậy, đề tài khơng sử dụng gia đình mà sử dụng vườn,cơng ty, doanh nghiệp,… miễn nơi kết nối với máy tính Mục đích nghiên cứu Với đề tài chọn mơ hình nhà kính điều khiển thơng qua máy tính em cần làm cơng việc xây dụng hệ thống làm mát, chiếu sáng,bơm nước phát triển ứng dụng dùng để kích hoạt hệ thống Về phần cứng, hệ thống tưới làm mát, bơm xả nước, tự động chiếu sáng đêm tắt đèn trời sáng Thông báo nhiệt độ, độ ẩm môi trường trồng Về phần mềm, có giao diện hiển thị thơng số máy tính,trên giao diện có tính điều khiển tự động điều khiển tay Nhiệm vụ nghiên cứu Nghiên cứu hệ thống bluetooth Nghiên cứu cảm biến sử dụng mạch Nghiên cứu phần mềm ứng dụng sử dụng mạch Phương pháp thực nghiên cứu Dùng arduino Nano làm phận xử lý trung tâm,module bluetooth để nhận lện điều khiển từ máy tính VII Hệ thống thực chức điều khiển máy bơm nước tự động thiết bị có mạch Nghiên cứu nguyên lý làm việc module thu phát sóng bluetooth Kết đạt Mạch chạy ổn định, đáp ứng yêu cầu đề tài Điều khiển từ xa dễ dàng, phần mềm Laptop hoạt động tốt Kết cấu đồ án Nội dung gồm có chương: Chương 1: Giới thiệu Chương : Tổng quan giải pháp Chương :Phương pháp giải Chương 4: Quy trình thiết kế Chương 5: Thi cơng mạch điều khiển Chương 6: Đánh giá kết quả, kết luận VIII CHƯƠNG I: GIỚI THIỆU 1.1 Tổng quát Bluetooth 1.1.1 Giới thiệu Bluetooh công nghệ không dây cho phép thiết bị điện, điện tử giao tiếp với khoảng cách ngắn, sóng vơ tuyến qua băng tầng chung ISM(Industrial, Scientific, Medical) dãy tầng 2.40 – 2.48Ghz, có khả truyền tải giọng nói liệu Phạm vi hoạt động thiết bị bluetooth khoảng 10m Bluetooth truyền liệu với tốc độ 1Mbps, nhanh gấp lần tốc độ trung bình cổng song song cổng serial tương ứng Đây dãy băng tầng không cần đăng ký dành riêng để dùng cho thiết bị không dây công nghiệp, khoa học, y tế Bluetooth thiết kế nhằm mục đích thay dây cable máy tính thiết bị truyền thơng cá nhân, kết nối vô tuyến thiết bị điện tử lại với cách thuận tiện với giá thành rẻ Khi kích hoạt Bluetooth tự động định vị thiết bị khác có chung cơng nghệ vùng xung quanh bắt đầu kết nối với chúng, định hướng sử dụng cho việc truyền liệu lẫn tiếng nói Hình 1.1 Biểu tượng Bluetooth Công nghệ không dây Bluetooth tiêu chuẩn thực tế, dùng cho thiết bị cỡ nhỏ, chi phí thấp Sóng ngắn liên kết PC di động, điện thoại di động máy tính với Bluetooth cơng nghệ cho phép truyền thông thiết bị bới mà không cần cáp dây dẫn, Bluetooth tiêu hao lượng có giá thành thấp tốc độ chậm nhiều so với mạng khơng dây Wifi Apple trang bị Bluetooth vào máy Mac nhiều năm để kích hoạt khả hoạt động với thiếc bị bàn phím chuột khơng dây hỗ trợ Bluetooth Đồng hóa liệu với thiết bị di động thiết bị hỗ trợ cá nhân PDA, in ấn với máy in có hỗ trợ Bluetooth kết nối đến thiệc bị khác Hình 1.2 Các thiết bị hỗ trợ sóng Bluetooth Bluetooth phải đối mặt với với chiến leo thang với nhà sản xuất PC ngược lại, công nghệ Bluetooth “đứa cưng” hãng sản xuất điện thoại di động đại đa số điện thoại di động hỗ trợ Bluetooth thiếc bị headset không dây Trong tương lai, công nghệ Bluetooth phiên tiếp tục phát triển nhiều lĩnh vực 1.1.2 Các đặc điểm Bluetooth Bluetooth đạt tốc độ truyền liệu 1Mb/s Bluetooth hỗ trợ tốc độ truyền tải liệu lên đến 720Kpbs phạm vi 10m Khác với kết nối hồng ngoại (IrDA), kết nối Bluetooth vô hướng sử dụng dãy tầng 2.4GHz Tiêu thụ lượng thấp,cho phép ứng dụng nhiều thiết bị, bao gồm thiết bị cầm tay điện thoại di động Giá thành hạ (giá chip Bluetooth giảm dần) Khoảng cách giao tiếp thiếc bị đầu cuối lên đến 10m ngồi trời 5m tịa nhà Khoảng cách thiết bị đầu cuối Access Point lên đến 100m trời 30m nhà Bluetooth sử dụng băng tầng đăng ký 2.4GHz dãy băng tầng ISM Tốc độ truyền liệu lên đến mức tối đa 1Mbps (do sử dụng tần số cao) mà thiết bị không cần phải lấy trực tiếp Dễ dàng việc phát triển ứng dụng: Bluetooth kết nối ứng dụng với ứng dụng khác thông qua chuẩn “Bluetooth Profiles” , độc lập phần cứng hệ điều hành sử dụng Bluetooth dùng giao tiếp liệu tiếng nói: có kênh để truyền tiếng nói kênh để truyền liệu mạng cá nhân 1.2 Tổng quan phần mềm protues 1.2.1 Giới thiệu Proteus công cụ chuyên mô mạch điện tử Các phần mềm (công cụ) là: ISIS Schematic Capture Proteus phần mềm cho phép mô hoạt động mạch điện tử bao gồm phần thiết kế mạch viết chương trình điều khiển cho họ vi điều khiển MCS-51, PIC, AVR, … Proteus phần mềm mô mạch điện tử Labcenter Electronics, mô cho hầu hết linh kiện điện tử thông dụng, đặc biệt hỗ trợ cho MCU PIC, 8051, AVR, Motorola Phần mềm bao gồm chương trình: ISIS cho phép mô mạch ARES dùng để vẽ mạch in Proteus công cụ mô cho loại Vi Điều Khiển tốt, hỗ trợ dòng VĐK PIC, 8051, PIC, dsPIC, AVR, HC11, MSP430, ARM7/LPC2000 … giao tiếp I2C, SPI, CAN, USB, Ethenet,… ngồi cịn mơ mạch số, mạch tương tự cách hiệu ISIS nghiên cứu phát triển 12 năm có 12000 người dùng khắp giới Sức mạnh mơ hoạt động hệ vi điều khiển mà không cần thêm phần mềm phụ trợ Sau đó, phần mềm ISIS xuất file sang ARES phần mềm vẽ mạch in khác Trong lĩnh vực giáo dục, ISIS có ưu điểm hình ảnh mạch điện đẹp, cho phép ta tùy chọn đường nét, màu sắc mạch điện, thiết kế theo mạch mẫu (templates) Từ phiên Proteus 8.0 trở lên, phần mềm có thêm số tính như: - Một khung ứng dụng cho phép bạn xem module Proteus tab cửa sổ thông qua việc kéo thả chuột private void com_DataReceived(object sender, System.IO.Ports.SerialDataReceivedEventArgs e) { try { s = com.ReadLine(); Display(s); } catch { } } private delegate void DlDisplay(string s); private void Display(string s) { if (this.InvokeRequired) { DlDisplay sd = new DlDisplay(Display); this.Invoke(sd, new object[] { s }); } else { string[] data = s.Split(' '); lblNhietDo.Text = data[1]; lblNhietdothap.Text = data[2]; lblNhietdocao.Text = data[3]; lblDoam.Text = data[4]; lblDoamcdt.Text = data[5]; lblDoamcdc.Text = data[6]; lblas.Text = data[7]; lblascdt.Text = data[8]; lblascdc.Text = data[9]; } } private void button4_Click(object sender, EventArgs e) { doamcd++; if (doamcd < 10) label3.Text = "0" + doamcd.ToString(); else label3.Text = doamcd.ToString(); } private void button5_Click(object sender, EventArgs e) { doamcd ; if (doamcd < 10) label3.Text = "0" + doamcd.ToString(); else label3.Text = doamcd.ToString(); } 38 private void button3_Click(object sender, EventArgs e) { com.Write(label3.Text + "h"); } private void Form1_FormClosed(object sender, FormClosedEventArgs e) { } private void button1_Click_1(object sender, EventArgs e) { if (int.Parse(textBox4.Text) >= 99) MessageBox.Show("Giá Trị Cài Đặt Khơng Được Lớn Hơn 99", "THƠNG BÁO", MessageBoxButtons.OK, MessageBoxIcon.Error); else { com.Write("d" + textBox4.Text); com.Write("p" + textBox5.Text); } } private void button5_Click_1(object sender, EventArgs e) { try { if (button5.Text == "AUTO") { com.Write("m"); button5.Text = "MANUAL"; button5.BackColor = Color.Lime; button2.Enabled = button3.Enabled = button4.Enabled = true; button2.BackgroundImage = button3.BackgroundImage = button4.BackgroundImage = Properties.Resources.red; lblDA.Text = lblND.Text = lblQ.Text = "OFF"; lblDA.BackColor = lblND.BackColor = lblQ.BackColor = Color.Red; } else { com.Write("n"); button5.Text = "AUTO"; button5.BackColor = Color.Red; button2.Enabled = button3.Enabled = button4.Enabled = false; } } catch { 39 MessageBox.Show("Chưa Mở Cổng COM", "Thông Báo", MessageBoxButtons.OK, MessageBoxIcon.Information); } } private void button2_Click(object sender, EventArgs e) { if(lblND.Text == "OFF") { lblND.Text = "ON"; lblND.BackColor = Color.Lime; button2.BackgroundImage = Properties.Resources.green; com.Write("h"); } else { lblND.Text = "OFF"; lblND.BackColor = Color.Red; button2.BackgroundImage = Properties.Resources.red; com.Write("i"); } } private void button3_Click_1(object sender, EventArgs e) { if (lblDA.Text == "OFF") { lblDA.Text = "ON"; lblDA.BackColor = Color.Lime; button3.BackgroundImage = Properties.Resources.green; com.Write("j"); } else { lblDA.Text = "OFF"; lblDA.BackColor = Color.Red; button3.BackgroundImage = Properties.Resources.red; com.Write("k"); } } private void button4_Click_1(object sender, EventArgs e) { if (lblQ.Text == "OFF") { lblQ.Text = "ON"; lblQ.BackColor = Color.Lime; button4.BackgroundImage = Properties.Resources.green; 40 com.Write("f"); } else { lblQ.Text = "OFF"; lblQ.BackColor = Color.Red; button4.BackgroundImage = Properties.Resources.red; com.Write("g"); } } private void button8_Click(object sender, EventArgs e) { if (int.Parse(textBox3.Text) >= 99) MessageBox.Show("Giá Trị Cài Đặt Khơng Được Lớn Hơn 99", "THƠNG BÁO", MessageBoxButtons.OK, MessageBoxIcon.Error); else { com.Write("l" + textBox3.Text); com.Write("o" + textBox6.Text); } } private void Form1_FormClosing(object sender, FormClosingEventArgs e) { if (MessageBox.Show("Bạn Thực Sự Muốn Thốt", "THƠNG BÁO", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes) { if (com.IsOpen) { com.Write("e"); com.DiscardInBuffer(); } Application.ExitThread(); } } private void groupBox5_Enter(object sender, EventArgs e) { } } } 41 Code chương trình điều khiển linh kiện: #include #define button_se A3//chon ngõ vào phím bấm cài đặt #define button_de A4//phím tăng #define button_in A5//phím giảm #define button_ok 5//phim oke LiquidCrystal lcd(13, 12, 11, 10, 9, 8);//LiquidCrystal lcd(rs, en, d4, d5, d6, d7);//khai báo sử dụng chân đk hình lcd 20x4 int16_t Update; int roleND =4;//chân relay nhiệt độ int roleDA =3;//chân relay độ ẩm int roleQ =2;//chân relay ánh sáng int nhietdo_t=32,nhietdo_c=35,doam_cdc=60,doam_cdt=50;//biến đệm sét cài đặt nhiệt độ , độ ẩm float LightValue,LightValueSetting_t = 35, LightValueSetting_c = 50;//biến đệm sét cài đặt ánh sáng int nhietdo,doam,humi = 0;//biên đệm char data; int i=0,loaidl=0; int chuc,donvi; int templateValue = ; boolean start = false; int settingModeValue = ; int mode = 0; void setup() {//chương chình cài đặt hệ thống ban đầu Serial.begin(9600); //tốc độ giao tiếp uart chọn mặc định 9600 pinMode(button_se,INPUT);//chon button ngõ vào input pinMode(button_in,INPUT);//chon button ngõ vào input pinMode(button_de,INPUT);//chon button ngõ vào input pinMode(button_ok,INPUT);//chon button ngõ vào input 42 pinMode(roleQ,OUTPUT);//chon relay ngõ output pinMode(roleND,OUTPUT);//chon relay ngõ output pinMode(roleDA,OUTPUT);//chon relay ngõ output digitalWrite(roleQ,LOW);// tắt relay digitalWrite(roleND,LOW);// tắt relay digitalWrite(roleDA,LOW);// tắt relay lcd.begin(20, 4);//khơi tạo hình lcd bắt đầu chạy } void loop() { //vòng lặp if(mode==0)//chế độ điều khiển { updateValueSensor();//cập nhật sensor AutoMode(); //chế độ tự động checkSetting();//kiểm tra cài đặt } else if( mode == 2) { SettingMode();//cho phép cài đặt } if(start == true) { SendData();//gửi data } ReceiveData();//nhận data từ PC } void SettingMode()//cài đặt { if(digitalRead(button_in) == LOW){//đọc phím bấm = templateValue++; // tăng đơn vị delay(150); // chống dội phím bấm } if(digitalRead(button_de) == LOW){//đọc phím bấm = 43 templateValue ;// giảm đơn vị delay(150); // chống dội phím bấm } if(settingModeValue == 0){//sét cài đặt nhiệt độ cao nhietdo_c += templateValue; if(nhietdo_c >= 99) nhietdo_c = 99; lcd.setCursor(0,0); lcd.print(" Cai Dat Nhiet Do "); lcd.setCursor(0,1); lcd.print("Muc cao: "); lcd.print(nhietdo_c); lcd.write(B11011111); lcd.print("C"); } else if (settingModeValue == 1) {//sét cài đặt nhiệt độ thấp nhietdo_t += templateValue; if(nhietdo_t >= 99) nhietdo_t = 99; lcd.setCursor(0,0); lcd.print(" Cai Dat Nhiet Do "); lcd.setCursor(0,1); lcd.print("Muc thap: "); lcd.print(nhietdo_t); lcd.write(B11011111); lcd.print("C"); } else if (settingModeValue == 2) {//sét cài đặt độ ẩm cao doam_cdc += templateValue; if(doam_cdc >= 99) doam_cdc = 99; lcd.setCursor(0,0); lcd.print(" Cai Dat Do Am "); lcd.setCursor(0,1); lcd.print("Muc cao: "); 44 lcd.print(doam_cdc); lcd.print("%"); } else if (settingModeValue == 3) {//sét cài đặt độ ẩm thấp doam_cdt += templateValue; if(doam_cdt >= 99) doam_cdt = 99; lcd.setCursor(0,0); lcd.print(" Cai Dat Do Am "); lcd.setCursor(0,1); lcd.print("Muc thap: "); lcd.print(doam_cdt); lcd.print("%"); } else if (settingModeValue == 4) {//sét cài đặt độ ánh sáng cao LightValueSetting_c += templateValue; if(LightValueSetting_c >= 99) LightValueSetting_c = 99; lcd.setCursor(0,0); lcd.print(" Cai Dat Nguong Sang "); lcd.setCursor(0,1); lcd.print("Muc cao: "); lcd.print((int)LightValueSetting_c); lcd.print("%"); } else if (settingModeValue == 5) {//sét cài đặt độ ánh sáng thấp LightValueSetting_t += templateValue; if(LightValueSetting_t >= 99) LightValueSetting_t = 99; lcd.setCursor(0,0); lcd.print(" Cai Dat Nguong Sang "); lcd.setCursor(0,1); lcd.print("Muc thap: "); lcd.print((int)LightValueSetting_t); lcd.print("%"); 45 } templateValue = 0;//giá trị phím sét=0 if(digitalRead(button_se) == LOW){ settingModeValue++; if(settingModeValue >= 6) {//mode lần cài đặt settingModeValue = 0; mode = 0; } lcd.clear();//xóa hình while(digitalRead(button_se) == LOW); } if(digitalRead(button_ok) == LOW){ mode = 0; lcd.clear(); delay(150); } } void updateValueSensor()//chương trình cập nhật data từ cảm biến { if(Update>10)//cập nhật 10ms lần { int tempAdc = analogRead(A1);// tính nhiệt độ lm35 float vol = tempAdc*5.0/1024; float temp = vol*100.0; humi = (analogRead(A2) * 100.0)/ 1023.0;// cơng thức tính độ ẩm = giá trị đọc đc từ ADC nhân cho 100% chia cho độ phân giải adc LightValue = (analogRead(A0)*100.0)/1023.0;// cơng thức tính cương độ ánh sáng = giá trị đọc đc từ ADC nhân cho 100% chia cho độ phân giải adc lcd.setCursor(0,0);//hàng thứ hiển thị nhiệt độ lcd.print("Nhiet do: "); lcd.print((int)temp); lcd.write(B11011111); 46 lcd.print("C "); lcd.setCursor(0,1);//hàng thứ hai hiển thị độ ẩm lcd.print("Do Am: "); lcd.print((int)doam1); lcd.print("% "); lcd.setCursor(0,2);//hàng thứ ba hiển thị cường độ ánh sáng lcd.print("Light: "); lcd.print((int)LightValue); lcd.print("% "); Update=0; } Update++; delay(50); } void AutoMode()//chế độ tự động { if(nhietdo = nhietdo_c)//nhiệt độ đo lớn nhiệt độ cd cao bật relay { digitalWrite(roleND,HIGH);//mức cao bật relay } if(doam = doam_cdc) { digitalWrite(roleDA,LOW); } 47 if(LightValue >= LightValueSetting_c) { digitalWrite(roleQ, LOW); } if(LightValue 0) { data=Serial.read(); if(i==0) { if(data=='m')//chế độ tay 48 { mode=1;//tắt hết ngõ bật chế độ đk tay digitalWrite(roleQ,LOW); digitalWrite(roleND,LOW); digitalWrite(roleDA,LOW); } else if(data=='n')//chế độ auto { mode=0; } else if(data=='f'&&mode==1)//nhận data f từ pc gửi xuống bật relay { digitalWrite(roleQ,HIGH);//mức cao bật relay } else if(data=='g'&&mode==1)//nhận data g từ pc gửi xuống tắt relay { digitalWrite(roleQ,LOW);//mức thấp tắt relay } else if(data=='h'&&mode==1) { digitalWrite(roleND,HIGH); } else if(data=='i'&&mode==1) { digitalWrite(roleND,LOW); } else if(data=='j'&&mode==1) { digitalWrite(roleDA,HIGH); } else if(data=='k'&&mode==1) { 49 digitalWrite(roleDA,LOW); } else if(data=='t')//data sét cài đặt nhiệt độ từ pc { i++; loaidl=1; } else if(data=='c')//data sét cài đặt nhiệt độ từ pc { i++; loaidl=0; } else if(data=='d')//data sét cài đặt độ ẩm từ pc { i++; loaidl=2; } else if(data=='p')//data sét cài đặt độ ẩm từ pc { i++; loaidl=3; } else if(data=='o')//data sét cài đặt cường độ ánh sáng từ pc { i++; loaidl=4; } else if(data=='l')//data sét cài đặt cường độ ánh sáng từ pc { i++; loaidl=5; } 50 else if(data=='s')//bắt đầu chuỗi= chữ s kết thúc chuỗi = chữ e start = true; else if(data=='e') start=false; else i=0; } else { if(i==1)chuc=(data-48)*10;//tách lấy chục if(i==2)donvi=data-48; //tách lấy đơn vị if(loaidl==0 && i==2) {nhietdo_c = chuc+donvi;} else if(loaidl==1 && i==2) {nhietdo_t = chuc+donvi;} else if(loaidl==2 && i==2) {doam_cdt = chuc+donvi;} else if(loaidl==3 && i==2) {doam_cdc = chuc+donvi;} else if(loaidl==4 && i==2) {LightValueSetting_t = chuc+donvi;} else if(loaidl==5 && i==2) {LightValueSetting_c = chuc+donvi;} i++; if(i==3)i=0; } } 51 } 52 ... thời gian qui định theo yêu cầu đặt thi? ??t kế mơ hình nhà kính điều khiển qua máy tính 6.1 Kết Đã thi? ??t kế thi cơng thành cơng mơ hình nhà kính điều khiển qua máy tính Ưu điểm: - Sử dụng Arduino... thoại di động, máy tính bảng trang web Hình 2.1 Mơ hình nhà kính Trong mơ hình nhà kinh, thi? ??t bị từ xuống gắn điều khiển điện tử kết nối với internet laptop, cho phép chủ nhân điều khiển từ xa... remote điều khiển phát lệnh tương ứng để bật tắt thi? ??t bị phần mềm Ewilink điện thoại Phương án 2: Thi? ??t kế mạch điều khiển trung tâm có khả điều khiển thi? ??t bị cảm biến có khả hiển thị giá trị thi? ??t