Tải bản đầy đủ (.docx) (43 trang)

HỆ THỐNG GIÁM sát TÌNH TRẠNG rác THẢI TRONG KHUÔN VIÊN TRƯỜNG học (có code)

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.35 MB, 43 trang )

ĐỒ ÁN TỐT NGHIỆP

HỆ THỐNG GIÁM SÁT TÌNH TRẠNG
RÁC THẢI TRONG KHUÔN VIÊN
TRƯỜNG HỌC


Đồ Án Tốt Nghiệp
Page 2 of 43

DANH MỤC CÁC TỪ VIẾT TẮT
1. GPS

Global Positioning System

2. EEPROM

Electronically Erasable Programmable Read-Only Memory

3. CPU

Central Processing Unit

4. I/O

Input/output

5. BODS

Biological Oxygen Demand


6. AVR

Automatic Volume Recognition

7. MSTR

Massena Terminal Railroad Company

8. USART

Universal Synchronous Asynchronous Receiver


ĐỒ ÁN TỐT NGHIỆP
Trang 1/40

CHƯƠNG 1.

GIỚI THIỆU ĐỀ TÀI

1.1 Mục đích
Trong xã hội hiện nay, tình trạng rác thải đang trong tình trạng cảnh báo cao.
Tốc độ dân số tăng nhanh, kéo theo lượng rác thải sinh hoạt ngày càng nhiều đang
gây nên tình trạng quá tải cho các bãi rác ở các thành phố lớn. Sau khi hết diện tích
chôn lấp, việc tìm giải pháp để xử lý rác thải trong thời gian tới vẫn còn là một bài
toán nan giải.
Để thu gom rác thải trong các hẻm, quận, huyện trong thành phố phải huy
động rất nhiều công nhân sử dụng các công cụ thô sơ vào tận sâu trong các hẻm,
quận, huyện để vận chuyển ra ngoài đường.
Đề tài này có tên là hệ thống giám sát tình trạng rác thải. Ở đây tôi sử dụng

cảm biến cảnh báo đó là cảm biến siêu âm, dùng để đo độ đầy của thùng rác. Giám
sát tình trạng và định vị thùng rác, tôi sử dụng vi điều khiển Atmega328P, dữ liệu sẽ
được gửi lên trên web thông qua module WiFi để giám sát từ xa. GPS sẽ được dùng
để định vị toạ độ của thùng rác thông qua bản đồ.
1.2 Yêu cầu đề tài
Đề tài yêu cầu thiết kế một hệ thống giám sát tình trạng rác thải, có thể sử
dụng PIC hay ATmega. Linh kiện đo khoảng cách được phép sử dụng là cảm biến
siêu âm hay cảm biến hồng ngoại. Chúng ta sẽ xây dựng hệ thống giám sát tình
trạng rác thải trong khuôn viên trường, để liên tục theo dõi và thông báo tình trạng
rác thải tại nhiều nơi và hiển thị thông số đó lên trên Web server. Tuỳ vào tình trạng
của thùng rác, chúng ta sẽ có một màu hiển thị khác nhau. Ví dụ như: màu đỏ
( thùng rác đã đầy, cần được dọn ngay), màu vàng (thùng rác gần đầy), và màu xanh
lá (thùng rác còn ít).

1.3 Phương pháp thực hiện
Đầu tiên chúng ta sẽ thiết lập sơ đồ khối hệ thống rồi đưa ra quy trình hoạt
động,hiểu rõ về nguyên lý hoạt động. Sau đó, chúng ta sẽ tìm hiểu và lựa chọn

Hệ thống giám sát tình trạng rác thải
trong khuôn viên trường học


ĐỒ ÁN TỐT NGHIỆP
Trang 2/40

các linh kiện phù hợp, các bước lập trình để đưa ra những thuật toán phù hợp để
giải quyết bài toán.
Tôi sẽ chọn cảm biến siêu âm để đo độ đầy của thùng rác, vì đây là linh kiện
phổ biến và giá thành tương đối ổn. Chúng ta có 2 Module có sử dụng Uart
nhưng ở các chợ chuyên bán linh kiện như Nhật Tảo cũng không có những loại

PIC có thể sử dụng được 2 Uart, nên tôi sẽ chọn sử dụng Adruino, đặc biệt là
ATmega328P để sử dụng. Vì đây là loại vi điều khiển phổ biến và phù hợp với
những yêu cầu của đề tài.
Về việc hiển thị các thông số trên một Web server, tôi chọn dùng
Wampserver, tạo ra một máy tính ảo để hiển thị các giá trị của cảm biến gửi lên,
và giúp cho người dùng nhận biết được tình trạng của thùng rác hiện tại. Và tôi
sẽ nhờ sự hỗ trợ của Google Map để định vị toạ độ của thùng rác thông qua
Module GPS
Một hệ thống giám sát hệ thống rác thải tốn khá nhiều phí nên hiện tại tôi chỉ
có thể làm một mô hình hệ thống.

Hệ thống giám sát tình trạng rác thải
trong khuôn viên trường học


ĐỒ ÁN TỐT NGHIỆP
Trang 3/40

CHƯƠNG 2.

THIẾT KẾ HỆ THỐNG

2.1 Sơ đồ khối hệ thống

Sensor

Nguồn

VDK


Khối WiFi ESP8266

Web server

Khối định vị GPS

