Khối điều khiển...................................................................................................4
2.1.2.1
Sơ lược về NodeMCU 4
2.1.2.2
Khối relay 6
CHƯƠNG 3. : KẾT QUẢ MÔ PHỎNG 8 CHƯƠNG 4. : KẾT LUẬN 9 4.1
ƯU ĐIỂM: 9
4.2
NHƯỢC ĐIỂM: 9
4.3
Hướng phát triển
Nông Trại Thông Minh
9
ĐỒ ÁN 2 Trang 2/26
DANH MỤC CÁC HÌNH VẼ Hình 2. 1 : DHT11....................................................................................................................3 Hình 2. 2 : NodeMCU ESP8266.............................................................................................4 Hình 2. 3 : Sơ đồ chân NodeMCU..........................................................................................5 Hình 2. 4 : Hình thực tế esp8266............................................................................................6 Hình 2. 5 : Module Relay......................................................................................................6
Hình 3. 1 : Mạch in...................................................................................................................8 Hình 3. 2 : Mạch Thực...........................................................................................................9
Nông Trại Thông Minh
ĐỒ ÁN 2 Trang 3/26
CHƯƠNG 1. : TỔNG QUAN VỀ ĐỀ TÀI
GIỚI THIỆU ĐỀ TÀI 1.1 Tính thực tế của đề tài Trong cuộc sống hiện tại có rất nhiều yếu tố ảnh hưởng đến quá trình sản xuất và con người. Trong đó nhiệt độ và độ ẩm là yếu tố được đề cập tới rất nhiều, vì thế mạch đo nhiệt độ và độ ẩm ra đời là sự tất yếu. Với sự phát triển công nghệ như hiện nay thì việc sản xuất mạch đo độ ẩm đơn giản mà độ chính xác cao là điều khá đơn giản. Việc áp dụng trong thực tế càng phổ biến hơn khi độ ẩm đóng vai trong rất lớn cho kết quả sản lượng cây trồng. Về việc phát triển của công nghệ hiện đại ngày nay, khi internet đang phát triển mạnh mẽ, thì việc áp dụng những ứng dụng của internet vào nông nghiệp là tất nhiên. Với đề tài “Nông trại thông minh” ta có thể đo cùng lúc nhiệt độ và độ ẩm rồi gửi thông tin qua wifi lên web, rồi từ web điều khiển xuống hệ thống tưới nước, nhưng vì đề tài nằm trong phạm vi là Đồ Án 2 nên còn nhiều hạn chế và độ chính xác của mạch không cao. 1.2 Sơ lượt về hệ thống và sơ đồ khối của hệ thống 1.2.1 Sơ lượt về hệ thống Bộ mạch được điều khiển bởi Kit ESP8266 NodeMCU đóng vai trò điều khiển và nhập xuất dữ liệu từ các thiết bị giao tiếp với nó. Như đề tài này cảm biến nhiệt độ và độ ẩm được giao tiếp với KIT ESP8266 NodeMCU và xuất nhập dữ liệu đọc độ ẩm từ cảm biến sau đó giao tiếp với wifi và truyên lên web.
Nông Trại Thông Minh
ĐỒ ÁN 2 Trang 4/26
Phần cứng sau khi thi công hoàn thành thì Kit được nạp chương trình qua các lệnh được thiết kế bằng ngôn ngữ C như những tập lệnh điều khiển vi điều khiển để mạch hoạt động một cách trơn tru.
1.2.2 Sơ đồ khối
Cảm biến nhiệt
Nguồn
độ, độ ẩm
NodeMCU
WEB
Nông Trại Thông Minh
Relay
ĐỒ ÁN 2 Trang 5/26
CHƯƠNG 2. : THIẾT KẾ 2.1 Chức năng các khối 2.1.1 Khối cảm biến Cảm biến nhiệt độ và độ ẩm: Cảm biến nhiệt độ và độ ẩm DHT11 ra đời sau và được sử dụng thay thế cho dòng SHT1x ở những nơi không cần độ chính xác cao về nhiệt độ và độ ẩm. Cảm biến sử dụng giao tiếp số theo chuẩn 1 dây.
Hình 2. 1 : DHT11
Nguyên lý hoạt động: Để có thể giao tiếp với DHT11 theo chuẩn 2 chân vi xử lý thực hiện theo 2 bước: Gửi tín hiệu muốn đo (Start) tới DHT11 xác nhận lại. Khi giao tiếp được với DHT11, Cảm biến sẽ gửi lại 5 byte dữ liệu và nhiệt độ đo được
Nông Trại Thông Minh
ĐỒ ÁN 2 Trang 6/26
2.1.2 Khối điều khiển 2.1.2.1
Sơ lược về NodeMCU
Phần cứng:
Hình 2. 2 : NodeMCU ESP8266
Sợ bộ về ESP8266 NodeMCU: Khả năng hoạt động như một modem wifi:
Có thể quét và kết nối đến một mạng wifi bất kỳ (Wifi Client) để thực hiện các tác vụ như lưu trữ, truy cập dữ liệu từ server.
Tạo điểm truy cập wifi (Wifi Access Point) cho phép các thiết bị khác kết nối, giao tiếp và điều khiển. Là một server để xử lý dữ liệu từ các thiết bị sử dụng internet khác. Nguồn vào và nguồn ra ESP8266 NodeMCU nhận nguồn từ cổng micro USB tích hợp sẵn trên mạch, giúp việc nạp code trở nên dễ dàng hơn. Bên cạnh đó, việc cấp nguồn cho module cũng linh động hơn vì bạn có thể sử dụng sạc dự phòng thay cho nguồn từ USB trên máy tính (nguồn cấp tối đa là 5V). ESP8266 NodeMCU có thể cung cấp nguồn cho tối đa 4 thiết bị: 3 nguồn ra 3.3V và một nguồn từ chân Vin (điện thế bằng điện thế từ cổng micro USB). Khi sử dụng các chân cấp nguồn này, hãy luôn kiểm tra để chắc chắn không cắm nhầm chân dương (trên mạch in là 3v3 và Vin) và chân âm (GND). Tuy nhiên, 3 chân 3.3V đều
Nông Trại Thông Minh
ĐỒ ÁN 2 Trang 7/26
được bảo vệ, khi cắm ngược cực, module sẽ chỉ nóng lên và dừng hoạt động. Chân Vin thì KHÔNG, cắm ngược cực ở chân này là module bốc khói.
Truyền và nhận tín hiệu ESP8266 NodeMCU có tổng cộng 13 chân GPIO (General-purpose input/output) – chân có thể truyền/nhận tín hiệu (trên mạch in từ D0 đến D8 và RX, TX, SD2, SD3).
Hình 2. 3 : Sơ đồ chân NodeMCU
Nông Trại Thông Minh
ĐỒ ÁN 2 Trang 8/26
Hình 2. 4 : Hình thực tế esp8266
2.1.2.2
Khối relay
Hình 2. 5 : Module Relay
Thông số kỹ thuật:
Sử dụng điện áp nuôi 5VDC. Relay đóng ngắt ở điện thế kích bằng 0V nên có thể sử dụng cho cả tín hiệu 5V hay 3v3 (cần cấp nguồn ngoài), mỗi Relay tiêu thụ dòng khoảng 80mA. Điện thế đóng ngắt tối đa: AC250V - 10A hoặc DC30V - 10A. Có đèn báo đóng ngắt trên mỗi Relay.
Nông Trại Thông Minh
ĐỒ ÁN 2 Trang 9/26
Cách thức sử dụng: Rơ-le bình thường gồm có 6 chân. Trong đó có 3 chân để kích, 3 chân còn lại nối với đồ dùng điện công suất cao. 1. 3 chân dùng để kích +: cấp hiệu điện thế kích tối ưu vào chân này. - : nối với cực âm S: chân tín hiệu, tùy vào loại module rơ-le mà nó sẽ làm nhiệm vụ kích rơ-le Nếu bạn đang dùng module rơ-le kích ở mức cao và chân S bạn cấp điện thế dương vào thì module rơ-le của bạn sẽ được kích, ngược lại thì không. Tương tự với module rơ-le kích ở mức thấp. 2. 3 chân còn lại nối với đồ dùng điện công suất cao: COM: chân nối với 1 chân bất kỳ của đồ dùng điện, nhưng mình khuyên bạn nên mắc vào đây chân lửa (nóng) nếu dùng hiệu điện thế xoay chiều và cực dương nếu là hiệu điện một chiều. ON hoặc NO: chân này bạn sẽ nối với chân lửa (nóng) nếu dùng điện xoay chiều và cực dương của nguồn nếu dòng điện một chiều. OFF hoặc NC: chân này bạn sẽ nối chân lạnh (trung hòa) nếu dùng điện xoay chiều và cực âm của nguồn nếu dùng điện một chiều.
Nông Trại Thông Minh
ĐỒ ÁN 2 Trang 10/26
CHƯƠNG 3. : KẾT QUẢ MÔ PHỎNG
Hình 3. 1 : Mạch in
Nông Trại Thông Minh
ĐỒ ÁN 2 Trang 11/26
Hình 3. 2 : Mạch Thực
Nông Trại Thông Minh
ĐỒ ÁN 2 Trang 12/26
CHƯƠNG 4. : KẾT LUẬN 4.1 Ưu Điểm: _ Hoạt động trong thời gian dài 4.2 Nhược Điểm: _ Mạch đo chưa chính xác lắm _ Hàn mạch chưa được đều _ Cảm biến nhiệt độ cũng có thể gặp sai sót do môi trường ngoài tác động lên cảm biến, do vậy cần có những bộ xử lý tín hiệu từ cảm biến 4.3 Hướng phát triển _ ESP8266 NodeMCU đang phát triển ở việt nam rất mạnh về ứng dụng về IoT ( Internet of Thing) _ ESP8266 NodeMCU có thể làm được như Nhà Thông Minh, Đồng Hồ Thông Minh, ...
_ Về đề tài nông trại thông mình của em thì có thể phát triển và ứng dụng trong thực tế rất cao, chúng ta có thể thêm những cảm biến như cảm biến ánh sáng, cảm biến độ ẩm đất,... thêm nhiều relay để điều khiển nhiều thứ hơn trong nông nghiệp,...
String _activeRelayOn = ""; String _activeRelayOff = "active"; if ( _relay == 1) { _activeRelayOn = "active"; _activeRelayOff = "";} // code HTML cho phần giao diện điều khiển String s; s = "<!DOCTYPE html>"
"<html>" "<head><style>" "html, body {height:100%}" "a {text-decoration:none;}" ".css
void loop() { // Read the current temperature and humidity measured by the sensor float temp = dht.readTemperature(); float hum = dht.readHumidity(); ubiSave_value(String(variable_id1), String(temp)); ubiSave_value(String(variable_id2), String(hum));
Serial.println("Ubidots data");
Serial.println("temperature: "+String(temp));
if ( temp > 31 ) { digitalWrite (relayPin, HIGH); // bat den
Nông Trại Thông Minh
ĐỒ ÁN 2 Trang 24/26
} else { digitalWrite (relayPin, LOW); // tat den }
Serial.println("humidity: "+String(hum)); Serial.println(" Going to Sleep for a while !" );
delay(sleep_time*100); }
void ubiSave_value(String variable_id, String value) { String var = "{\"value\": " + value +"}"; // We'll pass the data in JSON format String length = String(var.length());
// If we get a proper connection to the Ubidots API if (client.connect("things.ubidots.com", 80)) { Serial.println("Connected to Ubidots...");