Đồ án Điều khiển nhiệt độ, độ ẩm trong phòng bảo quản thuốc

pdf 57 trang thiennha21 14/04/2022 9354
Bạn đang xem 20 trang mẫu của tài liệu "Đồ án Điều khiển nhiệt độ, độ ẩm trong phòng bảo quản thuốc", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên

Tài liệu đính kèm:

  • pdfdo_an_dieu_khien_nhiet_do_do_am_trong_phong_bao_quan_thuoc.pdf

Nội dung text: Đồ án Điều khiển nhiệt độ, độ ẩm trong phòng bảo quản thuốc

  1. Trường ĐHBRVT TRƯỜNG ĐẠI HỌC BÀ RỊA - VŨNG TÀU KHOA CÔNG NGHỆ KỸ THUẬT - NÔNG NGHIỆP CÔNG NGHỆ CAO  ĐỒ ÁN TỐT NGHIỆP Chuyên ngành: Điện tử công nghiệp ĐỀ TÀI: ĐIỀU KHIỂN NHIỆT ĐỘ, ĐỘ ẨM TRONG PHÒNG BẢO QUẢN THUỐC GVHD: Ths. Phạm Chí Hiếu SVTH: Huỳnh Trung Vẫn Nguyễn Văn Hiếu Lớp: DH16DT TP. Vũng Tàu – Năm 2020
  2. Trường ĐHBRVT Mục Lục CHƯƠNG 1: TỔNG QUAN Error! Bookmark not defined. 1.1 Đặt vấn đề Error! Bookmark not defined. 1.2 Thể thức, phương thức nghiên cứu Error! Bookmark not defined. 1.3 Mục tiêu của đề tài Error! Bookmark not defined. 1.4 Tính tối ưu của đề tài Error! Bookmark not defined. CHƯƠNG 2: GIỚI THIỆU VỀ CÁCH BẢO QUẢN THUỐC VÀ TẦM QUAN TRỌNG CỦA THUỐC Error! Bookmark not defined. 2.1 Giới thiệu chung Error! Bookmark not defined. 2.2 Cách bảo quản thuốc Error! Bookmark not defined. 2.3 Khái niệm về thuốc Error! Bookmark not defined. 2.4 Lợi ích của thuốc Error! Bookmark not defined. 2.5 Khái niệm Internet of things (viết tắt là IoT) Error! Bookmark not defined. 2.6 Đặc tính cơ bản của IoT Error! Bookmark not defined. 2.7 Ứng dụng của IoT Error! Bookmark not defined. CHƯƠNG 3: GIỚI THIỆU THIẾT BỊ Error! Bookmark not defined. 3.1 Kit RF Thu Phát Wifi ESP8266 NodeMCU Lua CP2102Error! Bookmark not defined. 3.1.1 Thông số kỹ thuật của ESP8266 NodeMCU Lua CP2102Error! Bookmark not defined. 3.1.2 Sơ đồ chân Error! Bookmark not defined. 3.2 Bộ điều khiển relay 4 kênh Error! Bookmark not defined. 3.3 Cảm biến nhiệt độ, độ ẩm DHT11 Error! Bookmark not defined. 3.4 Giới thiệu màn hình LCD 16x2 Error! Bookmark not defined. 3.4.1 Hình dáng và kích thước LCD Error! Bookmark not defined. 3.4.2 Chức năng các chân của LCD Error! Bookmark not defined. 3.4.3 Sơ đồ khối của HD44780 Error! Bookmark not defined. 3.4.4 Các thanh ghi Error! Bookmark not defined.
  3. Trường ĐHBRVT 3.4.5 Khởi tạo LCD Error! Bookmark not defined. 3.4.5.1. Mạch khởi tạo bên trong chip HD44780 Error! Bookmark not defined. 3.4.5.2. Khởi tạo bằng lệnh: (chuỗi lệnh) Error! Bookmark not defined. 3.4.6 Module chuyển đổi I2C cho LCD 16x2 Error! Bookmark not defined. 3.5 Máy phun sương Error! Bookmark not defined. Ưu điểm của hệ thống phun sương: Error! Bookmark not defined. 3.6 Máy nén khí kho lạnh Error! Bookmark not defined. Công thức tính phòng lạnh: Error! Bookmark not defined. CHƯƠNG 4: THIẾT KẾ MÔ HÌNH THỰC TẾError! Bookmark not defined. 4.1 Sơ đồ kết nối các thiết bị Error! Bookmark not defined. 4.2. Thiết kế Web và chương trình nạp code Node MCU ESP 8266Error! Bookmark not defined. 4.2.1 Viết code cho ESP 8266 Error! Bookmark not defined. 4.2.1.1 Phần xử lý và điều khiển Error! Bookmark not defined. 4.2.1.2. Nạp chương trình Chuẩn bị: Error! Bookmark not defined. Tiến hành: Error! Bookmark not defined. 4.3. Mạch phần cứng Error! Bookmark not defined. CHƯƠNG 5: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN ĐỀ TÀIError! Bookmark not defined. 5.1 Kết luận Error! Bookmark not defined. 5.1.1 Kết quả đạt được Error! Bookmark not defined. 5.1.2. Hạn chế của đề tài Error! Bookmark not defined. 5.2. Hướng phát triển Error! Bookmark not defined.
  4. Trường ĐHBRVT CHƯƠNG 1 TỔNG QUAN 1.1. Đặt vấn đề Khái niệm về đo nhiệt độ đã có từ lâu, trong tất cả các đại lượng vật lý thì nhiệt độ được quan tâm đến nhiều nhất. Nhiệt độ là yếu tố ảnh hưởng trực tiếp đến tính chất của vật chất và môi trường sống. Trong việc quản nhiệt độ trong phòng thuốc và trong lĩnh vực đo lường điều khiển, quá trình đo nhiệt độ và xử lý kết quả giữ một vai trò quan trọng. Ngày nay khi nền công nghiệp phát triển mạnh, việc kiểm soát nhiệt độ, độ ẩm khi bảo quản các loại thuốc, lưu trữ các sản phẩm trong các phòng chứa là rất quan trọng. Thông thường, với các loại thuốc được lưu trữ, nhiệt độ, độ ẩm trong phòng phải luôn duy trì ở một mức nhất định. Ở nước ta, nhiều người dự trữ thuốc vẫn làm theo các phương pháp thủ công. Khi bảo quản thuốc, quá trình sinh hóa vẫn diễn ra, do đó nhiệt độ và độ ẩm tăng nhanh. Để kiểm tra nhiệt độ, độ ẩm trong phòng thuốc, hàng ngày phải dùng thiết bị đo gắn vào đầu một phòng thuốc hoặc ở các điểm khác nhau, rồi ghi vào sổ. Với phương pháp thủ công này, việc đo nhiệt độ, độ ẩm không chính xác, không đo được nhiệt độ, độ ẩm trong tủ thuốc, không theo dõi được nhiệt độ, độ ẩm thường xuyên. Vì vậy với yêu cầu đó em đã được thầy giao cho đề tài: “Giám sát nhiệt độ - độ ẩm phòng bảo quản thuốc”. Em rất mong nhận được sự chỉ đạo và hướng dẫn của các thầy cô, cũng như ý kiến đóng góp của các bạn sinh viên để đề tài của em hoàn thiện hơn. 1.2. Thể thức, phương thức nghiên cứu Trong quá trình thực hiện, em đã nghiên cứu, tìm hiểu qua sách, báo, các tài liệu trên internet, nghiên cứu cơ sở lý thuyết về kỹ thuật bảo quản thuốc, ứng dụng kiến thức đã biết về lập trình IoT và xây dựng hệ thống giám sát và điều khiển qua websever. Sau đó thiết kế mạch điều khiển, sau đó tiến hành lắp ráp mạch, hoàn thiện mô hình. 1.3. Mục tiêu của đề tài - Nghiên cứu mô hình điều khiển máy lạnh và máy phun sương qua websever. - Nghiên cứu cơ sở lý thuyết để xây dựng mô hình dựa trên các kiến thức đã học
  5. Trường ĐHBRVT về lập trình IoT.
  6. Trường ĐHBRVT - Ứng dụng các công nghệ gần gũi với cuộc sống của con người để xây dựng lên hệ thống điều khiển từ xa. - Xây dựng hệ thống đơn giản, thông minh, ít tốn kém (cả tiền đầu tư và bảo dưỡng), không phụ thuộc vào các ứng dụng sẵn có mà có thể thay đổi. Độ bền của hệ thống cao và mang lại hiệu quả kinh tế cao nhất. 1.4. Tính tối ưu của đề tài - Sử dụng mạng internet qua máy tính hoặc điện thoại, đơn giản trong việc sử dụng góp phần nâng cao chất lượng bảo quản thuốc. - Tiết kiệm được chi phí thuê nhân công giám sát và tăng tính hiệu quả của giám sát. - Chi phí đầu tư thấp, hệ thống ổn định và có độ bền cao. - Mô hình đơn giản, dễ thao tác và sử dụng. - Có tính linh động, có thể mở rộng và phát triển theo nhu cầu của khách hàng sau này.
  7. Trường ĐHBRVT CHƯƠNG 2 GIỚI THIỆU VỀ THUỐC VÀ TẦM QUAN TRỌNG CỦA THUỐC 2.1. Giới thiệu chung Hiện nay, thuốc rất quan trọng cho mọi người. Thuốc là một trong những yếu tố quan trọng trong công tác chăm sóc sức khoẻ nhân dân, có trách nhiệm bảo đảm cung ứng đủ nhu cầu hợp lí về thuốc chữa bệnh cho nhân dân và tiến hành mọi hoạt động có liên quan để bảo đảm cung ứng tốt, bao gồm sản xuất, mua bán, xuất nhập, phân phối, tồn trữ, bảo đảm chất lượng thuốc, sử dụng thuốc hợp lí, an toàn. Những năm gần đây công nghiệp Dược ở nhiều nước và ở nước ta phát triển mạnh mẽ; số mặt hàng thuốc được đưa ra thị trường và được sử dụng ngày càng nhiều trong điều trị cũng gây khó khăn cho việc quản lí thuốc. Chi phí về thuốc ngày càng tăng trong ngân sách Y tế, đặc biệt là các nước đang phát triển. Mỗi nước có những đặc điểm riêng về kinh tế, xã hội và truyền thống văn hóa nên có những yêu cầu và giải pháp cụ thể giải quyết vấn đề thuốc cho nước mình. Ở Việt Nam, trong những năm qua, Nhà nước ta đã ban hành nhiều văn bản chính sách liên quan đến thuốc, nhưng còn chưa đồng bộ. Hiện nay, lượng thuốc chữa bệnh tăng lên nhiều, chủng loại rất phong phú, đa dạng, chất lượng có tiến bộ, việc cung ứng thuốc cho dân đã được cải thiện, nhưng cũng còn một hạn chế như mạng lưới phân phối thuốc chưa đều khắp, có tình trạng lạm dụng thuốc trong điều trị gây tốn kém và tác hại, công tác quản lí nhà nước chưa theo kịp yêu cầu của tình hình thực tế. Vì thế Chính phủ ban hành có chính sách quốc gia về thuốc làm cơ sở cho ngành Dược nói riêng và ngành Y tế nói chung thực hiện tốt chức năng chăm sóc và bảo vệ sức khoẻ nhân dân trong thời kì mới. 2.2. Những loại thuốc đa số ai cũng biết đến Thuốc tiêu hóa, Thuốc đau đầu, giảm đau. Thuốc hạ sốt, cảm cúm. Nước muối sinh lý. Miếng dán salonpas. Thuốc sát trùng. Các loại dầu gió. Các loại thuốc da liễu .
  8. Trường ĐHBRVT Hình 1.1. các loại thuốc thường gặp
  9. Trường ĐHBRVT 2.3. Khái niệm về thuốc Thuốc là chế phẩm có chứa dược chất hoặc dược liệu dùng cho người nhằm mục đích phòng bệnh, chẩn đoán bệnh, chữa bệnh, điều trị bệnh, giảm nhẹ bệnh, Điều chỉnh chức năng sinh lý cơ thể người bao gồm thuốc hóa dược, thuốc dược liệu, thuốc cổ truyền, vắc xin và sinh phẩm. 2.4. Lợi ích của thuốc Thực tế là ngoài yếu tố chủ quan từ người bệnh như độ tuổi, giới tính, tình trạng sức khỏe, tâm sinh lý, thói quen ăn uống và sinh hoạt, thuốc đóng một vai trò rất quan trọng trong sự thành công của quá trình trị liệu. 2.5. Khái niệm Internet of things (viết tắt là IoT) Internet of things (viết tắt là IoT) là một kịch bản của thế giới, khi mà mỗi đồ vật, con người được cung cấp một định danh của riêng mình, và tất cả có khả năng truyền tải, trao đổi thông tin, dữ liệu qua một mạng duy nhất mà không cần đến sự tương tác trực tiếp giữa người với người, hay người với máy tính. IoT đã phát triển từ sự hội tụ của công nghệ không dây, công nghệ vi cơ điện tử và Internet. Nói đơn giản là một tập hợp các thiết bị có khả năng kết nối với nhau, với Internet và với thế giới bên ngoài để thực hiện một công việc nào đó. Hay hiểu một cách đơn giản IoT là tất cả các thiết bị có thể kết nối với nhau. Việc kết nối thì có thể thực hiện qua Wi-Fi, mạng viễn thông băng rộng (3G, 4G), Bluetooth, ZigBee, hồng ngoại Các thiết bị có thể là điện thoại thông minh, máy pha cafe, máy giặt, tai nghe, bóng đèn, và nhiều thiết bị khác. Cisco, nhà cung cấp giải pháp và thiết bị mạng hàng đầu hiện nay dự báo: Đến năm 2020, sẽ có khoảng 50 tỷ đồ vật kết nối vào Internet, thậm chí con số này còn gia tăng nhiều hơn nữa. IoT sẽ là mạng khổng lồ kết nối tất cả mọi thứ, bao gồm cả con người và sẽ tồn tại các mối quan hệ giữa người và người, người và thiết bị, thiết bị và thiết bị. Một mạng lưới IoT có thể chứa đến 50 đến 100 nghìn tỉ đối tượng được kết nối và mạng lưới này có thể theo dõi sự di chuyển của từng đối tượng. Một người sống trong thành thị có thể
  10. Trường ĐHBRVT bị bao bọc xung quanh bởi 1000 đến 5000 đối tượng có khả năng theo dõi. 2.6. Đặc tính cơ bản của IoT - Tính kết nối liên thông (interconnectivity): Với IoT, bất cứ điều gì cũng có thể kết nối với nhau thông qua mạng lưới thông tin và cơ sở hạ tầng liên lạc tổng thể. - Tính không đồng nhất: Các thiết bị trong IoT là không đồng nhất vì nó có phần cứng khác nhau, và network khác nhau. Các thiết bị giữa các network có thể tương tác với nhau nhờ vào sự liên kết của các network. - Thay đổi linh hoạt: Status của các thiết bị tự động thay đổi, ví dụ như ngủ và thức dậy, kết nối hoặc bị ngắt, vị trí thiết bị đã thay đổi, và tốc độ đã thay đổi Hơn nữa, số lượng thiết bị có thể tự động thay đổi. - Quy mô lớn: Sẽ có một số lượng rất lớn các thiết bị được quản lý và giao tiếp với nhau. Số lượng này lớn hơn nhiều so với số lượng máy tính kết nối Internet hiện nay. Số lượng các thông tin được truyền bởi thiết bị sẽ lớn hơn nhiều so với được truyền bởi con người. 2.7. Ứng dụng của IoT IoT có ứng dụng rộng vô cùng, có thể kể ra một số thư như sau: - Quản lí chất thải. - Quản lí và lập kế hoạch quản lí đô thị. - Quản lí môi trường. - Phản hồi trong các tình huống khẩn cấp. - Mua sắm thông minh. - Quản lí các thiết bị cá nhân. - Đồng hồ đo thông minh. - Tự động hóa ngôi nhà. - .
  11. Trường ĐHBRVT CHƯƠNG 3 GIỚI THIỆU THIẾT BỊ 3.1. Kit RF Thu Phát Wifi ESP8266 NodeMCU Lua CP2102 3.1.1. Giới thiệu Kit RF thu phát Wifi ESP8266 NodeMCU Lua là kit phát triển dựa trên nền chip Wifi SoC ESP8266 với thiết kế dễ sử dụng và đặc biệt là có thể sử dụng trực tiếp trình biên dịch của Arduino để lập trình và nạp code, điều này khiến việc sử dụng và lập trình các ứng dụng trên ESP8266 trở nên rất đơn giản. Kit RF thu phát Wifi ESP8266 NodeMCU Lua được dùng cho các ứng dụng cần kết nối, thu thập dữ liệu và điều khiển qua sóng Wifi, đặc biệt là các ứng dụng liên quan đến IoT. Kit RF thu phát Wifi ESP8266 NodeMCU Lua sử dụng chip nạp và giao tiếp UART mới và ổn định nhất là CP2102 có khả năng tự nhận Driver trên tất cả các hệ điều hành Window và Linux, đây là phiên bản nâng cấp từ các phiên bản sử dụng IC nạp giá rẻ CH340. Hình 3.1. ESP8266 NodeMCU Lua CP2102 3.1.2. Thông số kỹ thuật của ESP8266 NodeMCU Lua CP2102 • Hỗ trợ Arduino IDE 1 và Arduino ESP8266.
  12. Trường ĐHBRVT • Sử dụng module wifi ESP – 12E. • Nguồn vào: Cấp nguồn 5V và chương trình thông qua cổng USB. • Kích thước: 49 x 24.5 x 13mm. • IC chính: ESP8266 Wifi SoC.
  13. Trường ĐHBRVT • Phiên bản firmware: Node MCU. • Chip nạp và giao tiếp UART: CP2102. • GPIO tương thích hoàn toàn với firmware - Node MCU. • Cấp nguồn: 5VDC MicroUSB hoặc Vin. • GIPO giao tiếp mức 3.3VDC. • Tích hợp Led báo trạng thái, nút Reset, Flash. • Tương thích hoàn toàn với trình biên dịch Arduino. 3.1.3. Sơ đồ chân Hình 3.2. Sơ đồ chân của ESP8266 NodeMCU Lua CP2102 3.2. Bộ điều khiển relay 4 kênh Relay 4 Kênh gồm 4 rơ le hoạt động tại điện áp 5VDC, chịu được hiệu điện thế lên đến 250VAC 10A. Relay 4 kênh được thiết kế chắc chắn, khả năng cách điện tốt. Trên module đã có sẵn mạch kích relay sử dụng transistor và IC cách ly quang giúp
  14. Trường ĐHBRVT cách ly hoàn toàn mạch điều khiển (vi điều khiển) với rơ le bảo đảm vi điều khiển hoạt động ổn định. Có sẵn header rất tiện dụng khi kết nối với vi điều khiển.
  15. Trường ĐHBRVT Relay 4 kênh sử dụng chân kích mức Thấp (0V), khi có tín hiệu 0V vào chân IN thì relay sẽ nhảy qua thường hở của Relay, ứng dụng với relay module khá nhiều bao gồm cả điện DC hay AC. Hình 3.3. Bộ điều khiển relay 4 kênh Thông số kỹ thuật của bộ điều khiển relay 4 kênh: - Điện áp hoạt động: 5VDC. - Dòng tiêu thụ: 200mA/1Relay - Tín hiệu kích: High (5V) hoặc Low (0V) chọn bằng Jumper. - Relay trên mạch: + Nguồn nuôi: 5VDC. + Tiếp điểm đóng ngắt max: 250VAC-10A hoặc 30VDC-10A - Kích thước: 72mm * 55mm * 19mm. 3.3. Cảm biến nhiệt độ, độ ẩm DHT11 Cảm biến độ ẩm và nhiệt độ DHT11 là cảm biến rất thông dụng hiện nay vì chi phí rẻ và rất dễ lấy dữ liệu thông qua giao tiếp 1 wire (giao tiếp digital 1 dây truyền dữ liệu duy nhất). Bộ tiền xử lý tín hiệu tích hợp trong cảm biến giúp bạn có được dữ liệu chính xác mà không phải qua bất kỳ tính toán nào. So với cảm biến đời mới hơn là DHT22 thì DHT11 cho khoảng đo và độ chính xác kém hơn rất nhiều. Thông tin kỹ thuật của cảm biến nhiệt độ, độ ẩm DHT11: - Nguồn: 3÷5VDC. - Dòng sử dụng: 2.5mA max (khi truyền dữ liệu). - Đo tốt ở độ ẩm 2080%RH với sai số 5%. - Đo tốt ở nhiệt độ 0°C to 50°C sai số ±2°C.
  16. Trường ĐHBRVT - Tần số lấy mẫu tối đa 1Hz (1 giây 1 lần).
  17. Trường ĐHBRVT - Kích thước: 15mm x 12mm x 5.5mm. - 4 chân, khoảng cách chân 0.1''. Hình 3.4. Cảm biến nhiệt độ, độ ẩm DHT11. 3.4. Giới thiệu màn hình LCD 16x2 - Sử dụng rộng dãi và đa dạng trong các ứng dụng khác nhau của VĐK. - Hiển thị 16 ký tự x 2 line, chữ đen trên nền phông xanh lá. - Hướng xem rõ nhất: 06:00 - Có khả năng hiện thị ký tự linh hoạt, đa dạng, trực quan theo font 5x8 Dots có sẵn (hiển thị cả số, chữ, ký tự đồ họa, ký tự đặc biệt ). - Dễ dàng giao tiếp với các loại VĐK theo nhiều giao thức giao tiếp khác nhau. - Tốn rất ít tài nguyên hệ thống và giá thành rẻ. 3.4.1. Hình dáng và kích thước LCD
  18. Trường ĐHBRVT Hình 3.5. Màn hình LCD 16x2 Khi sản xuất LCD, nhà sản xuất đã tích hợp chip điều khiển (HD44780) bên trong lớp vỏ và chỉ đưa các chân giao tiếp cần thiết.
  19. Trường ĐHBRVT 3.4.2. Chức năng các chân của LCD Chân Ký hiệu Mô tả 1 Vss Chân nối đất cho LCD, khi thiết kế mạch ta nối chân này với GND của mạch điều khiển. 2 VDD Chân cấp nguồn cho LCD, khi thiết kế mạch ta nối chân này với VCC= 5V của mạch điều khiển. 3 VEE Điều chỉnh độ tương phản của LCD 4 RS Chân chọn thanh ghi (Register select). Nối chân RS với logic “0” (GND) hoặc logic “1” (VCC) để chọn thanh ghi. + Logic “0”: “Bus DB0-DB7 sẽ nối với thanh ghi lệnh In của LCD (ở chế độ “ghi”-write) hoặc nối với bộ đếm địa chỉ của LCD (ở chế độ “đọc”-read). + Logic “1”: Bus DB0-DB7 sẽ nối với thanh ghi dữ liệu DR bên trong LCD. 5 R/W Chân chọn chế độ đọc/ghi (Read/Write). Nối chân R/W với logic “0” để LCD hoạt động ở chế độ ghi, hoặc nối với logic “1” để LCD ở chế độ đọc. 6 E Chân cho phép (Enable). Sau khi các tín hiệu được đặt lên bus DB0-DB7, các lệnh chỉ được chấp nhận khi có 1 xung cho phép chân E. + Ở chế độ ghi: Dữ liệu sẽ được LCD xuất ra DB0- DB7 khi phát hiện cạnh lên (low-to-high transitioon) của chân E và được LCD giữ ở bus đến khi nà chân E xuống mức thấp.
  20. Trường ĐHBRVT 7-14 DB0- Tám đường của bus dữ liệu dùng để trao đổi thông DB7 tin với MPU. Có 2 chế độ sử dụng 8 đường bus này: + Chế độ 8 bit: Dữ liệu được truyền trên cả 8 đường, với bit MSB là bit DB7. + Chế độ 4 bit: Dữ liệu được truyền trên 4 đường từ DB4 tới DB7, bit MSB là DB7.
  21. Trường ĐHBRVT 15 - Nguồn dương cho đèn nền. 16 - GND cho đèn nền. Ghi chú: Ở chế độ đọc”, nghĩa là MPU sẽ đọc thông tin từ LCD thông qua các chân DBx. Còn khi ở chế độ “ghi”, nghĩa là MPU xuất thông tin điều khiển cho LCD thông qua các chân DBx. 3.4.3. Sơ đồ khối của HD44780 Để hiểu rõ hơn chức năng các chân và hoạt động của chúng, ta tìm hiểu sơ qua chip HD44780 thông qua các khối cơ bản của nó.
  22. Trường ĐHBRVT Hình 3.6. Sơ đồ khối của HD44780
  23. Trường ĐHBRVT 3.4.4. Các thanh ghi - Chip HD44780 có 2 thanh ghi 8 bit quan trọng: Thanh ghi lệnh In (Intructor Register) và thanh ghi dữ liệu DR (Data Register). - Thanh ghi IR để điều khiển LCD, người ta phải “ra lệnh” thong qua tám đường bus DB0-DB7. Mỗi lệnh được nhà sản xuất LCD đánh địa chỉ rỗ ràng. Người dùng chỉ việc cung cấp địa chỉ lệnh bằng cách nạp vào thanh ghi IR. Nghĩa là, khi ta nạp vào thanh ghi IR một chuỗi 8 bit, chip HD44780 sẽ tra bảng mã lệnh tại địa chỉ IR cung cấp và thực hiện lệnh đó. VD: Lệnh “hiển thị màn hình” có địa chỉ lệnh là 00001100 (DB0-DB7) Lệnh “hiển thị màn hình và con trỏ” có mã lệnh là 00001110 - Thanh ghi DR: Thanh ghi DR dùng để chứa dữ liệu 8 bit để ghi vào vùng RAM DDRAM hoặc GGRAM (ở chế độ ghi) hoặc dùng để chứa dữ liệu 2 vùng RAM này giởi ra cho MPU (ở chế độ đọc). Nghĩa là, khi MPU ghi thông tin vào DR, mạch nội bên trong chip sẽ tự động ghi thông tin này vào DDRAM hoặc GGRAM. Hoặc khi thông tin về địa chỉ dược ghi vào IR, dữ liệu ở địa chỉ này trong vùng RAM nội của HD44780 sẽ được chuyển ra DR để truyền cho MPU. Bằng cách điều khiển chân RS và chân MPU. Bảng sau đây tóm tắt lại các thiết lập đối với hai chân RS và R/W theo mục đích giao tiếp. Bảng chức năng chân RS và R/W theo mục đích sử dụng RS R/W Chức năng 0 0 Ghi vào thanh ghi IR để ra lệnh cho LCD 0 1 Đọc vờ bận ở BD7 và giá trị của bộ đếm địa chỉ ở DB0-DB6 1 0 Ghi vào thanh ghi DR 1 1 Đọc dữ liệu từ DR - Cờ báo bận BF (busy Flag): Khi thực hiện các hoạt động bên trong chip, mạch nội bên trong cần một khoảng thời gian để hoàn tất. Khi đang thực thi các hoạt động bên trong chip như thế, LCD bỏ qua mọi giao tiếp với bên ngoài và bật cờ BF (thông qua chân BD7 khi có thiết lập RS=0, R/W=1 lên để báo cho MPU biết nó đang “bận”.
  24. Trường ĐHBRVT Dĩ nhiên, khi xong việc nó sẽ đặt cờ BF ở mức 0.
  25. Trường ĐHBRVT - Bộ đếm địa chỉ AC (Address Counter): Như trong sơ đồ khối, thanh ghi In không trực tiếp kết nối với vùng RAM (DDRAM và CGRAM) mà thông qua bộ đếm địa chỉ AC. Bộ đếm này lại nối với 2 vùng RAM theo kiểu rẽ nhánh. Khi một địa chỉ đươc lệnh nạp vào thanh ghi In thông tin được nối trực tiếp cho vùng 2 RAM nhưng việc lựa chọn vùng RAM tương tác đã được bao hàm trong mã lệnh. Sau khi ghi vào (đọc từ) RAM, bộ đếm AC tự động tăng lên (giảm đi) 1 đơn vị và nội dung AC được xuất ra cho MPU thông qua DB0-DB6 khi có thiết lập RS=0 và R/W=1. Lưu ý: Thời gian cập nhật AC không được tính vào thời gian thực thi lệnh mà được cập nhật sau khi cờ BF lên mức cao (not busy), cho nên khi lập trình hiển thi, bạn phải delay một khoản tADD khoảng 4uS-5uS (ngay sau khi BF=1) trước khi nạp dữ liệu mới. Xem thêm hình bên dưới. Hình 3.7. Giản đồ xung cập nhật AC - Vùng RAM hiển thị DDRAM: (Dispay Data RAM): Đây là vùng RAM dùng để hiển thị, nghĩa là ứng với một địa chỉ của RAM là một ô kí tự trên màn hình và khi bạn ghi vào vùng RAM này một mã 8 bit, LCD sẽ hiển thị tại vị trí tương ứng trên màn hình một kí tự có mã 8 bit mà bạn đã cung cấp. Hình sau đây sẽ trình bày rõ hơn mối liên hệ này: Hình 3.8. Mối liên hệ giữa địa chỉ của DDRAM và vị trí hiển thị của LCD - Vùng RAM nào có 80x8 bit nhớ, nghĩa là chứa được 80 kí tự mã 8 bit. Những vùng RAM còn lại không dùng cho hiển thị có thể dùng như vùng RAM đa mục đích. Lưu ý để truy cập vào DDRAM, ta phải cung cấp địa chỉ cho AC theo mã HEX.
  26. Trường ĐHBRVT - Vùng ROM chứa kí tự CGROM: Character Generator ROM: Vùng ROM này dùng để chứa các mẫu kí tự loại 5x8 hoặc 5x10 điểm ảnh/ kí tự, và định địa chỉ bằng 8 bit. Tuy nhiên, nó chỉ có 208 mẫu kí tự 5x8 và 32 mâu kí tự kiểu 5x10 (tổng cộng là 240 thay vì 2^8=256 mẫu kí tự). Người dùng không thể thay đổi vùng ROM này. Như vậy, để có thể ghi vào vị trí thứ x trên màn hình một kí tự nào đó, người dùng phải ghi vào dùng DDRAM tại địa chỉ x một chuỗi mã kí tự 8 bit trên CGROM. Chú ý là trong bản mã kí tự trong CGROM. - Tập lệnh của LCD: Trước khi tìm hiểu tập lệnh của LCD, sau dây là một vài chú ý khi giao tiếp với LCD: • Tuy nhiên sơ đồ khối của LCD có nhiều khối khác nhau, nhưng khi lập trình điều khiển LCD ta chỉ có thể tác động trực tiếp được vào 2 thanh ghi DR và IR thông qua các chân DBx, và ta phải thiết lập chân RS, R/W phù hợp để chuyển qua lại giữa 2 thanh ghi này. • Với mỗi lệnh, LCD cần một khoảng thời gian để hoàn tất, thời gian này có thể khá lâu đối với tốc độ của MPU, nên ta cần kiểm tra cờ BF hoặc đợi (delay) cho LCD thực thi xong lệnh hiện hành mới có thể ra lệnh tiếp theo. • Địa chỉ của RAM (AC) sẽ tự động tăng (giảm) 1 đơn vị, mỗi khi có lệnh ghi vào RAM (điều này giúp chương trình gọn hơn). • Các lệnh của LCD có thể chia thành 4 nhóm sau: - Các lệnh về kiểu hiển thị. VD: Kiểu hiện thi (1 hành/2 hành), chiều dài dữ liệu (8 bit, 4 bit, ) - Chỉ định địa chỉ RAM nội. - Nhóm lệnh truyền dữ liệu trong RAM nội. - Các lệnh còn lại. - Tập lệnh của LCD. Tên lệnh Hoạt động
  27. Trường ĐHBRVT Clear Display Mã lệnh: DBx=DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 DBx= 0 0 0 0 0 0 0 1 Lệnh Clear Dispay (xóa hiện thị) sẽ ghi một khoảng trống blank (mã hiện kí tự 20H) vào tất cả ô nhớ trong DDRAM, sau đó trỏ bộ đếm địa AC=0 trả lại kiểu hiện thị gốc nếu nó
  28. Trường ĐHBRVT bị thay đổi. Nghĩa là: Tắt hiện thị, con trỏ dời về góc phải (hàng đầu tiên), chế độ tăng AC. Return Home Mã lệnh: DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 Lệnh Return Home trả bộ đếm địa chỉ AC về 0, và trả lại kiểu hiển thị gốc nếu nó bị thay đổi. Nội dung của ĐRAM không thay đổi. Entry mode set Mã lệnh: DBx= DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 DBx = 0 0 0 0 0 1 [I/D] [S] I/D Tăng (I/D=1) hoặc giảm (I/D=0) bộ đếm địa chỉ hiển thị AC 1 đơn vị mỗi khi có hành động ghi hoặc đọc vùng DDRAM. Vị trí con trỏ cũng di chuyển theo sự tăng giảm này. S: Khi S=1 toàn bộ nội dung hiển thị bị dịch sang phải (I/D=0) hoặc sang trái (I/D=1) mỗi khi có hành động ghi vùng DDRAM. Khi S=0: không dịch nội dung hiển thị. Nội dung hiển thị không dịch khi đọc DDRAM hoặc đọc/ghi vùng CGRAM. Display on/off Mã lệnh: DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 control DBx = 0 0 0 0 1 [D] [C] [B] D Hiển thị màn hình khi D=1 và ngược lại. Khi tắt hiển thị, nội dung DDRAM không thay đổi. C: Hiển thị con trỏ khi C=1 và ngược lại. B: Nhấp nháy kí tự tại vị trí con trỏ khi B=1 và ngược lại. Chu kì nhấp nháy khoảng 409,6ms khi mạch dao động nội LCD là 250kHz. Cursor or display Mã lệnh: DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 shift DBx = 0 0 0 1 [S/C] [R/L] * * Mã Lệnh Cursor or display shift dịch chuyển con trỏ hay dữ liệu hiển thị sang trái mà không cần hành động ghi/đọc dữ liệu. Khi hiển thị kiểu 2 dòng, con trỏ sẽ nhảy xuống dòng dưới khi dịch qua vị trí thứ 40 của hàng đầu tiên. Dữ liệu hàng
  29. Trường ĐHBRVT đầu và hàng 2 dịch cùng một lúc. Function set Mã lệnh: DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 DBx = 0 0 1 [DL] [N] [F] * *
  30. Trường ĐHBRVT DL: Khi DL=1, LCD giao tiếp với MPU bằng giao thức 8 bit (từ bit DB7 đến DB0). Ngược lại, giao thức giao tiếp là 4 bit (từ bit DB7 đến bit DB0). Khi chọn giao thức 4 bit, dữ liệu được truyền/nhận 2 lần liên tiếp. với 4 bit cao gởi/nhận trước, 4 bit thấp gởi/nhận sau. N: Thiết lập số hàng hiển thị. Khi N=0: hiển thị 1 hàng, N=1: hiển thị 2 hàng. F: Thiết lập kiểu kí tự. Khi F=0: kiểu kí tự 5x8 điểm ảnh, F=1: kiểu kí tự 5x10 điểm ảnh. Set CGRAM Mã lệnh: DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 address DBx = 0 1 [ACG] [ACG] [ACG] [ACG] [ACG] [ACG] Lệnh này ghi vào AC địa chỉ của CGRAM. Kí hiệu [ACG] chỉ 1 bit của chuỗi dữ liệu 6 bit. Ngay sau lệnh này là lệnh đọc/ghi dữ liệu từ CGRAM tại địa chỉ đã được chỉ định. Set DDRAM Mã lệnh: DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 addres DBx = 1 [AD] [AD] [AD] [AD] [AD] [AD] [AD] Lệnh này ghi vào AC địa chỉ của DDRAM, dùng khi cần thiết lập tọa độ hiển thị mong muốn. Ngay sau lệnh này là lệnh đọc/ghi dữ liệu từ DDRAM tại địa chỉ đã được chỉ định. Khi ở chế độ hiển thị 1 hàng: địa chỉ có thể từ 00H đến 4FH. Khi ở chế độ hiển thị 2 hàng, địa chỉ từ 00h đến 27H cho hàng thứ nhất, và từ 40h đến 67h cho hàng thứ 2.
  31. Trường ĐHBRVT Read BF and Mã lệnh: DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 address DBx =[BF] [AC] [AC] [AC] [AC] [AC] [AC] [AC] (RS=0, R/W=1) Như đã đề cập trước đây, khi cờ BF bật, LCD đang làm việc và lệnh tiếp theo (nếu có) sẽ bị bỏ qua nếu cờ BF chưa về mức thấp. Cho nên, khi lập trình điều khiển, phải kiểm tra cờ BF trước khi ghi dữ liệu vào LCD. Khi đọc cờ BF, giá trị của AC cũng được xuất ra các bit [AC]. Nó là địa chỉ của CG hay DDRAM là tùy thuộc vào lệnh trước đó.
  32. Trường ĐHBRVT Write data to CG Mã lệnh: DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 or DDRAM DBx = [Write data] (RS=1, R/W=0) Khi thiết lập RS=1, R/W=0, dữ liệu cần ghi được đọc vào các chân DBx từ mạch ngoài sẽ được LCD chuyển vào trong LCD tại địa chỉ được xác định từ lệnh ghi địa chỉ trước đó (lệnh ghi địa chỉ cũng xác định luôn vùng RAM cần ghi). Sau khi ghi, bộ đếm địa chỉ AC tự động tăng/giảm 1 tùy theo thiết lập Entry mode. Read data from CG Mã lệnh: DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 or DDRAM DBx = [Read data] (RS=1, R/W=1) Khi thiết lập RS=1, R/W=1, dữ liệu từ CG/DDRAM được chuyển ra MPU thông qua các chân DBx (địa chỉ và vùng RAM đã được xác định bằng lệnh ghi địa chỉ trước đó). Sau khi đọc, AC tự động tăng/giảm 1 tùy theo thiết lập Entry mode, tuy nhiên nội dung hiển thị không bị dịch bất chấp chế độ Entry mode 3.4.5. Khởi tạo LCD Khởi tạo là việc thiết lập các thông số làm việc ban đầu Đối với LCD, khởi tạo giúp ta thiết lập các giao thức làm việc giữa LCD và MPU. Việc khởi tạo chỉ được thực hiện 1 lần duy nhất ở đầu chương trình điều khiển LCD và bao gồm các thiết lập sau: • Display clear: Xóa/ không xóa toàn bộ nội dung hiện thị trước đó. • Function set: Kiểu giao tiếp 8 bit/ 4 bit, số hàng hiển thị 1 hàng/2 hàng., kiểu kí tự 5x8/5x10. • Display on/ off control: Hiện thị/ tắt màn hình, hiện thị/tắt con trỏ, nhấp nháy, không nhấp nháy. • Emtry mode set: các thiết bị kiểu nhập kí tự như: Dịch/không dịch, tự tăng/ giảm (Increment). 3.4.5.1. Mạch khởi tạo bên trong chip HD44780
  33. Trường ĐHBRVT Mỗi khi được cấp nguồn, mạch khởi tạo bên trong LCD sẽ tự động khởi tạo cho nó. Và trong thời gian khởi tạo này cờ BF bật lên 1, đến khi việc khởi tạo hoàn tất tất
  34. Trường ĐHBRVT cờ BF còn giữ trong khoảng 10ms sau khi Vcc đạt đến 4.5 (vì 2.7V thì LCd đã hoạt động). Mạch khởi tạo nội sẽ thiết lập thông số làm việc của LCD như sau: • Display clear: Xóa toàn bộ nội dung hiện thị trước đó. • Function set DL=1; 8 bit; N=0 : 1 hàng; F=0 : 5x8 • Dispay on/ off control: D=0 Dislay off; C=0: Cursor off; Cursor Off; B=0; Blicking off. • Entry mode set: I/D=1: Tăng; S=0 : Không dịch Như vậy sau khi mở nguồn, bạn sẽ thấy màn hình LCD giống như chưa mở nguồn do toàn bộ hiển thị tắt. Do đó, ta phải khởi tạo LCD bằng lệnh. 3.4.5.2. Khởi tạo bằng lệnh: (chuỗi lệnh) Việc khởi tạo bằng lệnh phải tuân theo lưu đồ của nhà sản xuất. Chế độ giao tiếp mặc định của LCD là 8 bit (tự khởi tạo lúc mới bật điện lên). Và khi kết nối mạch theo giao thức 4 bit, 4 bit thấp từ BD0-DB3 không được kết nối đến LCD, nên lệnh khởi tạo ban đầu (lệnh chọn gia thức giao tiếp Function set 0010 ) phải giao tiếp theo chế độ 8 bit (chỉ gởi 4 bit cao một lần, bỏ qua 4 bit thấp). Từ lệnh sau trở đi, phải gởi/ nhận nhận theo 2 nibble. Lưu ý là sau khi thiết lập Function set, bạn không thể thay đổi Function set ngoại trừ thay đổi giao thức giao tiếp (4 bit/8bit). 3.4.6. Module chuyển đổi I2C cho LCD 16x2 I2C sử dụng hai đường truyền tín hiệu. - Một đường xung nhịp đồng hồ (SCL) chỉ đo Master phát đi (thông thường ở 100kHz và 400kHz. Mức cao nhất là 1 Mhz và 3,4 Mhz). - Một đường dữ liệu (SDA) theo 2 hướng.
  35. Trường ĐHBRVT Hình 3.9. Module chuyển đổi I2C cho LCD
  36. Trường ĐHBRVT Có rất nhiều thiết bị có thể cùng được kết nối vào một bus I2C, tuy nhiên sẽ không xảy ra chuyện nhầm lẫn giữa các thiết bị, bởi mỗi thiết bị sẽ nhận ra bởi một địa chỉ duy nhất với một quan hệ chủ/tớ tồn tại trong suốt thời gian kết nối. Mỗi thiết bị có thể hoạt động như là thiết bị nhận hoặc truyền dữ liệu hay có thể vừa truyền vừa nhận. Hoạt động truyền hay nhận còn tùy thuộc vào việc thiết bị đó là chủ (master) hay tớ (Slae). Một thiết bị hay một IC khi kết nới với bus I2C, ngoài một địa chỉ (duy nhất) để phân biệt, nó còn được cấu hình là thiết bị chủ hay tớ. Tại sao lại có sự khác biệt này? Đó là vì trên một bus I2C thì truyền điều khiển thuộc về thiết bị chủ. Thiết bị chủ nắm vai trò tạo xung đồng hồ cho toàn hệ thống, khi giữa hai thiết bị chủ-tớ giao tiếp thì thiết bị chủ có nhiệm vụ tạo xung đồng hồ và quản lý địa chỉ của thiết bị trong suốt quá trình giao tiếp. Thiết bị chủ giữ vai trò chủ động, còn thiết bị tớ giữ vai trò bị động trong việc giao tiếp. Về lý thuyết lẫn thực tế I2C sử dụng 7 bit để định địa chỉ, do đó trên một bus có thể có tới 2^7 địa chỉ tương ứng với 128 thiết bị có thể kết nối, 16 địa chỉ còn lại được sử dụng vào mục đích tiêng. Bit còn lại quy định việc đọc hay ghi dữ liệu (1 là write, 0 là read). Điểm mạnh của I2C chính là hiệu suất và sự đơn giảm của nó: Một khối điều khiển trung tâm có thể điều khiển cả một mạng thiết bị mà chỉ cần hai lối ra điều khiển. Ngoài I2C còn có chế độ 10 bit địa chỉ tương đương cới 1024 địa chỉ, tương tự như 7 bit, chỉ có 1008 thiết bị có thể kết nối, còn lại 16 địa chỉ sẽ dùng để sử dụng mục đích riêng. 3.5. Máy phun sương Máy bơm phun sương là một thiết bị chuyên được sử dụng trong làm mát không khí. Hoạt động dựa trên nguyên lý hấp thụ sự bay hơi của nước để làm giảm nhiệt độ môi trường, khi các béc phun sương phun ra những hạt hơi nước li ti mỏng, nhẹ vào không khí sẽ giúp làm giảm nhiệt độ xuống từ 5-10oC. Bên cạnh đó, trong quá trình làm mát, hệ thống máy phun sương còn giúp tăng độ ẩm không khí lên đến 90% để tạo cảm giác thoáng mát, dễ chịu cho người dùng. Đặc biệt, hoạt động dựa trên nguyên lý làm mát hoàn toàn tự nhiên, khống chế độ phun sương hiệu quả, máy phun sương tạo độ ẩm còn rất an toàn với sức khỏe người sử
  37. Trường ĐHBRVT dụng, đồng thời không hề gây ảnh hướng đến các thiết bị điện tử xung quanh.
  38. Trường ĐHBRVT Hình 3.10. Máy phun sương 220v Ưu điểm của hệ thống phun sương: - Chi phí thấp. - Đáng kể làm giảm nhiệt độ môi trường xung quanh. - Làm cho không gian trong nhà và ngoài trời thú vị hơn. - Loại bỏ bụi. - Đa năng và linh hoạt. - Dễ dàng lắp đặt. - Chi phí năng lượng thấp. - Hiệu quả cao. 3.6. Máy nén khí kho lạnh Máy nén lạnh là một thiết bị quan trọng đáp ứng cho việc điều hòa không khí, làm lạnh cho các công trình và thiết bị ở quy mô lớn. Chúng nén môi chất lạnh ở áp suất thấp lên áp suất cao, nhiệt độ cao, bên cạnh đó còn loại bỏ hơi khỏi dàn bay hơi. Phần lớn máy nén lạnh (máy nén môi chất lạnh) thường có kích thước lớn, các máy nén lạnh là thiết bị cơ khí có kích thước lớn, tuy nhiên những máy nén này được thiết kế đặc biệt cho hệ thống điều hòa không khí và không đáp ứng chức năng cung cấp nhiệt hay thông gió.
  39. Trường ĐHBRVT Hình 3.11. Máy nén làm lạnh (máy nén dàn ngưng) Hình 3.12. Sơ đồ nguyên lý hệ thống kho lạnh (1. Máy nén lạnh; 2. Bình ngưng; 3. Dàn lạnh; 4. Bình tách lỏng; 5. Tháp giải nhiệt; 6. Bơm giải nhiệt; 7. Kho lạnh). Công thức tính phòng lạnh: P= V/(35-40)*9000 = Btu/h (P: Công suất phòng lạnh; V: thể tích phòng lạnh) Lưu ý: Theo tiêu chuẩn thì phòng 600 btu/m2 đối với phòng ít ánh sáng và 900 btu/m2
  40. Trường ĐHBRVT đối với phòng có nhiều ánh sáng. Tuy diện tích phòng giống nhau nhưng chiều cao khác nhau nên công thức trên sẽ chính xác hơn.
  41. Trường ĐHBRVT CHƯƠNG 4 THIẾT KẾ MÔ HÌNH THỰC TẾ 4.1. Giới thiệu chung hệ thống Hệ thống sử dụng module node MCU Esp 8266 V12 điều khiển phun sương và máy lạnh được biểu diễn như lưu đồ sau: Nguyên lý hoạt động: Hệ thống được giám sát nhiệt độ qua cảm biến DHT11. Mức nhiệt độ sẽ do người dùng thiết lập. Khi nhiệt độ đạt đến ngưỡng ≥ 32oC hay độ ẩm đạt ngưỡng ≤ 72% thì hệ thống truyền tín hiệu về MCU ESP 8266 sẽ kích hoạt Relay mở máy lạnh (nếu nhiệt độ dưới ngưỡng set) hoặc máy phun phương (nếu độ ẩm dưới ngưỡng set). Và sẽ được bật cho đến khi nhiệt độ giảm xuống thấp hơn 32oC hoặc độ ẩm giảm xuống thấp 72% thì hệ thống máy phun và máy lạnh sẽ ngừng hoạt động.
  42. Trường ĐHBRVT Hệ thống làm việc liên tục ổn định, xử lý khoa học tránh các thao tác thừa khi điều khiển động cơ.
  43. Trường ĐHBRVT 4.2. Sơ đồ kết nối các thiết bị Module màn hình LCD16x02-I2C ESP 8266 GND GND Vcc 5V SDA D6 SCL D7 Hình 4.1. Sơ đồ nối dây ESP+ DHT11 + LCD 16x02-I2C 4.3. Thiết kế Web và chương trình nạp code Node MCU ESP 8266 4.3.1. Thiết kế Web Sử dụng ngôn ngữ Html5 viết chương trình để thiết kế websever theo ý thích của mình.
  44. Trường ĐHBRVT Hình 4.2 Ảnh thiết kế sơ bộ 4.3.2. Viết code cho ESP 8266 4.3.2.1. Phần khai báo: #include #include #include #include #include "DHTesp.h" char ssid[] = "Huynh Trung Van"; char pass[] = "606386899396"; DHTesp dht; ESP8266WebServer server(80); const int Pump1 = D0; int status_a1 = 0; int status_p1 = 0; const int Pump2 = D4; int status_a2 = 0; int status_p2 = 0; int Temp =0; int Humi =0;
  45. Trường ĐHBRVT long timenow = 0; 4.3.2.2. Phần xử lý và điều khiển void setup() { pinMode(Pump1,OUTPUT);
  46. Trường ĐHBRVT pinMode(Pump2,OUTPUT); digitalWrite(Pump1,0); digitalWrite(Pump2,0); Serial.begin(115200); WiFi.begin(ssid,pass); Serial.println(); // Wait for connection while (WiFi.status() != WL_CONNECTED){ delay(500); Serial.print("."); } Serial.println(); Serial.print("Connected to "); Serial.println(ssid); Serial.print("IP address: "); Serial.println(WiFi.localIP()); if (MDNS.begin ("esp8266")){ Serial.println("MDNS responder started"); } server.on("/",handleRoot); server.on("/inline",[](){ server.send(200,"text/plain", "this works as well"); }); server.on("/auto1", HTTP_GET,[](){ status_a1 = 1 - status_a1 ; digitalWrite(Pump1,status_a1); server.send(200); }); server.on("/auto2", HTTP_GET,[](){ status_a2 = 1 - status_a2 ;
  47. Trường ĐHBRVT digitalWrite(Pump2,status_a2); server.send(200);
  48. Trường ĐHBRVT }); server.on("/AllButton", HTTP_GET, [](){ String json = "{"; json += "\"auto1\":"+String(status_a1); json += ","; json += "\"auto2\":"+String(status_a2); json += ","; json += "\"Pump1\":"+String(digitalRead(Pump1)); json += ","; json += "\"Pump2\":"+String(digitalRead(Pump2)); json += "}"; server.send(200,"text/json",json); json = String(); }); server.on("/ReadDHT",HTTP_GET,[](){ String json = "{"; json += "\"Temp\":"+String(Temp); json += ","; json += "\"Humi\":"+String(Humi); json += ","; json += "\"Pump1\":"+String(digitalRead(Pump1)); json += ","; json += "\"auto1\":"+String(status_a1); json += ","; json += "\"Pump2\":"+String(digitalRead(Pump2)); json += ","; json += "\"auto2\":"+String(status_a2); json += "}";
  49. Trường ĐHBRVT server.send(200,"text/json",json); json = String(); }); server.begin();
  50. Trường ĐHBRVT Serial.println ("HTTP server started"); dht.setup(D3); } void loop() { server.handleClient(); if(millis()-timenow > 5000) { ReadDHT(); timenow = millis(); } void auto_p1() //DIEU KHIEN BOM TU DONG { if (Humi>72) {status_p1 = 1; digitalWrite(Pump1,status_p1);} if (Humi =32) { status_p2 = 0; digitalWrite(Pump2,status_p2);}} 4.3.2.3. Nạp chương trình Chuẩn bị: • 1 Node MCU ESP8266 V12. • Arduino IDE bản mới nhất nhé.
  51. Trường ĐHBRVT Tiến hành: Sau khi down bản mới nhất của Arduino IDE, các bạn tiến hành cài đặt như bình thường và mở chương trình.
  52. Trường ĐHBRVT Hình 4.3. Giao diện Arduino IDE Để tiến hành cài đặt thư viện và chức năng nạp code cho IDE các bạn làm như sau: Vào File→Preferences, vào textbox Additional Board Manager URLs thêm đường link sau vào: Click OK để chấp nhận.
  53. Trường ĐHBRVT
  54. Trường ĐHBRVT Tiếp theo vào Tool→Board→Boards Manager Đợi một lát để chương trình tìm kiếm. Ta kéo xuống và click vào ESP8266 by ESP8266 Community, click vào Install. Chờ phần mềm tự động download và cài đặt. Sau khi kết nối và cài đặt thư viện thành công ta tiến hành nạp code cho Node MCU ESP 8266:
  55. Trường ĐHBRVT 4.4. Mạch phần cứng Hình 4.4 Mạch cứng thực tế 1 Hình 4.5. Mạch cứng thực tế 2
  56. Trường ĐHBRVT CHƯƠNG 5 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN ĐỀ TÀI 5.1. Kết luận 5.1.1. Kết quả đạt được ✓ Sau khi hoàn thành đề tài em đã học hỏi thêm được rất nhiều khiến thức có ích cho công việc sau này, đề tài có tính ứng dụng thực tế cao, đây là những kết quả bản thân em đạt được. ✓ Nghiên cứu và sử dụng được Node MCU ESP 8266 V12, phần mềm lập trình IDE 1.8.5 và IoT trong việc thiết kế websever để điều khiển động cơ đáp ứng đúng yêu cầu của hệ thống. ✓ Phát triển kỹ năng tư duy sáng tạo, khả năng học hỏi và giải quyết vấn đề. ✓ Khai thác được sức mạnh công nghệ thông tin trong việc tìm kiếm tài liệu và nghiên cứu. ✓ Hiểu được về ứng dụng của IoT trong lĩnh vực khoa học và đời sống và cách thức hoạt động của nó áp dụng vào thực tiễn. 5.1.2. Hạn chế của đề tài ➢ Chưa có kinh nghiệm chuyên sâu về IoT nên việc thiết kế còn giới hạn. ➢ Chưa phát triển được việc giám sát thiết bị khi lỗi vận hành và trục trặc. ➢ Hệ thống còn chưa tự động chuyển sang thiết bị phụ khi bị lỗi như trên. ➢ Chưa thiết kế hệ thống bảo mật riêng cho người dùng. ➢ Bộ nhớ ROM ít nên hạn chế trong việc viết web. 5.2. Hướng phát triển ❖ Mở rộng thêm ứng dụng của Node MCU ESP 8266 vào thực tiễn. Tận dụng tối đa khả năng của IoT để phát triển bền vững. ❖ Thiết kế và xây dựng hệ thống ổn định bền vững có tính bảo mật cao. ❖ Phát triển đề tài vào các quy mô lớn, để tăng năng suất và giảm thiệt hại về tài sản cũng như tiết kiệm chi phi cho nhà đầu tư.
  57. TÀI LIỆU THAM KHẢO 1. Kỹ thuật điện tử. (1999) Đỗ Xuân Thụ. – NXB giáo dục. 2. Giáo trình cảm biến. (2000) Phan Quốc Phô, Nguyễn Đức Chiến. – NXB Khoa học và kĩ thuật. 3. Vi điều khiển câu trúc lập trình và ứng dụng. (2008) Kiều Xuân Thực, Vũ Thị Hương, Vũ Trung Kiên – NXB Giáo Dục. 4. Website 5. Website 6. Website 7. Website 8. Website 9. Website 10.Website