Hình 2-1: Sơ đồ khối hệ thống

Sơ đồ khối hệ thống giám sát đồ đầy của thùng rác sẽ được kết nối như bên trên.
Đầu tiên cấp nguồn cho tất cả các khối. Cảm biến siêu âm sẽ truyền dữ liệu cho vi
điều khiển, sau đó dữ liệu sẽ được truyền lên khối module WiFi ESP8266 và cập
nhật vị trí của thùng rác thông qua khối GPS để gửi lên trên khối Web server, cho
phép người dùng có thể giám sát thùng rác trực tiếp trên Web.
1.1 Sơ đồ nguyên lý của hệ thống

Hệ thống giám sát tình trạng rác thải
trong khuôn viên trường học


ĐỒ ÁN TỐT NGHIỆP
Trang 4/40

Hình 2-2: Sơ đồ nguyên lý

Đầu tiên cảm biến sẽ lấy số liệu và được nối với ATmega328 để xử lý số
liệu gửi lên Webserver thông qua Module WiFi esp8266 để giám sát. Khi thấy thùng
rác có báo hiệu đầy thì có thể biết được toạ độ của thùng rác đó ngay thông qua
GPS.

2.2 Chức năng của các khối

2.2.1 Sensor: Cảm biến siêu âm SRF05

Hệ thống giám sát tình trạng rác thải
trong khuôn viên trường học


ĐỒ ÁN TỐT NGHIỆP
Trang 5/40

Hình 2-3: Cảm biến siêu âm SRF05

Module cảm biến siêu âm SRF05 dùng để đo khoảng cách từ vật bằng sóng
siêu âm. SRF05 có 2 đầu là đầu thu và đầu phát, đo khoảng cách bằng cách một đầu
phát sóng siêu âm đến vật và một đầu thu sóng siêu âm lại.
Sử dụng bằng cách truyền 1 xung vào chân trigger của module, sau đó chờ 1
xung trả về trên chân echo, độ dài của xung phản hồi tương ứng với thời gian của
sóng siêu âm truyền trong không khí, từ đó tính ra được khoảng cách đến vật thể
chắn.
Nguyên lý hoạt động: để đo khoảng cách ta sẽ phát ra một xung từ chân
Trig. Sau đó cảm biến sẽ tạo ra một xung High từ chân Echo để thu lại xung vừa
phát ra. Khoảng cách đo được là thời gian từ khi phát một xung từ chân Trig cho
đến khi chân Echo thu được xung đó. Cảm biên siêu âm SRF05 hoạt động theo hai
chế độ.

Chế độ 1 - Trigger và Echo riêng: chế độ này sử dụng chân Trigger và
Echo, đây là những chế độ cơ bản của SRF04. Để sử dụng chế độ này chỉ cần không
kích hoạt chân pin của SRF05 thì điện trở trong SRF05 sẽ kéo lên.

Hệ thống giám sát tình trạng rác thải
trong khuôn viên trường học



ĐỒ ÁN TỐT NGHIỆP
Trang 6/40

Hình
2-4: Chế độ 1 của cảm biến SRF05

Chế độ 2 – Pin đơn cho cả Echo và Trigger: chế độ này sử dụng một chân
pin duy nhất Echo, để điều khiển chân này hãy kết nối chân pin với đất. Tín hiệu dội
lại sẽ xuất hiện trên cùng một pin với tín hiệu Trigger. SFR05 sẽ không tăng dòng
Echo cho đến 700us cho đến khi tín hiệu Trigger kết thúc. Và bạn sẽ có thời gian để
xoay chuyển dòng kích hoạt.

Hình 2-5: Chế độ 2 của SRF05

Tốc độ trong không khí của âm thanh là 340 (m/s) tương đương với
29,412 microSeconds/cm. Đặt DC là thông số mà cảm biến đo được. Khi đo được
thông số giữa vật cản đến cảm biến ta sẽ tính theo công thức:
Khoảng cách= DC/2/29,412

Hệ thống giám sát tình trạng rác thải
trong khuôn viên trường học


ĐỒ ÁN TỐT NGHIỆP
Trang 7/40

2.2.2 Khối vi điều khiển: ATmega328P


Hình 2-6: ATmega328P

Atmega328P là một vi điều khiển đơn chip được tạo bởi Atmel trong gia đình
megaAVR. Hoạt động hoàn toàn tĩnh, phần mã khởi động tuỳ chọn với bit khoá độc
lập, lập trình trong hệ thống bằng chương trình khởi động trên chip.
Đặc điểm:
Gồm có 2 bộ đếm thời gian: chế độ song sánh và chế độ so sánh riêng
biệt. Một bộ đếm thời gian 16bit với bộ đếm trước, chụp riêng biệt và bộ so sánh.
Bộ đếm thời gian thực với bộ đếm giao động riêng. Bộ so sánh tương tự trên chip.
Dao động hiệu chỉnh nội. Nguồn ngắt bên ngoài và bên trong.

Cấu hình của Atmega328P:

Hệ thống giám sát tình trạng rác thải
trong khuôn viên trường học


ĐỒ ÁN TỐT NGHIỆP
Trang 8/40

Các thông số

ATmega328P

Số chân Pin

28/32

Flash (Bytes)


32K

SRAM (Bytes)

2K

EEPROM (Bytes)

1K

Dòng I/O

23

Bộ nhớ RAM

