Professional Documents
Culture Documents
C212 - Hệ thống giám sát và cảnh báo độ ẩm đất
C212 - Hệ thống giám sát và cảnh báo độ ẩm đất
HÀ NỘI, 05/2023
LỜI CẢM ƠN
Lời cảm ơn của nhóm sinh viên (SV) tới người yêu, gia đình, bạn bè, thầy cô, và
chính bản thân nhóm vì đã chăm chỉ và quyết tâm thực hiện Bài tập lớn Môn ABC
để đạt kết quả tốt nhất, nên viết phần cảm ơn ngắn gọn, tránh dùng các từ sáo rỗng,
giới hạn trong khoảng 100-150 từ.
TÓM TẮT NỘI DUNG ĐỒ ÁN
Sinh viên viết tóm tắt Đề tài Bài tập lớn của nhóm mình trong mục này, với 200
đến 350 từ. Theo trình tự, các nội dung tóm tắt cần có: (i) Giới thiệu đề tài (tại sao
lựa chọn đề tài đó về mặt ứng dụng và mặt kỹ thuật), (ii) Nội dung chính của đề
tài Bài tập lớn như các yêu cầu cần thực hiện, phần cứng hệ thống, phần mềm hệ
thống, và phương pháp thực hiện, (iii) Kết quả đạt được sau cùng là gì. Sinh viên
cần viết thành đoạn văn, không được viết ý hoặc gạch đầu dòng.
MỤC LỤC
i
DANH MỤC BẢNG BIỂU
ii
DANH MỤC THUẬT NGỮ VÀ TỪ VIẾT TẮT
iii
CHƯƠNG 1. GIỚI THIỆU ĐỀ TÀI
1
CHƯƠNG 2. NỘI DUNG ĐỀ TÀI
Trong esp8266 số GPIO không khớp với các nhãn được in trên bo mạch
Nhãn D0(GPIO16) input: không gián đoạn, output không hỗ trợ PWM hoạc 12C,
ở mức cao khi khởi động, sử dụng để đánh thức khi ngủ sâu
2
CHƯƠNG 2. NỘI DUNG ĐỀ TÀI
Nhãn D1(GPIO5) input: OK, output OK, thường được sử dụng như SCL(12C)
Nhãn D2(GPIO4) input: OK, output OK, thường được sử dụng nhứu SDA(12C)
Nhãn D3(GPIO0) input: pulled up, output OK, kết nối với nút Flash, khởi động
không thành công nếu pulled LOW
Nhãn D4(GPIO2) input: pulled up, output OK, mức cao khi khởi động, kết nối với
đèn led trên bo mạch, khởi động không thành công nếu pulled LOW
Nhãn D5(GPIO14) input: OK, output OK, SPI(SCLK)
Nhãn D6(GPIO12) input: OK, output OK, SPI(MISG)
Nhãn D7(GPIO13) input: OK, output OK, SPI(MOSI)
Nhãn D8(GPIO15) input: pulled to GND, output OK,SPI(CS), khởi động không
thành công nếu pulled up
Nhãn RX(GPIO3) input: OK, output chân RX, mức cao khi khởi động
Nhãn TX(GPIO1) input: chân TX, output OK, mức cao khi khởi động, đầu ra gỡ
lỗi khi khởi động, khởi động không thành công nếu pulled LOW
Nhãn A0(ADC0) input: analog input, output không hỗ trợ
Lưu ý:
GPIO6 tới GPIO11 thường được sử dụng để kết nối với flash chip trong các bo
ESP8266. Vì vậy, những chân này không được khuyến khích sử dụng cho các mục
đích khác.
Có thể ngăn cản quá trình Boot xẩy ra trên ESP8266 nếu một trong các chân sau
được thiết lập ở mức LOW hoặc HIGH. Danh sách sau miêu tả trạng thái các chân
trong quá trình BOOT. • GPIO16: chân ở mức high trong quá trình BOOT • GPIO0:
Boot lỗi nếu chân ở mức LOW • GPIO2: chân ở mức high trong quá trình BOOT,
boot lỗi nếu chân ở mức LOW • GPIO15: boot lỗi nếu chân ở mức HIGH • GPIO3:
chân ở mức high trong quá trình BOOT • GPIO1: chân ở mức high trong quá trình
BOOT, boot lỗi nếu chân ở mức LOW • GPIO10: chân ở mức high trong quá trình
BOOT • GPIO9: chân ở mức high trong quá trình BOOT
Các chân ở mức HIGH trong quá trình BOOT • GPIO16 • GPIO3 • GPIO1 •
GPIO10 • GPIO9
Ngoài ra, các chân GPIO khác, ngoại trừ GPIO5 và GPIO4, có thể phát ra tín hiệu
điện áp thấp trong qua trình boot. Điều này có thể gây ra những vấn đề rắc rối nếu
những chân này kết nối tới các transistor hoặc relay.
Analog Input ESP8266 chỉ hỗ trợ đọc tín hiệu analog trên một chân GPIO. Chân
GPIO này được gọi là ADC0 và nó thường được gắn nhãn là A0. Điện áp đầu vào
lớn nhất của chân ADC0 từ 0 tới 1V nếu bạn đang sử dụng chip ESP8266 để trần
(Chip chưa gắn các linh kiện bổ trợ). Nếu bạn đang sử dụng một bo phát triển như
như ESP8266 12-E NodeMCU, điện áp đầu vào sẽ vào khoảng từ 0 tới 3.3V bởi
3
CHƯƠNG 2. NỘI DUNG ĐỀ TÀI
vì những bo này đã chứa một bộ phân chia điện áp bên trong cho chip. LED tích
hợp trên bo Hầu hết các bo phát triển của ESP8266 có một LED đã được tích hợp
sẵn. LED này thường được kết nối tới chân GPIO2. LED được kết nối tới một điện
trở pull-down, vì vậy khi bạn gửi một tín hiệu mức HIGH, LED sẽ tắt. Chân RST
Khi chân RST được thiết lập ở trạng thái LOW, ESP8266 sẽ reset. Điều này tương
đượng với việc bạn ấn nút RESET được tích hợp trên các bo phát triển. GPIO0 Khi
chân GPIO0 được thiết lập ở trạng thái LOW, nó sẽ kích hoạt chế độ bootloader cho
ESP8266. Điều này tương đương với việc bạn ấn nút FLASH/BOOT được tích hợp
trên các bo phát triển. GPIO16 GPIO16 có thể được sử dụng để đánh thức ESP8266
khi nó đang ở trạng thái deep sleep (ngủ sâu). Để đánh thức ESP8266 từ chế độ
deep sleep, GPIO16 nên kết nối tới chân RST. I2C ESP8266 không hỗ trợ về mặt
phần cứng cho giao thức I2C, tuy nhiên chúng ta có thể lập trình cho nó bằng phần
mềm. Vì vậy bạn có thể sử dụng bất cứ chân GPIO nào cho I2C. Thông thường
các chân sau được sử dụng như là các chân I2C: GPIO5: SCL GPIO4: SDA SPI
Những chân được sử dụng như là các chân SPI: GPIO12: MISO GPIO13: MOSI
GPIO14: SCLK GPIO15: CS Các chân PWM ESP8266 cho phép lập trình PWM
bằng phần mềm trên tất cả các chân I/O: GPIO0 tới GPIO16. Các tín hiệu PWM
trên ESP8266 có độ phân giải 10 bit.
Các chân Interrupt (Ngắt) ESP8266 hỗ trợ các chế độ interrupt trên bất cứ chân
GPIO nào, trừ chân GPIO16.
- Board test: sử dụng để cắm các thành phần phần cứng
- Relay: là một công tắc điện từ để điều khiển bật tắt máy bơm. Nếu hệ thống tắt
thì Relay báo đèn đỏ, nếu hệ thống báo bật thì relay báo đèn xanh. Relay được sử
dụng để thông báo trạng thái bật tắt nên tiện cho người phát triển quan sát.
4
CHƯƠNG 2. NỘI DUNG ĐỀ TÀI
- Đèn Led: Led để hiển thị chế độ của hệ thống đang hoạt động: độ ẩm thấp,
trung bình, cao. Hệ thống sử dụng ba đèn để hiển thị ba mức độ ẩm, thuận tiện cho
người phát triển quan sát.
- Cảm biến độ ẩm: cảm biến đo độ ẩm đất hoạt động với điện áp 3.3 – 12VDC.
Tín hiệu đầu ra Analog theo điện áp cấp nguồn tương ứng hoặc Digital (High hoặc
Low) có thể điều chỉnh độ ẩm mong muốn bằng biến trở thông qua mạch so sánh
tích hợp. Cảm biến giúp đo độ ẩm đất và gửi về bộ xử lý.
5
CHƯƠNG 2. NỘI DUNG ĐỀ TÀI
hoặc chạy cục bộ máy chủ Blynk . Đây là mã nguồn mở, có thể dễ dàng xử lý hàng
nghìn thiết bị và thậm chí có thể khởi chạy trên Raspberry Pi. - Thư viện Blynk :
dành cho tất cả các nền tảng phần cứng phổ biến - cho phép giao tiếp với máy chủ
và xử lý tất cả các lệnh đến và đi.
6
CHƯƠNG 3. KẾT LUẬN
7
PHỤ LỤC