2KB

SPI

2

TWC

1

USART

1


ADC

10-bit

Kênh ADC

8

8-Bit Timer/Counter

2

16-Bit Timer/Counter

1

Bảng 2.1: Các thông số chính của Atmega328P

Sơ đồ chân của Atmega328P:

Hệ thống giám sát tình trạng rác thải
trong khuôn viên trường học


ĐỒ ÁN TỐT NGHIỆP
Trang 9/40

Hình 2-7: Sơ đồ

chân của


Atmega328P

Cấu tạo

bên

trong

ATmega có hai

không

gian

chính là không

gian bộ nhớ,

bộ nhớ dữ liệu và không gian bộ nhớ chương trình. Ngoài ra thiết bị có thêm tính
năng EEPROM để lưu trữ dữ liệu. Tất cả không gian bộ nhớ là tuyến tính và
thường xuyên.
ATmega328P chứa một 1K bytes bộ nhớ ELEPROM dữ liệu. Nó được tổ
chức dưới dạng dữ liệu riêng biệt không gian. Trong đó các bytes đơn được ghi và
đọc. ELEPROM có độ bền ít nhát 100.000 chu kỳ viết/xoá. Quyền truy cập của
ELEPROM và CPU đươc mô tả bằng cách chỉ định

các thanh ghi địa chỉ

ELEPROM, thanh dữ liệu ELEPROM và điều khiển ghi nhận ELEPROM.

Để ngăn chặn việc ghi EEPROM không chủ ý, phải tuân thủ quy trình ghi
cụ thể. Kiểm soát EEPROM để biết điều này. Khi đọc EEPROM, CPU bị dừng
trong bốn chu kỳ xung nhịp trước lệnh thực thi. Khi EEPROM được viết, CPU bị
dừng trong hai chu kỳ xung nhịp trước khi tới lệnh thực thi.
EEPROM
00
01
10
11

Programing Operation
Time
3.4ms
1.8ms
1.8ms
-

Xoá và đọc trong môt hoạt động
Chỉ xoá
Chỉ viết
Đảo ngược lại để dùng
Bảng 2.2 Chế độ mode của EEPROM

Hệ thống giám sát tình trạng rác thải
trong khuôn viên trường học


ĐỒ ÁN TỐT NGHIỆP
Trang 10/40


Trong khi đặt lại, tất cả thanh ghi I/O được đặt thành giá trị ban đầu của
chúng và chương trình bắt đầu thực thi từ việc đặc lại vector. Lệnh tự đặt lại vector
là lệnh nhảy tuyệt đối để xử lý thiết lập lại cho. Nếu chương trình không bao giờ
kết hợp nguồn ngắt không được sử dụng và mã chương trình thông thường có thể
đặt lại các vị trí. Đây là trường hợp nếu thiết lập lại vector nằm trong ứng dụng khi
vector ngắt nằm trong phần khởi động hoặc ngược lại. Các sơ đồ mạch trong phần
tiếp theo được diễn lặp lại.
Các cổng I/O của AVR ngay lập tức được đặt lại ngay về trạng thái ban đầu
khi nguồn đặt lại khởi động. Cái này không yêu cầu các nguồn hoạt động trở lại.
Ngắt là phần được mô tả cụ thể về xử lý của linh kiện. Để giải thích chung về
xử lý ngắt AVR, tham khảo về đặt lại và xử lý ngắt. Mỗi ngắt chiếm hai từ chỉ dẫn
và đặt lại bởi cầu chỉ Bootrst và địa chỉ ngẳt.

Bảng 2.3: Reset và ngắt Vector trong ATmega328P

Hệ thống giám sát tình trạng rác thải
trong khuôn viên trường học


ĐỒ ÁN TỐT NGHIỆP
Trang 11/40

Khi đánh địa chỉ các thanh ghi I/O dưới dạng không gian dữ liệu bằng
các lệnh LD và ST, phần bù được cung cấp phải là đã sử dụng. Khi sử dụng các lệnh
cụ thể I/O và IN OUT, phần dẫn phải hướng đến một địa chỉ khác.
Bit BOD phải được ghi vào ‘1’ để tắt BOD trong khi ngủ. Viết vào bit
BODS là được điều khiển bởi chuỗi thời gian và bit cho phép BODSE. Để vô hiệu
hoá BOD trong các chế độ ngủ liên quan, cả hai BODS và BODSE trước tiên phải
đươc viết thành 1và BODSE phải được viết bằng không trong vòng bốn chu kỳ
đồng hồ.

Bit BODS hoạt động trong ba chu kỳ xung nhịp sau khi được đặt. Một
lệnh ngủ phải được thực thi trong khi BODS đang hoạt động để tắt BOD cho chế độ
ngủ thực tế. Bit BODS tự động xoá sau ba chu kỳ.
Tất cả các chức năng AVR đều có chức năng đọc, sửa đổi, ghi khi được
sử dụng làm cổng I/O kỹ thuật số chung. Điều này có nghĩa làm hướng của một
chân cổng có thể thay đổi mà không thay đổi hướng của bất kỳ pin nào khác với
hướng dẫn SBI và CBI. Áp dụng tương tự khi thay ổ đĩa hoặc bật các điện trở kéo
lên. Mỗi bộ đệm đầu ra điều có đặc tính ổ đĩa đối xứng với khả năng chìm và
nguồn cao. Khả năng điều khiển PIN mạnh mẽ đủ khả năng để điều khiển màn hình
LED trực tiếp. Tất cả các chân có điện trở kéo lên đều có thể tự chọn một nguồn
cung cấp bất biến.

Hệ thống giám sát tình trạng rác thải
trong khuôn viên trường học


ĐỒ ÁN TỐT NGHIỆP
Trang 12/40

Hình 2-8:



đồ tương đuơng của I/O

Khi chuyển đổi giữa ba trạng thái ({DDxn, PORTxn} = 0b00) và đầu ra
cao ({DDxn, PORTxn} = 0b11), trạng thái trung gian với tính năng kéo lên được
kích hoạt {DDxn, PORTxn} = 0b01) hoặc đầu ra thấp ({DDxn, PORTxn} = 0b10)
phải xảy ra. Thông thường, trạng thái kích hoạt kéo lên là hoàn toàn có thể chấp
nhận được, vì môi trường độ cao sẽ không nhận thấy sự khác biệt giữa trình điều

khiển cao mạnh mẽ và kéo lên. Nếu đây là không phải vậy, bit PUD trong Thanh
ghi MCUCR có thể được đặt để vô hiệu hóa tất cả các pull-up trong tất cả các cổng.
Chuyển đổi giữa đầu vào với kéo lên và đầu ra thấp tạo ra cùng một vấn đề. Người
dùng phải sử dụng hoặc trạng thái ba ({DDxn, PORTxn} = 0b00) hoặc trạng thái
cao đầu ra ({DDxn, PORTxn} = 0b11) là một bước trung gian.

Bảng 2-9: Cấu hình cổng PIN

Hệ thống giám sát tình trạng rác thải
trong khuôn viên trường học


ĐỒ ÁN TỐT NGHIỆP
Trang 13/40

Bộ 8 bit Timer/Counter0 with PWM gồm có hai đơn vị so sánh đầu ra độc
lập, bộ đệm so sánh đầu ra so sánh các thanh ghi, xóa bộ đếm thời gian trên So sánh
so sánh (Tự động tải lại), trục trặc miễn phí, điều chỉnh độ rộng xung (PWM) đúng
pha, thời gian biến đổi PWM, máy phát tần số, ba nguồn ngắt độc lập (TOV0,
OCF0A và OCF0B).
Timer / Counter0 (TC0) là mô đun Timer / Counter 8 bit có mục đích
chung, với hai đầu ra độc lập so sánh các đơn vị, và hỗ trợ PWM. Nó cho phép thời
gian thực hiện chương trình chính xác (quản lý sự kiện) và tạo sóng.
Sơ đồ khối đơn giản hóa của Timer / Counter 8 bit được hiển thị bên
dưới. Các thanh ghi I / O có thể truy cập CPU, bao gồm các bit I / O và chân I / O,
được in đậm. Thanh ghi I / O và vị trí bit dành riêng cho thiết bị là được liệt kê
trong Mô tả Đăng ký. Để biết vị trí thực tế của các chân I / O, hãy tham khảo sơ đồ
chân. TC0 được kích hoạt bằng cách ghi bit PRTIM0 trong Mức tối thiểu hóa mức
tiêu thụ năng lượng của máy tính thành '0'. TC0 được bật khi bit PRTIM0 trong
Thanh ghi giảm công suất (PRR.PRTIM0) được ghi vào '1'.

Trong chế độ Xóa hẹn giờ trên chế độ So sánh hoặc CTC (WGM0 [2: 0]
= 0x2), Thanh ghi OCR0A được sử dụng để thao tác độ phân giải của bộ đếm: bộ
đếm bị xóa thành ZERO khi giá trị bộ đếm (TCNT0) khớp với OCR0A. OCR0A
xác định giá trị hàng đầu cho bộ đếm, do đó cũng là độ phân giải của nó. Chế độ
này cho phép kiểm soát tốt hơn tần số đầu ra so sánh phù hợp. Nó cũng đơn giản
hóa việc đếm các sự kiện bên ngoài.
Sơ đồ thời gian cho chế độ CTC được hiển thị bên dưới. Giá trị bộ đếm
(TCNT0) tăng cho đến khi so sánh khớp xảy ra giữa TCNT0 và OCR0A, và sau đó
bộ đếm (TCNT0) bị xóa.

Hình 2-10: Sơ đồ thời gian, chế độ CTC

Timer / Counter là một thiết kế đồng bộ và do đó đồng hồ hẹn giờ (clkT0)
được hiển thị dưới dạng đồng hồ cho phép tín hiệu trong các hình dưới đây. Nếu
Hệ thống giám sát tình trạng rác thải
trong khuôn viên trường học


ĐỒ ÁN TỐT NGHIỆP
Trang 14/40

phiên bản đã cho của TC0 hỗ trợ chế độ không đồng bộ, clkI / O nên được thay thế
bằng đồng hồ dao động TC. Các số liệu bao gồm thông tin về thời điểm cờ ngắt
được đặt. Hình đầu tiên bên dưới minh họa thời gian dữ liệu cho hoạt động Timer /
Counter cơ bản gần với giá trị MAX trong tất cả các chế độ khác ngoài Phase
Correct chế độ PWM.

Hình 2-11: Bộ đếm thời gian, sơ đồ hẹn giờ

Bit trong phần này được viết ở dạng chung: n = 1 đại diện cho số Timer /

Counter và x = A, B đại diện cho Đơn vị so sánh đầu ra A hoặc B.
Tuy nhiên, khi sử dụng thanh ghi hoặc định nghĩa bit trong chương trình, phải sử
dụng biểu mẫu chính xác, tức là, TCNT1 để truy cập giá trị bộ đếm Timer /
Counter1.
Các định nghĩa sau đây được sử dụng trong suốt phần:Timer / Counter 16
bit cho phép thời gian thực hiện chương trình chính xác (quản lý sự kiện), đo thời
gian tín hiệu.
Vị trí
Bottom

Mô tả
Bộ đếm đạt tới BOTTOM khi nó trở thành số không (0x00 cho
bộ đếm 8 bit hoặc 0x0000 cho bộ đếm 16 bit).

Max

Top

Bộ đếm đạt đến Mức tối đa khi trở thành 0xFF (số thập phân
255, cho bộ đếm 8 bit) hoặc 0xFFFF (số thập phân 65535, cho
bộ đếm 16 bit).
Bộ đếm đạt TOP khi nó trở thành bằng giá trị cao nhất trong số
đếm
trình tự. Giá trị TOP có thể được chỉ định là giá trị cố định
MAX hoặc giá trị được lưu trữ trong. Đăng ký OCR1A. Việc
chuyển nhượng phụ thuộc vào phương thức hoạt động.

Hệ thống giám sát tình trạng rác thải
trong khuôn viên trường học



ĐỒ ÁN TỐT NGHIỆP
Trang 15/40

Bảng 2-5: Mô tả của 16-bit Timer/Counter

Timer / Counter2 (TC2) là mục đích chung, kênh, mô-đun Timer / Counter
8 bit. Sơ đồ khối đơn giản hóa của Timer / Counter 8 bit được hiển thị bên dưới.
Các thanh ghi I / O có thể truy cập CPU, bao gồm các bit I / O và chân I / O, được
in đậm. Thanh ghi I / O và vị trí bit dành riêng cho thiết bị là được liệt kê trong Mô
tả Đăng ký sau. Để biết vị trí thực tế của các chân I / O, hãy tham khảo sơ đồ chân
sơ đồ. TC2 được bật khi bit PRTIM2 trong Thanh ghi giảm công suất
(PRR.PRTIM2) được ghi vào '1'.
Vị trí
Mô tả
Bottom
Bộ đếm đạt tới bottom khi nó trở thành số không (0x00).
Max
Top

Bộ đếm đạt đến mức tối đa khi nó trở thành 0xFF (thập phân
255)
Bộ đếm đạt TOP khi nó trở thành bằng giá trị cao nhất trong số
đếm
trình tự. Giá trị TOP có thể được chỉ định là giá trị cố định
0xFF (MAX) hoặc giá trị được lưu trữ trong Đăng ký OCR2A.
Việc chuyển nhượng phụ thuộc vào phương thức hoạt động

Bảng 2-6: Mô tả của 16-bit Timer/Counter2


Chế độ Slave: khi SPI được cấu hình là Slave, chân Slave Chọn (SS) luôn
được nhập. Khi SS được giữ ở mức thấp, SPI được kích hoạt và MISO trở thành
đầu ra nếu được người dùng cấu hình. Tất cả các chân khác là đầu vào. Khi SS được
điều khiển ở mức cao, tất cả các chân là đầu vào và SPI bị động, điều đó có nghĩa là
nó sẽ không nhận được dữ liệu đến. Logic SPI sẽ được đặt lại sau khi chân SS được
điều khiển ở mức cao. Chân SS rất hữu ích cho việc đồng bộ hóa gói / byte để giữ
cho bộ đếm bit tớ đồng bộ với máy phát điện đồng hồ chủ. Khi chân SS được điều
khiển ở mức cao, nô lệ SPI sẽ ngay lập tức đặt lại gửi và nhận logic và thả bất kỳ dữ
liệu nào nhận được vào Thanh ghi Shift.
Chế độ chính: khi SPI được cấu hình là Master (MSTR trong SPCR được
đặt), người dùng có thể xác định hướng của chân SS. Nếu SS được cấu hình làm
đầu ra, chân là chân đầu ra chung không ảnh hưởng đến hệ thống SPI. Thông
thường, pin sẽ lái pin SS của SPI Slave. Nếu SS được cấu hình làm đầu vào, nó phải
được giữ ở mức cao để đảm bảo hoạt động của SPI chính. Nếu chân SS được điều

Hệ thống giám sát tình trạng rác thải
trong khuôn viên trường học


ĐỒ ÁN TỐT NGHIỆP
Trang 16/40

khiển thấp bởi mạch ngoại vi khi SPI được cấu hình là Master với chân SS được xác
định là đầu vào,
Hệ thống SPI diễn giải điều này như một bậc thầy khác chọn SPI làm nô lệ và bắt
đầu gửi dữ liệu tới nó.
Để tránh tranh chấp, hệ thống SPI thực hiện các hành động sau: bit MSTR
trong SPCR bị xóa và hệ thống SPI trở thành Slave. Là kết quả của SPI trở thành
Slave, các chân MOSI và SCK trở thành đầu vào. Cờ SPIF trong SPSR được đặt và
nếu ngắt SPI được bật và bit I trong SREG được đặt, thói quen ngắt sẽ được thực

hiện. Do đó, khi truyền SPI điều khiển ngắt được sử dụng trong chế độ Master, và
có khả năng tồn tại SS được điều khiển ở mức thấp, ngắt luôn phải kiểm tra xem bit
MSTR vẫn được đặt. Nếu bit MSTR đã được bị xóa bởi một lựa chọn nô lệ, nó phải
được người dùng đặt để bật lại chế độ SPI Master.
Chế độ dữ liệu: có bốn kết hợp pha SCK và cực tính đối với dữ liệu nối
tiếp, được xác định bằng các bit điều khiển CPHA và CPOL. Các bit dữ liệu được
chuyển ra và chốt ở các cạnh đối diện của SCK tín hiệu, đảm bảo đủ thời gian cho
tín hiệu dữ liệu ổn định.
Block Diagram: các thanh ghi I / O có thể truy cập CPU và các chân I / O
được hiển thị in đậm. Các các hộp nét đứt trong sơ đồ khối tách ba phần chính của
USART (được liệt kê từ trên cùng): Máy phát đồng hồ, máy phát và máy thu. Đăng
ký kiểm soát được chia sẻ bởi tất cả các đơn vị. Đồng hồ logic thế hệ bao gồm logic
đồng bộ hóa cho đầu vào đồng hồ bên ngoài được sử dụng bởi nô lệ đồng bộ hoạt
động, và máy phát tốc độ baud. Đồng hồ chuyển chỉ được sử dụng bởi đồng bộ chế
độ chuyển. Bộ phát bao gồm một bộ đệm ghi đơn, thanh ghi shift nối tiếp, bộ tạo
chẵn lẻ, và control logic để xử lý các định dạng khung nối tiếp khác nhau. Bộ đệm
ghi cho phép chuyển liên tục dữ liệu mà không có bất kỳ độ trễ giữa các khung. Bộ
thu là phần phức tạp nhất của mô-đun USART do các đơn vị phục hồi dữ liệu và
đồng hồ của nó.
Clock Generation tạo ra đồng hồ cơ sở cho máy phát và máy thu. USART
hỗ trợ bốn chế độ hoạt động của đồng hồ: Bình thường không đồng bộ, Tốc độ
không đồng bộ kép, Master chế độ đồng bộ và Slave đồng bộ. Chế độ USART Chọn
bit 0 trong Điều khiển USART và thanh ghi trạng thái n C (UCSRnC.UMSELn0)
chọn giữa hoạt động không đồng bộ và hoạt động đồng bộ. Tốc độ gấp đôi (chỉ chế
độ không đồng bộ) được điều khiển bởi U2Xn được tìm thấy trong Thanh ghi
UCSRnA. Khi nào sử dụng chế độ đồng bộ.

Hệ thống giám sát tình trạng rác thải
trong khuôn viên trường học



ĐỒ ÁN TỐT NGHIỆP
Trang 17/40

USART Initialization phải được khởi tạo trước khi bất kỳ giao tiếp nào có
thể diễn ra. Quá trình khởi tạo thông thường bao gồm cài đặt tốc độ truyền, cài đặt
định dạng khung và bật máy phát hoặc nhận tùy thuộc vào cách sử dụng. Đối với
hoạt động USART điều khiển ngắt, cờ ngắt toàn cầu nên bị xóa (và ngắt toàn cầu bị
vô hiệu hóa) khi thực hiện khởi tạo. Trước khi thực hiện khởi tạo lại với tốc độ
truyền hoặc định dạng khung đã thay đổi, hãy chắc chắn rằng không có gì đang diễn
ra truyền trong khoảng thời gian các thanh ghi được thay đổi. Cờ TXC có thể được
sử dụng để kiểm tra xem Máy phát đã hoàn thành tất cả các lần chuyển chưa và Cờ
RXC có thể được sử dụng để kiểm tra xem không có dữ liệu chưa đọc trong bộ đệm
nhận.
Usart Transmitter có hai cờ biểu thị trạng thái của nó: Đăng ký dữ liệu
USART trống (UDRE) và truyền hoàn thành (TXC). Cả hai cờ có thể được sử dụng
để tạo ra các ngắt. Cờ trống đăng ký dữ liệu (UDRE) cho biết liệu bộ đệm truyền có
sẵn sàng nhận dữ liệu mới hay không. Bit này được đặt khi bộ đệm truyền trống và
bị xóa khi bộ đệm truyền chứa dữ liệu truyền mà chưa được chuyển vào Đăng ký
thay đổi. Để tương thích với các thiết bị trong tương lai, luôn luôn viết bit này về 0
khi viết thanh ghi UCSRnA. Khi bit Kích hoạt ngắt đăng ký dữ liệu (UDRIE) trong
UCSRnB được ghi vào '1'. Đăng ký Ngắt trống sẽ được thực thi miễn là UDRE
được đặt (miễn là các ngắt toàn cục là kích hoạt). UDRE bị xóa bằng cách viết
UDRn. Khi truyền dữ liệu theo hướng gián đoạn được sử dụng, dữ liệu đăng ký
Thường trình ngắt phải ghi dữ liệu mới vào UDRn để xóa UDRE hoặc tắt.
2.2.3 Khối Module WiFi
Module ESP8266, khi ở Mode AP, có thể kết nối với 5 Client cùng 1 lúc.
Thiết bị di động điều khiển module thông qua WiFi của ESP8266:
Khoảng cách kết nối khoảng 400m.
Thiết bị di động và Module WiFi cùng kết nối với Router: Khoảng cách

kết nối tùy thuộc vào cường độ tín hiệu của router phát ra.
Với khả năng kết nối mạng Wi-Fi hoàn chỉnh và khép kín, ESP8266EX
có thể thực hiện như một ứng dụng độc lập hoặc là nô lệ của MCU máy chủ. Khi
nào ESP8266EX lưu trữ ứng dụng, nó nhanh chóng khởi động từ đèn flash. Bộ nhớ
cache tốc độ cao tích hợp giúp tăng hiệu năng hệ thống và tối ưu hóa bộ nhớ hệ
thống.
Ngoài ra, ESP8266 có thể được áp dụng cho bất kỳ thiết kế bộ điều khiển
vi mô nào dưới dạng bộ điều hợp Wi-Fi thông qua Giao diện SPI / SDIO hoặc I2C /
UART. ESP8266EX tích hợp các công tắc ăng-ten, balun RF, bộ khuếch đại công

Hệ thống giám sát tình trạng rác thải
trong khuôn viên trường học


ĐỒ ÁN TỐT NGHIỆP
Trang 18/40

suất, thu nhiễu thấp bộ khuếch đại, bộ lọc và các mô-đun quản lý năng lượng. Thiết
kế nhỏ gọn giảm thiểu PCB kích thước và yêu cầu mạch ngoài tối thiểu.
Bên cạnh các chức năng Wi-Fi, ESP8266EX cũng tích hợp phiên bản nâng
cao của Bộ vi xử lý 32-bit Tensilica sườn L106 Diamond và SRAM trên chip. Nó có
thể được giao thoa với các cảm biến bên ngoài và các thiết bị khác thông qua GPIO.
Bộ phát triển phần mềm (SDK) cung cấp mã mẫu cho các ứng dụng khác nhau. Nền
tảng kết nối thông minh (ESCP) của Espressif Systems cho phép các tính năng tinh
vi bao gồm chuyển đổi nhanh giữa chế độ ngủ và thức dậy cho mục đích tiết kiệm
năng lượng, xu hướng vô tuyến thích ứng cho hoạt động năng lượng thấp, xử lý tín
hiệu trước, thúc đẩy hủy bỏ và cơ chế đồng tồn tại radio cho di động chung,
Bluetooth, DDR, LVDS, giảm thiểu nhiễu nhiễu LCD.

Hình 2-12: Module WiFi ESP8266


Relay: có thể kết nối ở 5V/10A, 250V AC.10A. Có thể đóng ngắt lên đến
100 lần. Module được bảo vệ thông qua Opto, và có thời gian đáp ứng nhanh chóng.
Đồng hồ tần số cao trên ESP8266EX được sử dụng để điều khiển cả bộ
trộn truyền và nhận.Đồng hồ này được tạo ra từ bộ dao động tinh thể bên trong và
tinh thể bên ngoài. Pha lê dải tần từ 26 MHz đến 52 MHz. Hiệu chuẩn bên trong bộ
tạo dao động tinh thể đảm bảo rằng một loạt các tinh thể có thể được sử dụng, tuy
nhiên chất lượng của tinh thể vẫn là một yếu tố cần xem xét để có tiếng ồn pha hợp
lý và độ nhạy Wi-Fi tốt.
Hình 2-13: Sơ đồ của ESP8266

Hệ thống giám sát tình trạng rác thải
trong khuôn viên trường học


ĐỒ ÁN TỐT NGHIỆP
Trang 19/40

CPU: ESP8266EX tích hợp bộ điều khiển vi mô 32 bit Tensilica L106
(MCU) và công suất cực thấp RSIC 16 bit. Tốc độ xung nhịp của CPU là 80 MHz.
Nó cũng có thể đạt giá trị tối đa 160MHz. Hệ thống vận hành thời gian thực (RTOS)
được bật. Hiện tại, chỉ có 20% MIPS có đã bị chiếm giữ bởi ngăn xếp Wi-Fi, phần
còn lại đều có thể được sử dụng cho ứng dụng người dùng lập trình và phát triển.
Memory: ESP8266EX So-Fi SoC tích hợp bộ điều khiển bộ nhớ và
các đơn vị bộ nhớ bao gồm SRAM và ROM. MCU có thể truy cập các đơn vị bộ
nhớ thông qua các giao diện iBus, dBus và AHB. Tất cả các đơn vị bộ nhớ có thể
được truy cập theo yêu cầu, trong khi một trọng tài bộ nhớ sẽ quyết định chuỗi chạy
theo thời gian khi những yêu cầu này được nhận bởi bộ xử lý.
Đèn flash ngoài: ESP8266EX sử dụng flash SPI bên ngoài để lưu trữ
các chương trình người dùng và hỗ trợ lên đến 16 Mbyte dung lượng bộ nhớ về mặt

lý thuyết.
WiFi: ESP8266EX triển khai TCP / IP, giao thức WLAN MAC
802.11 b / g / n / e / i đầy đủ. Đặc điểm kỹ thuật trực tiếp. Nó không chỉ hỗ trợ các
hoạt động của bộ dịch vụ cơ bản (BSS) trong chức năng điều khiển phân tán (DCF)
nhưng cũng hoạt động nhóm P2P tuân thủ mới nhất. Giao thức Wi-Fi P2P. Các chức
năng giao thức cấp thấp được xử lý tự động bởi ESP8266EX.
2.2.4 Khối định vị GPS
Mô-đun SIM808 là mô-đun GSM / GPRS Quad-Band hoàn chỉnh kết hợp
công nghệ GPS để điều hướng vệ tinh. Thiết kế nhỏ gọn tích hợp GPRS và GPS
trong gói SMT sẽ tiết kiệm đáng kể cả thời gian và chi phí cho khách hàng để phát
triển các ứng dụng hỗ trợ GPS. Với giao diện tiêu chuẩn công nghiệp và chức năng

Hệ thống giám sát tình trạng rác thải
trong khuôn viên trường học


ĐỒ ÁN TỐT NGHIỆP
Trang 20/40

GPS, nó cho phép các tài sản biến đổi được theo dõi liền mạch tại bất kỳ vị trí nào
và bất kỳ lúc nào có vùng phủ sóng tín hiệu.

Hình 2-14: Module GPS

Đặc điểm kĩ thuật:
Bốn băng tần 850/900/1800/1900 MHz
Kết nối GPRS đa khe cắm class12: tối đa. 85,6kbps (tải xuống / tải lên)
Hỗ trợ điều khiển sạc cho pin Li-Ion
Hỗ trợ đồng hồ thời gian thực
Cung cấp dải điện áp 3,4V ~ 4,4V

GPS / CNSS tích hợp và hỗ trợ A-GPS
Hỗ trợ mức logic 3.0V đến 5.0V
Tiêu thụ điện năng thấp, 1mA ở chế độ ngủ
Hỗ trợ giao thức GPS NMEA
Kích thước nhỏ gọn 27mm x 46mm x 10 mm
Thẻ SIM tiêu chuẩn Bảng này dựa trên mô-đun GSM / GPS SIMCOM
SIM808 mới nhất, nó cung cấp dữ liệu GSM và GPRS di động cùng với công nghệ
GPS để điều hướng vệ tinh.
Hệ thống giám sát tình trạng rác thải
trong khuôn viên trường học


ĐỒ ÁN TỐT NGHIỆP
Trang 21/40

Bảng mạch có mức tiêu thụ năng lượng cực thấp ở chế độ ngủ, giúp dự án
có thời gian chờ cực kỳ dài. Hơn nữa, có một mạch sạc pin trên tàu có thể được sử
dụng với pin LiPo. Máy thu GPS cực kỳ nhạy với 22 kênh theo dõi và 66 kênh thu
nhận, đồng thời hỗ trợ GPS hỗ trợ (A-GPS) để định vị trong nhà. Bảng mạch được
điều khiển bởi lệnh AT thông qua UART và hỗ trợ mức logic 3,3V và 5V. Nó đi kèm
với một ăng-ten GPS và GSM mini, tuy nhiên pin là tùy chọn.

Hình 2-15: Sơ đồ của GPS

Ăng ten GPS: đây là đầu nối ăng ten GPS uFL. Bạn có thể kết nối ăng-ten
GPS thụ động hoặc chủ động với nó. Anten GPS hoạt động chạy ở điện áp 2,8V.
MicroUSB: giao diện sạc cho pin Li-Ion, có dải điện áp đầu vào từ 5V
đến 7V.
Nút nguồn: đây là công tắc nguồn cứng cho mô-đun. Khi mô-đnguồn, bạn
có thể bật hoặc tắt mô-đun bằng cách nhấn nút trong 2 giây.

Net Indicator: Đèn LED màu đỏ, nó sẽ cho biết trạng thái của mô-đun liên
kết với mạng. Nó có thể được tắt bằng bảng nhảy LED_EN.
Đèn báo trạng thái: Đèn LED màu xanh lá cây, nó sẽ cho biết mô-đun đang
bật, sáng khi mô-đun đang chạy. Nó có thể được tắt bằng bảng nhảy LED_EN.
Pin Li-ion: đây là nguồn cung cấp năng lượng cho mô-đun, điện áp đầu
vào là từ 3,4V đến 4,4V. Nó sử dụng đầu nối JST-2.0mm

Hệ thống giám sát tình trạng rác thải
trong khuôn viên trường học


ĐỒ ÁN TỐT NGHIỆP
Trang 22/40

Ăng-ten GSM: đây là đầu nối ăng-ten uFL GSM, chỉ cần kết nối nó với
ăng-ten GSM để nhận tín hiệu GSM.

CHƯƠNG 3.

GIẢI THUẬT VÀ CHƯƠNG TRÌNH

3.1 Lưu đồ

Hệ thống giám sát tình trạng rác thải
trong khuôn viên trường học


ĐỒ ÁN TỐT NGHIỆP
Trang 23/40


Hình 3-1: Mạch mô phỏng thực tế

3.2 Giải thích
Khi bắt đầu bật tính hiệu WiFi, khi thấy Module WiFi có sự nhấp nháy
nghĩa là hệ thống đã nhận được tín hiệu. Cảm biến sẽ bắt đầu độ đầy của thùng rác,
rồi sẽ chuyển lên cho ATmega xử lý, tính toán. Đồng thời, GPS cũng sẽ cập nhật toạ

Hệ thống giám sát tình trạng rác thải
trong khuôn viên trường học


×