SlideShare a Scribd company logo
1 of 86
Download to read offline
Đà Nẵng, ngày 1 tháng 10 năm 2020
ĐẠI HỌC ĐÀ NẴNG
ĐẠI HỌC SƯ PHẠM KỸ THUẬT
KHOA ĐIỆN – ĐIỆN TỬ
ĐỒ ÁN VI ĐIỀU KHIỂN
ĐỀ TÀI: THIẾT KẾ HỆ THỐNG ĐIỀU KHIỂN TỰ ĐỘNG
CÁC THIẾT BỊ ĐIỆN VÀ ỨNG DỤNG CÔNG NGHỆ RFID
ĐỂ MỞ CỬA.
GVHD: ThS. LÊ HỮU DUY
Lớp HP: 291DAVDK01
Sinh viên thực hiện: Mã sinh viên:
NGUYỄN DUY HÀ SƠN 1711505110126
NGUYỄN HÀ GIA HẬU 1711505210107
Lớp SH: 17KTDT1
Lời cảm ơn Đồ án Vi điều khiển
GVHD: Lê Hữu Duy Trang 2
LỜI CẢM ƠN
Trên thực tế không có thành công nào mà không gắn liền với sự hỗ trợ, giúp đỡ dù ít
hay nhiều, dù trực tiếp hay gián tiếp của người khác. Trong suốt thời gian kể từ khi làm
“Đồ án Vi điều khiển” đến nay, nhóm đã nhận được rất nhiều sự quan tâm, giúp đỡ của quý
Thầy/cô, gia đình và bạn bè.
Chúng em xin chân thành cảm ơn Bộ môn Điện – Điện tử, Khoa Điện, Trường Đại
học Sư phạm Kỹ thuật – Đại học Đà Nẵng đã tạo cơ hội cho chúng em làm đồ án này. Để
cho chúng em được tìm tòi, học hỏi, mày mò nữa cái mới cái hay, cũng như các kiến thức
mà các thầy/cô đã truyền đạt cho chúng em trong suốt thời gian học tập tại trường.
Xin gửi lời cảm ơn chân thành nhất đến giáo viên hướng dẫn ThS. Lê Hữu Duy đã tận
tâm hướng dẫn nhóm bằng tất cả tâm huyết của mình, tạo mọi điều kiện cho chúng em làm
đề tài này và đóng góp ý kiến cho nhóm trong suốt thời gian làm đồ án. Làm việc với thầy
chúng em được học hỏi rất nhiều điều bổ ích để áp dụng vào công việc mai sau cũng như
trong cuộc sống hằng ngày.
Chúng em xin gửi lời đồng cảm ơn đến các bạn lớp 17KTDT1, 17HTD1 đã chia sẻ
trao đổi kiến thức cũng như những kinh nghiệm quý báu trong suốt quá trình làm đề tài.
Nhóm chúng em xin chân thành cảm ơn!!
Mục lục Đồ án Vi điều khiển
GVHD: Lê Hữu Duy Trang 3
MỤC LỤC
LỜI CẢM ƠN...............................................................................................................................................2
NHẬN XÉT, ĐÁNH GIÁ CỦA GIÁO VIÊN HƯỚNG DẪN ..................................................................5
NHẬN XÉT, ĐÁNH GIÁ CỦA GIẢNG VIÊN PHẢN BIỆN ..................................................................6
LỜI MỞ ĐẦU...............................................................................................................................................7
CHƯƠNG I: TỔNG QUAN ........................................................................................................................8
1.1) TỔNG QUAN VỀ ĐỀ TÀI..........................................................................................................8
1.2) ĐẶT VẤN ĐỀ ...............................................................................................................................8
1.3) MỤC TIÊU ...................................................................................................................................8
1.4) NỘI DUNG ...................................................................................................................................8
1.5) GIỚI HẠN.....................................................................................................................................8
1.6) BỐ CỤC ........................................................................................................................................8
CHƯƠNG II: CƠ SỞ LÝ THUYẾT VÀ CODE.....................................................................................10
2.1) QUY TRÌNH ĐIỀU KHIỂN CỦA HỆ THỐNG .....................................................................10
2.2) GIỚI THIỆU PHẦN CỨNG .....................................................................................................10
2.2.1) Khối Vi điều khiển (Arduino Mega 2560)........................................................................10
2.2.2) Khối hiển thị LCD text 1602..............................................................................................15
2.2.3) Khối cảm biến.....................................................................................................................29
2.2.3.1) Cảm biến đóng/mở cửa bằng RFID..........................................................................29
2.2.3.2) Cảm biến chuyển động HC – SR501.........................................................................35
2.2.3.3) Cảm biến ánh sáng .....................................................................................................40
2.2.3.4) Cảm biến Nhiệt độ - Độ ẩm DHT11..........................................................................41
2.2.4) Khối vận hành (Khối động lực).........................................................................................47
2.2.4.1) Mạch cầu H (L298N)..................................................................................................47
2.2.4.2) Động cơ Servo.............................................................................................................55
2.2.4.3) Module Relay..............................................................................................................59
2.3) Mạch nguồn ................................................................................................................................60
2.3.1) LM7805 ...............................................................................................................................60
2.3.2) LM317 .................................................................................................................................62
CHƯƠNG III: XÂY DỰNG LƯU ĐỒ THUẬT TOÁN VÀ THI CÔNG SẢN PHẨM .......................65
3.1) LƯU ĐỒ THUẬT TOÁN ..........................................................................................................65
3.2) THI CÔNG SẢN PHẨM ...........................................................................................................69
CHƯƠNG IV: KẾT QUẢ, NHÂN XÉT VÀ ĐÁNH GIÁ.......................................................................72
Mục lục Đồ án Vi điều khiển
GVHD: Lê Hữu Duy Trang 4
4.1) KẾT QUẢ MÔ HÌNH SẢN PHẦM..........................................................................................72
4.2) NHẬN XÉT VÀ ĐÁNH GIÁ.....................................................................................................73
CHƯƠNG V: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN........................................................................74
5.1) KẾT LUẬN.................................................................................................................................74
5.2) HƯỚNG PHÁT TRIỂN.............................................................................................................74
PHỤ LỤC....................................................................................................................................................75
TÀI LIỆU THAM KHẢO .........................................................................................................................86
Nhận xét Đồ án Vi điều khiển
GVHD: Lê Hữu Duy Trang 5
NHẬN XÉT, ĐÁNH GIÁ CỦA GIÁO VIÊN HƯỚNG DẪN
...............................................................................................................................................
...............................................................................................................................................
...............................................................................................................................................
...............................................................................................................................................
...............................................................................................................................................
...............................................................................................................................................
...............................................................................................................................................
...............................................................................................................................................
...............................................................................................................................................
...............................................................................................................................................
...............................................................................................................................................
...............................................................................................................................................
...............................................................................................................................................
...............................................................................................................................................
...............................................................................................................................................
...............................................................................................................................................
...............................................................................................................................................
...............................................................................................................................................
...............................................................................................................................................
...............................................................................................................................................
...............................................................................................................................................
...............................................................................................................................................
Đà Nẵng, ngày 1 tháng 10 năm 2020
Kí tên
Ths. Lê Hữu Duy
Nhận xét Đồ án Vi điều khiển
GVHD: Lê Hữu Duy Trang 6
NHẬN XÉT, ĐÁNH GIÁ CỦA GIẢNG VIÊN PHẢN BIỆN
...............................................................................................................................................
...............................................................................................................................................
...............................................................................................................................................
...............................................................................................................................................
...............................................................................................................................................
...............................................................................................................................................
...............................................................................................................................................
...............................................................................................................................................
...............................................................................................................................................
...............................................................................................................................................
...............................................................................................................................................
...............................................................................................................................................
...............................................................................................................................................
...............................................................................................................................................
...............................................................................................................................................
...............................................................................................................................................
...............................................................................................................................................
...............................................................................................................................................
...............................................................................................................................................
...............................................................................................................................................
...............................................................................................................................................
...............................................................................................................................................
Đà Nẵng, ngày1 tháng 10 năm 2020
Kí tên
Lời mở đầu Đồ án Vi điều khiển
GVHD: Lê Hữu Duy Trang 7
LỜI MỞ ĐẦU
Ngày nay khoa học công nghệ ngày càng phát triển, vi điều khiển AVR và vi điều
khiển PIC ngày càng thông dụng và hoàn thiện hơn, nhưng có thể nói sự xuất hiện của
Arduino vào năm 2005 tại Italia đã mở ra một hướng đi mới cho vi điều khiển. Sự xuất hiện
của Arduino đã hỗ trợ cho con người rất nhiều trong lập trình và thiết kế, nhất là đối với
những người bắt đầu tìm tòi về vi điều khiển mà không có nhiều kiến thức, hiểu biết sâu
sắc về vật lý và điện từ. Phần cứng của thiết bị đã tích hợp nhiều chức năng cơ bản và là
mã nguồn mở. Ngôn ngữ lập trình trên nền Java lại vô cùng dễ sử dụng tương thích với
ngôn ngữ C và hệ thư viện rất phong phú và được chia sẻ miễn phí. Chính vì lý do như vậy
nên Arduino hiện đang dần phổ biến và được phát triển ngày càng mạnh mẽ trên thế giới.
Cùng với sự bùng nổ về các đề tài liên quan tới AUTOMATION nhằm theo kịp thời
đại 4.0, nhóm chúng em quyết định chọn đề tài Automatic Room là 1 phần nho nhỏ trong
dự án AUTOMATION. Đề tài này nhằm giải quyết công tắc bật/tắt và điều khiển thiết bị 1
cách tự động dựa trên đọc các Module cảm biến.
Đề tài này chỉ dừng ở mức tự động điều khiển thiết bị điện, hướng phát triển là công
nghệ IoT, điều khiển thiết bị thông qua giọng nói, điện thoại, internet, wifi,…
Chương 1: Tổng quan Đồ án Vi điều khiển
GVHD: Lê Hữu Duy Trang 8
CHƯƠNG I: TỔNG QUAN
1.1) TỔNG QUAN VỀ ĐỀ TÀI
1.2) ĐẶT VẤN ĐỀ
Cùng với sự phát triển không ngừng của các ngành khoa học kỹ thuật, các ngành công
nghiệp tự động hóa cũng phát triển nhanh chóng. Cùng với nhu cầu của con người ngày
càng tăng cao, bật/tắt thiết bị điện thủ công gây trở ngại về khoảng cách và ảnh hưởng tới
công việc đang thực hiện dở dang.
1.3) MỤC TIÊU
Theo dõi nhiệt độ - độ ẩm của môi trường hiện tại, bật/tắt thiết bị điện một cách tự
động cụ thể như bật/tắt đèn điện, quạt,…
Đề tài “Thiết kế hệ thống điều khiển tự động các thiết bị điện và ứng dụng công nghệ
rfid để mở cửa” góp phần vào xây dựng dự án lớn về Internet of Things và nhiều dự án lớn
khác.
1.4) NỘI DUNG
 NỘI DUNG 1: Thu thập dữ liệu từ môi trường (ánh sáng, nhiệt độ - độ ẩm, chuyển
động,…).
 NỘI DUNG 2: Đọc dữ liệu từ môi trường (ánh sáng, nhiệt độ - độ ẩm, chuyển
động,…) thông qua các Module cảm biến.
 NỘI DUNG 3: Giải pháp xử lý số liệu điều khiển thiết bị điện.
 NỘI DUNG 4: Thiết kế hệ thống điều khiển.
 NỘI DUNG 5: Thiết kế mô hình.
 NỘI DUNG 6: Đánh giá kết quả thực hiện.
 NỘI DUNG 7: Chỉnh sửa các lỗi điều khiển, lỗi lập trình và lỗi thiết bị.
 NỘI DUNG 8: Báo cáo đề tài Đồ án Vi điều khiển.
1.5) GIỚI HẠN
- Chỉ dừng ở mức phòng nhỏ.
- Điều khiển tự động, không thể điều khiển bằng IoT.
- Chưa có công tắt thủ công.
1.6) BỐ CỤC
 Chương 1: Tổng quan
Trong chương này, đề tài được trình bày tổng quan, ứng dụng các Module cảm biến
trong điều khiển thiết bị điện. Từ đó, đi đến làm rõ mục tiêu, giới hạn và bố cục đề tài.
Chương 1: Tổng quan Đồ án Vi điều khiển
GVHD: Lê Hữu Duy Trang 9
 Chương 2: Cơ sở lý thuyết và Code
Nền tảng lý thuyết quan trọng được trình bày ở chương này và cách lập trình, cài đặt,
thư viện của từng cảm biến. Từ đó làm cơ sở cho xây dựng thuật toán và tiến hành thi công
sản phẩm.
 Chương 3: Xây dựng lưu đồ thuật toán và thi công sản phẩm
Nội dung chương sẽ trình bày lưu đồ thuật toán và từ đó thi công hệ thống, hoàn thành
mô hình hệ thống.
 Chương 4: Kết quả, nhận xét và đánh giá
Sau khi hoàn thành việc thi công, chương này trình bày kết quả nghiên cứu và từ đó
rút ra nhận xét và đánh giá.
 Chương 5: Kết luận và hướng phát triển
Chương này sẽ nêu rõ nhóm có hoàn thành mục tiêu ban đầu đã đề ra, nếu không hoàn
thành được thì tìm hiểu nguyên nhân. Hướng phát truển của đề tài này.
Chương 2: Cơ sở lý thuyết và Code Đồ án Vi điều khiển
GVHD: Lê Hữu Duy Trang 10
CHƯƠNG II: CƠ SỞ LÝ THUYẾT VÀ CODE
2.1) QUY TRÌNH ĐIỀU KHIỂN CỦA HỆ THỐNG
- Điều khiển đóng mở cửa: Sử dụng RFID RC522 quét thẻ, nhận dạng địa chỉ ID, khi
địa chỉ ID phù hợp thì cửa sẽ tự động mở cửa. Nếu địa chỉ ID không phù hợp thì cửa sẽ
không mở và chuông sẽ reo báo động. Đồng thời màn hình LCD sẽ hiện tên tùy thuộc vào
địa chỉ ID.
- Điều khiển đèn phòng và điều khiển quạt (điều khiển bật/tắt quạt và điều khiển tốc
độ quạt):
+ Khi có người trong phòng mà trời tối thì đèn sẽ tự động bật.
+ Khi có người trong phòng mà nhiệt độ cao thì quạt sẽ bật, tốc độ quạt sẽ thay đổi dựa trên
nhiệt độ tăng hay giảm.
- Điều khiển đèn nhà vệ sinh: Đèn bật/tắt dựa trên cảm biến chuyển động, có nghĩa là
khi có người đèn sẽ bật và khi không có người đèn sẽ tự tắt.
2.2) GIỚI THIỆU PHẦN CỨNG
2.2.1) Khối Vi điều khiển (Arduino Mega 2560)
a) Giới thiệu chung về Arduino
Arduino thực sự đã gây sóng gió trên thị trường dùng DIY trên toàn thế giới trong vài
năm gần đây, gần giống với những gì Apple đã làm được trên thị trường thiết bị di động.
Số lượng người dùng cực lớn và đa dạng với trình độ trải rộng từ bậc phổ thông lên đến đại
học đã làm cho ngay cả những người tạo ra chúng phải ngạc nhiên về mức độ phổ biến.
(Những thành viên khởi xướng Arduino)
Arduino là gì mà có thể khiến ngay cả những sinh viên và nhà nghiên cứu tại các
trường đại học danh tiếng như MIT, Stanford, Carnegie Mellon phải sử dụng; hoặc ngay cả
Google cũng muốn hỗ trợ khi cho ra đời bộ kit Arduino Mega ADK dùng để phát triển các
ứng dụng Android tương tác với cảm biến và các thiết bị khác.
Chương 2: Cơ sở lý thuyết và Code Đồ án Vi điều khiển
GVHD: Lê Hữu Duy Trang 11
Arduino thật ra là một bo mạch vi xử lý được dùng để lập trình tương tác với các thiết
bị phần cứng như cảm biến, động cơ, đèn hoặc các thiết bị khác. Đặc điểm nổi bật của
Arduino là môi trường phát triển phát triển ứng dụng cực kỳ dễ sử dụng, với một ngôn ngữ
lập trình có thể học một cách nhanh chóng ngay cả với người ít am hiểu về điện tử và lập
trình. Và điều làm nên hiện tượng Arduino chính là mức giá rất thấp và tính chất nguồn mở
từ phần cứng tới phần mềm. Chỉ với khoảng $30, người dùng đã có thể sử hữu một board
Arduino có 20 ngõ I/O có thể tương tác và điều khiển chừng ấy thiết bị.
Arduino ra đời tại thị trấn Ivrea thuộc nước Ý và được đặt theo tên một vị vua vào thế
kỉ 9 là King Arduino. Arduino chính thức được đưa ra giới thiệu vào năm 2005 như là một
công cụ khiêm tốn dành cho sinh viên của giáo sư Massimo Banzi, là một trong những
người phát triển Arduino, tại trường Interaction Design Instistute Ivrea (IDII). Mặc dù hầu
như không được tiếp thị gì cả, tin tức về Arduino vần lan truyền với tốc độ chóng mặt nhờ
những lời truyền miệng tốt đẹp của những người dùng đầu tiên. Hiện nay Arduino nổi tiếng
tới nỗi có người tìm đến thị trấn Ivrea chỉ để tham quan nói đã sản sinh ra Arduino.
b) Board Arduino Mega 2560
Chương 2: Cơ sở lý thuyết và Code Đồ án Vi điều khiển
GVHD: Lê Hữu Duy Trang 12
Hình trên là Arduino Mega 2560 – board mạch chủ sử dụng vi điều khiển ATmega
2560. Nó có 54 chân kỹ thuật số đầu vào/ra (trong đó 15 chân có thể xuât ra xung PWM),
16 đầu vào analog, 4 UARTS (cổng nối tiếp phần cứng), 16 MHz dao động tinh thể, kết nối
USB, một jack cắm điện, một tiêu đề ICSP, và một nút reset. Nó chứa tất cả mọi thứ cần
thiết để hỗ trợ các vi điều khiển; chỉ cần kết nối nó với máy tính bằng cáp USB hoặc đấu
nó với một bộ chuyển đổi AC-to-DC hoặc pin để bắt đầu. Mega là tương thích với hầu hết
các lá chắn được thiết kế cho các Arduino Duemilanove hoặc Diecinila. Mega 2560 là một
bản cập nhật cho Mega Arduino mà nó thay thế. Các Mega 2560 khác với tất cả các bảng
trước ở chỗ nó không sử dụng các FTDI chip điều khiển USB-to-serial. Thay vào đó, nó có
tính năng ATmega16U2.
Chương 2: Cơ sở lý thuyết và Code Đồ án Vi điều khiển
GVHD: Lê Hữu Duy Trang 13
Bảng chi tiết thông số:
Vi điều khiển ATmega2560
Điện áp hoạt động 5 [V]
Điện áp đầu vào (được đề nghị) 7 ÷ 12 [V]
Điện áp đầu vào (giới hạn) 6 ÷ 20 [V]
Digital I/O Pins 54 (trong đó 15 cổng đầu ra PWM)
Analog Input Pins 16
DC hiện tại mỗi I/O Pin 40 [mA]
DC hiện tại cho 3.3 [V] Pin 50 [mA]
Bộ nhớ flash 256 [KB] trong đó 8 [KB] sử dụng bởi bộ
nạp khởi động
SRAM 8 [KB]
EEPROM 4 [KB]
Clock Speed 16 MHz]
c) Cấu trúc của Arduino Mega
Arduino Mega có thể được cấp nguồn thông qua kết nối USB hoặc với một nguồn
cung cấp điện bên ngoài. Các nguồn năng lượng được chọn tự động.
Bên ngoài (không – USB) điện có thể đến hoặc từ một bộ chuyển đổi AC-to-DC hoặc
pin. Các bộ chuyển đổi có thể có thể được kết nối bằng cách cắm một plug – 2.1 [mm] trung
tâm tích cực vào jack cắm điện của board mạch. dẫn từ một pin có thể chèn vào trong GND
và Vin pin tiêu đề của kết nối POWER.
Board mạch có thể hoạt động trên một nguồn cung cấp bên ngoài của 6 – 20 [Volt].
Nếu cung cấp ít hơn 7 [V], tuy nhiên, pin 5 [V] có thể cung cấp ít hơn 5 [V] và board mạch
có thể không ổn định. Nếu sử dụng nhiều hơn 12 [V], bộ điều chỉnh điện áp có thể bị quá
nóng và làm hỏng các bảng mạch. Phạm vi đề nghị là 7 ÷ 12 [V].
Các chân điện như sau:
- Vin: Các điện áp đầu vào cho các board Arduino khi nó được sử dụng một nguồn
điện bên ngoài (như trái ngược với 5 volts từ các kết nối USB hoặc nguồn điện quy định
khác). Bạn có thể cung cấp điện thông qua jack cắm điện, truy cập thông tin qua pin này.
- 5V: Pin này xuất ra một 5V quy định. Từ nguồn có thể được cung cấp điện hoặc từ
jack cắm điện DC (7 ÷ 12V). Cung cấp điện áp qua các 5V hoặc 3.3V chân đi qua bộ điều
chỉnh để có điện áp phù hợp với một số linh kiện cần điện áp như vậy.
- 3V3: Một nguồn cung cấp 3.3 Volt. Dòng điện hiện hành tối đa là 50 mA.
- GND: Chân nối đất của Arduino mega.
- IOREF: Pin này trên bảng Arduino cung cấp các tài liệu tham khảo điện áp mà các
vi điều khiển hoạt động. Một lá chắn cấu hình đúng cách có thể đọc các Pin điện áp IOREF
và chọn nguồn năng lượng thích hợp hoặc cho phép dịch điện áp trên các kết quả đầu ra để
làm việc với các điện áp 5V hoặc 3.3V.
Chương 2: Cơ sở lý thuyết và Code Đồ án Vi điều khiển
GVHD: Lê Hữu Duy Trang 14
- Bộ nhớ: Các ATmega2560 có 256 KB bộ nhớ flash để lưu trữ mã (trong đó có 8 KB
được sử dụng cho các bộ nạp khởi động), 8 KB của SRAM và 4 KB của EEPROM (mà có
thể đọc và ghi với các thư viện EEPROM).
- Đầu vào và đầu ra: mỗi chân trong số 54 chân kỹ thuật số trên Mega có thể được sử
dụng như một đầu vào hoặc đầu ra, sử dụng pinMode(), digitalWrite(), digitalRead() chức
năng. Chúng hoạt động tại 5 Volts. Mỗi pin có thể cung cấp hoặc nhận được tối đa 40 mA
và có một điện trở kéo lên bên trong (ngắt kết nối theo mặc định) 20 ÷ 50 kΩ. Ngoài ra,
một số chân có chức năng đặc biệt:
o Serial: 0, 19, 17, 15 (RX); 1, 18, 16, 14 (TX). Được sử dụng để nhận (RX) và
truyền (TX) TTL dữ liệu nối tiếp. Pin 0 và 1 cũng được kết nối với các chân tương ứng của
Atmega16U2 USB-to-TTL nối tiếp chip.
o Ngắt ngoài: 2 (gián đoạn 0), 3 (gián đoạn 1), 18 (gián đoạn 5), 19 (gián đoạn
4), 20 (gián đoạn 3) và 21(gián đoạn 2). Các chân này có thể được cấu hình để kích hoạt
một ngắt trên một giá trị thấp, một giá trị góc lên và xuống, hoặc một sự thay đổi trong giá
trị.
o PWM: 2 – 13 và 44 – 46. Cung cấp 8 bit PWM với analogWrite() chức năng.
o SPI: 50 (MISO), 51 (MOSI), 52 (SCK), 53 (SS). Các chân này hỗ trợ SPI
giao tiếp bằng cách sử dụng thư viện SPI. Các chân SPI cũng được chia ra trên tiêu đề ICSP,
đó là chất tương thích với Uno, Duemilanove và Diecimila.
o LED: 13 có một built-in LED kết nối với pin số 13. Khi pin là giá trị cao, đèn
LED được bật, khi pin là LOW, nó ra.
o TWI: 20 (SDA) và 21 (SCL). Hỗ trợ TWI giao tiếp sử dụng các thư viện
Wire. Lưu ý rằng các chân không ở cùng một vị trí như các chân TWI trên Duemilanove
hoặc Diecimila.
Các Mega2560 có 16 đầu vào analog, mỗi trong số đó cung cấp 10 bit độ phân giải
(tức là 1024 giá trị khác nhau). Theo mặc định họ đo từ Mass (đất) đến 5V, mặc dù có thể
thay đổi vào cuối trên của phạm vi của họ bằng các sử dụng pin Aref và analogReference
chức năng.
- Một số chân khác:
o Aref: Điện áp tham chiếu cho các đầu vào analog. Được sử dụng với
analogReference.
o Thiết lập lại: Mang dòng LOW này để thiết lập lại các vi điều khiển. Thường
được sử dụng để thêm một nút reset để lá chắn ngăn chặn sự một trên bảng.
- Truyền thông kết nối với máy tính
o Arduino Mega2560 có một số phương tiện truyền thông với máy tính, một
Arduino, hoặc vi điều khiển khác. Các Atmega2560 cung cấp 4 phần cứng UARTS cho
TTL (5V) giao tiếp nối tiếp.
o Một Atmega16U2 (Atmega8U2 về sửa đổi 1 và phiên bản 2 bảng) trên kênh
board một trong những trên USB và cung cấp một cổng COM ảo với phần mềm trên máy
tính (máy tính Windows sẽ cần một file .inf, nhưng OSX và Linux máy sẽ công nhận hội
đồng quản trị như một cổng COM tự động. Các phầm mềm Arduino bao gồm một màn hình
nối tiếp cho phép dữ liệu văn bản đơn giản được gửi đến và đi từ hội đồng quản trị. Các RX
Chương 2: Cơ sở lý thuyết và Code Đồ án Vi điều khiển
GVHD: Lê Hữu Duy Trang 15
và TX đèn LED trên bảng sẽ nhấp nháy khi dữ liệu đang được truyền đi thông qua
Atmega8U2 Atmega16U2 chip và USB kết nối với máy tính (nhưng không cho giao tiếp
nối tiếp trên các chân 0 và 1).
o Một thư viện SoftwareSerial cho phép giao tiếp trên bất kỳ của các chân kỹ
thuật số của Mega2560.
o Các Atmega2560 cũng hỗ trợ TWI và SPI truyền thông. Các phần mềm
Arduino bao gồm một thư viện Wire để đơn giản hóa việc sử dụng các bus TWI; Đối với
SPI giao tiếp , sử dụng các thư viện SPI.
- Lập trình: Arudino Mega có thể được lập trình với các phần mềm Arduino. Các
Atmega2560 trên Mega Arduino đi kèm preburned với một bộ nạp khởi động cho nó mà
không sử cho phép bạn tải lên mã mới dụng một lập trình viên phần cứng bên ngoài. Nó
giao tiếp bằng cách sử dụng gốc STK500 giao thức.
2.2.2) Khối hiển thị LCD text 1602
LCD text 1602 một sản phẩm quen thuộc với những người mới học và muốn thực
hiện các dự án về điện tử, lập trình sử dụng trong rất nhiều các ứng dụng Vi điều khiển.
Với khả năng hiển thị 2 dòng với mỗi dòng 16 ký tự hiển thị như: khả năng hiển thị ký tự
đa dạng (chữ, số, kí tự đồ họa); dễ dàng đưa vào các mạch ứng dụng theo nhiều giao thức
giao tiếp khác nhau, tiêu tốn rất ít tài nguyên hệ thống, giá thành rẻ,…
a) Thông số kỹ thuật
- Điện áp hoạt động MAX: 7 [V].
- Điện áp hoạt động MIN: - 0.3 [V].
- Hoạt động ổn định: 2.7 ÷ 5 [V].
- Điện áp ra mức cao: > 2.4 [V].
- Điện áp ra mức thấp: < 0.4 [V].
- Dòng điện cấp nguồn: 350 ÷ 600 [mA].
- Nhiệt độ hoạt động: -30 ÷ 75 [O
C].
- Kích thước: 80 x 36 x 12.5 [mm].
- Chữ trắng, nền xanh.
- Khoảng cách giữa 2 chân kết nối là 0.1 inch tiện dụng khi kết nối với Breadboard.
- Đèn led nền có thể dùng biến trở hoặc PWM điều chỉnh độ sáng thích hợp.
- Có thể được điểu khiển với 6 dây tín hiệu.
Chương 2: Cơ sở lý thuyết và Code Đồ án Vi điều khiển
GVHD: Lê Hữu Duy Trang 16
b) Chức năng của từng chân LCD 1602
- Chân số 1 (VSS): Chân nối đất cho LCD được nối với GND (0V) của mạch điều
khiển.
- Chân số 2 (VDD): Chân cấp nguồn cho LCD, VCC = 5 [V]. Có thể cấp nguồn riêng
hoặc lấy từ mạch điều khiển.
- Chân số 3 (VEE): Điều chỉnh độ tương phản (độ sáng) của LCD.
- Chân số 4 (RS): Lựa chọn thanh ghi
o RS = 0 – Chọn thanh ghi lệnh. Bus DB0 – DB7 sẽ nối với thanh ghi lệnh IR
của LCD (ở chế độ “write” – ghi) hoặc nối với bộ đếm địa chỉ của LCD (ở chế độ “read” –
đọc).
o RS = 1 – Chọn thanh ghi dữ liệu. Bus DB0 – DB7 sẽ nối với thanh ghi dữ
liệu DR bên trong LCD.
- Chân số 5 (RW): Chân chọn chế độ Read/Write (đọc/ghi)
o RW = 0 – Ghi dữ liệu.
o RW = 1 – Đọc dữ liệu.
- Chân số 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 của chân này như sau:
o Ở chế độ Write (ghi): Dữ liệu bus sẽ được LCD chuyển vào thanh ghi bên
trong khi phát tín hiệu một xung (high to low transition) của tính hiệu chân E.
o Ở chế độ Read (đọc): Dữ liệu sẽ được LCD xuất ra DB0 – DB7 khi phát tín
hiệu cạnh lên (low to high transition) ở chân E và được LCD giữ ở bus đến khi nào chân E
xuống mức thấp.
Chương 2: Cơ sở lý thuyết và Code Đồ án Vi điều khiển
GVHD: Lê Hữu Duy Trang 17
- Chân số 7 đến 14 (D0 đến D7): 8 chân trao đổi dữ liệu với các vi điều khiển, với 2
chế độ sử dụng:
o Chế độ 8 bit: Dữ liệu được truyền trên cả 8 đường, với bit MSB là bit DB7.
o Chế độ 4 bit: Dữ liệu được truyền trên 4 đường từ DB4 đến DB7, bit MSB là
DB7.
- Chân số 15 (A): Nguồn dương cho đèn nền.
- Chân số 16 (K): Nguồn âm cho đèn nền.
c) Giao tiếp màn hình LCD 1602 với 8051
Nhìn chung lập trình điều khiển LCD là một công việc khá phức tạp. Để lập trình
được các hàm khởi tạo, điều khiển LCD cần phải có khả năng lập trình nhất định. Tuy nhiên
LCD cũng là một thiết bị cơ bản được sử dụng nhiều trong các ứng dụng và có nhiều người
lập trình quan tâm. Do đó có nhiều người lập trình, các đội ngũ phát triển đã viết ra những
hàm, chương trình con để điều khiển LCD. Đối với những người lập trình ứng dụng thì chỉ
cần sử dụng những hàm được xây dựng sẵn này để sử dụng, đôi khi không nhất thiết phải
hiểu sâu về việc xây dựng các hàm này như thế nào.
 Code điều khiển hiển thị LCD chế độ 4 bit
#include <REGX51.H>
/********Khai báo chân giao tiếp************/
#define LCD_RS P2_0
#define LCD_RW P2_1
#define LCD_EN P2_2
#define LCD_D4 P2_4
#define LCD_D5 P2_5
#define LCD_D6 P2_6
#define LCD_D7 P2_7
/************************************/
void delay_us (unsigned int t) {
unsigned int i;
for (i = 0; i < t; i++);
}
// Hàm delay_ms được tính toán với tần số thạch anh 12MHz
void delay_ms (unsigned int t) {
unsigned int i, j;
Chương 2: Cơ sở lý thuyết và Code Đồ án Vi điều khiển
GVHD: Lê Hữu Duy Trang 18
for (i = 0; i < t; i++)
for (j = 0; j < 125; j++);
}
/**************Chương trình giao tiếp LCD 1602 4bit**********************/
void LCD_Enable (void) {
LCD_EN = 1; // Không cho phép truyền tiếp
delay_us (3);
LCD_EN = 0; // Cho phép truyển command vào LCD
delay_us (50);
}
// Hàm gửi 4 bit dữ liệu ra LCD
void LCD_Send4Bit (unsigned char Data) {
LCD_D4 = Data & 0x01;
LCD_D5 = (Data >> 1) & 1;
LCD_D6 = (Data >> 2) & 1;
LCD_D7 = (Data >> 3) & 1;
}
// Hàm gửi 1 lệnh cho LCD
void LCD_SendCommand (unsigned char command) {
LCD_Send4Bit (command >> 4); // Gửi 4 bit cao
LCD_Enable ();
LCD_Send4Bit (command); // Gửi 4 bit thấp
LCD_Enable ();
}
void LCD_Clear ( ) { // Hàm xóa màn hình LCD
LCD_SendCommand (0x01);
delay_us (10);
}
Chương 2: Cơ sở lý thuyết và Code Đồ án Vi điều khiển
GVHD: Lê Hữu Duy Trang 19
// Hàm khởi tạo LCD
void LCD_Init ( ) {
LCD_Send4Bit (0x00);
delay_ms (20);
LCD_RS = 0; // Chọn chế độ ghi lệnh
LCD_RW = 0; // Chọn chế độ ghi
LCD_Send4Bit (0x03);
LCD_Enable ( );
delay_ms (5);
LCD_Enable ( );
delay_us (100);
LCD_Enable ( );
LCD_Send4Bit (0x02);
LCD_Enable ( );
LCD_SendCommand (0x28); // giao thức 4 bit, hiển thị 2 hàng, kí tự 5x8
LCD_SendCommand (0x0c); // cho phép hiển thị màn hình
LCD_SendCommand (0x06); // tăng ID, không dịch khung hình
LCD_SendCommand (0x01); // xóa toàn bộ khung hình
}
void LCD_Gotoxy (unsigned char x, unsigned char y) {
unsigned char address;
if (!y) address = (0x80+x);
else address = (0xc0+x);
delay_us (1000);
LCD_SendCommand (address);
delay_us (50);
}
void LCD_PutChar (unsigned char Data) { // Hàm gửi 1 ký tự
Chương 2: Cơ sở lý thuyết và Code Đồ án Vi điều khiển
GVHD: Lê Hữu Duy Trang 20
LCD_RS = 1;
LCD_SendCommand (Data);
LCD_RS = 0 ;
}
void LCD_Puts (char *s) { // hàm gửi 1 chuỗi ký tự
while (*s){
LCD_PutChar(*s);
s++;
}
}
/******************Chương trình chính**************************/
void main ( ) {
LCD_Init ( ); // khởi tạo LCD
delay_ms (1000);
LCD_Puts ("DoAnViDieuKhien"); // gửi chuỗi lệnh lên LCD
delay_ms (1000);
LCD_Clear ( ); // xóa màn hình
LCD_Gotoxy (0, 0); // trỏ tới vị trí
LCD_Puts ("I'm Gia Hau");
delay_ms (2000);
LCD_Gotoxy (0,1); // trỏ tới vị trí
LCD_Puts ("OK!!!!");
while (1); // không làm gì cả
}
Chương 2: Cơ sở lý thuyết và Code Đồ án Vi điều khiển
GVHD: Lê Hữu Duy Trang 21
 Sơ đồ lắp đặt mô phỏng
Chương 2: Cơ sở lý thuyết và Code Đồ án Vi điều khiển
GVHD: Lê Hữu Duy Trang 22
 Hiển thị ký tự đặt biệt lên LCD
Chương 2: Cơ sở lý thuyết và Code Đồ án Vi điều khiển
GVHD: Lê Hữu Duy Trang 23
d) Giao tiếp màn hình LCD với Arduino
LCD text 1602 một sản phẩm quen thuộc với những người mới học và muốn thực
hiện các dự án về điện tử, lập trình. Với khả hiển thị 2 dòng với mỗi dòng 16 ký tự, đồng
thời có rất nhiều ví dụ mẫu được cộng đồng Arduino xây dựng sẵn sẽ giúp người mới sử
dụng làm quen nhanh hơn cũng như tiết kiệm được thời gian trong việc phát triển ứng dụng
của mình.
 Code điều khiển hiển thị LCD
#include <LiquidCrystal.h> // khai báo thư viện LCD (thư viện có sẵn)
LiquidCrystal lcd (12, 11, 5, 4, 3, 2); // Khởi tạo với các chân LCD
void setup () {
lcd.begin (16, 2); // Khởi động LCD 1602
lcd.print ("HELLO");
}
void loop ( ) {
lcd.setCursor (0, 1);
lcd.print ("8/2020");
}
Chương 2: Cơ sở lý thuyết và Code Đồ án Vi điều khiển
GVHD: Lê Hữu Duy Trang 24
 Sơ đồ lắp đặt mô phỏng
e) Giao tiếp màn hình LCD với Arduino theo phương thức I2C
 Giới thiệu Module I2C LCD 1602
LCD có quá nhiều nhiều chân gây khó khăn trong quá trình đấu nối và chiếm dụng
nhiều chân trên vi điều khiển. Module I2C LCD ra đời và giải quyết vấn để này.
Thay vì phải mất 6 chân vi điều khiển để kết nối với LCD 1602 (RS, EN, D7, D6, D5
và D4) thì module IC2 chỉ cần tốn 2 chân (SCL, SDA) để kết nối.
Module I2C hỗ trợ các loại LCD sử dụng driver HD44780 (LCD 16x2, LCD 20x4,
...) và tương thích với hầu hết các vi điều khiển hiện nay.
Ưu điểm:
- Tiết kiệm chân cho vi điều khiển.
Chương 2: Cơ sở lý thuyết và Code Đồ án Vi điều khiển
GVHD: Lê Hữu Duy Trang 25
- Dễ dàng kết nối với LCD.
Thông số kĩ thuật:
- Điện áp hoạt động: 2.5-6V DC.
- Hỗ trợ màn hình: LCD1602,1604,2004 (driver HD44780).
- Giao tiếp: I2C.
- Địa chỉ mặc định: 0X27 (có thể điều chỉnh bằng ngắn mạch chân A0/A1/A2).
-
- Tích hợp Jump chốt để cung cấp đèn cho LCD hoặc ngắt.
- Tích hợp biến trở xoay điều chỉnh độ tương phản cho LCD.
Để sử dụng màn hình LCD giao tiếp I2C sử dụng Arduino thì ta cần cài đặt thư viện
Liquidcrystal_I2C.
Chương 2: Cơ sở lý thuyết và Code Đồ án Vi điều khiển
GVHD: Lê Hữu Duy Trang 26
 Code điều khiển hiển thị LCD với Arduino với giao tiếp I2C
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd (0x27,16,2);
// Đặt địa chỉ LCD là 0x27 cho màn hình LCD 1602
// 16 là số cột của màn hình.
// 2 là số dòng của màn hình.
void setup ( ) {
lcd.init ( ); // Khởi động màn hình LCD, bắt đầu cho phép.
lcd.backlight ( ); // Bật đèn nền LCD 1602.
lcd.setCursor (2, 0); // Đưa con trỏ tới hàng 1, cột 3.
// Lưu ý: giá trị hàng và cột bắt đầu từ số 0 có nghĩa là hàng (cột) 1.
lcd.print ("Xin chao"); // Xuất ra dòng chữ “Xin chao” tại vị trí con trỏ hàng 1, cột 3.
lcd.setCursor (0, 1); // Đưa con trỏ tới hàng 2, cột 1.
lcd.print ("Cac ban"); // Xuất ra dòng chữ “Cac ban” tại vị trí con trỏ hàng 1, cột 3.
}
void loop ( ) { }
Chương 2: Cơ sở lý thuyết và Code Đồ án Vi điều khiển
GVHD: Lê Hữu Duy Trang 27
 Sơ đồ lắp đặt mô phỏng
Module I2C LCD 1602 Arduino UNO
GND GND
VCC 5V
SDA A4/SDA
SCL A5/SCL
 Code tìm địa chỉ cho LCD 1602
#include <Wire.h>
void setup ( ) {
Wire.begin ( );
Serial.begin (9600);
while (!Serial);
Serial.println ("-----------------------");
Serial.println ("I2C Device Scanner");
Serial.println ("-----------------------");
byte error;
byte address;
int Devices;
Serial.println ("Scanning...");
Delay (1000);
Serial.println ("--------------------------------");
Chương 2: Cơ sở lý thuyết và Code Đồ án Vi điều khiển
GVHD: Lê Hữu Duy Trang 28
Devices = 0;
for (address = 1; address < 127; address++ ) {
Wire.beginTransmission (address);
error = Wire.endTransmission();
if (error == 0) {
Serial.print ("I2C device found at address 0x");
if (address < 16) {
Serial.print ("0");
}
Serial.print (address, HEX);
Serial.println (" !");
Devices++;
}
else if (error == 4) {
Serial.print ("Unknown error at address 0x");
if (address < 16)
Serial.print ("0");
Serial.println (address, HEX);
}
}
if (Devices == 0) {
Serial.println("No I2C devices foundn");
}
else {
Serial.println("-------------- Done!!! -------------");
}
}
void loop ( ) { }
Chương 2: Cơ sở lý thuyết và Code Đồ án Vi điều khiển
GVHD: Lê Hữu Duy Trang 29
2.2.3) Khối cảm biến
2.2.3.1) Cảm biến đóng/mở cửa bằng RFID
a) Giới thiệu RFID
 RFID là gì?
RFID (Radio Frequency
Identification), hay Nhận dạng qua tần
số vô tuyến, là một công nghệ dùng kết
nối sóng vô tuyến để tự động xác định và
theo dõi các thẻ nhận dạng gắn vào vật
thể.
Hay nói cách khác, RFID là một kỹ
thuật nhận dạng sóng vô tuyến từ xa, cho
phép dữ liệu trên một con chíp được đọc một cách "không tiếp xúc" qua đường dẫn sóng
vô tuyến ở khoảng cách từ 50 cm tới 10 mét, sử dụng thiết bị thẻ RFID và một đầu đọc
RFID.
 Hệ thống RFID
Một hệ thống RFID tối thiểu gồm những thiết bị sau:
- Thẻ RFID (RFID Tag, còn được gọi là transponder): là một thẻ gắn chíp + Anten
Thẻ RFID có thể thay thế cho các mã vạch trên các sản phẩm có bán tại các siêu thị
bán lẻ. Thay vì phải đưa thiết bị vào sát mã vạch để quét, RFID cho phép thông tin có thể
được truyền qua những khoảng cách nhỏ mà không cần một tiếp xúc vật lý nào cả.
Thẻ RFID được đưa vào sử dụng trong rất nhiều lĩnh vực như: Quản lý nhân sự, quản
lý hàng hóa vào/ra siêu thị, nhà kho, ... theo dõi động vật, quản lý xe cộ qua trạm thu phí,
làm thẻ hộ chiếu …
Chương 2: Cơ sở lý thuyết và Code Đồ án Vi điều khiển
GVHD: Lê Hữu Duy Trang 30
Có 2 loại thẻ RFID là RFID passive tag và RFID active tag:
+ Passive tags: Không cần nguồn ngoài và nhận năng lượng từ thiết bị đọc, khoảng
cách đọc ngắn.
+ Active tags: Được nuôi bằng PIN, sử dụng với khoảng cách đọc lớn.
- Thiết bị đọc thẻ RFID (hay còn gọi là đầu đọc-reader): để đọc thông tin từ các thẻ,
có thể đặt cố định hoặc lưu động.
- Antenna: là thiết bị liên kết giữa thẻ và thiết bị đọc. Thiết bị đọc phát xạ tín hiệu
sóng để kích họat và truyền nhận với thẻ.
- Server: nhu nhận, xử lý dữ liệu, phục vụ giám sát, thống kê, điều khiển,..
 Đặc điểm của hệ thống RFID
- Hệ thống RFID sử dụng hệ thống không dây thu phát sóng radio, không sử dụng tia
sáng như mã vạch.
- Các tần số thường được sử dụng trong hệ thống RFID là 125Khz hoặc 900Mhz.
- Thông tin có thể được truyền qua những khoảng cách nhỏ mà không cần một tiếp
xúc vật lý nào.
- Có thể đọc được thông tin xuyên qua các môi trường, vật liệu như: bê tông, tuyết,
sương mù, băng đá, sơn và các điều kiện môi trường thách thức khác mà mã vạch và các
công nghệ khác không thể phát huy hiệu quả.
 Nguyên lý hoạt động
Thiết bị RFID reader phát ra sóng điện từ ở một tần số nhất định, khi thiết bị RFID
tag trong vùng hoạt động sẽ cảm nhận được sóng điện từ này và thu nhận năng lượng từ đó
phát lại cho thiết bị RFID Reader biết mã số của mình. Từ đó thiết bị RFID reader nhận
biết được tag nào đang trong vùng hoạt động.
 Khoảng cách đọc chuẩn của RFID
Chương 2: Cơ sở lý thuyết và Code Đồ án Vi điều khiển
GVHD: Lê Hữu Duy Trang 31
Khoảng cách đọc phụ thuộc vào một số thông số và điều kiện cụ thể, tùy thuộc vào
thẻ là Active hay Passive Tag. Phần lớn thẻ RFID Passive có khoảng cách đọc < 3 feet, tùy
thuộc vào dải tần số của đầu đọc.Hệ thống RFID sử dụng dải tần UHF sẽ có khoảng cách
đọc lớn hơn.thậm chí có những hệ thống khoảng cách đọc có thể lên tới 300 feet ( 100 m )
phụ thuộc vào từng ứng dụng cụ thể.
 Dải tần hoạt động của hệ thống RFID
Khi phải lựa chọn một hệ thống RFID, yêu cầu đầu tiên là chọn dải tần hoạt động của
hệ thống.
- Tần số thấp - Low frequency 125 KHz: Dải đọc ngắn tốc độ đọc thấp.
- Dải tần cao - High frequency 13.56 MHz: Khoảng cách đọc ngắn tốc độ đọc trung
bình. Phần lớn thẻ Passive sử dụng dải này.
- Dải tần cao hơn - High frequency: Dải đọc từ ngắn đến trung bình, tốc độ đọc trung
bình đến cao. Phần lớn thẻ Active sử dụng tần số này.
- Dải siêu cao tần - UHF frequency 868-928 MHz: Dải đọc rộng Tốc độ đọc cao. Phần
lớn dùng thẻ Active và một số thẻ Passive cao tần sử dụng dải này.
- Dải vi sóng - Microwave 2.45-5.8 GHz: Dải đọc rộng tốc độ đọc lớn.
 Ứng dụng của RFID
Ứng dụng tiêu biểu và thiết thực nhất là chống mất trộm trong shop thời trang hay
siêu thị hàng hóa. Khi đó các chip RFID tag sẽ được gắn với các mã số hàng hóa. Thiết bị
RFID reader và antenna được gắn với bên ngoài cửa kiểm soát. Khi đó đồ vật, hàng hóa
chưa được tháo chip ra ngoài cửa kiểm soát thì thiết bị Reader dễ dàng nhận thấy và phát
ra cảnh báo.
Ngoài ra còn một ứng dụng khác là sản xuất khóa chống trộm xe máy. Việc ứng dụng
công nghệ RFID vào khóa chống trộm sẽ làm cho tên trộm phải bỏ cuộc.
b) Giới thiệu về RFID – RC522
Module RFID RC522 sử dụng IC MFRC522 của Phillip dùng để đọc và ghi dữ liệu
cho thẻ NFC tần số 13.56mhz, với mức giá rẻ thiết kế nhỏ gọn, module này là sự lựa chọn
hàng đầu cho các ứng dụng về ghi đọc thẻ RFID.
Chương 2: Cơ sở lý thuyết và Code Đồ án Vi điều khiển
GVHD: Lê Hữu Duy Trang 32
 Thông số kỹ thuật
- Nguồn: 3.3VDC, 13 - 26mA.
- Dòng ở chế độ chờ: 1013mA.
- Dòng ở chế độ nghỉ: <80uA.
- Tần số sóng mang: 13.56MHz.
- Khoảng cách hoạt động: 0~60mm(mifare1 card).
- Giao tiếp: SPI.
- Tốc độ truyền dữ liệu: tối đa 10Mbit/s.
- Các loại card RFID hỗ trợ: mifare1 S50, mifare1 S70, mifare UltraLight, mifare Pro,
mifare Desfire.
- Kích thước: 40mm × 60mm.
 Tính năng, đặc điểm
- MF RC522 ứng dụng cho việc tích hợp cao việc đọc và viết dữ liệu.
- Giao tiếp với thẻ tại tần số 13.56Mhz.
- Là sự lựa chọn tốt cho sự phát triển của các thiết bị thông minh và thiết bị di động
cầm tay.
- MF RC552 sử dụng cho việc nâng cao điều chế và giải mã điều chế thông tin giao
tiếp thụ động bằng các phương pháp hoàn toàn thích hợp trong tần số 13.56Mhz .
- Tương thích với bộ phát tín hiệu 14443A.
- ISO 14443A xử lý kỹ thuật để phát hiện lỗi và các khung hình.
- CRYPTO1 nhanh chóng hỗ trợ mã hóa thuật toán để xác nhận sản phẩm là mafire.
- MF RC552 hỗ trợ mafire giao tiếp với các chuỗi bằng tốc độ cao,tốc độ truyền dữ
liệu 2 chiều lên tới 424kbit/s.
- MF RC552 cũng tương tự như MF RC500,MF RC530 nhưng cũng có những đặc
điểm và sự khác biệt,giao tiếp giữa nó và máy chủ ở chế độ SPI giúp giảm thiểu các kết nối
hạn hẹp của PCB,giảm chi phí đáng kể.
Chương 2: Cơ sở lý thuyết và Code Đồ án Vi điều khiển
GVHD: Lê Hữu Duy Trang 33
- Các MF 552 là các module được thiết kế để dể dàng sử dụng với các đầu đọc thẻ
mạch.
- Giá thành rẻ và được áp dụng cho sự phát triển các thiết bị cho người sử dụng
- Nâng cao sự phát triển của các ứng dụng ,đáp ứng nhu cầu về sử dụng các thiết bị
đầu/cuối sử dụng thẻ nhớ RF.
- Module này có thể được nạp trược tiếp vào các khuôn reader khác nhau,rất thuận
tiện.
 Chân kết nối
- SDA(SS) chân lựa chọn chip khi giao tiếp SPI (kích hoạt mức thấp).
- SCK :chân xung trong chế độ SPI.
- MOSI(SDI): Master Data Out – Slave In trong chế độ giao tiếp SPI.
- MISO(SDO): Master Data In – Slave Out trong chế độ giao tiếp SPI.
- IRQ : chân ngắt.
- GND : chân nối mass.
- RST : chân reset lại module.
- VCC : nguồn 3.3V.
 Kết nối với Arduino
Arduino
UNO
Arduino
Mega
Arduino
Nano
Arduino
Leonardo
Arduino
Pro Micro
RST 9 5 D9 RESET/ICSP – 5 RST
SDA (SS) 10 53 D10 10 10
MOSI 11 51 D11 ICSP – 4 16
MISO 12 50 D12 ICSP – 1 14
SCK 13 52 D13 ICSP – 3 15
 Code đọc địa chỉ ID của RFID
#include <SPI.h>
#include <MFRC522.h>
#define RST_PIN 9
#define SS_PIN 10
MFRC522 mfrc522 (SS_PIN, RST_PIN); // Tạo ví dụ MFRC522
void setup ( ) {
Serial.begin(9600); // Khởi tạo giao tiếp nối tiếp với PC
while (!Serial); // Không làm gì nếu không có cổng nối tiếp được mở
(được thêm cho Arduinos dựa trên ATMEGA32U4)
SPI.begin ( ); // Khởi tạo bus SPI
mfrc522.PCD_Init ( ); // Init MFRC522
Chương 2: Cơ sở lý thuyết và Code Đồ án Vi điều khiển
GVHD: Lê Hữu Duy Trang 34
delay (4); // Tùy chọn chậm trễ. Một số bảng cần thêm thời
gian sau khi init để sẵn sàng, xem Readme
mfrc522.PCD_DumpVersionToSerial ( ); // Hiển thị chi tiết về chi tiết đầu
đọc thẻ PCD - MFRC522
Serial.println (F ("Scan PICC to see UID, SAK, type, and data blocks..."));
}
void loop ( ) {
// Đặt lại vòng lặp nếu không có thẻ mới xuất hiện trên cảm biến / đầu đọc. Điều này
tiết kiệm toàn bộ quá trình khi không hoạt động.
if ( ! mfrc522.PICC_IsNewCardPresent( )) {
return;
}
// Select one of the cards
if ( ! mfrc522.PICC_ReadCardSerial( )) {
return;
}
// Dump gỡ lỗi thông tin về thẻ; PICC_HaltA () được gọi tự động
mfrc522.PICC_DumpToSerial (& (mfrc522.uid));
}
Chương 2: Cơ sở lý thuyết và Code Đồ án Vi điều khiển
GVHD: Lê Hữu Duy Trang 35
2.2.3.2) Cảm biến chuyển động HC – SR501
a) Khái niệm
PIR là chữ viết tắt của Passive
InfraRed sensor (PIR sensor), tức là bộ
cảm biến thụ động dùng nguồn kích thích
là tia hồng ngoại. Tia hồng ngoại (IR)
chính là các tia nhiệt phát ra từ các vật thể
nóng. Trong các cơ thể sống, trong chúng
ta luôn có thân nhiệt (thông thường là ở
37 độ C), và từ cơ thể chúng ta sẽ luôn
phát ra các tia nhiệt, hay còn gọi là các tia
hồng ngoại, người ta sẽ dùng một tế bào
điện để chuyển đổi tia nhiệt ra dạng tín
hiệu điện và nhờ đó mà có thể làm ra cảm
biến phát hiện các vật thể nóng đang
chuyển động. Cảm biến này gọi là thụ
động vì nó không dùng nguồn nhiệt tự
phát (làm nguồn tích cực, hay chủ động)
mà chỉ phụ thuộc vào các nguồn tha nhiệt,
đó là thân nhiệt của các thực thể khác, như con người con vật…
b) Cấu tạo
Trên đây là đầu dò PIR, loại bên trong gắn 2 cảm biến tia nhiệt, nó có 3 chân ra, một
chân nối masse, một chân nối với nguồn volt DC, mức áp làm việc có thể từ 3 đến 15V.
Góc dò lớn. Để tăng độ nhậy cho đầu dò, Bạn dùng kính Fresnel, nó được thiết kế cho loại
đầu có 2 cảm biến, góc dò lớn, có tác dụng ngăn tia tử ngoại.
Chương 2: Cơ sở lý thuyết và Code Đồ án Vi điều khiển
GVHD: Lê Hữu Duy Trang 36
c) Nguyên lý
Các nguồn nhiệt (với người và con vật là nguồn thân nhiệt) đều phát ra tia hồng ngoại,
qua kính Fresnel, qua kích lọc lấy tia hồng ngoại, nó được cho tiêu tụ trên 2 cảm biến hồng
ngoại gắn trong đầu dò, và tạo ra điện áp được khuếch đại với transistor FET. Khi có một
vật nóng đi ngang qua, từ 2 cảm biến này sẽ cho xuất hiện 2 tín hiệu và tín hiệu này sẽ được
khuếch đại để có biên độ đủ cao và đưa vào mạch so áp để tác động vào một thiết bị điều
khiển hay báo động.
Hình vẽ cho thấy 2 vùng cảm ứng nhậy cảm tương ứng với 2 cảm biến trong đầu dò.
Khi có một con vật đi ngang, từ thân con vật sẽ luôn phát ra tia nhiệt, nó được tiêu tụ mạnh
với kính Fresnel và rồi tiêu tụ trên bia là cảm biến hồng ngoại, vậy khi con vật đi ngang, ở
ngả ra của đầu dò chúng ta sẽ thậy. Xuất hiện một tín hiệu, tín hiệu này sẽ được cho vào
mạch xử lý để tạo tác dụng điều khiển hay báo động.
d) Các tia nhiệt
Mọi vật thể đều được cấu tạo từ các phân tử nhỏ li ti, nhiệt là một dạng năng lượng
tạo ra từ các xao động của các phân tử, đó là các chuyển động hỗn loạn, không trật tự. Từ
các xao động này, nó phát ra các tia nhiệt, bằng cảm giác thông thường của giác quan, con
người chúng ta nói đó là sức nóng. Ở mỗi người nguồn thân nhiệt thường được điều ổn ở
mức 37 độ C, đó là nguồn nhiệt mà ai cũng có và nếu dùng linh kiện cảm ứng thân nhiệt,
chúng ta sẽ có thiết bị phát hiện ra người, đó chính là ý tưởng mà người ta chế ra thiết bị
motion detector, điều khiển theo nguồn thân nhiệt chuyển động.
Chương 2: Cơ sở lý thuyết và Code Đồ án Vi điều khiển
GVHD: Lê Hữu Duy Trang 37
Người ta kẹp vật liệu pyroelectric giữa 2 bản cực, khi có tác kích của các tia nhiệt,
trên hai 2 bản cực sẽ xuất hiệu tín hiệu điện, do tín hiệu yếu nên cần mạch khuếch đại.
Trong bộ đầu dò PIR, người ta gắn 2 cảm ứng PIR nằm ngang, và cho nối vào cực
Gate (chân Cổng) của một transistor FET có tính khuếch đại. Khi cảm biến pyroelectric thứ
nhất nhận được tia nhiệt, nó sẽ phát ra tín hiệu và khi nguồn nóng di chuyển ngang, sẽ đến
cảm biến pyroelectric thứ hai nhận được tia nhiệt và nó lại phát ra tín hiệu điện. Sự xuất
hiện của 2 tín hiệu này cho nhận biết là đã có một nguồn nhiệt di động ngang và mạch điện
tử sẽ phát ra tín hiệu điều khiển. Tín hiệu này có thể dùng tắt mở đèn hay dùng để báo động
khi có kẻ lạ vào nhà.
e) Thiết bị tiêu tụ gôm tia nhiệt rọi trên bề mặt cảm ứng PIR
Chúng ta biết các tia nhiệt phát ra từ thân thể người rất yếu và rất phân tán, để tăng độ
nhậy phải dùng kính có mặt kính lồi tạo chức năng tiêu tụ, quen gọi là kinh Focus, hình
động dưới đây cho thấy các mặt sóng của các tia sáng khi đi qua một mặt kính lồi đã được
cho gôm lại tại một điểm nhỏ, điểm đó gọi là tiêu điểm ( 焦点 , theo âm Hán Việt, chữ
tiêu 焦 bên dưới có bộ hỏa 灬 火 , vậy nó có nghĩa là điểm nóng, nhiều Bạn dùng kính lúp
tạo ra điểm nóng, điểm nóng này có thể đốt cháy giấy đấy, đó là trò chơi của các bạn nhỏ).
Chương 2: Cơ sở lý thuyết và Code Đồ án Vi điều khiển
GVHD: Lê Hữu Duy Trang 38
 Thông số kỹ thuật
- Điện áp hoạt động : DC 4.5V – 20V.
- Đầu ra : High 3.3V/ Low 0V.
- Thứ tự chân: Vcc OUT GND
- Có 2 chế độ hoạt động:
o L không lặp lại kích hoạt.
o H lặp lại kích hoạt.
- Thời gian trễ: 5 – 200s có thể điều chỉnh từ 0,xx đến hàng chục giây.
- Thời gian khóa: 2.5s (mặc định).
- Góc quét < 100 độ.
- Kích thước ống cảm biến: 23mm (mặc định).
- Nhiệt độ hoạt động: -15oC - 70oC.
- Kích thước board: 32mm*24mm.
- Khối lượng: 6g.
- Sử dụng cảm biến: 500BP
- Khoảng các phát hiện: 2-4.5m
 Các tính năng
A. Tự động cảm ứng: Khi có người vào phạm vi cảm ứng, OUT: 1.5-3.3V. Không
phát hiện ở 0V.
B. Kiểm soát ánh sáng (tùy chọn): Bạn có thể xem vị trí lắp quang trở, khi có quang
trở, sẽ thiết lặp Module hoạt động ban ngày hoặc ban đêm.
C. Thiết lập hai chế độ kích hoạt: L không có thể được lặp đi lặp lại, H có thể được
lặp đi lặp lại. Bạn chọn chế độ bằng việc cắm Jump Chốt.
a. Không thể lặp lại kích hoạt: Module tự động đưa về mức thấp khi hết thời
gian trễ.
b. Lặp lại kích hoạt: Module luôn giữ ở mức cao cho đến khi không còn người
chuyển động.
D. Thiết lập thời gian: Module hoạt động ổn định khi cài đặt >5s
Chương 2: Cơ sở lý thuyết và Code Đồ án Vi điều khiển
GVHD: Lê Hữu Duy Trang 39
E. Điện áp sử dụng: Sử dụng điện áp từ 5-12V
 Hướng dẫn sử dụng
a. Cài đặt: Khi khởi tạo, Module cần thời gian khởi tạo khoảng 1 phút. Trong thời gian
này, moudle tạo ra điện áp cao từ 1-3 lần sau đó vào chế độ chờ.
Điện áp ra 1.5-3.3V, nếu sử dụng I/O 4.5-5.5V bạn nên lắp thêm BJT chuyển đổi mức
tín hiệu.
b. Địa điểm sử dụng: Nên cố gắng tránh ánh sáng trực tiếp và nguồn nhiễu gần với bề
mặt lăng kính của các mô-đun, để tránh đưa ra tín hiệu nhiễu, tránh sử dụng môi trường
nhiều gió.
 Code Test
int ledPin = 26;
int inputPin = 25;
int pirState;
int val;
void setup ( ) {
Serial.begin (9600);
pinMode (inputPin, INPUT);
pinMode (ledPin, OUTPUT);
}
void loop( ) {
val = digitalRead (inputPin);
Serial.print (val);
if (val == HIGH) {
digitalWrite (ledPin, HIGH);
Serial.println ("ON LIGHT");
}
else {
digitalWrite (ledPin, LOW);
Serial.println ("OFF LIGHT"); } }
Chương 2: Cơ sở lý thuyết và Code Đồ án Vi điều khiển
GVHD: Lê Hữu Duy Trang 40
2.2.3.3) Cảm biến ánh sáng
Cảm biến ánh sáng quang trở thay đổi điện trở dựa vào cường độ ánh sáng chiếu vào,
cảm biến sử dụng Photoresistor nên
cho độ nhạy cao, tín hiệu ổn định.
Cảm Biến Ánh Sáng Quang Trở
nhạy cảm nhất với cường độ ánh sáng
môi trường thường được sử dụng để
phát hiện độ sáng môi trường xung
quanh và cường độ ánh sáng. Khi
cường độ ánh sáng môi trường xung
quanh bên ngoài vượt quá một
ngưỡng quy định, ngõ ra của module
D0 là mức logic thấp.
Cảm biến ánh sáng sử dụng
quang trở có khả năng thay đổi điện
trở theo cường độ ánh sáng chiếu vào.
Tín hiệu xuất ra của cảm biến là
digital HIGH (5V) và LOW tượng
trưng cho các trạng thái bật, tắt thiết bị điện tự động mà bạn không cần phải thao tác vào !
a) Đặt tính nổi bật
- Nhỏ gọn.
- Độ chính xác cao.
- Các thành phần phụ như điện trở, tụ điện... cần thiết cho mạch đã được gắn đầy đủ.
Bạn chỉ cần cấp nguồn, nối dây điều khiển vào rơ le là có thể tắt/mở bóng đèn hay các thiết
bị điện khác theo cường độ ánh sáng chiếu vào cảm biến.
- Sử dụng điện áp chuẩn 5V tương thích với nền tảng Arduino.
b) Ứng dụng
- Điều khiển thiết bị bật tắt theo ánh sáng.
- Điều khiển đèn chiếu sáng tự động.
- Hệ thống cảnh báo chống trộm sử dụng kết hợp với module lazer.
- Đo nhịp tim.
- Truyền tải dữ liệu bằng thu nhận xung laser.
c) Thông số kỹ thuật
- Điện áp đầu vào: 3.3V - 5V.
- Đầu ra: có đầu ra số và đầu ra tương tự tương ứng D0 và A0.
- Có chiết áp điều chỉnh cường độ sáng.
- Kích thước: 3.2cm x 1.4cm.
- Tải đầu ra số D0: 15mA.
- Đầu ra số D0 = 0 khi cường độ sáng cao và D0=1 khi cường độ sáng thấp.
- Đầu ra tương tự A0 có thể kết nối với ADC để điều khiển thiết bị ở cường độ sáng
mong muốn.
Chương 2: Cơ sở lý thuyết và Code Đồ án Vi điều khiển
GVHD: Lê Hữu Duy Trang 41
- Độ nhạy cao với ánh sáng được tùy chỉnh bằng biến trở:
o Vặn về bên trái (nhìn theo hướng từ dưới lên quang trở), bạn sẽ tăng độ nhạy
của cảm biến với ánh sáng: chỉ cần lượng ánh sáng nhỏ thì mạch sẽ tự ngắt.
o Vặn về bên phải, bạn sẽ giảm độ nhạy của cảm biến với ánh sáng: cần lượng
ánh sáng với cường độ mạnh hơn để ngắt mạch.
d) Sơ đồ nối chân Module cảm biến ánh sáng với Arduino
Module cảm biến Arduino Mega Mô tả
VCC 5V Nguồn
GND GND Mass
D0 D2 ÷ D13; D22 ÷ D53 Ngõ ra tín hiệu Digital I/O
A0 A0 ÷ A15 Ngõ ra tín hiệu Analog I/O
e) Code test
#define LIGHT 7 // khai báo chân đầu vào của cảm biến
void setup( ) {
Serial.begin (9600); // thiết lập màn hình nối tiếp để hiển thị thông tin
pinMode (LIGHT, INPUT_PULLUP); // xác định pin là cảm biến đầu vào
}
void loop( ) {
int L = digitalRead (LIGHT); // đọc giá trị cảm biến
if (L == 1) {
Serial.println(" light is ON");
} else {
Serial.println(" === light is OFF");
}
delay(500);
}
2.2.3.4) Cảm biến Nhiệt độ - Độ ẩm DHT11
a) Giới thiệu
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 chuẩn giao tiếp 1 wire.
Chuẩn giao tiếp 1 wire là dùng 1 chân Digital để truyền dữ liệu.
Chương 2: Cơ sở lý thuyết và Code Đồ án Vi điều khiển
GVHD: Lê Hữu Duy Trang 42
Bộ tiền xử lý tín hiệu được tích hợp trong cảm biến giúp bạn có thể đọc dữ liệu chính
xác mà không phải qua bất kỳ tính toán nào.
b) Thông số kỹ thuật
- Điện áp hoạt động: 3V - 5V (DC).
- Dòng sử dụng: 2.5mA max (khi truyền dữ liệu).
- Dãi độ ẩm hoạt động: 20% - 90% RH, sai số ±5%RH.
- Dãi nhiệt độ hoạt động: 0°C ~ 50°C, sai số ±2°C.
- Tần số lấy mẫu tối đa 1Hz (1 giây 1 lần).
- Khoảng cách truyển tối đa: 20m.
- Kích thước 15mm x 12mm x 5.5mm.
c) Nguyên lí hoạt động
Chúng bao gồm một linh kiện cảm biến độ ẩm, cảm biến nhiệt độ NTC (hoặc nhiệt
điện trở) và một IC ở phía sau của cảm biến.
Để đo độ ẩm, họ sử dụng thành phần cảm biến độ ẩm có hai điện cực với chất giữ ẩm
giữa chúng. Vì vậy, khi độ ẩm thay đổi, độ dẫn của chất nền thay đổi hoặc điện trở giữa các
điện cực này thay đổi. Sự thay đổi điện trở này được đo và xử lý bởi IC khiến cho vi điều
khiển luôn sẵn sàng để đọc.
Chương 2: Cơ sở lý thuyết và Code Đồ án Vi điều khiển
GVHD: Lê Hữu Duy Trang 43
Mặt khác, để đo nhiệt độ, các cảm biến này sử dụng cảm biến nhiệt độ NTC hoặc
nhiệt điện trở.
Một nhiệt điện trở thực sự là một điện trở thay đổi điện trở của nó với sự thay đổi của
nhiệt độ. Những cảm biến này được chế tạo bằng cách thiêu kết các vật liệu bán dẫn như
gốm hoặc polyme để cung cấp những thay đổi lớn hơn trong điện trở chỉ với những thay
đổi nhỏ về nhiệt độ. Thuật ngữ có tên là “NTC” có nghĩa là hệ số nhiệt độ âm, có nghĩa là
điện trở giảm khi nhiệt độ tăng.
Để có thể giao tiếp với DHT11 theo chuẩn 1 chân vi xử lý thực hiện theo 2 bước:
o Gửi tin hiệu muốn đo (Start) tới DHT11, sau đó DHT11 xác nhận lại.
o 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.
- Bước 1: Gửi tín hiệu Start
Chương 2: Cơ sở lý thuyết và Code Đồ án Vi điều khiển
GVHD: Lê Hữu Duy Trang 44
o MCU thiết lập chân DATA là Output, kéo chân DATA xuống 0 trong khoảng
thời gian >18ms. Trong Code mình để 25ms. Khi đó DHT11 sẽ hiểu MCU muốn đo giá trị
nhiệt độ và độ ẩm.
o MCU đưa chân DATA lên 1, sau đó thiết lập lại là chân đầu vào.
o Sau khoảng 20-40us, DHT11 sẽ kéo chân DATA xuống thấp. Nếu >40us mà
chân DATA ko được kéo xuống thấp nghĩa là không giao tiếp được với DHT11.
o Chân DATA sẽ ở mức thấp 80us sau đó nó được DHT11 kéo nên cao trong
80us. Bằng việc giám sát chân DATA, MCU có thể biết được có giao tiếp được với DHT11
ko. Nếu tín hiệu đo được DHT11 lên cao, khi đó hoàn thiện quá trình giao tiếp của MCU
với DHT.
- Bước 2: Đọc giá trị trên DHT11:
o DHT11 sẽ trả giá trị nhiệt độ và độ ẩm về dưới dạng 5 byte. Trong đó:
 § Byte 1: giá trị phần nguyên của độ ẩm (RH%).
 § Byte 2: giá trị phần thập phân của độ ẩm (RH%).
 § Byte 3: giá trị phần nguyên của nhiệt độ (TC).
 § Byte 4 : giá trị phần thập phân của nhiệt độ (TC).
 § Byte 5 : kiểm tra tổng.
 ð Nếu Byte 5 = (8 bit) (Byte1 +Byte2 +Byte3 + Byte4) thì giá trị độ
ẩm và nhiệt độ là chính xác, nếu sai thì kết quả đo không có nghĩa.
o Đọc dữ liệu:
Sau khi giao tiếp được với DHT11, DHT11 sẽ gửi liên tiếp 40 bit 0 hoặc 1 về MCU,
tương ứng chia thành 5 byte kết quả của Nhiệt độ và độ ẩm.
Chương 2: Cơ sở lý thuyết và Code Đồ án Vi điều khiển
GVHD: Lê Hữu Duy Trang 45
§ Bit 0:
§ Bit 1:
Sau khi tín hiệu được đưa về 0, ta đợi chân DATA của MCU được DHT11 kéo lên 1.
Nếu chân DATA là 1 trong khoảng 26-28 us thì là 0, còn nếu tồn tại 70us là 1. Do đó trong
lập trình ta bắt sườn lên của chân DATA, sau đó delay 50us. Nếu giá trị đo được là 0 thì ta
Chương 2: Cơ sở lý thuyết và Code Đồ án Vi điều khiển
GVHD: Lê Hữu Duy Trang 46
đọc được bit 0, nếu giá trị đo được là 1 thì giá trị đo được là 1. Cứ như thế ta đọc các bit
tiếp theo.
DHT11 gửi và nhận dữ liệu với một dây tín hiệu DATA, với chuẩn dữ liệu truyền 1
dây này, chúng ta phải đảm bảo sao cho ở chế độ chờ (idle) dây DATA có giá trị ở mức
cao.
Dữ liệu truyền về của DHT11 gồm 40bit dữ liệu theo thứ tự: 8 bit biểu thị phần nguyên
của độ ẩm + 8 bit biểu thị phần thập phân của độ ẩm + 8 bit biểu thị phần nguyên của nhiệt
độ + 8 bit biểu thị phần thập phân của nhiệt độ + 8 bit check sum.
Ví dụ: ta nhận được 40 bit dữ liệu như sau:
0011 0101 0000 0000 0001 1000 0000 0000 0100 1101
Tính toán:
8 bit checksum: 0011 0101 + 0000 0000 + 0001 1000 + 0000 0000 = 0100 1101.
Độ ẩm: 0011 0101 = 35H = 53% (ở đây do phần thập phân có giá trị 0000 0000, nên
ta bỏ qua không tính phần thập phân).
Nhiệt độ: 0001 1000 = 18H = 24°C (ở đây do phần thập phân có giá trị 0000 0000,
nên ta bỏ qua không tính phần thập phân).
d) Sơ đồ nối dây
Cảm biến DHT11 Arduino Mega
Vcc 5 [V]
OUT D2 ÷ D13; D22 ÷ D53
GND GND
e) Code cảm biến nhiệt độ - độ ẩm (DHT11) giao tiếp với Arduino Mega
#include "DHT.h"
const int DHTPIN = 4; // Khai báo chân tín hiệu vào Vi điều khiển
const int DHTTYPE = DHT11;
DHT dht (DHTPIN, DHTTYPE);
void setup ( ) {
Serial.begin (9600);
dht.begin ( );
}
void loop ( ) {
float h = dht.readHumidity ( ); // Đọc giá trị độ ẩm từ cảm biến
Chương 2: Cơ sở lý thuyết và Code Đồ án Vi điều khiển
GVHD: Lê Hữu Duy Trang 47
float t = dht.readTemperature ( ); // Đọc giá trị nhiệt độ từ cảm biến
Serial.print ("Nhiet do: ");
Serial.println (t); // Xuất nhiệt độ
Serial.print ("Do am: ");
Serial.println (h); // Xuất độ ẩm
Serial.println (); // Xuống hàng
Delay (1000); // Đợi 1 giây
}
2.2.4) Khối vận hành (Khối động lực)
2.2.4.1) Mạch cầu H (L298N)
a) Giới thiệu
Module điều khiển động cơ (Motor Driver) sử dụng chip cầu H L298N giúp điều
khiển tốc độ và chiều quay của động cơ DC một cách dễ dàng, ngoài ra module L298N còn
điều khiển được 1 động cơ bước lưỡng cực. Mạch cầu H của IC L298N có thể hoạt động ở
điện áp từ 5V đến 35V.
Module L298N có tích hợp một IC nguồn 78M05 để tạo ra nguồn 5V để cung cấp cho
các thiết bị khác.
Có thể điều khiển 2 động cơ DC hoặc 1 động cơ bước, có 4 lỗ nằm ở 4 góc thuận tiện
cho người sử dụng cố định vị trí của module.
Có gắn tản nhiệt chống nóng cho IC, giúp IC có thể điều khiển với dòng đỉnh đạt 2A.
IC L298N được gắn với các đi ốt trên board giúp bảo vệ vi xử lý chống lại các dòng
điện cảm ứng từ việc khởi động/ tắt động cơ.
b) Điều khiển động cơ PWM DC
Điều khiển tốc độ của động cơ DC bằng cách điều khiển điện áp đầu vào của động cơ
và phương pháp phổ biến nhất để làm điều đó là sử dụng tín hiệu PWM.
PWM hay thay đổi độ rộng xung là một kỹ thuật cho phép chúng ta điều chỉnh giá trị
trung bình của điện áp đến thiết bị điện tử bằng cách bật và tắt nguồn với tốc độ nhanh.
Điện áp trung bình phụ thuộc vào chu kỳ xung, hoặc lượng thời gian tín hiệu BẬT so với
lượng thời gian tín hiệu TẮT trong một khoảng thời gian quy định.
Chương 2: Cơ sở lý thuyết và Code Đồ án Vi điều khiển
GVHD: Lê Hữu Duy Trang 48
Vì vậy: Tùy thuộc vào kích thước của động cơ, chúng ta có thể chỉ cần kết nối đầu ra
Arduino với chân cua điện trở hoặc chân của MOSFET và điều khiển tốc độ của động cơ
bằng cách điều khiển đầu ra PWM. Tín hiệu Arduino công suất thấp bật và tắt chân tại
MOSFET thông qua đó động cơ công suất cao được điều khiển.
c) Điều khiển động cơ bằng mạch cầu H
Để điều khiển hướng quay, chúng ta chỉ cần đảo ngược hướng của dòng điện qua động
cơ, và phương pháp phổ biến nhất để làm điều đó là sử dụng mạch cầu H. Một mạch cầu H
chứa bốn chân chuyển mạch, điện trở hoặc MOSFET, với động cơ ở trung tâm tạo thành
một cấu hình giống như chữ H. Bằng cách kích hoạt hai công tắc cụ thể cùng một lúc, chúng
ta có thể thay đổi hướng của dòng điện, do đó thay đổi hướng quay của động cơ.
Chương 2: Cơ sở lý thuyết và Code Đồ án Vi điều khiển
GVHD: Lê Hữu Duy Trang 49
Nếu chúng ta kết hợp hai phương thức này, PWM và H-Bridge, chúng ta có thể kiểm
soát hoàn toàn động cơ DC. Có nhiều trình điều khiển động cơ DC có các tính năng này và
L298N là một trong số đó.
d) Thông số kỹ thuật
- Driver: L298N tích hợp hai mạch cầu H.
- Điện áp điều khiển: 0 ÷ 35 [V].
- Dòng tối đa cho mỗi cầu H: 2 [A].
- Điện áp tín hiệu điều khiển: 5 ÷ 7 [V].
- Dòng tín hiệu điều khiển: 0 ÷ 36 [mA].
- Công suất hao phí: 20 [W] (khi nhiệt độ T = 75 ℃).
- Nhiệt độ vận hành: -25 ÷ 130 [℃].
- Kích thước: 43 x 43 x 27 [mm].
Chương 2: Cơ sở lý thuyết và Code Đồ án Vi điều khiển
GVHD: Lê Hữu Duy Trang 50
e) Sơ đồ chân tín hiệu của Module L298N
1 - DC motor 1 “+” hoặc stepper motor
A+
2 - DC motor 1 “-” hoặc stepper motor A-
3 - 12V jumper – tháo jumper này nếu sử
dụng nguồn trên 12V cấp vào chân 4. Jumper
này dùng để cấp nguồn cho IC ổn áp tạo ra
nguồn 5V nếu nguồn trên 12V sẽ làm cháy IC
78M05.
4 - Cấp dương nguồn cho motor vào đây
từ 6V đến 35V.
Chương 2: Cơ sở lý thuyết và Code Đồ án Vi điều khiển
GVHD: Lê Hữu Duy Trang 51
5 - Cắm chân GND (đất, cực âm) của nguồn vào đây.
6 - Nguồn ra 5V, nếu jumper (3) được cắm thì có nguồn ra 5V ở đây.
7 - Chân Enable của Motor 1, chân này cũng dùng để cấp xung PWM cho motor. Nếu
điều khiển tốc độ thì rút jumper ra và cắm chân PWM của VĐK vào đây. Giữ nguyên khi
dùng với động cơ bước.
8 - IN1
9 - IN2
10 - IN3
11 - IN4
12 - Chân Enable của Motor 2, chân này cũng dùng để cấp xung PWM cho motor.
Nếu điều khiển tốc độ thì rút jumper ra và cắm chân PWM của VĐK vào đây. Giữ nguyên
khi dùng với động cơ bước.
13 - DC motor 2 “+” hoặc stepper motor B+.
14 - DC motor 2 “-” hoặc stepper motor B-.
f) Cách sử dụng
- 4 chân INPUT: IN1, IN2, IN3, IN4 được nối lần lượt với các chân 5, 7, 10, 12 của
L298. Đây là các chân nhận tín hiệu điều khiển.
- 4 chân OUTUT: OUT1, OUT2, OUT3, OUT4 (tương ứng với các chân INPUT)
được nối với các chân 2, 3,13,14 của L298. Các chân này sẽ được nối với động cơ.
- Hai chân ENA và ENB dùng để điều khiển mạch cầu H trong L298. Nếu ở mức logic
“1” (nối với nguồn 5V) cho phép mạch cầu H hoạt động, nếu ở mức logic “0” thì mạch cầu
H không hoạt động.
- Với bài toán của mình ở trên, các bạn chỉ cần lưu ý đến cách điều khiển chiều quay
với L298:
o Khi ENA = 0: Động cơ không quay với mọi đầu vào.
o Khi ENA = 1:
 INT1 = 1; INT2 = 0: Động cơ quay thuận.
 INT1 = 0; INT2 = 1: Động cơ quay nghịch.
 INT1 = INT2: Động cơ dùng ngay tức thì.
o Với ENB cũng tương tự với INT3, INT4.
g) Nguyên lí hoạt động
Điều này phụ thuộc vào điện áp được sử dụng tại động cơ VCC. Mô-đun này có bộ
điều chỉnh 5V trên board được bật hoặc tắt bằng cách sử dụng dây nối. Nếu điện áp cung
cấp động cơ lên đến 12V, chúng ta có thể kích hoạt bộ điều chỉnh 5V và chân 5V có thể
được sử dụng làm đầu ra, ví dụ để cấp nguồn cho board Arduino của chúng ta. Nhưng nếu
điện áp động cơ lớn hơn 12V, chúng ta phải ngắt kết nối dây vì những điện áp đó sẽ làm
Chương 2: Cơ sở lý thuyết và Code Đồ án Vi điều khiển
GVHD: Lê Hữu Duy Trang 52
hỏng cho bộ điều chỉnh 5V trên board. Trong trường hợp này, chân 5V sẽ được sử dụng
làm đầu vào vì chúng ta cần kết nối nó với nguồn điện 5V để IC hoạt động bình thường.
Chúng ta có thể lưu ý ở đây rằng IC này làm giảm điện áp khoảng 2V. Vì vậy, ví dụ,
nếu chúng ta sử dụng nguồn điện 12V, điện áp tại các chân động cơ sẽ vào khoảng 10V,
điều đó có nghĩa là chúng ta sẽ không thể cung cấp tốc độ tối đa ra khỏi động cơ DC.
Giảm điện áp L298N
Tiếp theo là các đầu vào điều khiển logic. Các chân Bật A và Bật B được sử dụng để
bật và kiểm soát tốc độ của động cơ. Nếu một dây có mặt trên chân này, động cơ sẽ được
kích hoạt và hoạt động ở tốc độ tối đa, và nếu chúng ta loại bỏ dây, chúng ta có thể kết nối
một đầu vào PWM với chân này và theo cách đó kiểm soát tốc độ của động cơ. Nếu chúng
ta kết nối chân này với Ground, động cơ sẽ bị vô hiệu hóa.
Chương 2: Cơ sở lý thuyết và Code Đồ án Vi điều khiển
GVHD: Lê Hữu Duy Trang 53
Sơ đồ khối L298N Lưu lượng hiện tại và Cách hoạt động
Tiếp theo, các chân Đầu vào 1 và Đầu vào 2 được sử dụng để điều khiển hướng quay
của động cơ A và đầu vào 3 và 4 cho động cơ B. Sử dụng các chân này, chúng tôi thực sự
điều khiển các công tắc của mạch cầu H bên trong IC L298N. Nếu đầu vào 1 ở mức THẤP
và đầu vào 2 là CAO thì động cơ sẽ di chuyển về phía trước và ngược lại, nếu đầu vào 1 ở
mức CAO và đầu vào 2 ở mức THẤP thì động cơ sẽ di chuyển lùi. Trong trường hợp cả
hai đầu vào đều giống nhau, cùng THẤP hoặc CAO, động cơ sẽ dừng. Điều tương tự áp
dụng cho đầu vào 3 và 4 và động cơ B.
h) Code test
#define INA 2
#define IN1 3
#define IN2 4
#define IN3 5
#define IN4 6
#define INB 7
void setup ( ) {
pinMode (INA, OUTPUT);
pinMode (IN1, OUTPUT);
pinMode (IN2, OUTPUT);
Chương 2: Cơ sở lý thuyết và Code Đồ án Vi điều khiển
GVHD: Lê Hữu Duy Trang 54
pinMode (IN3, OUTPUT);
pinMode (IN4, OUTPUT);
pinMode (INB, OUTPUT);
}
void tien (int speed) {
analogWrite (INA, speed);
digitalWrite (IN1, LOW);
digitalWrite (IN2, HIGH);
analogWrite (INB, speed);
digitalWrite (IN3, LOW);
digitalWrite (IN4, HIGH);
}
void lui (int speed) {
analogWrite (INA, speed);
digitalWrite (IN1, HIGH);
digitalWrite (IN2, LOW);
analogWrite (INB, speed);
digitalWrite (IN3, HIGH);
digitalWrite (IN4, LOW);
}
void trai (int speed) {
analogWrite (INA, speed);
digitalWrite (IN1, HIGH);
digitalWrite (IN2, LOW);
analogWrite (INB, speed);
digitalWrite (IN3, LOW);
digitalWrite (IN4, HIGH);
}
Chương 2: Cơ sở lý thuyết và Code Đồ án Vi điều khiển
GVHD: Lê Hữu Duy Trang 55
void phai (int speed) {
analogWrite (INA, speed);
digitalWrite (IN1, LOW);
digitalWrite (IN2, HIGH);
analogWrite (INB, speed);
digitalWrite (IN3, HIGH);
digitalWrite (IN4, LOW);
}
void loop( ) {
tien (200);
delay (1000);
lui (200);
delay (1000);
trai (200);
delay (1000);
phai (200);
delay (1000);
}
2.2.4.2) Động cơ Servo
a) Giới thiệu
Servo là một dạng động cơ điện đặc biệt. Không giống như động cơ thông thường cứ
cắm điện vào là quay liên tục, servo chỉ quay khi được điều khiển (bằng xung PPM) với
góc quay nằm trong khoảng bất kì từ 0O
– 180O
. Mỗi loại servo có kích thước, khối lượng
và cấu tạo khác nhau. Có loại thì nặng chỉ 9g (chủ yếu dùng trên máy bay mô mình), có
loại thì sở hữu một momen lực bá đạo (vài chục Newton/m), hoặc có loại thì khỏe và nhông
sắc chắc chắn,...
Động cơ servo được thiết kế những hệ thống hồi tiếp vòng kín. Tín hiệu ra của động
cơ được nối với một mạch điều khiển. Khi động cơ quay, vận tốc và vị trí sẽ được hồi tiếp
về mạch điều khiển này. Nếu có bầt kỳ lý do nào ngăn cản chuyển động quay của động cơ,
cơ cấu hồi tiếp sẽ nhận thấy tín hiệu ra chưa đạt được vị trí mong muốn. Mạch điều khiển
tiếp tục chỉnh sai lệch cho động cơ đạt được điểm chính xác. Các động cơ servo điều khiển
bằng liên lạc vô tuyến được gọi là động cơ servo RC (radio-controlled). Trong thực tế, bản
Chương 2: Cơ sở lý thuyết và Code Đồ án Vi điều khiển
GVHD: Lê Hữu Duy Trang 56
thân động cơ servo không phải được điều khiển bằng vô tuyến, nó chỉ nối với máy thu vô
tuyến trên máy bay hay xe hơi. Động cơ servo nhận tín hiệu từ máy thu này.
Micro servo Tower Pro 9g Bên trong một micro servo
Động cơ servo là loại động cơ cho phép ta điều khiển một cách cực kì chính xác. Vì
vậy, khác với động cơ thông thường ta chỉ cần cấp nguồn cho động cơ là có thể vận hành
được. Động cơ servo yêu cầu ta phải cấp nguồn (2 dây) và nhận điều khiển từ mạch chính
(1 dây), mỗi dây thường được đánh màu như sau:
- Đỏ: nhận điện nguồn, tuỳ vào loại động cơ mà giá trị này có thể khác nhau.
- Đen: nối với cực âm của mạch.
- Vàng: nhận tín hiệu từ mạch điều khiển.
Động cơ servo cũng được chia làm nhiều loại, phụ thuộc vào góc quay tối đa của
chúng. 2 loại phổ biến ta hay sử dụng là:
- Động cơ servo quay 180°: Futaba S3003, MG90[S] ...
- Động cơ servo quay 360°: MG995, MG996R ...
Chương 2: Cơ sở lý thuyết và Code Đồ án Vi điều khiển
GVHD: Lê Hữu Duy Trang 57
b) Thông số kỹ thuật
- Điện áp hoạt động: 4.8 ÷ 6 [V].
- Tốc độ quay: 0.12 giây/60° (4.8V) , 0.1 giây/60° (6V).
- Mômen xoắn: 1.8kg/cm (4.8V) , 2.5kg/cm (6V).
- Góc quay: 180°.
- Bánh răng: nhựa.
- Kích thước: 22.5 x 11.8 x 30 [mm].
- Chiều dài dây điện: 175 [mm].
- Trọng lượng: 9 [gam].
- Nhiệt độ hoạt động: 0 ÷ 55 [°C]
- Chức năng các chân:
o Dây cam: Xung.
o Dây đỏ: Vcc (4.8V ÷ 6V).
o Dây đen: GND / 0V
Chương 2: Cơ sở lý thuyết và Code Đồ án Vi điều khiển
GVHD: Lê Hữu Duy Trang 58
c) Sơ đồ nối chân
Micro servo Tower Pro 9g Arduino Mega
GND GND
Vcc 5 [V]
PWM Digital D5
d) Code test
#include <Servo.h> // Sử dụng thư viện Servo
Servo myServo; // Tạo đối tượng Servo để điều khiển Servo
void setup ( ) {
Serial.begin (9600);
myServo.attach (5); // Chân Servo là chân 5
myServo.write (0); // Cài đặt góc quay lúc khởi động là 0O
}
void loop ( ) {
myServo.write (0); // Đặt góc quay của Servo là 0O
delay (1000); // Delay 1 giây
myServo.write (180); //Đặt góc quay của Servo thay đổi 180O
delay (1000); // Delay 1 giây
}
Chương 2: Cơ sở lý thuyết và Code Đồ án Vi điều khiển
GVHD: Lê Hữu Duy Trang 59
2.2.4.3) Module Relay
a) Giới thiệu
Module Relay 1 kênh 5V gồm 1 rơ le điện áp hoạt động ở mức 5VDC, đầu ra điều
khiển hiệu điện tối đa ở mức 250V 10A đối với điện áp xoay chiều AC và 30V với điện áp
1 chiều DC.
Module relay 1 kênh nhỏ gọn chuyên nghiệp, khả năng chống nhiễu tốt và khả năng
cách điện tốt. Trong module đã có sẵn mạch kích relay sử dụng IC cách ly quang và
transistor giúp cách ly hoàn toàn mạch 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. Có các lỗ bắt vít rất tiện lợi
dễ lắp đặt trong hệ thống mạch.
Mạch điều khiển relay 1 kênh này 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 Mở của Relay.
Ứng dụng với relay module khá nhiều bao gồm cả điện DC hay AC.
b) Đặc điểm
- Module sử dụng Relay tốt, đảm bảo hoạt động ổn định, lâu dài.
- Trên module có opto để cách ly dòng ngược về, hiệu suất ổn định.
- Có thể set các mức cao thấp bằng cách thiết lập jumper trên module.
- Có Led báo nguồn màu xanh, Led báo trạng thái Relay màu đỏ.
- Kết nối module với mạch điều khiển đơn giản.
c) Thông số kỹ thuật
- Kích thước: 53 [mm] (chiều dài) * 28.3 [mm] (chiều rộng) * 19.3 [mm] (H).
- Trọng lượng: 18 [gam].
- Màu sắc: Đỏ.
Chương 2: Cơ sở lý thuyết và Code Đồ án Vi điều khiển
GVHD: Lê Hữu Duy Trang 60
- 4 lỗ để bắt vít cố định có đường kính 3.1 [mm], dễ dàng lắp đặt trong hệ thống mạch.
- Opto cô lập, tốt chống nhiễu.
- Có đèn báo đóng ngắt trên Relay.
- Sử dụng điện áp nuôi DC 5V.
- Đầu ra điện thê đóng ngắt tối đa: DC 30V / 10A, AC 250V / 10A
d) Sơ đồ nối dây
Module Relay Arduino Mega
Vcc 5 [V]
GND GND
IN (chân điều khiển) D2 ÷ D13; D22 ÷ D53
e) Code test
#define RELAY_IN 2
void setup ( ) {
pinMode (RELAY_IN, OUTPUT);
}
void loop ( ) {
digitalWrite (RELAY_IN, HIGH);
delay (1000);
digitalWrite (RELAY_IN, LOW);
delay (1000);
}
2.3) Mạch nguồn
2.3.1) LM7805
a) Giới thiệu
Trong kỹ thuật điện - điện tử, nguồn cấp điện là trái tim của mọi hệ thống mạch điện
tử, chính là bởi vì mọi mạch điện tử muốn sống (hoạt động) thì bắt buộc phải có nguồn cấp
điện. Vì một hệ thống điện tử cần nhiều nguồn điện ổn định với những giá trị điện áp khác
nhau nên chúng ta lại cần tới những mạch ổn áp. Bài viết này sẽ giới thiệu về một mạch ổn
áp dòng điện DC (một chiều) sử dụng IC 7805.
IC ổn áp là gì? Là loại IC cung cấp điện áp ngõ ra với giá trị ổn định mặc dù trong lúc
đó điện áp ngõ vào IC thay đổi liên tục và thiếu sự ổn định. IC 7805 chỉ là một trong rất
nhiều loại IC ổn áp khác nhưng khả năng ổn áp của nó thì không thể xem thường. IC 7805
được phân loại là một loại IC điều chế điện áp DC dương vì ngõ ra của IC này luôn có mức
điện áp dương so với mức điện áp nối mass (GND). 7805 được thiết kế bao gồm 3 chân:
Chương 2: Cơ sở lý thuyết và Code Đồ án Vi điều khiển
GVHD: Lê Hữu Duy Trang 61
Thông qua điện trở R và Dz ghim cố định điện áp chân B của Transistor Q, giả sử
khi điện áp chân E đèn Q giảm => khi đó điện áp UBE tăng => dòng qua đèn Q tăng =>
làm điện áp chân E của đèn tăng , và ngược lại …
Chân thứ nhất là để cấp điện áp DC đầu vào, chân thứ 2 là chân để đấu với mass (chân
GND), chân thứ 3 là chân ngõ ra điện áp ổn áp, trong trường hợp này chúng ta đang nói về
IC 7805 nên điện áp ngõ ra là 5V (với điều kiện là điện áp đầu vào lớn hơn 5V). Điện áp
hoạt động của IC khuyến cáo nên ở khoảng 1A để IC hoạt động được lâu dài.
b) Thông số kỹ thuật
- Điện áp đầu ra : 5 [V].
- Dòng điện đầu ra: 1.5 [A].
- Điện áp đầu vào MIN: 7 [V].
- Điện áp đầu vào MAX: 35 [V].
- Điện áp rơi (điều chỉnh): 2V – 1A.
- Số lượng điều chỉnh: 1.
- Dòng quy định: 100 [mA].
- Dòng tải quy định: 100 [mA].
- PSRR/Ripple Rejection (Typ): 62 [dB].
- Nhiệt độ hoạt động: 0 ÷ 125 [O
C].
- Package: TO – 220.
- Mounting Type: Through Hole.
Chương 2: Cơ sở lý thuyết và Code Đồ án Vi điều khiển
GVHD: Lê Hữu Duy Trang 62
c) Thiết kế mạch
Chúng ta sẽ cấp điện áp đầu vào qua J2 (tương ứng theo các chân âm dương) và điện
áp 5V ở ngõ ra sẽ được lấy qua chân J1.
Tụ C1 và C2 để lọc điện áp đầu vào cấp cho chân Vi của IC 7805, tụ C1 có các dụng
cung cấp điện áp tạm thời cho chân Vi khi nguồn đột ngột bị sụt áp, tụ C2 là tụ gốm nên
trở kháng lớn, C2 có tác dụng ngăn nguồn đầu vào tăng áp đột ngột làm dạng sóng điện áp
đầu vào có hình răng cưa.
Tụ C3 và C4 để lọc điện áp cấp cho tải tiêu thụ lấy từ chân Vo của IC 7805, tụ C3 có
các dụng cung cấp điện áp tạm thời cho tải khi điện áp tải đột ngột bị sụt áp, tụ C4 trở kháng
lớn, C4 có tác dụng lọc nhiễu điện áp đầu ra (nhiễu là các điện áp không mong muốn làm
cho dạng sóng điện áp ngõ ra có hình răng cưa).
Lưu ý:
- IC 7805 dễ toả nhiệt nên để mạch hoạt động ổn định và lâu dài, chúng ta nên gắn
thêm tản nhiệt cho IC.
- Mạch ổn áp này phù hợp để cấp nguồn cho các mạch điện tử vận hành với điện áp
5V và dòng điện 1A đổ lại.
2.3.2) LM317
a) Giới thiệu
IC ổn áp LM317 là 1 IC ổn áp có 3 chân. Hình dáng bên ngoài nó khá giống với IC
họ 78xx 79xx. Đây là 1 IC ổn áp tuyến tính khá phổ biến trong những thiết bị điện tử. Nếu
IC họ 78xx có ưu điểm là dễ mắc, dễ lắp ráp va thiết kế thì IC LM317 lại có ưu điểm là có
thể điều chỉnh điện áp đầu ra nhờ các điển trở mắc ngoài trong mạch. Khi sử dụng IC này
cần phải chú ý điện áp vào là Vin < 40V và dòng tải tiêu thụ tối đa là 1,5A. Điện áp ra Vout
có thể điều chỉnh được trong dải từ 1,25V đến 37V.
Chương 2: Cơ sở lý thuyết và Code Đồ án Vi điều khiển
GVHD: Lê Hữu Duy Trang 63
Ic ổn áp LM317
Sơ đồ cấu tạo mạch LM317
b) Thông số kỹ thuật
Chân 1 : Chân hồi tiếp từ chân 2 để điều chỉnh điện áp theo ý muốn ( Adjust).
Chân 2 : Điện áp ra (Vout).
Chân 3 : Điện áp vào (Vin).
- Điện áp vào: Vin <= 40 [V].
- Dòng điện đầu ra tối đa: 1.5 [A].
Chương 2: Cơ sở lý thuyết và Code Đồ án Vi điều khiển
GVHD: Lê Hữu Duy Trang 64
- Công suất tiêu thụ lớn nhất: 15 [W].
- Điện áp ra nhỏ nhất là 1.25 [V] và lớn nhất là 37 [V].
- Điện áp vào phải lớn hơn điện áp ra là 3 [V].
1. Thiết kế mạch
Công thức tính điện áp ra là :
Vout = 1.25 x (1+
𝑅2
𝑅1
). (Từ công thức trên ta có thể tính được điện trở nếu biết được
Vout là bao nhiêu).
Điện áp vào Vin<40V.
Dòng điện không được vượt quá 1.5A, những tải làm việc trên 0.5A nên mắc tản nhiệt
để làm mát IC.
Điện áp ra phải nhỏ hơn điện áp vào là 3V.
Nên có 2 tụ lọc ở đầu vào và đầu ra để ngoài làm vai trò ổn áp nó còn làm vai trò là
bộ lọc thông thấp.
Chương 3: Xây dựng lưu đồ thuật toán và thi công sản phẩm Đồ án Vi điều khiển
GVHD: Lê Hữu Duy Trang 65
CHƯƠNG III: XÂY DỰNG LƯU ĐỒ THUẬT TOÁN
VÀ THI CÔNG SẢN PHẨM
3.1) LƯU ĐỒ THUẬT TOÁN
a) Đóng/mở cửa
Quét thẻ RFID
Kiểm tra mã
thẻ ID với mã
được thiết lập
Đọc mã ID
từ thẻ RFID
Động cơ Servo
hoạt động
Chuông báo
động reo
Sai
Đúng
Chương 3: Xây dựng lưu đồ thuật toán và thi công sản phẩm Đồ án Vi điều khiển
GVHD: Lê Hữu Duy Trang 66
b) Bật/tắt đèn phòng room
Cảm biến chuyển
động PIR và
Quang trở
Có người,
cảm biến = 1
Đọc giá trị
cảm biến
Đèn sáng
Đúng
Trời tối
Sai
Sai
Đúng
Chương 3: Xây dựng lưu đồ thuật toán và thi công sản phẩm Đồ án Vi điều khiển
GVHD: Lê Hữu Duy Trang 67
c) Bật/tắt đèn nhà vệ sinh
Cảm biến chuyển
động PIR
Đọc giá trị
cảm biến
Có người,
cảm biến = 1
Đèn sáng
Đúng
Sai
Chương 3: Xây dựng lưu đồ thuật toán và thi công sản phẩm Đồ án Vi điều khiển
GVHD: Lê Hữu Duy Trang 68
d) Bật/tắt và điều chỉnh tốc độ quạt.
Cảm biến chuyển
động PIR, nhiệt
độ - độ ẩm
Đọc giá trị
cảm biến
Có người,
cảm biến = 1
Nhiệt độ cao
Bật quạt, tốc
độ = nhiệt độ
* hẳng số
Đúng
Đúng
Sai
Sai
Chương 3: Xây dựng lưu đồ thuật toán và thi công sản phẩm Đồ án Vi điều khiển
GVHD: Lê Hữu Duy Trang 69
3.2) THI CÔNG SẢN PHẨM
a) Linh kiện.
STT Tên linh kiện Số lượng
1 Arduino Mega 2560 1
2 RFID RC522 1
3 LCD 1602 2
4 Module giao tiếp IC2 2
5 Chuông (Buzz) 1
6 Động cơ Servo 1
7 LED đỏ 1
8 LED xanh 1
9 LED 1W 1
10 Cảm biến chuyển động PIR 2
11 Cảm biến quang trở 1
12 Cảm biến Nhiệt độ - Độ ẩm DHT11 1
13 Mạch cầu H L298N 1
14 Module relay 2 kênh 1
15 Module Quạt DC 12V 1
Chương 3: Xây dựng lưu đồ thuật toán và thi công sản phẩm Đồ án Vi điều khiển
GVHD: Lê Hữu Duy Trang 70
b) Sơ đồ nối dây.
Chương 3: Xây dựng lưu đồ thuật toán và thi công sản phẩm Đồ án Vi điều khiển
GVHD: Lê Hữu Duy Trang 71
c) Sơ đồ mạch in.
Chương 4: Kết quả, nhận xét và đánh giá Đồ án Vi điều khiển
GVHD: Lê Hữu Duy Trang 72
CHƯƠNG IV: KẾT QUẢ, NHÂN XÉT VÀ ĐÁNH GIÁ
4.1) KẾT QUẢ MÔ HÌNH SẢN PHẦM
Khi địa chỉ ID của RFID phù hợp, động sơ Servo sẽ hoạt động và cửa sẽ mở đồng thời
hiển thị lên màn hình LCD tên người đang sử dụng địa chỉ ID kèm theo cả đèn báo. Khi địa
chỉ ID không phù hợp thì chuống báo sẽ reo lên trong vòng 5 giây kèm theo đèn báo hiệu.
Khi trời tối cảm biến chuyển động phát hiện có người thì đèn sẽ sáng, khi không có
người thì đền sẽ tắt. Ngược lại, khi trời sáng đèn sẽ tắt kể cả khi cảm biến chuyển động phát
hiện có người.
Khi cảm biến chuyển động phát hiện có người trong nhà vệ sinh thì đèn sẽ sáng và
ngược lại.
Cảm biển Nhiệt độ - Độ ẩm sẽ đo nhiệt độ môi trường để xuất ra màn hình LCD để
hiển thị, đồng thời dựa vào nhiệt độ để điều khiển tốc độ quay của quạt.
Do an-vi-dieu-khien
Do an-vi-dieu-khien
Do an-vi-dieu-khien
Do an-vi-dieu-khien
Do an-vi-dieu-khien
Do an-vi-dieu-khien
Do an-vi-dieu-khien
Do an-vi-dieu-khien
Do an-vi-dieu-khien
Do an-vi-dieu-khien
Do an-vi-dieu-khien
Do an-vi-dieu-khien
Do an-vi-dieu-khien
Do an-vi-dieu-khien

More Related Content

What's hot

Đồ án Thiết kế hệ thống tưới cây tự động sử dụng Arduino
Đồ án Thiết kế hệ thống tưới cây tự động sử dụng ArduinoĐồ án Thiết kế hệ thống tưới cây tự động sử dụng Arduino
Đồ án Thiết kế hệ thống tưới cây tự động sử dụng ArduinoVerdie Carter
 
Luận văn tốt nghiệp chế tạo máy thiết kế robot làm sạch tấm pin mặt trời
Luận văn tốt nghiệp chế tạo máy thiết kế robot làm sạch tấm pin mặt trờiLuận văn tốt nghiệp chế tạo máy thiết kế robot làm sạch tấm pin mặt trời
Luận văn tốt nghiệp chế tạo máy thiết kế robot làm sạch tấm pin mặt trờihttps://www.facebook.com/garmentspace
 
MẠCH KHUẾCH ĐẠI CÔNG SUẤT ÂM THANH TDA2030A File Word (Kèm File PROTEUS)
MẠCH KHUẾCH ĐẠI CÔNG SUẤT ÂM THANH TDA2030A File Word (Kèm File PROTEUS)MẠCH KHUẾCH ĐẠI CÔNG SUẤT ÂM THANH TDA2030A File Word (Kèm File PROTEUS)
MẠCH KHUẾCH ĐẠI CÔNG SUẤT ÂM THANH TDA2030A File Word (Kèm File PROTEUS)nataliej4
 
đề Tài thiết kế hệ thống đèn giao thông tại ngã tư
đề Tài thiết kế hệ thống đèn giao thông tại ngã tưđề Tài thiết kế hệ thống đèn giao thông tại ngã tư
đề Tài thiết kế hệ thống đèn giao thông tại ngã tưnataliej4
 
đồ áN phân loại sản phâm dùng plc s71200
đồ áN phân loại sản phâm dùng plc s71200đồ áN phân loại sản phâm dùng plc s71200
đồ áN phân loại sản phâm dùng plc s71200Lê Gia
 
Giảm xóc xe theo phương ngang
Giảm xóc xe theo phương ngangGiảm xóc xe theo phương ngang
Giảm xóc xe theo phương ngangMan_Ebook
 
ỨNg dụng mạng nơron để giải bài toán động học ngược cho tay máy
ỨNg dụng mạng nơron để giải bài toán động học ngược cho tay máyỨNg dụng mạng nơron để giải bài toán động học ngược cho tay máy
ỨNg dụng mạng nơron để giải bài toán động học ngược cho tay máyMan_Ebook
 
Bài giảng kỹ thuật điều khiển tự động
Bài giảng kỹ thuật điều khiển tự độngBài giảng kỹ thuật điều khiển tự động
Bài giảng kỹ thuật điều khiển tự độngNguyễn Nam Phóng
 

What's hot (20)

Đồ án Thiết kế hệ thống tưới cây tự động sử dụng Arduino
Đồ án Thiết kế hệ thống tưới cây tự động sử dụng ArduinoĐồ án Thiết kế hệ thống tưới cây tự động sử dụng Arduino
Đồ án Thiết kế hệ thống tưới cây tự động sử dụng Arduino
 
Điều khiển thiết bị điện tử bằng Android thông qua Bluetooth, 9đ
Điều khiển thiết bị điện tử bằng Android thông qua Bluetooth, 9đĐiều khiển thiết bị điện tử bằng Android thông qua Bluetooth, 9đ
Điều khiển thiết bị điện tử bằng Android thông qua Bluetooth, 9đ
 
Luận văn tốt nghiệp chế tạo máy thiết kế robot làm sạch tấm pin mặt trời
Luận văn tốt nghiệp chế tạo máy thiết kế robot làm sạch tấm pin mặt trờiLuận văn tốt nghiệp chế tạo máy thiết kế robot làm sạch tấm pin mặt trời
Luận văn tốt nghiệp chế tạo máy thiết kế robot làm sạch tấm pin mặt trời
 
Đề tài: Tổng quan về mobile robot, HAY, 9đ
Đề tài: Tổng quan về mobile robot, HAY, 9đĐề tài: Tổng quan về mobile robot, HAY, 9đ
Đề tài: Tổng quan về mobile robot, HAY, 9đ
 
Đề tài: Thiết kế hệ thống đếm và điều khiển đóng gói sản phẩm, 9đ
Đề tài: Thiết kế hệ thống đếm và điều khiển đóng gói sản phẩm, 9đĐề tài: Thiết kế hệ thống đếm và điều khiển đóng gói sản phẩm, 9đ
Đề tài: Thiết kế hệ thống đếm và điều khiển đóng gói sản phẩm, 9đ
 
MẠCH KHUẾCH ĐẠI CÔNG SUẤT ÂM THANH TDA2030A File Word (Kèm File PROTEUS)
MẠCH KHUẾCH ĐẠI CÔNG SUẤT ÂM THANH TDA2030A File Word (Kèm File PROTEUS)MẠCH KHUẾCH ĐẠI CÔNG SUẤT ÂM THANH TDA2030A File Word (Kèm File PROTEUS)
MẠCH KHUẾCH ĐẠI CÔNG SUẤT ÂM THANH TDA2030A File Word (Kèm File PROTEUS)
 
Đề tài: Mô hình ứng dụng IOT điều khiển các thiết bị điện trong nhà
Đề tài: Mô hình ứng dụng IOT điều khiển các thiết bị điện trong nhàĐề tài: Mô hình ứng dụng IOT điều khiển các thiết bị điện trong nhà
Đề tài: Mô hình ứng dụng IOT điều khiển các thiết bị điện trong nhà
 
Đề tài: Chế tạo và điều khiển cánh tay robot 3 bậc tự do, HAY
Đề tài: Chế tạo và điều khiển cánh tay robot 3 bậc tự do, HAYĐề tài: Chế tạo và điều khiển cánh tay robot 3 bậc tự do, HAY
Đề tài: Chế tạo và điều khiển cánh tay robot 3 bậc tự do, HAY
 
đề Tài thiết kế hệ thống đèn giao thông tại ngã tư
đề Tài thiết kế hệ thống đèn giao thông tại ngã tưđề Tài thiết kế hệ thống đèn giao thông tại ngã tư
đề Tài thiết kế hệ thống đèn giao thông tại ngã tư
 
Đề tài: Thiết kế hệ thống phân loại sản phẩm ứng dụng PLC, HOT
Đề tài: Thiết kế hệ thống phân loại sản phẩm ứng dụng PLC, HOTĐề tài: Thiết kế hệ thống phân loại sản phẩm ứng dụng PLC, HOT
Đề tài: Thiết kế hệ thống phân loại sản phẩm ứng dụng PLC, HOT
 
Đề tài: Hệ thống điều khiển tốc độ động cơ DC sử dụng bộ PID
Đề tài: Hệ thống điều khiển tốc độ động cơ DC sử dụng bộ PIDĐề tài: Hệ thống điều khiển tốc độ động cơ DC sử dụng bộ PID
Đề tài: Hệ thống điều khiển tốc độ động cơ DC sử dụng bộ PID
 
Đề tài: Thiết kế hệ thống điều khiển bơm nước sử dụng PLC, HOT
Đề tài: Thiết kế hệ thống điều khiển bơm nước sử dụng PLC, HOTĐề tài: Thiết kế hệ thống điều khiển bơm nước sử dụng PLC, HOT
Đề tài: Thiết kế hệ thống điều khiển bơm nước sử dụng PLC, HOT
 
đồ áN phân loại sản phâm dùng plc s71200
đồ áN phân loại sản phâm dùng plc s71200đồ áN phân loại sản phâm dùng plc s71200
đồ áN phân loại sản phâm dùng plc s71200
 
Giảm xóc xe theo phương ngang
Giảm xóc xe theo phương ngangGiảm xóc xe theo phương ngang
Giảm xóc xe theo phương ngang
 
Đề tài: Điều khiển cửa tự động sử dụng hệ vi điều khiển, HAY, 9đ
Đề tài: Điều khiển cửa tự động sử dụng hệ vi điều khiển, HAY, 9đĐề tài: Điều khiển cửa tự động sử dụng hệ vi điều khiển, HAY, 9đ
Đề tài: Điều khiển cửa tự động sử dụng hệ vi điều khiển, HAY, 9đ
 
Luận văn: Thiết kế hệ thống tưới cây tự động, HAY
Luận văn: Thiết kế hệ thống tưới cây tự động, HAYLuận văn: Thiết kế hệ thống tưới cây tự động, HAY
Luận văn: Thiết kế hệ thống tưới cây tự động, HAY
 
Đề tài: Thiết bị khóa cửa bằng bảo mật và thẻ chip RFID, HAY
Đề tài: Thiết bị khóa cửa bằng bảo mật và thẻ chip RFID, HAYĐề tài: Thiết bị khóa cửa bằng bảo mật và thẻ chip RFID, HAY
Đề tài: Thiết bị khóa cửa bằng bảo mật và thẻ chip RFID, HAY
 
ỨNg dụng mạng nơron để giải bài toán động học ngược cho tay máy
ỨNg dụng mạng nơron để giải bài toán động học ngược cho tay máyỨNg dụng mạng nơron để giải bài toán động học ngược cho tay máy
ỨNg dụng mạng nơron để giải bài toán động học ngược cho tay máy
 
Bài giảng kỹ thuật điều khiển tự động
Bài giảng kỹ thuật điều khiển tự độngBài giảng kỹ thuật điều khiển tự động
Bài giảng kỹ thuật điều khiển tự động
 
Đề tài: Ứng dụng Iot giám sát mức tiêu thụ điện – nước, HAY
Đề tài: Ứng dụng Iot giám sát mức tiêu thụ điện – nước, HAYĐề tài: Ứng dụng Iot giám sát mức tiêu thụ điện – nước, HAY
Đề tài: Ứng dụng Iot giám sát mức tiêu thụ điện – nước, HAY
 

Similar to Do an-vi-dieu-khien

Quản lý cửa hàng vật liệu xây dựng
 Quản lý cửa hàng vật liệu xây dựng Quản lý cửa hàng vật liệu xây dựng
Quản lý cửa hàng vật liệu xây dựnghieu anh
 
PHỐI HỢP MỘT SỐ KĨ THUẬT DẠY HỌC TÍCH CỰC DẠY HỌC ĐẠI SỐ 7 CHƯƠNG TRÌNH GDPT ...
PHỐI HỢP MỘT SỐ KĨ THUẬT DẠY HỌC TÍCH CỰC DẠY HỌC ĐẠI SỐ 7 CHƯƠNG TRÌNH GDPT ...PHỐI HỢP MỘT SỐ KĨ THUẬT DẠY HỌC TÍCH CỰC DẠY HỌC ĐẠI SỐ 7 CHƯƠNG TRÌNH GDPT ...
PHỐI HỢP MỘT SỐ KĨ THUẬT DẠY HỌC TÍCH CỰC DẠY HỌC ĐẠI SỐ 7 CHƯƠNG TRÌNH GDPT ...Nguyen Thanh Tu Collection
 
Nghiên cứu, thiết kế và thi công hệ thống phân loại sản phẩm theo cân nặng, m...
Nghiên cứu, thiết kế và thi công hệ thống phân loại sản phẩm theo cân nặng, m...Nghiên cứu, thiết kế và thi công hệ thống phân loại sản phẩm theo cân nặng, m...
Nghiên cứu, thiết kế và thi công hệ thống phân loại sản phẩm theo cân nặng, m...anh hieu
 
Nghiên cứu xây dựng quy trình sản xuất rượu vang từ mãng cầu xiêm​
Nghiên cứu xây dựng quy trình sản xuất rượu vang từ mãng cầu xiêm​Nghiên cứu xây dựng quy trình sản xuất rượu vang từ mãng cầu xiêm​
Nghiên cứu xây dựng quy trình sản xuất rượu vang từ mãng cầu xiêm​Man_Ebook
 
Đồ án tốt nghiệp Điện tử công nghiệp_ Phát triển hệ thống IoT cho nông nghiệp...
Đồ án tốt nghiệp Điện tử công nghiệp_ Phát triển hệ thống IoT cho nông nghiệp...Đồ án tốt nghiệp Điện tử công nghiệp_ Phát triển hệ thống IoT cho nông nghiệp...
Đồ án tốt nghiệp Điện tử công nghiệp_ Phát triển hệ thống IoT cho nông nghiệp...nguyenthanhhuy9c
 
Xác định số cụm tối ưu vào bài toán phân khúc khách hàng sử dụng dịch vụ di đ...
Xác định số cụm tối ưu vào bài toán phân khúc khách hàng sử dụng dịch vụ di đ...Xác định số cụm tối ưu vào bài toán phân khúc khách hàng sử dụng dịch vụ di đ...
Xác định số cụm tối ưu vào bài toán phân khúc khách hàng sử dụng dịch vụ di đ...luanvantrust
 
đáNh giá hiện trạng và đề xuất giải pháp nâng cao công tác thu gom, vận chuyể...
đáNh giá hiện trạng và đề xuất giải pháp nâng cao công tác thu gom, vận chuyể...đáNh giá hiện trạng và đề xuất giải pháp nâng cao công tác thu gom, vận chuyể...
đáNh giá hiện trạng và đề xuất giải pháp nâng cao công tác thu gom, vận chuyể...TÀI LIỆU NGÀNH MAY
 
Luận án: Ước lượng kênh truyền mimo dùng thuật toán mù cải tiến, HAY
Luận án: Ước lượng kênh truyền mimo dùng thuật toán mù cải tiến, HAYLuận án: Ước lượng kênh truyền mimo dùng thuật toán mù cải tiến, HAY
Luận án: Ước lượng kênh truyền mimo dùng thuật toán mù cải tiến, HAYViết thuê trọn gói ZALO 0934573149
 
luận văn Quản lý cửa hàng vật liệu xây dựng
luận văn  Quản lý cửa hàng vật liệu xây dựngluận văn  Quản lý cửa hàng vật liệu xây dựng
luận văn Quản lý cửa hàng vật liệu xây dựnganh hieu
 

Similar to Do an-vi-dieu-khien (20)

Đề tài: Quản lý cửa hàng vật liệu xây dựng, HAY, 9đ
Đề tài: Quản lý cửa hàng vật liệu xây dựng, HAY, 9đĐề tài: Quản lý cửa hàng vật liệu xây dựng, HAY, 9đ
Đề tài: Quản lý cửa hàng vật liệu xây dựng, HAY, 9đ
 
Quản lý cửa hàng vật liệu xây dựng
 Quản lý cửa hàng vật liệu xây dựng Quản lý cửa hàng vật liệu xây dựng
Quản lý cửa hàng vật liệu xây dựng
 
Đề tài: Quản lý cửa hàng vật liệu xây dựng, HOT, 9đ
Đề tài: Quản lý cửa hàng vật liệu xây dựng, HOT, 9đĐề tài: Quản lý cửa hàng vật liệu xây dựng, HOT, 9đ
Đề tài: Quản lý cửa hàng vật liệu xây dựng, HOT, 9đ
 
Đề tài: Xây dựng hệ thống tổng hợp thông tin kinh tế xã hội
Đề tài: Xây dựng hệ thống tổng hợp thông tin kinh tế xã hộiĐề tài: Xây dựng hệ thống tổng hợp thông tin kinh tế xã hội
Đề tài: Xây dựng hệ thống tổng hợp thông tin kinh tế xã hội
 
PHỐI HỢP MỘT SỐ KĨ THUẬT DẠY HỌC TÍCH CỰC DẠY HỌC ĐẠI SỐ 7 CHƯƠNG TRÌNH GDPT ...
PHỐI HỢP MỘT SỐ KĨ THUẬT DẠY HỌC TÍCH CỰC DẠY HỌC ĐẠI SỐ 7 CHƯƠNG TRÌNH GDPT ...PHỐI HỢP MỘT SỐ KĨ THUẬT DẠY HỌC TÍCH CỰC DẠY HỌC ĐẠI SỐ 7 CHƯƠNG TRÌNH GDPT ...
PHỐI HỢP MỘT SỐ KĨ THUẬT DẠY HỌC TÍCH CỰC DẠY HỌC ĐẠI SỐ 7 CHƯƠNG TRÌNH GDPT ...
 
Nghiên cứu, thiết kế và thi công hệ thống phân loại sản phẩm theo cân nặng, m...
Nghiên cứu, thiết kế và thi công hệ thống phân loại sản phẩm theo cân nặng, m...Nghiên cứu, thiết kế và thi công hệ thống phân loại sản phẩm theo cân nặng, m...
Nghiên cứu, thiết kế và thi công hệ thống phân loại sản phẩm theo cân nặng, m...
 
Nghiên cứu xây dựng quy trình sản xuất rượu vang từ mãng cầu xiêm​
Nghiên cứu xây dựng quy trình sản xuất rượu vang từ mãng cầu xiêm​Nghiên cứu xây dựng quy trình sản xuất rượu vang từ mãng cầu xiêm​
Nghiên cứu xây dựng quy trình sản xuất rượu vang từ mãng cầu xiêm​
 
Đồ án tốt nghiệp Điện tử công nghiệp_ Phát triển hệ thống IoT cho nông nghiệp...
Đồ án tốt nghiệp Điện tử công nghiệp_ Phát triển hệ thống IoT cho nông nghiệp...Đồ án tốt nghiệp Điện tử công nghiệp_ Phát triển hệ thống IoT cho nông nghiệp...
Đồ án tốt nghiệp Điện tử công nghiệp_ Phát triển hệ thống IoT cho nông nghiệp...
 
Xác định số cụm tối ưu vào bài toán phân khúc khách hàng sử dụng dịch vụ di đ...
Xác định số cụm tối ưu vào bài toán phân khúc khách hàng sử dụng dịch vụ di đ...Xác định số cụm tối ưu vào bài toán phân khúc khách hàng sử dụng dịch vụ di đ...
Xác định số cụm tối ưu vào bài toán phân khúc khách hàng sử dụng dịch vụ di đ...
 
Luận văn: Quy hoạch khu du lịch nghỉ dưỡng Đồ Sơn, HOT
Luận văn: Quy hoạch khu du lịch nghỉ dưỡng Đồ Sơn, HOTLuận văn: Quy hoạch khu du lịch nghỉ dưỡng Đồ Sơn, HOT
Luận văn: Quy hoạch khu du lịch nghỉ dưỡng Đồ Sơn, HOT
 
Nghiên cứu và thiết kế thiết bị cảnh báo khí gas phòng chống cháy nổ.docx
Nghiên cứu và thiết kế thiết bị cảnh báo khí gas  phòng chống cháy nổ.docxNghiên cứu và thiết kế thiết bị cảnh báo khí gas  phòng chống cháy nổ.docx
Nghiên cứu và thiết kế thiết bị cảnh báo khí gas phòng chống cháy nổ.docx
 
Luận văn: Dạy - Học giới hạn vô cực của hàm số ở trường phổ thông
Luận văn: Dạy - Học giới hạn vô cực của hàm số ở trường phổ thôngLuận văn: Dạy - Học giới hạn vô cực của hàm số ở trường phổ thông
Luận văn: Dạy - Học giới hạn vô cực của hàm số ở trường phổ thông
 
đáNh giá hiện trạng và đề xuất giải pháp nâng cao công tác thu gom, vận chuyể...
đáNh giá hiện trạng và đề xuất giải pháp nâng cao công tác thu gom, vận chuyể...đáNh giá hiện trạng và đề xuất giải pháp nâng cao công tác thu gom, vận chuyể...
đáNh giá hiện trạng và đề xuất giải pháp nâng cao công tác thu gom, vận chuyể...
 
Luận án: Ước lượng kênh truyền mimo dùng thuật toán mù cải tiến, HAY
Luận án: Ước lượng kênh truyền mimo dùng thuật toán mù cải tiến, HAYLuận án: Ước lượng kênh truyền mimo dùng thuật toán mù cải tiến, HAY
Luận án: Ước lượng kênh truyền mimo dùng thuật toán mù cải tiến, HAY
 
Đề tài: Mô hình đếm, phân loại sản phẩm theo cân nặng màu sắc
Đề tài: Mô hình đếm, phân loại sản phẩm theo cân nặng màu sắcĐề tài: Mô hình đếm, phân loại sản phẩm theo cân nặng màu sắc
Đề tài: Mô hình đếm, phân loại sản phẩm theo cân nặng màu sắc
 
Doanlythuyet nhom33
Doanlythuyet nhom33Doanlythuyet nhom33
Doanlythuyet nhom33
 
Đề tài: Chương trình xét tuyển đại học dựa vào kết quả học tập
Đề tài: Chương trình xét tuyển đại học dựa vào kết quả học tậpĐề tài: Chương trình xét tuyển đại học dựa vào kết quả học tập
Đề tài: Chương trình xét tuyển đại học dựa vào kết quả học tập
 
Báo Cáo Cuối kỳ CNTT ATHENA
Báo Cáo Cuối kỳ CNTT ATHENABáo Cáo Cuối kỳ CNTT ATHENA
Báo Cáo Cuối kỳ CNTT ATHENA
 
luận văn Quản lý cửa hàng vật liệu xây dựng
luận văn  Quản lý cửa hàng vật liệu xây dựngluận văn  Quản lý cửa hàng vật liệu xây dựng
luận văn Quản lý cửa hàng vật liệu xây dựng
 
bao cáo cuối kỳ
bao cáo cuối kỳ bao cáo cuối kỳ
bao cáo cuối kỳ
 

Recently uploaded

ĐỀ CHÍNH THỨC KỲ THI TUYỂN SINH VÀO LỚP 10 THPT CÁC TỈNH THÀNH NĂM HỌC 2020 –...
ĐỀ CHÍNH THỨC KỲ THI TUYỂN SINH VÀO LỚP 10 THPT CÁC TỈNH THÀNH NĂM HỌC 2020 –...ĐỀ CHÍNH THỨC KỲ THI TUYỂN SINH VÀO LỚP 10 THPT CÁC TỈNH THÀNH NĂM HỌC 2020 –...
ĐỀ CHÍNH THỨC KỲ THI TUYỂN SINH VÀO LỚP 10 THPT CÁC TỈNH THÀNH NĂM HỌC 2020 –...Nguyen Thanh Tu Collection
 
Campbell _2011_ - Sinh học - Tế bào - Ref.pdf
Campbell _2011_ - Sinh học - Tế bào - Ref.pdfCampbell _2011_ - Sinh học - Tế bào - Ref.pdf
Campbell _2011_ - Sinh học - Tế bào - Ref.pdfTrnHoa46
 
Giới thiệu Dự án Sản Phụ Khoa - Y Học Cộng Đồng
Giới thiệu Dự án Sản Phụ Khoa - Y Học Cộng ĐồngGiới thiệu Dự án Sản Phụ Khoa - Y Học Cộng Đồng
Giới thiệu Dự án Sản Phụ Khoa - Y Học Cộng ĐồngYhoccongdong.com
 
Đề cương môn giải phẫu......................
Đề cương môn giải phẫu......................Đề cương môn giải phẫu......................
Đề cương môn giải phẫu......................TrnHoa46
 
PHƯƠNG THỨC VẬN TẢI ĐƯỜNG SẮT TRONG VẬN TẢI
PHƯƠNG THỨC VẬN TẢI ĐƯỜNG SẮT TRONG VẬN TẢIPHƯƠNG THỨC VẬN TẢI ĐƯỜNG SẮT TRONG VẬN TẢI
PHƯƠNG THỨC VẬN TẢI ĐƯỜNG SẮT TRONG VẬN TẢImyvh40253
 
TÀI LIỆU BỒI DƯỠNG HỌC SINH GIỎI KỸ NĂNG VIẾT ĐOẠN VĂN NGHỊ LUẬN XÃ HỘI 200 C...
TÀI LIỆU BỒI DƯỠNG HỌC SINH GIỎI KỸ NĂNG VIẾT ĐOẠN VĂN NGHỊ LUẬN XÃ HỘI 200 C...TÀI LIỆU BỒI DƯỠNG HỌC SINH GIỎI KỸ NĂNG VIẾT ĐOẠN VĂN NGHỊ LUẬN XÃ HỘI 200 C...
TÀI LIỆU BỒI DƯỠNG HỌC SINH GIỎI KỸ NĂNG VIẾT ĐOẠN VĂN NGHỊ LUẬN XÃ HỘI 200 C...Nguyen Thanh Tu Collection
 
1.DOANNGOCPHUONGTHAO-APDUNGSTEMTHIETKEBTHHHGIUPHSHOCHIEUQUA (1).docx
1.DOANNGOCPHUONGTHAO-APDUNGSTEMTHIETKEBTHHHGIUPHSHOCHIEUQUA (1).docx1.DOANNGOCPHUONGTHAO-APDUNGSTEMTHIETKEBTHHHGIUPHSHOCHIEUQUA (1).docx
1.DOANNGOCPHUONGTHAO-APDUNGSTEMTHIETKEBTHHHGIUPHSHOCHIEUQUA (1).docxTHAO316680
 
Kiểm tra cuối học kì 1 sinh học 12 đề tham khảo
Kiểm tra cuối học kì 1 sinh học 12 đề tham khảoKiểm tra cuối học kì 1 sinh học 12 đề tham khảo
Kiểm tra cuối học kì 1 sinh học 12 đề tham khảohoanhv296
 
GNHH và KBHQ - giao nhận hàng hoá và khai báo hải quan
GNHH và KBHQ - giao nhận hàng hoá và khai báo hải quanGNHH và KBHQ - giao nhận hàng hoá và khai báo hải quan
GNHH và KBHQ - giao nhận hàng hoá và khai báo hải quanmyvh40253
 
SÁNG KIẾN ÁP DỤNG CLT (COMMUNICATIVE LANGUAGE TEACHING) VÀO QUÁ TRÌNH DẠY - H...
SÁNG KIẾN ÁP DỤNG CLT (COMMUNICATIVE LANGUAGE TEACHING) VÀO QUÁ TRÌNH DẠY - H...SÁNG KIẾN ÁP DỤNG CLT (COMMUNICATIVE LANGUAGE TEACHING) VÀO QUÁ TRÌNH DẠY - H...
SÁNG KIẾN ÁP DỤNG CLT (COMMUNICATIVE LANGUAGE TEACHING) VÀO QUÁ TRÌNH DẠY - H...Nguyen Thanh Tu Collection
 
sách sinh học đại cương - Textbook.pdf
sách sinh học đại cương   -   Textbook.pdfsách sinh học đại cương   -   Textbook.pdf
sách sinh học đại cương - Textbook.pdfTrnHoa46
 
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...Nguyen Thanh Tu Collection
 
kinh tế chính trị mác lênin chương hai và hàng hoá và sxxhh
kinh tế chính trị mác lênin chương hai và hàng hoá và sxxhhkinh tế chính trị mác lênin chương hai và hàng hoá và sxxhh
kinh tế chính trị mác lênin chương hai và hàng hoá và sxxhhdtlnnm
 
CD21 Exercise 2.1 KEY.docx tieng anh cho
CD21 Exercise 2.1 KEY.docx tieng anh choCD21 Exercise 2.1 KEY.docx tieng anh cho
CD21 Exercise 2.1 KEY.docx tieng anh chonamc250
 
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...Nguyen Thanh Tu Collection
 
BỘ LUYỆN NGHE VÀO 10 TIẾNG ANH DẠNG TRẮC NGHIỆM 4 CÂU TRẢ LỜI - CÓ FILE NGHE.pdf
BỘ LUYỆN NGHE VÀO 10 TIẾNG ANH DẠNG TRẮC NGHIỆM 4 CÂU TRẢ LỜI - CÓ FILE NGHE.pdfBỘ LUYỆN NGHE VÀO 10 TIẾNG ANH DẠNG TRẮC NGHIỆM 4 CÂU TRẢ LỜI - CÓ FILE NGHE.pdf
BỘ LUYỆN NGHE VÀO 10 TIẾNG ANH DẠNG TRẮC NGHIỆM 4 CÂU TRẢ LỜI - CÓ FILE NGHE.pdfNguyen Thanh Tu Collection
 
Các điều kiện bảo hiểm trong bảo hiểm hàng hoá
Các điều kiện bảo hiểm trong bảo hiểm hàng hoáCác điều kiện bảo hiểm trong bảo hiểm hàng hoá
Các điều kiện bảo hiểm trong bảo hiểm hàng hoámyvh40253
 
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...Nguyen Thanh Tu Collection
 
cac-cau-noi-tthcm.pdf-cac-cau-noi-tthcm-
cac-cau-noi-tthcm.pdf-cac-cau-noi-tthcm-cac-cau-noi-tthcm.pdf-cac-cau-noi-tthcm-
cac-cau-noi-tthcm.pdf-cac-cau-noi-tthcm-KhnhHuyn546843
 
GIÁO TRÌNH KHỐI NGUỒN CÁC LOẠI - ĐIỆN LẠNH BÁCH KHOA HÀ NỘI
GIÁO TRÌNH  KHỐI NGUỒN CÁC LOẠI - ĐIỆN LẠNH BÁCH KHOA HÀ NỘIGIÁO TRÌNH  KHỐI NGUỒN CÁC LOẠI - ĐIỆN LẠNH BÁCH KHOA HÀ NỘI
GIÁO TRÌNH KHỐI NGUỒN CÁC LOẠI - ĐIỆN LẠNH BÁCH KHOA HÀ NỘIĐiện Lạnh Bách Khoa Hà Nội
 

Recently uploaded (20)

ĐỀ CHÍNH THỨC KỲ THI TUYỂN SINH VÀO LỚP 10 THPT CÁC TỈNH THÀNH NĂM HỌC 2020 –...
ĐỀ CHÍNH THỨC KỲ THI TUYỂN SINH VÀO LỚP 10 THPT CÁC TỈNH THÀNH NĂM HỌC 2020 –...ĐỀ CHÍNH THỨC KỲ THI TUYỂN SINH VÀO LỚP 10 THPT CÁC TỈNH THÀNH NĂM HỌC 2020 –...
ĐỀ CHÍNH THỨC KỲ THI TUYỂN SINH VÀO LỚP 10 THPT CÁC TỈNH THÀNH NĂM HỌC 2020 –...
 
Campbell _2011_ - Sinh học - Tế bào - Ref.pdf
Campbell _2011_ - Sinh học - Tế bào - Ref.pdfCampbell _2011_ - Sinh học - Tế bào - Ref.pdf
Campbell _2011_ - Sinh học - Tế bào - Ref.pdf
 
Giới thiệu Dự án Sản Phụ Khoa - Y Học Cộng Đồng
Giới thiệu Dự án Sản Phụ Khoa - Y Học Cộng ĐồngGiới thiệu Dự án Sản Phụ Khoa - Y Học Cộng Đồng
Giới thiệu Dự án Sản Phụ Khoa - Y Học Cộng Đồng
 
Đề cương môn giải phẫu......................
Đề cương môn giải phẫu......................Đề cương môn giải phẫu......................
Đề cương môn giải phẫu......................
 
PHƯƠNG THỨC VẬN TẢI ĐƯỜNG SẮT TRONG VẬN TẢI
PHƯƠNG THỨC VẬN TẢI ĐƯỜNG SẮT TRONG VẬN TẢIPHƯƠNG THỨC VẬN TẢI ĐƯỜNG SẮT TRONG VẬN TẢI
PHƯƠNG THỨC VẬN TẢI ĐƯỜNG SẮT TRONG VẬN TẢI
 
TÀI LIỆU BỒI DƯỠNG HỌC SINH GIỎI KỸ NĂNG VIẾT ĐOẠN VĂN NGHỊ LUẬN XÃ HỘI 200 C...
TÀI LIỆU BỒI DƯỠNG HỌC SINH GIỎI KỸ NĂNG VIẾT ĐOẠN VĂN NGHỊ LUẬN XÃ HỘI 200 C...TÀI LIỆU BỒI DƯỠNG HỌC SINH GIỎI KỸ NĂNG VIẾT ĐOẠN VĂN NGHỊ LUẬN XÃ HỘI 200 C...
TÀI LIỆU BỒI DƯỠNG HỌC SINH GIỎI KỸ NĂNG VIẾT ĐOẠN VĂN NGHỊ LUẬN XÃ HỘI 200 C...
 
1.DOANNGOCPHUONGTHAO-APDUNGSTEMTHIETKEBTHHHGIUPHSHOCHIEUQUA (1).docx
1.DOANNGOCPHUONGTHAO-APDUNGSTEMTHIETKEBTHHHGIUPHSHOCHIEUQUA (1).docx1.DOANNGOCPHUONGTHAO-APDUNGSTEMTHIETKEBTHHHGIUPHSHOCHIEUQUA (1).docx
1.DOANNGOCPHUONGTHAO-APDUNGSTEMTHIETKEBTHHHGIUPHSHOCHIEUQUA (1).docx
 
Kiểm tra cuối học kì 1 sinh học 12 đề tham khảo
Kiểm tra cuối học kì 1 sinh học 12 đề tham khảoKiểm tra cuối học kì 1 sinh học 12 đề tham khảo
Kiểm tra cuối học kì 1 sinh học 12 đề tham khảo
 
GNHH và KBHQ - giao nhận hàng hoá và khai báo hải quan
GNHH và KBHQ - giao nhận hàng hoá và khai báo hải quanGNHH và KBHQ - giao nhận hàng hoá và khai báo hải quan
GNHH và KBHQ - giao nhận hàng hoá và khai báo hải quan
 
SÁNG KIẾN ÁP DỤNG CLT (COMMUNICATIVE LANGUAGE TEACHING) VÀO QUÁ TRÌNH DẠY - H...
SÁNG KIẾN ÁP DỤNG CLT (COMMUNICATIVE LANGUAGE TEACHING) VÀO QUÁ TRÌNH DẠY - H...SÁNG KIẾN ÁP DỤNG CLT (COMMUNICATIVE LANGUAGE TEACHING) VÀO QUÁ TRÌNH DẠY - H...
SÁNG KIẾN ÁP DỤNG CLT (COMMUNICATIVE LANGUAGE TEACHING) VÀO QUÁ TRÌNH DẠY - H...
 
sách sinh học đại cương - Textbook.pdf
sách sinh học đại cương   -   Textbook.pdfsách sinh học đại cương   -   Textbook.pdf
sách sinh học đại cương - Textbook.pdf
 
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
 
kinh tế chính trị mác lênin chương hai và hàng hoá và sxxhh
kinh tế chính trị mác lênin chương hai và hàng hoá và sxxhhkinh tế chính trị mác lênin chương hai và hàng hoá và sxxhh
kinh tế chính trị mác lênin chương hai và hàng hoá và sxxhh
 
CD21 Exercise 2.1 KEY.docx tieng anh cho
CD21 Exercise 2.1 KEY.docx tieng anh choCD21 Exercise 2.1 KEY.docx tieng anh cho
CD21 Exercise 2.1 KEY.docx tieng anh cho
 
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
 
BỘ LUYỆN NGHE VÀO 10 TIẾNG ANH DẠNG TRẮC NGHIỆM 4 CÂU TRẢ LỜI - CÓ FILE NGHE.pdf
BỘ LUYỆN NGHE VÀO 10 TIẾNG ANH DẠNG TRẮC NGHIỆM 4 CÂU TRẢ LỜI - CÓ FILE NGHE.pdfBỘ LUYỆN NGHE VÀO 10 TIẾNG ANH DẠNG TRẮC NGHIỆM 4 CÂU TRẢ LỜI - CÓ FILE NGHE.pdf
BỘ LUYỆN NGHE VÀO 10 TIẾNG ANH DẠNG TRẮC NGHIỆM 4 CÂU TRẢ LỜI - CÓ FILE NGHE.pdf
 
Các điều kiện bảo hiểm trong bảo hiểm hàng hoá
Các điều kiện bảo hiểm trong bảo hiểm hàng hoáCác điều kiện bảo hiểm trong bảo hiểm hàng hoá
Các điều kiện bảo hiểm trong bảo hiểm hàng hoá
 
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
 
cac-cau-noi-tthcm.pdf-cac-cau-noi-tthcm-
cac-cau-noi-tthcm.pdf-cac-cau-noi-tthcm-cac-cau-noi-tthcm.pdf-cac-cau-noi-tthcm-
cac-cau-noi-tthcm.pdf-cac-cau-noi-tthcm-
 
GIÁO TRÌNH KHỐI NGUỒN CÁC LOẠI - ĐIỆN LẠNH BÁCH KHOA HÀ NỘI
GIÁO TRÌNH  KHỐI NGUỒN CÁC LOẠI - ĐIỆN LẠNH BÁCH KHOA HÀ NỘIGIÁO TRÌNH  KHỐI NGUỒN CÁC LOẠI - ĐIỆN LẠNH BÁCH KHOA HÀ NỘI
GIÁO TRÌNH KHỐI NGUỒN CÁC LOẠI - ĐIỆN LẠNH BÁCH KHOA HÀ NỘI
 

Do an-vi-dieu-khien

  • 1. Đà Nẵng, ngày 1 tháng 10 năm 2020 ĐẠI HỌC ĐÀ NẴNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT KHOA ĐIỆN – ĐIỆN TỬ ĐỒ ÁN VI ĐIỀU KHIỂN ĐỀ TÀI: THIẾT KẾ HỆ THỐNG ĐIỀU KHIỂN TỰ ĐỘNG CÁC THIẾT BỊ ĐIỆN VÀ ỨNG DỤNG CÔNG NGHỆ RFID ĐỂ MỞ CỬA. GVHD: ThS. LÊ HỮU DUY Lớp HP: 291DAVDK01 Sinh viên thực hiện: Mã sinh viên: NGUYỄN DUY HÀ SƠN 1711505110126 NGUYỄN HÀ GIA HẬU 1711505210107 Lớp SH: 17KTDT1
  • 2. Lời cảm ơn Đồ án Vi điều khiển GVHD: Lê Hữu Duy Trang 2 LỜI CẢM ƠN Trên thực tế không có thành công nào mà không gắn liền với sự hỗ trợ, giúp đỡ dù ít hay nhiều, dù trực tiếp hay gián tiếp của người khác. Trong suốt thời gian kể từ khi làm “Đồ án Vi điều khiển” đến nay, nhóm đã nhận được rất nhiều sự quan tâm, giúp đỡ của quý Thầy/cô, gia đình và bạn bè. Chúng em xin chân thành cảm ơn Bộ môn Điện – Điện tử, Khoa Điện, Trường Đại học Sư phạm Kỹ thuật – Đại học Đà Nẵng đã tạo cơ hội cho chúng em làm đồ án này. Để cho chúng em được tìm tòi, học hỏi, mày mò nữa cái mới cái hay, cũng như các kiến thức mà các thầy/cô đã truyền đạt cho chúng em trong suốt thời gian học tập tại trường. Xin gửi lời cảm ơn chân thành nhất đến giáo viên hướng dẫn ThS. Lê Hữu Duy đã tận tâm hướng dẫn nhóm bằng tất cả tâm huyết của mình, tạo mọi điều kiện cho chúng em làm đề tài này và đóng góp ý kiến cho nhóm trong suốt thời gian làm đồ án. Làm việc với thầy chúng em được học hỏi rất nhiều điều bổ ích để áp dụng vào công việc mai sau cũng như trong cuộc sống hằng ngày. Chúng em xin gửi lời đồng cảm ơn đến các bạn lớp 17KTDT1, 17HTD1 đã chia sẻ trao đổi kiến thức cũng như những kinh nghiệm quý báu trong suốt quá trình làm đề tài. Nhóm chúng em xin chân thành cảm ơn!!
  • 3. Mục lục Đồ án Vi điều khiển GVHD: Lê Hữu Duy Trang 3 MỤC LỤC LỜI CẢM ƠN...............................................................................................................................................2 NHẬN XÉT, ĐÁNH GIÁ CỦA GIÁO VIÊN HƯỚNG DẪN ..................................................................5 NHẬN XÉT, ĐÁNH GIÁ CỦA GIẢNG VIÊN PHẢN BIỆN ..................................................................6 LỜI MỞ ĐẦU...............................................................................................................................................7 CHƯƠNG I: TỔNG QUAN ........................................................................................................................8 1.1) TỔNG QUAN VỀ ĐỀ TÀI..........................................................................................................8 1.2) ĐẶT VẤN ĐỀ ...............................................................................................................................8 1.3) MỤC TIÊU ...................................................................................................................................8 1.4) NỘI DUNG ...................................................................................................................................8 1.5) GIỚI HẠN.....................................................................................................................................8 1.6) BỐ CỤC ........................................................................................................................................8 CHƯƠNG II: CƠ SỞ LÝ THUYẾT VÀ CODE.....................................................................................10 2.1) QUY TRÌNH ĐIỀU KHIỂN CỦA HỆ THỐNG .....................................................................10 2.2) GIỚI THIỆU PHẦN CỨNG .....................................................................................................10 2.2.1) Khối Vi điều khiển (Arduino Mega 2560)........................................................................10 2.2.2) Khối hiển thị LCD text 1602..............................................................................................15 2.2.3) Khối cảm biến.....................................................................................................................29 2.2.3.1) Cảm biến đóng/mở cửa bằng RFID..........................................................................29 2.2.3.2) Cảm biến chuyển động HC – SR501.........................................................................35 2.2.3.3) Cảm biến ánh sáng .....................................................................................................40 2.2.3.4) Cảm biến Nhiệt độ - Độ ẩm DHT11..........................................................................41 2.2.4) Khối vận hành (Khối động lực).........................................................................................47 2.2.4.1) Mạch cầu H (L298N)..................................................................................................47 2.2.4.2) Động cơ Servo.............................................................................................................55 2.2.4.3) Module Relay..............................................................................................................59 2.3) Mạch nguồn ................................................................................................................................60 2.3.1) LM7805 ...............................................................................................................................60 2.3.2) LM317 .................................................................................................................................62 CHƯƠNG III: XÂY DỰNG LƯU ĐỒ THUẬT TOÁN VÀ THI CÔNG SẢN PHẨM .......................65 3.1) LƯU ĐỒ THUẬT TOÁN ..........................................................................................................65 3.2) THI CÔNG SẢN PHẨM ...........................................................................................................69 CHƯƠNG IV: KẾT QUẢ, NHÂN XÉT VÀ ĐÁNH GIÁ.......................................................................72
  • 4. Mục lục Đồ án Vi điều khiển GVHD: Lê Hữu Duy Trang 4 4.1) KẾT QUẢ MÔ HÌNH SẢN PHẦM..........................................................................................72 4.2) NHẬN XÉT VÀ ĐÁNH GIÁ.....................................................................................................73 CHƯƠNG V: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN........................................................................74 5.1) KẾT LUẬN.................................................................................................................................74 5.2) HƯỚNG PHÁT TRIỂN.............................................................................................................74 PHỤ LỤC....................................................................................................................................................75 TÀI LIỆU THAM KHẢO .........................................................................................................................86
  • 5. Nhận xét Đồ án Vi điều khiển GVHD: Lê Hữu Duy Trang 5 NHẬN XÉT, ĐÁNH GIÁ CỦA GIÁO VIÊN HƯỚNG DẪN ............................................................................................................................................... ............................................................................................................................................... ............................................................................................................................................... ............................................................................................................................................... ............................................................................................................................................... ............................................................................................................................................... ............................................................................................................................................... ............................................................................................................................................... ............................................................................................................................................... ............................................................................................................................................... ............................................................................................................................................... ............................................................................................................................................... ............................................................................................................................................... ............................................................................................................................................... ............................................................................................................................................... ............................................................................................................................................... ............................................................................................................................................... ............................................................................................................................................... ............................................................................................................................................... ............................................................................................................................................... ............................................................................................................................................... ............................................................................................................................................... Đà Nẵng, ngày 1 tháng 10 năm 2020 Kí tên Ths. Lê Hữu Duy
  • 6. Nhận xét Đồ án Vi điều khiển GVHD: Lê Hữu Duy Trang 6 NHẬN XÉT, ĐÁNH GIÁ CỦA GIẢNG VIÊN PHẢN BIỆN ............................................................................................................................................... ............................................................................................................................................... ............................................................................................................................................... ............................................................................................................................................... ............................................................................................................................................... ............................................................................................................................................... ............................................................................................................................................... ............................................................................................................................................... ............................................................................................................................................... ............................................................................................................................................... ............................................................................................................................................... ............................................................................................................................................... ............................................................................................................................................... ............................................................................................................................................... ............................................................................................................................................... ............................................................................................................................................... ............................................................................................................................................... ............................................................................................................................................... ............................................................................................................................................... ............................................................................................................................................... ............................................................................................................................................... ............................................................................................................................................... Đà Nẵng, ngày1 tháng 10 năm 2020 Kí tên
  • 7. Lời mở đầu Đồ án Vi điều khiển GVHD: Lê Hữu Duy Trang 7 LỜI MỞ ĐẦU Ngày nay khoa học công nghệ ngày càng phát triển, vi điều khiển AVR và vi điều khiển PIC ngày càng thông dụng và hoàn thiện hơn, nhưng có thể nói sự xuất hiện của Arduino vào năm 2005 tại Italia đã mở ra một hướng đi mới cho vi điều khiển. Sự xuất hiện của Arduino đã hỗ trợ cho con người rất nhiều trong lập trình và thiết kế, nhất là đối với những người bắt đầu tìm tòi về vi điều khiển mà không có nhiều kiến thức, hiểu biết sâu sắc về vật lý và điện từ. Phần cứng của thiết bị đã tích hợp nhiều chức năng cơ bản và là mã nguồn mở. Ngôn ngữ lập trình trên nền Java lại vô cùng dễ sử dụng tương thích với ngôn ngữ C và hệ thư viện rất phong phú và được chia sẻ miễn phí. Chính vì lý do như vậy nên Arduino hiện đang dần phổ biến và được phát triển ngày càng mạnh mẽ trên thế giới. Cùng với sự bùng nổ về các đề tài liên quan tới AUTOMATION nhằm theo kịp thời đại 4.0, nhóm chúng em quyết định chọn đề tài Automatic Room là 1 phần nho nhỏ trong dự án AUTOMATION. Đề tài này nhằm giải quyết công tắc bật/tắt và điều khiển thiết bị 1 cách tự động dựa trên đọc các Module cảm biến. Đề tài này chỉ dừng ở mức tự động điều khiển thiết bị điện, hướng phát triển là công nghệ IoT, điều khiển thiết bị thông qua giọng nói, điện thoại, internet, wifi,…
  • 8. Chương 1: Tổng quan Đồ án Vi điều khiển GVHD: Lê Hữu Duy Trang 8 CHƯƠNG I: TỔNG QUAN 1.1) TỔNG QUAN VỀ ĐỀ TÀI 1.2) ĐẶT VẤN ĐỀ Cùng với sự phát triển không ngừng của các ngành khoa học kỹ thuật, các ngành công nghiệp tự động hóa cũng phát triển nhanh chóng. Cùng với nhu cầu của con người ngày càng tăng cao, bật/tắt thiết bị điện thủ công gây trở ngại về khoảng cách và ảnh hưởng tới công việc đang thực hiện dở dang. 1.3) MỤC TIÊU Theo dõi nhiệt độ - độ ẩm của môi trường hiện tại, bật/tắt thiết bị điện một cách tự động cụ thể như bật/tắt đèn điện, quạt,… Đề tài “Thiết kế hệ thống điều khiển tự động các thiết bị điện và ứng dụng công nghệ rfid để mở cửa” góp phần vào xây dựng dự án lớn về Internet of Things và nhiều dự án lớn khác. 1.4) NỘI DUNG  NỘI DUNG 1: Thu thập dữ liệu từ môi trường (ánh sáng, nhiệt độ - độ ẩm, chuyển động,…).  NỘI DUNG 2: Đọc dữ liệu từ môi trường (ánh sáng, nhiệt độ - độ ẩm, chuyển động,…) thông qua các Module cảm biến.  NỘI DUNG 3: Giải pháp xử lý số liệu điều khiển thiết bị điện.  NỘI DUNG 4: Thiết kế hệ thống điều khiển.  NỘI DUNG 5: Thiết kế mô hình.  NỘI DUNG 6: Đánh giá kết quả thực hiện.  NỘI DUNG 7: Chỉnh sửa các lỗi điều khiển, lỗi lập trình và lỗi thiết bị.  NỘI DUNG 8: Báo cáo đề tài Đồ án Vi điều khiển. 1.5) GIỚI HẠN - Chỉ dừng ở mức phòng nhỏ. - Điều khiển tự động, không thể điều khiển bằng IoT. - Chưa có công tắt thủ công. 1.6) BỐ CỤC  Chương 1: Tổng quan Trong chương này, đề tài được trình bày tổng quan, ứng dụng các Module cảm biến trong điều khiển thiết bị điện. Từ đó, đi đến làm rõ mục tiêu, giới hạn và bố cục đề tài.
  • 9. Chương 1: Tổng quan Đồ án Vi điều khiển GVHD: Lê Hữu Duy Trang 9  Chương 2: Cơ sở lý thuyết và Code Nền tảng lý thuyết quan trọng được trình bày ở chương này và cách lập trình, cài đặt, thư viện của từng cảm biến. Từ đó làm cơ sở cho xây dựng thuật toán và tiến hành thi công sản phẩm.  Chương 3: Xây dựng lưu đồ thuật toán và thi công sản phẩm Nội dung chương sẽ trình bày lưu đồ thuật toán và từ đó thi công hệ thống, hoàn thành mô hình hệ thống.  Chương 4: Kết quả, nhận xét và đánh giá Sau khi hoàn thành việc thi công, chương này trình bày kết quả nghiên cứu và từ đó rút ra nhận xét và đánh giá.  Chương 5: Kết luận và hướng phát triển Chương này sẽ nêu rõ nhóm có hoàn thành mục tiêu ban đầu đã đề ra, nếu không hoàn thành được thì tìm hiểu nguyên nhân. Hướng phát truển của đề tài này.
  • 10. Chương 2: Cơ sở lý thuyết và Code Đồ án Vi điều khiển GVHD: Lê Hữu Duy Trang 10 CHƯƠNG II: CƠ SỞ LÝ THUYẾT VÀ CODE 2.1) QUY TRÌNH ĐIỀU KHIỂN CỦA HỆ THỐNG - Điều khiển đóng mở cửa: Sử dụng RFID RC522 quét thẻ, nhận dạng địa chỉ ID, khi địa chỉ ID phù hợp thì cửa sẽ tự động mở cửa. Nếu địa chỉ ID không phù hợp thì cửa sẽ không mở và chuông sẽ reo báo động. Đồng thời màn hình LCD sẽ hiện tên tùy thuộc vào địa chỉ ID. - Điều khiển đèn phòng và điều khiển quạt (điều khiển bật/tắt quạt và điều khiển tốc độ quạt): + Khi có người trong phòng mà trời tối thì đèn sẽ tự động bật. + Khi có người trong phòng mà nhiệt độ cao thì quạt sẽ bật, tốc độ quạt sẽ thay đổi dựa trên nhiệt độ tăng hay giảm. - Điều khiển đèn nhà vệ sinh: Đèn bật/tắt dựa trên cảm biến chuyển động, có nghĩa là khi có người đèn sẽ bật và khi không có người đèn sẽ tự tắt. 2.2) GIỚI THIỆU PHẦN CỨNG 2.2.1) Khối Vi điều khiển (Arduino Mega 2560) a) Giới thiệu chung về Arduino Arduino thực sự đã gây sóng gió trên thị trường dùng DIY trên toàn thế giới trong vài năm gần đây, gần giống với những gì Apple đã làm được trên thị trường thiết bị di động. Số lượng người dùng cực lớn và đa dạng với trình độ trải rộng từ bậc phổ thông lên đến đại học đã làm cho ngay cả những người tạo ra chúng phải ngạc nhiên về mức độ phổ biến. (Những thành viên khởi xướng Arduino) Arduino là gì mà có thể khiến ngay cả những sinh viên và nhà nghiên cứu tại các trường đại học danh tiếng như MIT, Stanford, Carnegie Mellon phải sử dụng; hoặc ngay cả Google cũng muốn hỗ trợ khi cho ra đời bộ kit Arduino Mega ADK dùng để phát triển các ứng dụng Android tương tác với cảm biến và các thiết bị khác.
  • 11. Chương 2: Cơ sở lý thuyết và Code Đồ án Vi điều khiển GVHD: Lê Hữu Duy Trang 11 Arduino thật ra là một bo mạch vi xử lý được dùng để lập trình tương tác với các thiết bị phần cứng như cảm biến, động cơ, đèn hoặc các thiết bị khác. Đặc điểm nổi bật của Arduino là môi trường phát triển phát triển ứng dụng cực kỳ dễ sử dụng, với một ngôn ngữ lập trình có thể học một cách nhanh chóng ngay cả với người ít am hiểu về điện tử và lập trình. Và điều làm nên hiện tượng Arduino chính là mức giá rất thấp và tính chất nguồn mở từ phần cứng tới phần mềm. Chỉ với khoảng $30, người dùng đã có thể sử hữu một board Arduino có 20 ngõ I/O có thể tương tác và điều khiển chừng ấy thiết bị. Arduino ra đời tại thị trấn Ivrea thuộc nước Ý và được đặt theo tên một vị vua vào thế kỉ 9 là King Arduino. Arduino chính thức được đưa ra giới thiệu vào năm 2005 như là một công cụ khiêm tốn dành cho sinh viên của giáo sư Massimo Banzi, là một trong những người phát triển Arduino, tại trường Interaction Design Instistute Ivrea (IDII). Mặc dù hầu như không được tiếp thị gì cả, tin tức về Arduino vần lan truyền với tốc độ chóng mặt nhờ những lời truyền miệng tốt đẹp của những người dùng đầu tiên. Hiện nay Arduino nổi tiếng tới nỗi có người tìm đến thị trấn Ivrea chỉ để tham quan nói đã sản sinh ra Arduino. b) Board Arduino Mega 2560
  • 12. Chương 2: Cơ sở lý thuyết và Code Đồ án Vi điều khiển GVHD: Lê Hữu Duy Trang 12 Hình trên là Arduino Mega 2560 – board mạch chủ sử dụng vi điều khiển ATmega 2560. Nó có 54 chân kỹ thuật số đầu vào/ra (trong đó 15 chân có thể xuât ra xung PWM), 16 đầu vào analog, 4 UARTS (cổng nối tiếp phần cứng), 16 MHz dao động tinh thể, kết nối USB, một jack cắm điện, một tiêu đề ICSP, và một nút reset. Nó chứa tất cả mọi thứ cần thiết để hỗ trợ các vi điều khiển; chỉ cần kết nối nó với máy tính bằng cáp USB hoặc đấu nó với một bộ chuyển đổi AC-to-DC hoặc pin để bắt đầu. Mega là tương thích với hầu hết các lá chắn được thiết kế cho các Arduino Duemilanove hoặc Diecinila. Mega 2560 là một bản cập nhật cho Mega Arduino mà nó thay thế. Các Mega 2560 khác với tất cả các bảng trước ở chỗ nó không sử dụng các FTDI chip điều khiển USB-to-serial. Thay vào đó, nó có tính năng ATmega16U2.
  • 13. Chương 2: Cơ sở lý thuyết và Code Đồ án Vi điều khiển GVHD: Lê Hữu Duy Trang 13 Bảng chi tiết thông số: Vi điều khiển ATmega2560 Điện áp hoạt động 5 [V] Điện áp đầu vào (được đề nghị) 7 ÷ 12 [V] Điện áp đầu vào (giới hạn) 6 ÷ 20 [V] Digital I/O Pins 54 (trong đó 15 cổng đầu ra PWM) Analog Input Pins 16 DC hiện tại mỗi I/O Pin 40 [mA] DC hiện tại cho 3.3 [V] Pin 50 [mA] Bộ nhớ flash 256 [KB] trong đó 8 [KB] sử dụng bởi bộ nạp khởi động SRAM 8 [KB] EEPROM 4 [KB] Clock Speed 16 MHz] c) Cấu trúc của Arduino Mega Arduino Mega có thể được cấp nguồn thông qua kết nối USB hoặc với một nguồn cung cấp điện bên ngoài. Các nguồn năng lượng được chọn tự động. Bên ngoài (không – USB) điện có thể đến hoặc từ một bộ chuyển đổi AC-to-DC hoặc pin. Các bộ chuyển đổi có thể có thể được kết nối bằng cách cắm một plug – 2.1 [mm] trung tâm tích cực vào jack cắm điện của board mạch. dẫn từ một pin có thể chèn vào trong GND và Vin pin tiêu đề của kết nối POWER. Board mạch có thể hoạt động trên một nguồn cung cấp bên ngoài của 6 – 20 [Volt]. Nếu cung cấp ít hơn 7 [V], tuy nhiên, pin 5 [V] có thể cung cấp ít hơn 5 [V] và board mạch có thể không ổn định. Nếu sử dụng nhiều hơn 12 [V], bộ điều chỉnh điện áp có thể bị quá nóng và làm hỏng các bảng mạch. Phạm vi đề nghị là 7 ÷ 12 [V]. Các chân điện như sau: - Vin: Các điện áp đầu vào cho các board Arduino khi nó được sử dụng một nguồn điện bên ngoài (như trái ngược với 5 volts từ các kết nối USB hoặc nguồn điện quy định khác). Bạn có thể cung cấp điện thông qua jack cắm điện, truy cập thông tin qua pin này. - 5V: Pin này xuất ra một 5V quy định. Từ nguồn có thể được cung cấp điện hoặc từ jack cắm điện DC (7 ÷ 12V). Cung cấp điện áp qua các 5V hoặc 3.3V chân đi qua bộ điều chỉnh để có điện áp phù hợp với một số linh kiện cần điện áp như vậy. - 3V3: Một nguồn cung cấp 3.3 Volt. Dòng điện hiện hành tối đa là 50 mA. - GND: Chân nối đất của Arduino mega. - IOREF: Pin này trên bảng Arduino cung cấp các tài liệu tham khảo điện áp mà các vi điều khiển hoạt động. Một lá chắn cấu hình đúng cách có thể đọc các Pin điện áp IOREF và chọn nguồn năng lượng thích hợp hoặc cho phép dịch điện áp trên các kết quả đầu ra để làm việc với các điện áp 5V hoặc 3.3V.
  • 14. Chương 2: Cơ sở lý thuyết và Code Đồ án Vi điều khiển GVHD: Lê Hữu Duy Trang 14 - Bộ nhớ: Các ATmega2560 có 256 KB bộ nhớ flash để lưu trữ mã (trong đó có 8 KB được sử dụng cho các bộ nạp khởi động), 8 KB của SRAM và 4 KB của EEPROM (mà có thể đọc và ghi với các thư viện EEPROM). - Đầu vào và đầu ra: mỗi chân trong số 54 chân kỹ thuật số trên Mega có thể được sử dụng như một đầu vào hoặc đầu ra, sử dụng pinMode(), digitalWrite(), digitalRead() chức năng. Chúng hoạt động tại 5 Volts. Mỗi pin có thể cung cấp hoặc nhận được tối đa 40 mA và có một điện trở kéo lên bên trong (ngắt kết nối theo mặc định) 20 ÷ 50 kΩ. Ngoài ra, một số chân có chức năng đặc biệt: o Serial: 0, 19, 17, 15 (RX); 1, 18, 16, 14 (TX). Được sử dụng để nhận (RX) và truyền (TX) TTL dữ liệu nối tiếp. Pin 0 và 1 cũng được kết nối với các chân tương ứng của Atmega16U2 USB-to-TTL nối tiếp chip. o Ngắt ngoài: 2 (gián đoạn 0), 3 (gián đoạn 1), 18 (gián đoạn 5), 19 (gián đoạn 4), 20 (gián đoạn 3) và 21(gián đoạn 2). Các chân này có thể được cấu hình để kích hoạt một ngắt trên một giá trị thấp, một giá trị góc lên và xuống, hoặc một sự thay đổi trong giá trị. o PWM: 2 – 13 và 44 – 46. Cung cấp 8 bit PWM với analogWrite() chức năng. o SPI: 50 (MISO), 51 (MOSI), 52 (SCK), 53 (SS). Các chân này hỗ trợ SPI giao tiếp bằng cách sử dụng thư viện SPI. Các chân SPI cũng được chia ra trên tiêu đề ICSP, đó là chất tương thích với Uno, Duemilanove và Diecimila. o LED: 13 có một built-in LED kết nối với pin số 13. Khi pin là giá trị cao, đèn LED được bật, khi pin là LOW, nó ra. o TWI: 20 (SDA) và 21 (SCL). Hỗ trợ TWI giao tiếp sử dụng các thư viện Wire. Lưu ý rằng các chân không ở cùng một vị trí như các chân TWI trên Duemilanove hoặc Diecimila. Các Mega2560 có 16 đầu vào analog, mỗi trong số đó cung cấp 10 bit độ phân giải (tức là 1024 giá trị khác nhau). Theo mặc định họ đo từ Mass (đất) đến 5V, mặc dù có thể thay đổi vào cuối trên của phạm vi của họ bằng các sử dụng pin Aref và analogReference chức năng. - Một số chân khác: o Aref: Điện áp tham chiếu cho các đầu vào analog. Được sử dụng với analogReference. o Thiết lập lại: Mang dòng LOW này để thiết lập lại các vi điều khiển. Thường được sử dụng để thêm một nút reset để lá chắn ngăn chặn sự một trên bảng. - Truyền thông kết nối với máy tính o Arduino Mega2560 có một số phương tiện truyền thông với máy tính, một Arduino, hoặc vi điều khiển khác. Các Atmega2560 cung cấp 4 phần cứng UARTS cho TTL (5V) giao tiếp nối tiếp. o Một Atmega16U2 (Atmega8U2 về sửa đổi 1 và phiên bản 2 bảng) trên kênh board một trong những trên USB và cung cấp một cổng COM ảo với phần mềm trên máy tính (máy tính Windows sẽ cần một file .inf, nhưng OSX và Linux máy sẽ công nhận hội đồng quản trị như một cổng COM tự động. Các phầm mềm Arduino bao gồm một màn hình nối tiếp cho phép dữ liệu văn bản đơn giản được gửi đến và đi từ hội đồng quản trị. Các RX
  • 15. Chương 2: Cơ sở lý thuyết và Code Đồ án Vi điều khiển GVHD: Lê Hữu Duy Trang 15 và TX đèn LED trên bảng sẽ nhấp nháy khi dữ liệu đang được truyền đi thông qua Atmega8U2 Atmega16U2 chip và USB kết nối với máy tính (nhưng không cho giao tiếp nối tiếp trên các chân 0 và 1). o Một thư viện SoftwareSerial cho phép giao tiếp trên bất kỳ của các chân kỹ thuật số của Mega2560. o Các Atmega2560 cũng hỗ trợ TWI và SPI truyền thông. Các phần mềm Arduino bao gồm một thư viện Wire để đơn giản hóa việc sử dụng các bus TWI; Đối với SPI giao tiếp , sử dụng các thư viện SPI. - Lập trình: Arudino Mega có thể được lập trình với các phần mềm Arduino. Các Atmega2560 trên Mega Arduino đi kèm preburned với một bộ nạp khởi động cho nó mà không sử cho phép bạn tải lên mã mới dụng một lập trình viên phần cứng bên ngoài. Nó giao tiếp bằng cách sử dụng gốc STK500 giao thức. 2.2.2) Khối hiển thị LCD text 1602 LCD text 1602 một sản phẩm quen thuộc với những người mới học và muốn thực hiện các dự án về điện tử, lập trình sử dụng trong rất nhiều các ứng dụng Vi điều khiển. Với khả năng hiển thị 2 dòng với mỗi dòng 16 ký tự hiển thị như: khả năng hiển thị ký tự đa dạng (chữ, số, kí tự đồ họa); dễ dàng đưa vào các mạch ứng dụng theo nhiều giao thức giao tiếp khác nhau, tiêu tốn rất ít tài nguyên hệ thống, giá thành rẻ,… a) Thông số kỹ thuật - Điện áp hoạt động MAX: 7 [V]. - Điện áp hoạt động MIN: - 0.3 [V]. - Hoạt động ổn định: 2.7 ÷ 5 [V]. - Điện áp ra mức cao: > 2.4 [V]. - Điện áp ra mức thấp: < 0.4 [V]. - Dòng điện cấp nguồn: 350 ÷ 600 [mA]. - Nhiệt độ hoạt động: -30 ÷ 75 [O C]. - Kích thước: 80 x 36 x 12.5 [mm]. - Chữ trắng, nền xanh. - Khoảng cách giữa 2 chân kết nối là 0.1 inch tiện dụng khi kết nối với Breadboard. - Đèn led nền có thể dùng biến trở hoặc PWM điều chỉnh độ sáng thích hợp. - Có thể được điểu khiển với 6 dây tín hiệu.
  • 16. Chương 2: Cơ sở lý thuyết và Code Đồ án Vi điều khiển GVHD: Lê Hữu Duy Trang 16 b) Chức năng của từng chân LCD 1602 - Chân số 1 (VSS): Chân nối đất cho LCD được nối với GND (0V) của mạch điều khiển. - Chân số 2 (VDD): Chân cấp nguồn cho LCD, VCC = 5 [V]. Có thể cấp nguồn riêng hoặc lấy từ mạch điều khiển. - Chân số 3 (VEE): Điều chỉnh độ tương phản (độ sáng) của LCD. - Chân số 4 (RS): Lựa chọn thanh ghi o RS = 0 – Chọn thanh ghi lệnh. Bus DB0 – DB7 sẽ nối với thanh ghi lệnh IR của LCD (ở chế độ “write” – ghi) hoặc nối với bộ đếm địa chỉ của LCD (ở chế độ “read” – đọc). o RS = 1 – Chọn thanh ghi dữ liệu. Bus DB0 – DB7 sẽ nối với thanh ghi dữ liệu DR bên trong LCD. - Chân số 5 (RW): Chân chọn chế độ Read/Write (đọc/ghi) o RW = 0 – Ghi dữ liệu. o RW = 1 – Đọc dữ liệu. - Chân số 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 của chân này như sau: o Ở chế độ Write (ghi): Dữ liệu bus sẽ được LCD chuyển vào thanh ghi bên trong khi phát tín hiệu một xung (high to low transition) của tính hiệu chân E. o Ở chế độ Read (đọc): Dữ liệu sẽ được LCD xuất ra DB0 – DB7 khi phát tín hiệu cạnh lên (low to high transition) ở chân E và được LCD giữ ở bus đến khi nào chân E xuống mức thấp.
  • 17. Chương 2: Cơ sở lý thuyết và Code Đồ án Vi điều khiển GVHD: Lê Hữu Duy Trang 17 - Chân số 7 đến 14 (D0 đến D7): 8 chân trao đổi dữ liệu với các vi điều khiển, với 2 chế độ sử dụng: o Chế độ 8 bit: Dữ liệu được truyền trên cả 8 đường, với bit MSB là bit DB7. o Chế độ 4 bit: Dữ liệu được truyền trên 4 đường từ DB4 đến DB7, bit MSB là DB7. - Chân số 15 (A): Nguồn dương cho đèn nền. - Chân số 16 (K): Nguồn âm cho đèn nền. c) Giao tiếp màn hình LCD 1602 với 8051 Nhìn chung lập trình điều khiển LCD là một công việc khá phức tạp. Để lập trình được các hàm khởi tạo, điều khiển LCD cần phải có khả năng lập trình nhất định. Tuy nhiên LCD cũng là một thiết bị cơ bản được sử dụng nhiều trong các ứng dụng và có nhiều người lập trình quan tâm. Do đó có nhiều người lập trình, các đội ngũ phát triển đã viết ra những hàm, chương trình con để điều khiển LCD. Đối với những người lập trình ứng dụng thì chỉ cần sử dụng những hàm được xây dựng sẵn này để sử dụng, đôi khi không nhất thiết phải hiểu sâu về việc xây dựng các hàm này như thế nào.  Code điều khiển hiển thị LCD chế độ 4 bit #include <REGX51.H> /********Khai báo chân giao tiếp************/ #define LCD_RS P2_0 #define LCD_RW P2_1 #define LCD_EN P2_2 #define LCD_D4 P2_4 #define LCD_D5 P2_5 #define LCD_D6 P2_6 #define LCD_D7 P2_7 /************************************/ void delay_us (unsigned int t) { unsigned int i; for (i = 0; i < t; i++); } // Hàm delay_ms được tính toán với tần số thạch anh 12MHz void delay_ms (unsigned int t) { unsigned int i, j;
  • 18. Chương 2: Cơ sở lý thuyết và Code Đồ án Vi điều khiển GVHD: Lê Hữu Duy Trang 18 for (i = 0; i < t; i++) for (j = 0; j < 125; j++); } /**************Chương trình giao tiếp LCD 1602 4bit**********************/ void LCD_Enable (void) { LCD_EN = 1; // Không cho phép truyền tiếp delay_us (3); LCD_EN = 0; // Cho phép truyển command vào LCD delay_us (50); } // Hàm gửi 4 bit dữ liệu ra LCD void LCD_Send4Bit (unsigned char Data) { LCD_D4 = Data & 0x01; LCD_D5 = (Data >> 1) & 1; LCD_D6 = (Data >> 2) & 1; LCD_D7 = (Data >> 3) & 1; } // Hàm gửi 1 lệnh cho LCD void LCD_SendCommand (unsigned char command) { LCD_Send4Bit (command >> 4); // Gửi 4 bit cao LCD_Enable (); LCD_Send4Bit (command); // Gửi 4 bit thấp LCD_Enable (); } void LCD_Clear ( ) { // Hàm xóa màn hình LCD LCD_SendCommand (0x01); delay_us (10); }
  • 19. Chương 2: Cơ sở lý thuyết và Code Đồ án Vi điều khiển GVHD: Lê Hữu Duy Trang 19 // Hàm khởi tạo LCD void LCD_Init ( ) { LCD_Send4Bit (0x00); delay_ms (20); LCD_RS = 0; // Chọn chế độ ghi lệnh LCD_RW = 0; // Chọn chế độ ghi LCD_Send4Bit (0x03); LCD_Enable ( ); delay_ms (5); LCD_Enable ( ); delay_us (100); LCD_Enable ( ); LCD_Send4Bit (0x02); LCD_Enable ( ); LCD_SendCommand (0x28); // giao thức 4 bit, hiển thị 2 hàng, kí tự 5x8 LCD_SendCommand (0x0c); // cho phép hiển thị màn hình LCD_SendCommand (0x06); // tăng ID, không dịch khung hình LCD_SendCommand (0x01); // xóa toàn bộ khung hình } void LCD_Gotoxy (unsigned char x, unsigned char y) { unsigned char address; if (!y) address = (0x80+x); else address = (0xc0+x); delay_us (1000); LCD_SendCommand (address); delay_us (50); } void LCD_PutChar (unsigned char Data) { // Hàm gửi 1 ký tự
  • 20. Chương 2: Cơ sở lý thuyết và Code Đồ án Vi điều khiển GVHD: Lê Hữu Duy Trang 20 LCD_RS = 1; LCD_SendCommand (Data); LCD_RS = 0 ; } void LCD_Puts (char *s) { // hàm gửi 1 chuỗi ký tự while (*s){ LCD_PutChar(*s); s++; } } /******************Chương trình chính**************************/ void main ( ) { LCD_Init ( ); // khởi tạo LCD delay_ms (1000); LCD_Puts ("DoAnViDieuKhien"); // gửi chuỗi lệnh lên LCD delay_ms (1000); LCD_Clear ( ); // xóa màn hình LCD_Gotoxy (0, 0); // trỏ tới vị trí LCD_Puts ("I'm Gia Hau"); delay_ms (2000); LCD_Gotoxy (0,1); // trỏ tới vị trí LCD_Puts ("OK!!!!"); while (1); // không làm gì cả }
  • 21. Chương 2: Cơ sở lý thuyết và Code Đồ án Vi điều khiển GVHD: Lê Hữu Duy Trang 21  Sơ đồ lắp đặt mô phỏng
  • 22. Chương 2: Cơ sở lý thuyết và Code Đồ án Vi điều khiển GVHD: Lê Hữu Duy Trang 22  Hiển thị ký tự đặt biệt lên LCD
  • 23. Chương 2: Cơ sở lý thuyết và Code Đồ án Vi điều khiển GVHD: Lê Hữu Duy Trang 23 d) Giao tiếp màn hình LCD với Arduino LCD text 1602 một sản phẩm quen thuộc với những người mới học và muốn thực hiện các dự án về điện tử, lập trình. Với khả hiển thị 2 dòng với mỗi dòng 16 ký tự, đồng thời có rất nhiều ví dụ mẫu được cộng đồng Arduino xây dựng sẵn sẽ giúp người mới sử dụng làm quen nhanh hơn cũng như tiết kiệm được thời gian trong việc phát triển ứng dụng của mình.  Code điều khiển hiển thị LCD #include <LiquidCrystal.h> // khai báo thư viện LCD (thư viện có sẵn) LiquidCrystal lcd (12, 11, 5, 4, 3, 2); // Khởi tạo với các chân LCD void setup () { lcd.begin (16, 2); // Khởi động LCD 1602 lcd.print ("HELLO"); } void loop ( ) { lcd.setCursor (0, 1); lcd.print ("8/2020"); }
  • 24. Chương 2: Cơ sở lý thuyết và Code Đồ án Vi điều khiển GVHD: Lê Hữu Duy Trang 24  Sơ đồ lắp đặt mô phỏng e) Giao tiếp màn hình LCD với Arduino theo phương thức I2C  Giới thiệu Module I2C LCD 1602 LCD có quá nhiều nhiều chân gây khó khăn trong quá trình đấu nối và chiếm dụng nhiều chân trên vi điều khiển. Module I2C LCD ra đời và giải quyết vấn để này. Thay vì phải mất 6 chân vi điều khiển để kết nối với LCD 1602 (RS, EN, D7, D6, D5 và D4) thì module IC2 chỉ cần tốn 2 chân (SCL, SDA) để kết nối. Module I2C hỗ trợ các loại LCD sử dụng driver HD44780 (LCD 16x2, LCD 20x4, ...) và tương thích với hầu hết các vi điều khiển hiện nay. Ưu điểm: - Tiết kiệm chân cho vi điều khiển.
  • 25. Chương 2: Cơ sở lý thuyết và Code Đồ án Vi điều khiển GVHD: Lê Hữu Duy Trang 25 - Dễ dàng kết nối với LCD. Thông số kĩ thuật: - Điện áp hoạt động: 2.5-6V DC. - Hỗ trợ màn hình: LCD1602,1604,2004 (driver HD44780). - Giao tiếp: I2C. - Địa chỉ mặc định: 0X27 (có thể điều chỉnh bằng ngắn mạch chân A0/A1/A2). - - Tích hợp Jump chốt để cung cấp đèn cho LCD hoặc ngắt. - Tích hợp biến trở xoay điều chỉnh độ tương phản cho LCD. Để sử dụng màn hình LCD giao tiếp I2C sử dụng Arduino thì ta cần cài đặt thư viện Liquidcrystal_I2C.
  • 26. Chương 2: Cơ sở lý thuyết và Code Đồ án Vi điều khiển GVHD: Lê Hữu Duy Trang 26  Code điều khiển hiển thị LCD với Arduino với giao tiếp I2C #include <Wire.h> #include <LiquidCrystal_I2C.h> LiquidCrystal_I2C lcd (0x27,16,2); // Đặt địa chỉ LCD là 0x27 cho màn hình LCD 1602 // 16 là số cột của màn hình. // 2 là số dòng của màn hình. void setup ( ) { lcd.init ( ); // Khởi động màn hình LCD, bắt đầu cho phép. lcd.backlight ( ); // Bật đèn nền LCD 1602. lcd.setCursor (2, 0); // Đưa con trỏ tới hàng 1, cột 3. // Lưu ý: giá trị hàng và cột bắt đầu từ số 0 có nghĩa là hàng (cột) 1. lcd.print ("Xin chao"); // Xuất ra dòng chữ “Xin chao” tại vị trí con trỏ hàng 1, cột 3. lcd.setCursor (0, 1); // Đưa con trỏ tới hàng 2, cột 1. lcd.print ("Cac ban"); // Xuất ra dòng chữ “Cac ban” tại vị trí con trỏ hàng 1, cột 3. } void loop ( ) { }
  • 27. Chương 2: Cơ sở lý thuyết và Code Đồ án Vi điều khiển GVHD: Lê Hữu Duy Trang 27  Sơ đồ lắp đặt mô phỏng Module I2C LCD 1602 Arduino UNO GND GND VCC 5V SDA A4/SDA SCL A5/SCL  Code tìm địa chỉ cho LCD 1602 #include <Wire.h> void setup ( ) { Wire.begin ( ); Serial.begin (9600); while (!Serial); Serial.println ("-----------------------"); Serial.println ("I2C Device Scanner"); Serial.println ("-----------------------"); byte error; byte address; int Devices; Serial.println ("Scanning..."); Delay (1000); Serial.println ("--------------------------------");
  • 28. Chương 2: Cơ sở lý thuyết và Code Đồ án Vi điều khiển GVHD: Lê Hữu Duy Trang 28 Devices = 0; for (address = 1; address < 127; address++ ) { Wire.beginTransmission (address); error = Wire.endTransmission(); if (error == 0) { Serial.print ("I2C device found at address 0x"); if (address < 16) { Serial.print ("0"); } Serial.print (address, HEX); Serial.println (" !"); Devices++; } else if (error == 4) { Serial.print ("Unknown error at address 0x"); if (address < 16) Serial.print ("0"); Serial.println (address, HEX); } } if (Devices == 0) { Serial.println("No I2C devices foundn"); } else { Serial.println("-------------- Done!!! -------------"); } } void loop ( ) { }
  • 29. Chương 2: Cơ sở lý thuyết và Code Đồ án Vi điều khiển GVHD: Lê Hữu Duy Trang 29 2.2.3) Khối cảm biến 2.2.3.1) Cảm biến đóng/mở cửa bằng RFID a) Giới thiệu RFID  RFID là gì? RFID (Radio Frequency Identification), hay Nhận dạng qua tần số vô tuyến, là một công nghệ dùng kết nối sóng vô tuyến để tự động xác định và theo dõi các thẻ nhận dạng gắn vào vật thể. Hay nói cách khác, RFID là một kỹ thuật nhận dạng sóng vô tuyến từ xa, cho phép dữ liệu trên một con chíp được đọc một cách "không tiếp xúc" qua đường dẫn sóng vô tuyến ở khoảng cách từ 50 cm tới 10 mét, sử dụng thiết bị thẻ RFID và một đầu đọc RFID.  Hệ thống RFID Một hệ thống RFID tối thiểu gồm những thiết bị sau: - Thẻ RFID (RFID Tag, còn được gọi là transponder): là một thẻ gắn chíp + Anten Thẻ RFID có thể thay thế cho các mã vạch trên các sản phẩm có bán tại các siêu thị bán lẻ. Thay vì phải đưa thiết bị vào sát mã vạch để quét, RFID cho phép thông tin có thể được truyền qua những khoảng cách nhỏ mà không cần một tiếp xúc vật lý nào cả. Thẻ RFID được đưa vào sử dụng trong rất nhiều lĩnh vực như: Quản lý nhân sự, quản lý hàng hóa vào/ra siêu thị, nhà kho, ... theo dõi động vật, quản lý xe cộ qua trạm thu phí, làm thẻ hộ chiếu …
  • 30. Chương 2: Cơ sở lý thuyết và Code Đồ án Vi điều khiển GVHD: Lê Hữu Duy Trang 30 Có 2 loại thẻ RFID là RFID passive tag và RFID active tag: + Passive tags: Không cần nguồn ngoài và nhận năng lượng từ thiết bị đọc, khoảng cách đọc ngắn. + Active tags: Được nuôi bằng PIN, sử dụng với khoảng cách đọc lớn. - Thiết bị đọc thẻ RFID (hay còn gọi là đầu đọc-reader): để đọc thông tin từ các thẻ, có thể đặt cố định hoặc lưu động. - Antenna: là thiết bị liên kết giữa thẻ và thiết bị đọc. Thiết bị đọc phát xạ tín hiệu sóng để kích họat và truyền nhận với thẻ. - Server: nhu nhận, xử lý dữ liệu, phục vụ giám sát, thống kê, điều khiển,..  Đặc điểm của hệ thống RFID - Hệ thống RFID sử dụng hệ thống không dây thu phát sóng radio, không sử dụng tia sáng như mã vạch. - Các tần số thường được sử dụng trong hệ thống RFID là 125Khz hoặc 900Mhz. - Thông tin có thể được truyền qua những khoảng cách nhỏ mà không cần một tiếp xúc vật lý nào. - Có thể đọc được thông tin xuyên qua các môi trường, vật liệu như: bê tông, tuyết, sương mù, băng đá, sơn và các điều kiện môi trường thách thức khác mà mã vạch và các công nghệ khác không thể phát huy hiệu quả.  Nguyên lý hoạt động Thiết bị RFID reader phát ra sóng điện từ ở một tần số nhất định, khi thiết bị RFID tag trong vùng hoạt động sẽ cảm nhận được sóng điện từ này và thu nhận năng lượng từ đó phát lại cho thiết bị RFID Reader biết mã số của mình. Từ đó thiết bị RFID reader nhận biết được tag nào đang trong vùng hoạt động.  Khoảng cách đọc chuẩn của RFID
  • 31. Chương 2: Cơ sở lý thuyết và Code Đồ án Vi điều khiển GVHD: Lê Hữu Duy Trang 31 Khoảng cách đọc phụ thuộc vào một số thông số và điều kiện cụ thể, tùy thuộc vào thẻ là Active hay Passive Tag. Phần lớn thẻ RFID Passive có khoảng cách đọc < 3 feet, tùy thuộc vào dải tần số của đầu đọc.Hệ thống RFID sử dụng dải tần UHF sẽ có khoảng cách đọc lớn hơn.thậm chí có những hệ thống khoảng cách đọc có thể lên tới 300 feet ( 100 m ) phụ thuộc vào từng ứng dụng cụ thể.  Dải tần hoạt động của hệ thống RFID Khi phải lựa chọn một hệ thống RFID, yêu cầu đầu tiên là chọn dải tần hoạt động của hệ thống. - Tần số thấp - Low frequency 125 KHz: Dải đọc ngắn tốc độ đọc thấp. - Dải tần cao - High frequency 13.56 MHz: Khoảng cách đọc ngắn tốc độ đọc trung bình. Phần lớn thẻ Passive sử dụng dải này. - Dải tần cao hơn - High frequency: Dải đọc từ ngắn đến trung bình, tốc độ đọc trung bình đến cao. Phần lớn thẻ Active sử dụng tần số này. - Dải siêu cao tần - UHF frequency 868-928 MHz: Dải đọc rộng Tốc độ đọc cao. Phần lớn dùng thẻ Active và một số thẻ Passive cao tần sử dụng dải này. - Dải vi sóng - Microwave 2.45-5.8 GHz: Dải đọc rộng tốc độ đọc lớn.  Ứng dụng của RFID Ứng dụng tiêu biểu và thiết thực nhất là chống mất trộm trong shop thời trang hay siêu thị hàng hóa. Khi đó các chip RFID tag sẽ được gắn với các mã số hàng hóa. Thiết bị RFID reader và antenna được gắn với bên ngoài cửa kiểm soát. Khi đó đồ vật, hàng hóa chưa được tháo chip ra ngoài cửa kiểm soát thì thiết bị Reader dễ dàng nhận thấy và phát ra cảnh báo. Ngoài ra còn một ứng dụng khác là sản xuất khóa chống trộm xe máy. Việc ứng dụng công nghệ RFID vào khóa chống trộm sẽ làm cho tên trộm phải bỏ cuộc. b) Giới thiệu về RFID – RC522 Module RFID RC522 sử dụng IC MFRC522 của Phillip dùng để đọc và ghi dữ liệu cho thẻ NFC tần số 13.56mhz, với mức giá rẻ thiết kế nhỏ gọn, module này là sự lựa chọn hàng đầu cho các ứng dụng về ghi đọc thẻ RFID.
  • 32. Chương 2: Cơ sở lý thuyết và Code Đồ án Vi điều khiển GVHD: Lê Hữu Duy Trang 32  Thông số kỹ thuật - Nguồn: 3.3VDC, 13 - 26mA. - Dòng ở chế độ chờ: 1013mA. - Dòng ở chế độ nghỉ: <80uA. - Tần số sóng mang: 13.56MHz. - Khoảng cách hoạt động: 0~60mm(mifare1 card). - Giao tiếp: SPI. - Tốc độ truyền dữ liệu: tối đa 10Mbit/s. - Các loại card RFID hỗ trợ: mifare1 S50, mifare1 S70, mifare UltraLight, mifare Pro, mifare Desfire. - Kích thước: 40mm × 60mm.  Tính năng, đặc điểm - MF RC522 ứng dụng cho việc tích hợp cao việc đọc và viết dữ liệu. - Giao tiếp với thẻ tại tần số 13.56Mhz. - Là sự lựa chọn tốt cho sự phát triển của các thiết bị thông minh và thiết bị di động cầm tay. - MF RC552 sử dụng cho việc nâng cao điều chế và giải mã điều chế thông tin giao tiếp thụ động bằng các phương pháp hoàn toàn thích hợp trong tần số 13.56Mhz . - Tương thích với bộ phát tín hiệu 14443A. - ISO 14443A xử lý kỹ thuật để phát hiện lỗi và các khung hình. - CRYPTO1 nhanh chóng hỗ trợ mã hóa thuật toán để xác nhận sản phẩm là mafire. - MF RC552 hỗ trợ mafire giao tiếp với các chuỗi bằng tốc độ cao,tốc độ truyền dữ liệu 2 chiều lên tới 424kbit/s. - MF RC552 cũng tương tự như MF RC500,MF RC530 nhưng cũng có những đặc điểm và sự khác biệt,giao tiếp giữa nó và máy chủ ở chế độ SPI giúp giảm thiểu các kết nối hạn hẹp của PCB,giảm chi phí đáng kể.
  • 33. Chương 2: Cơ sở lý thuyết và Code Đồ án Vi điều khiển GVHD: Lê Hữu Duy Trang 33 - Các MF 552 là các module được thiết kế để dể dàng sử dụng với các đầu đọc thẻ mạch. - Giá thành rẻ và được áp dụng cho sự phát triển các thiết bị cho người sử dụng - Nâng cao sự phát triển của các ứng dụng ,đáp ứng nhu cầu về sử dụng các thiết bị đầu/cuối sử dụng thẻ nhớ RF. - Module này có thể được nạp trược tiếp vào các khuôn reader khác nhau,rất thuận tiện.  Chân kết nối - SDA(SS) chân lựa chọn chip khi giao tiếp SPI (kích hoạt mức thấp). - SCK :chân xung trong chế độ SPI. - MOSI(SDI): Master Data Out – Slave In trong chế độ giao tiếp SPI. - MISO(SDO): Master Data In – Slave Out trong chế độ giao tiếp SPI. - IRQ : chân ngắt. - GND : chân nối mass. - RST : chân reset lại module. - VCC : nguồn 3.3V.  Kết nối với Arduino Arduino UNO Arduino Mega Arduino Nano Arduino Leonardo Arduino Pro Micro RST 9 5 D9 RESET/ICSP – 5 RST SDA (SS) 10 53 D10 10 10 MOSI 11 51 D11 ICSP – 4 16 MISO 12 50 D12 ICSP – 1 14 SCK 13 52 D13 ICSP – 3 15  Code đọc địa chỉ ID của RFID #include <SPI.h> #include <MFRC522.h> #define RST_PIN 9 #define SS_PIN 10 MFRC522 mfrc522 (SS_PIN, RST_PIN); // Tạo ví dụ MFRC522 void setup ( ) { Serial.begin(9600); // Khởi tạo giao tiếp nối tiếp với PC while (!Serial); // Không làm gì nếu không có cổng nối tiếp được mở (được thêm cho Arduinos dựa trên ATMEGA32U4) SPI.begin ( ); // Khởi tạo bus SPI mfrc522.PCD_Init ( ); // Init MFRC522
  • 34. Chương 2: Cơ sở lý thuyết và Code Đồ án Vi điều khiển GVHD: Lê Hữu Duy Trang 34 delay (4); // Tùy chọn chậm trễ. Một số bảng cần thêm thời gian sau khi init để sẵn sàng, xem Readme mfrc522.PCD_DumpVersionToSerial ( ); // Hiển thị chi tiết về chi tiết đầu đọc thẻ PCD - MFRC522 Serial.println (F ("Scan PICC to see UID, SAK, type, and data blocks...")); } void loop ( ) { // Đặt lại vòng lặp nếu không có thẻ mới xuất hiện trên cảm biến / đầu đọc. Điều này tiết kiệm toàn bộ quá trình khi không hoạt động. if ( ! mfrc522.PICC_IsNewCardPresent( )) { return; } // Select one of the cards if ( ! mfrc522.PICC_ReadCardSerial( )) { return; } // Dump gỡ lỗi thông tin về thẻ; PICC_HaltA () được gọi tự động mfrc522.PICC_DumpToSerial (& (mfrc522.uid)); }
  • 35. Chương 2: Cơ sở lý thuyết và Code Đồ án Vi điều khiển GVHD: Lê Hữu Duy Trang 35 2.2.3.2) Cảm biến chuyển động HC – SR501 a) Khái niệm PIR là chữ viết tắt của Passive InfraRed sensor (PIR sensor), tức là bộ cảm biến thụ động dùng nguồn kích thích là tia hồng ngoại. Tia hồng ngoại (IR) chính là các tia nhiệt phát ra từ các vật thể nóng. Trong các cơ thể sống, trong chúng ta luôn có thân nhiệt (thông thường là ở 37 độ C), và từ cơ thể chúng ta sẽ luôn phát ra các tia nhiệt, hay còn gọi là các tia hồng ngoại, người ta sẽ dùng một tế bào điện để chuyển đổi tia nhiệt ra dạng tín hiệu điện và nhờ đó mà có thể làm ra cảm biến phát hiện các vật thể nóng đang chuyển động. Cảm biến này gọi là thụ động vì nó không dùng nguồn nhiệt tự phát (làm nguồn tích cực, hay chủ động) mà chỉ phụ thuộc vào các nguồn tha nhiệt, đó là thân nhiệt của các thực thể khác, như con người con vật… b) Cấu tạo Trên đây là đầu dò PIR, loại bên trong gắn 2 cảm biến tia nhiệt, nó có 3 chân ra, một chân nối masse, một chân nối với nguồn volt DC, mức áp làm việc có thể từ 3 đến 15V. Góc dò lớn. Để tăng độ nhậy cho đầu dò, Bạn dùng kính Fresnel, nó được thiết kế cho loại đầu có 2 cảm biến, góc dò lớn, có tác dụng ngăn tia tử ngoại.
  • 36. Chương 2: Cơ sở lý thuyết và Code Đồ án Vi điều khiển GVHD: Lê Hữu Duy Trang 36 c) Nguyên lý Các nguồn nhiệt (với người và con vật là nguồn thân nhiệt) đều phát ra tia hồng ngoại, qua kính Fresnel, qua kích lọc lấy tia hồng ngoại, nó được cho tiêu tụ trên 2 cảm biến hồng ngoại gắn trong đầu dò, và tạo ra điện áp được khuếch đại với transistor FET. Khi có một vật nóng đi ngang qua, từ 2 cảm biến này sẽ cho xuất hiện 2 tín hiệu và tín hiệu này sẽ được khuếch đại để có biên độ đủ cao và đưa vào mạch so áp để tác động vào một thiết bị điều khiển hay báo động. Hình vẽ cho thấy 2 vùng cảm ứng nhậy cảm tương ứng với 2 cảm biến trong đầu dò. Khi có một con vật đi ngang, từ thân con vật sẽ luôn phát ra tia nhiệt, nó được tiêu tụ mạnh với kính Fresnel và rồi tiêu tụ trên bia là cảm biến hồng ngoại, vậy khi con vật đi ngang, ở ngả ra của đầu dò chúng ta sẽ thậy. Xuất hiện một tín hiệu, tín hiệu này sẽ được cho vào mạch xử lý để tạo tác dụng điều khiển hay báo động. d) Các tia nhiệt Mọi vật thể đều được cấu tạo từ các phân tử nhỏ li ti, nhiệt là một dạng năng lượng tạo ra từ các xao động của các phân tử, đó là các chuyển động hỗn loạn, không trật tự. Từ các xao động này, nó phát ra các tia nhiệt, bằng cảm giác thông thường của giác quan, con người chúng ta nói đó là sức nóng. Ở mỗi người nguồn thân nhiệt thường được điều ổn ở mức 37 độ C, đó là nguồn nhiệt mà ai cũng có và nếu dùng linh kiện cảm ứng thân nhiệt, chúng ta sẽ có thiết bị phát hiện ra người, đó chính là ý tưởng mà người ta chế ra thiết bị motion detector, điều khiển theo nguồn thân nhiệt chuyển động.
  • 37. Chương 2: Cơ sở lý thuyết và Code Đồ án Vi điều khiển GVHD: Lê Hữu Duy Trang 37 Người ta kẹp vật liệu pyroelectric giữa 2 bản cực, khi có tác kích của các tia nhiệt, trên hai 2 bản cực sẽ xuất hiệu tín hiệu điện, do tín hiệu yếu nên cần mạch khuếch đại. Trong bộ đầu dò PIR, người ta gắn 2 cảm ứng PIR nằm ngang, và cho nối vào cực Gate (chân Cổng) của một transistor FET có tính khuếch đại. Khi cảm biến pyroelectric thứ nhất nhận được tia nhiệt, nó sẽ phát ra tín hiệu và khi nguồn nóng di chuyển ngang, sẽ đến cảm biến pyroelectric thứ hai nhận được tia nhiệt và nó lại phát ra tín hiệu điện. Sự xuất hiện của 2 tín hiệu này cho nhận biết là đã có một nguồn nhiệt di động ngang và mạch điện tử sẽ phát ra tín hiệu điều khiển. Tín hiệu này có thể dùng tắt mở đèn hay dùng để báo động khi có kẻ lạ vào nhà. e) Thiết bị tiêu tụ gôm tia nhiệt rọi trên bề mặt cảm ứng PIR Chúng ta biết các tia nhiệt phát ra từ thân thể người rất yếu và rất phân tán, để tăng độ nhậy phải dùng kính có mặt kính lồi tạo chức năng tiêu tụ, quen gọi là kinh Focus, hình động dưới đây cho thấy các mặt sóng của các tia sáng khi đi qua một mặt kính lồi đã được cho gôm lại tại một điểm nhỏ, điểm đó gọi là tiêu điểm ( 焦点 , theo âm Hán Việt, chữ tiêu 焦 bên dưới có bộ hỏa 灬 火 , vậy nó có nghĩa là điểm nóng, nhiều Bạn dùng kính lúp tạo ra điểm nóng, điểm nóng này có thể đốt cháy giấy đấy, đó là trò chơi của các bạn nhỏ).
  • 38. Chương 2: Cơ sở lý thuyết và Code Đồ án Vi điều khiển GVHD: Lê Hữu Duy Trang 38  Thông số kỹ thuật - Điện áp hoạt động : DC 4.5V – 20V. - Đầu ra : High 3.3V/ Low 0V. - Thứ tự chân: Vcc OUT GND - Có 2 chế độ hoạt động: o L không lặp lại kích hoạt. o H lặp lại kích hoạt. - Thời gian trễ: 5 – 200s có thể điều chỉnh từ 0,xx đến hàng chục giây. - Thời gian khóa: 2.5s (mặc định). - Góc quét < 100 độ. - Kích thước ống cảm biến: 23mm (mặc định). - Nhiệt độ hoạt động: -15oC - 70oC. - Kích thước board: 32mm*24mm. - Khối lượng: 6g. - Sử dụng cảm biến: 500BP - Khoảng các phát hiện: 2-4.5m  Các tính năng A. Tự động cảm ứng: Khi có người vào phạm vi cảm ứng, OUT: 1.5-3.3V. Không phát hiện ở 0V. B. Kiểm soát ánh sáng (tùy chọn): Bạn có thể xem vị trí lắp quang trở, khi có quang trở, sẽ thiết lặp Module hoạt động ban ngày hoặc ban đêm. C. Thiết lập hai chế độ kích hoạt: L không có thể được lặp đi lặp lại, H có thể được lặp đi lặp lại. Bạn chọn chế độ bằng việc cắm Jump Chốt. a. Không thể lặp lại kích hoạt: Module tự động đưa về mức thấp khi hết thời gian trễ. b. Lặp lại kích hoạt: Module luôn giữ ở mức cao cho đến khi không còn người chuyển động. D. Thiết lập thời gian: Module hoạt động ổn định khi cài đặt >5s
  • 39. Chương 2: Cơ sở lý thuyết và Code Đồ án Vi điều khiển GVHD: Lê Hữu Duy Trang 39 E. Điện áp sử dụng: Sử dụng điện áp từ 5-12V  Hướng dẫn sử dụng a. Cài đặt: Khi khởi tạo, Module cần thời gian khởi tạo khoảng 1 phút. Trong thời gian này, moudle tạo ra điện áp cao từ 1-3 lần sau đó vào chế độ chờ. Điện áp ra 1.5-3.3V, nếu sử dụng I/O 4.5-5.5V bạn nên lắp thêm BJT chuyển đổi mức tín hiệu. b. Địa điểm sử dụng: Nên cố gắng tránh ánh sáng trực tiếp và nguồn nhiễu gần với bề mặt lăng kính của các mô-đun, để tránh đưa ra tín hiệu nhiễu, tránh sử dụng môi trường nhiều gió.  Code Test int ledPin = 26; int inputPin = 25; int pirState; int val; void setup ( ) { Serial.begin (9600); pinMode (inputPin, INPUT); pinMode (ledPin, OUTPUT); } void loop( ) { val = digitalRead (inputPin); Serial.print (val); if (val == HIGH) { digitalWrite (ledPin, HIGH); Serial.println ("ON LIGHT"); } else { digitalWrite (ledPin, LOW); Serial.println ("OFF LIGHT"); } }
  • 40. Chương 2: Cơ sở lý thuyết và Code Đồ án Vi điều khiển GVHD: Lê Hữu Duy Trang 40 2.2.3.3) Cảm biến ánh sáng Cảm biến ánh sáng quang trở thay đổi điện trở dựa vào cường độ ánh sáng chiếu vào, cảm biến sử dụng Photoresistor nên cho độ nhạy cao, tín hiệu ổn định. Cảm Biến Ánh Sáng Quang Trở nhạy cảm nhất với cường độ ánh sáng môi trường thường được sử dụng để phát hiện độ sáng môi trường xung quanh và cường độ ánh sáng. Khi cường độ ánh sáng môi trường xung quanh bên ngoài vượt quá một ngưỡng quy định, ngõ ra của module D0 là mức logic thấp. Cảm biến ánh sáng sử dụng quang trở có khả năng thay đổi điện trở theo cường độ ánh sáng chiếu vào. Tín hiệu xuất ra của cảm biến là digital HIGH (5V) và LOW tượng trưng cho các trạng thái bật, tắt thiết bị điện tự động mà bạn không cần phải thao tác vào ! a) Đặt tính nổi bật - Nhỏ gọn. - Độ chính xác cao. - Các thành phần phụ như điện trở, tụ điện... cần thiết cho mạch đã được gắn đầy đủ. Bạn chỉ cần cấp nguồn, nối dây điều khiển vào rơ le là có thể tắt/mở bóng đèn hay các thiết bị điện khác theo cường độ ánh sáng chiếu vào cảm biến. - Sử dụng điện áp chuẩn 5V tương thích với nền tảng Arduino. b) Ứng dụng - Điều khiển thiết bị bật tắt theo ánh sáng. - Điều khiển đèn chiếu sáng tự động. - Hệ thống cảnh báo chống trộm sử dụng kết hợp với module lazer. - Đo nhịp tim. - Truyền tải dữ liệu bằng thu nhận xung laser. c) Thông số kỹ thuật - Điện áp đầu vào: 3.3V - 5V. - Đầu ra: có đầu ra số và đầu ra tương tự tương ứng D0 và A0. - Có chiết áp điều chỉnh cường độ sáng. - Kích thước: 3.2cm x 1.4cm. - Tải đầu ra số D0: 15mA. - Đầu ra số D0 = 0 khi cường độ sáng cao và D0=1 khi cường độ sáng thấp. - Đầu ra tương tự A0 có thể kết nối với ADC để điều khiển thiết bị ở cường độ sáng mong muốn.
  • 41. Chương 2: Cơ sở lý thuyết và Code Đồ án Vi điều khiển GVHD: Lê Hữu Duy Trang 41 - Độ nhạy cao với ánh sáng được tùy chỉnh bằng biến trở: o Vặn về bên trái (nhìn theo hướng từ dưới lên quang trở), bạn sẽ tăng độ nhạy của cảm biến với ánh sáng: chỉ cần lượng ánh sáng nhỏ thì mạch sẽ tự ngắt. o Vặn về bên phải, bạn sẽ giảm độ nhạy của cảm biến với ánh sáng: cần lượng ánh sáng với cường độ mạnh hơn để ngắt mạch. d) Sơ đồ nối chân Module cảm biến ánh sáng với Arduino Module cảm biến Arduino Mega Mô tả VCC 5V Nguồn GND GND Mass D0 D2 ÷ D13; D22 ÷ D53 Ngõ ra tín hiệu Digital I/O A0 A0 ÷ A15 Ngõ ra tín hiệu Analog I/O e) Code test #define LIGHT 7 // khai báo chân đầu vào của cảm biến void setup( ) { Serial.begin (9600); // thiết lập màn hình nối tiếp để hiển thị thông tin pinMode (LIGHT, INPUT_PULLUP); // xác định pin là cảm biến đầu vào } void loop( ) { int L = digitalRead (LIGHT); // đọc giá trị cảm biến if (L == 1) { Serial.println(" light is ON"); } else { Serial.println(" === light is OFF"); } delay(500); } 2.2.3.4) Cảm biến Nhiệt độ - Độ ẩm DHT11 a) Giới thiệu 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 chuẩn giao tiếp 1 wire. Chuẩn giao tiếp 1 wire là dùng 1 chân Digital để truyền dữ liệu.
  • 42. Chương 2: Cơ sở lý thuyết và Code Đồ án Vi điều khiển GVHD: Lê Hữu Duy Trang 42 Bộ tiền xử lý tín hiệu được tích hợp trong cảm biến giúp bạn có thể đọc dữ liệu chính xác mà không phải qua bất kỳ tính toán nào. b) Thông số kỹ thuật - Điện áp hoạt động: 3V - 5V (DC). - Dòng sử dụng: 2.5mA max (khi truyền dữ liệu). - Dãi độ ẩm hoạt động: 20% - 90% RH, sai số ±5%RH. - Dãi nhiệt độ hoạt động: 0°C ~ 50°C, sai số ±2°C. - Tần số lấy mẫu tối đa 1Hz (1 giây 1 lần). - Khoảng cách truyển tối đa: 20m. - Kích thước 15mm x 12mm x 5.5mm. c) Nguyên lí hoạt động Chúng bao gồm một linh kiện cảm biến độ ẩm, cảm biến nhiệt độ NTC (hoặc nhiệt điện trở) và một IC ở phía sau của cảm biến. Để đo độ ẩm, họ sử dụng thành phần cảm biến độ ẩm có hai điện cực với chất giữ ẩm giữa chúng. Vì vậy, khi độ ẩm thay đổi, độ dẫn của chất nền thay đổi hoặc điện trở giữa các điện cực này thay đổi. Sự thay đổi điện trở này được đo và xử lý bởi IC khiến cho vi điều khiển luôn sẵn sàng để đọc.
  • 43. Chương 2: Cơ sở lý thuyết và Code Đồ án Vi điều khiển GVHD: Lê Hữu Duy Trang 43 Mặt khác, để đo nhiệt độ, các cảm biến này sử dụng cảm biến nhiệt độ NTC hoặc nhiệt điện trở. Một nhiệt điện trở thực sự là một điện trở thay đổi điện trở của nó với sự thay đổi của nhiệt độ. Những cảm biến này được chế tạo bằng cách thiêu kết các vật liệu bán dẫn như gốm hoặc polyme để cung cấp những thay đổi lớn hơn trong điện trở chỉ với những thay đổi nhỏ về nhiệt độ. Thuật ngữ có tên là “NTC” có nghĩa là hệ số nhiệt độ âm, có nghĩa là điện trở giảm khi nhiệt độ tăng. Để có thể giao tiếp với DHT11 theo chuẩn 1 chân vi xử lý thực hiện theo 2 bước: o Gửi tin hiệu muốn đo (Start) tới DHT11, sau đó DHT11 xác nhận lại. o 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. - Bước 1: Gửi tín hiệu Start
  • 44. Chương 2: Cơ sở lý thuyết và Code Đồ án Vi điều khiển GVHD: Lê Hữu Duy Trang 44 o MCU thiết lập chân DATA là Output, kéo chân DATA xuống 0 trong khoảng thời gian >18ms. Trong Code mình để 25ms. Khi đó DHT11 sẽ hiểu MCU muốn đo giá trị nhiệt độ và độ ẩm. o MCU đưa chân DATA lên 1, sau đó thiết lập lại là chân đầu vào. o Sau khoảng 20-40us, DHT11 sẽ kéo chân DATA xuống thấp. Nếu >40us mà chân DATA ko được kéo xuống thấp nghĩa là không giao tiếp được với DHT11. o Chân DATA sẽ ở mức thấp 80us sau đó nó được DHT11 kéo nên cao trong 80us. Bằng việc giám sát chân DATA, MCU có thể biết được có giao tiếp được với DHT11 ko. Nếu tín hiệu đo được DHT11 lên cao, khi đó hoàn thiện quá trình giao tiếp của MCU với DHT. - Bước 2: Đọc giá trị trên DHT11: o DHT11 sẽ trả giá trị nhiệt độ và độ ẩm về dưới dạng 5 byte. Trong đó:  § Byte 1: giá trị phần nguyên của độ ẩm (RH%).  § Byte 2: giá trị phần thập phân của độ ẩm (RH%).  § Byte 3: giá trị phần nguyên của nhiệt độ (TC).  § Byte 4 : giá trị phần thập phân của nhiệt độ (TC).  § Byte 5 : kiểm tra tổng.  ð Nếu Byte 5 = (8 bit) (Byte1 +Byte2 +Byte3 + Byte4) thì giá trị độ ẩm và nhiệt độ là chính xác, nếu sai thì kết quả đo không có nghĩa. o Đọc dữ liệu: Sau khi giao tiếp được với DHT11, DHT11 sẽ gửi liên tiếp 40 bit 0 hoặc 1 về MCU, tương ứng chia thành 5 byte kết quả của Nhiệt độ và độ ẩm.
  • 45. Chương 2: Cơ sở lý thuyết và Code Đồ án Vi điều khiển GVHD: Lê Hữu Duy Trang 45 § Bit 0: § Bit 1: Sau khi tín hiệu được đưa về 0, ta đợi chân DATA của MCU được DHT11 kéo lên 1. Nếu chân DATA là 1 trong khoảng 26-28 us thì là 0, còn nếu tồn tại 70us là 1. Do đó trong lập trình ta bắt sườn lên của chân DATA, sau đó delay 50us. Nếu giá trị đo được là 0 thì ta
  • 46. Chương 2: Cơ sở lý thuyết và Code Đồ án Vi điều khiển GVHD: Lê Hữu Duy Trang 46 đọc được bit 0, nếu giá trị đo được là 1 thì giá trị đo được là 1. Cứ như thế ta đọc các bit tiếp theo. DHT11 gửi và nhận dữ liệu với một dây tín hiệu DATA, với chuẩn dữ liệu truyền 1 dây này, chúng ta phải đảm bảo sao cho ở chế độ chờ (idle) dây DATA có giá trị ở mức cao. Dữ liệu truyền về của DHT11 gồm 40bit dữ liệu theo thứ tự: 8 bit biểu thị phần nguyên của độ ẩm + 8 bit biểu thị phần thập phân của độ ẩm + 8 bit biểu thị phần nguyên của nhiệt độ + 8 bit biểu thị phần thập phân của nhiệt độ + 8 bit check sum. Ví dụ: ta nhận được 40 bit dữ liệu như sau: 0011 0101 0000 0000 0001 1000 0000 0000 0100 1101 Tính toán: 8 bit checksum: 0011 0101 + 0000 0000 + 0001 1000 + 0000 0000 = 0100 1101. Độ ẩm: 0011 0101 = 35H = 53% (ở đây do phần thập phân có giá trị 0000 0000, nên ta bỏ qua không tính phần thập phân). Nhiệt độ: 0001 1000 = 18H = 24°C (ở đây do phần thập phân có giá trị 0000 0000, nên ta bỏ qua không tính phần thập phân). d) Sơ đồ nối dây Cảm biến DHT11 Arduino Mega Vcc 5 [V] OUT D2 ÷ D13; D22 ÷ D53 GND GND e) Code cảm biến nhiệt độ - độ ẩm (DHT11) giao tiếp với Arduino Mega #include "DHT.h" const int DHTPIN = 4; // Khai báo chân tín hiệu vào Vi điều khiển const int DHTTYPE = DHT11; DHT dht (DHTPIN, DHTTYPE); void setup ( ) { Serial.begin (9600); dht.begin ( ); } void loop ( ) { float h = dht.readHumidity ( ); // Đọc giá trị độ ẩm từ cảm biến
  • 47. Chương 2: Cơ sở lý thuyết và Code Đồ án Vi điều khiển GVHD: Lê Hữu Duy Trang 47 float t = dht.readTemperature ( ); // Đọc giá trị nhiệt độ từ cảm biến Serial.print ("Nhiet do: "); Serial.println (t); // Xuất nhiệt độ Serial.print ("Do am: "); Serial.println (h); // Xuất độ ẩm Serial.println (); // Xuống hàng Delay (1000); // Đợi 1 giây } 2.2.4) Khối vận hành (Khối động lực) 2.2.4.1) Mạch cầu H (L298N) a) Giới thiệu Module điều khiển động cơ (Motor Driver) sử dụng chip cầu H L298N giúp điều khiển tốc độ và chiều quay của động cơ DC một cách dễ dàng, ngoài ra module L298N còn điều khiển được 1 động cơ bước lưỡng cực. Mạch cầu H của IC L298N có thể hoạt động ở điện áp từ 5V đến 35V. Module L298N có tích hợp một IC nguồn 78M05 để tạo ra nguồn 5V để cung cấp cho các thiết bị khác. Có thể điều khiển 2 động cơ DC hoặc 1 động cơ bước, có 4 lỗ nằm ở 4 góc thuận tiện cho người sử dụng cố định vị trí của module. Có gắn tản nhiệt chống nóng cho IC, giúp IC có thể điều khiển với dòng đỉnh đạt 2A. IC L298N được gắn với các đi ốt trên board giúp bảo vệ vi xử lý chống lại các dòng điện cảm ứng từ việc khởi động/ tắt động cơ. b) Điều khiển động cơ PWM DC Điều khiển tốc độ của động cơ DC bằng cách điều khiển điện áp đầu vào của động cơ và phương pháp phổ biến nhất để làm điều đó là sử dụng tín hiệu PWM. PWM hay thay đổi độ rộng xung là một kỹ thuật cho phép chúng ta điều chỉnh giá trị trung bình của điện áp đến thiết bị điện tử bằng cách bật và tắt nguồn với tốc độ nhanh. Điện áp trung bình phụ thuộc vào chu kỳ xung, hoặc lượng thời gian tín hiệu BẬT so với lượng thời gian tín hiệu TẮT trong một khoảng thời gian quy định.
  • 48. Chương 2: Cơ sở lý thuyết và Code Đồ án Vi điều khiển GVHD: Lê Hữu Duy Trang 48 Vì vậy: Tùy thuộc vào kích thước của động cơ, chúng ta có thể chỉ cần kết nối đầu ra Arduino với chân cua điện trở hoặc chân của MOSFET và điều khiển tốc độ của động cơ bằng cách điều khiển đầu ra PWM. Tín hiệu Arduino công suất thấp bật và tắt chân tại MOSFET thông qua đó động cơ công suất cao được điều khiển. c) Điều khiển động cơ bằng mạch cầu H Để điều khiển hướng quay, chúng ta chỉ cần đảo ngược hướng của dòng điện qua động cơ, và phương pháp phổ biến nhất để làm điều đó là sử dụng mạch cầu H. Một mạch cầu H chứa bốn chân chuyển mạch, điện trở hoặc MOSFET, với động cơ ở trung tâm tạo thành một cấu hình giống như chữ H. Bằng cách kích hoạt hai công tắc cụ thể cùng một lúc, chúng ta có thể thay đổi hướng của dòng điện, do đó thay đổi hướng quay của động cơ.
  • 49. Chương 2: Cơ sở lý thuyết và Code Đồ án Vi điều khiển GVHD: Lê Hữu Duy Trang 49 Nếu chúng ta kết hợp hai phương thức này, PWM và H-Bridge, chúng ta có thể kiểm soát hoàn toàn động cơ DC. Có nhiều trình điều khiển động cơ DC có các tính năng này và L298N là một trong số đó. d) Thông số kỹ thuật - Driver: L298N tích hợp hai mạch cầu H. - Điện áp điều khiển: 0 ÷ 35 [V]. - Dòng tối đa cho mỗi cầu H: 2 [A]. - Điện áp tín hiệu điều khiển: 5 ÷ 7 [V]. - Dòng tín hiệu điều khiển: 0 ÷ 36 [mA]. - Công suất hao phí: 20 [W] (khi nhiệt độ T = 75 ℃). - Nhiệt độ vận hành: -25 ÷ 130 [℃]. - Kích thước: 43 x 43 x 27 [mm].
  • 50. Chương 2: Cơ sở lý thuyết và Code Đồ án Vi điều khiển GVHD: Lê Hữu Duy Trang 50 e) Sơ đồ chân tín hiệu của Module L298N 1 - DC motor 1 “+” hoặc stepper motor A+ 2 - DC motor 1 “-” hoặc stepper motor A- 3 - 12V jumper – tháo jumper này nếu sử dụng nguồn trên 12V cấp vào chân 4. Jumper này dùng để cấp nguồn cho IC ổn áp tạo ra nguồn 5V nếu nguồn trên 12V sẽ làm cháy IC 78M05. 4 - Cấp dương nguồn cho motor vào đây từ 6V đến 35V.
  • 51. Chương 2: Cơ sở lý thuyết và Code Đồ án Vi điều khiển GVHD: Lê Hữu Duy Trang 51 5 - Cắm chân GND (đất, cực âm) của nguồn vào đây. 6 - Nguồn ra 5V, nếu jumper (3) được cắm thì có nguồn ra 5V ở đây. 7 - Chân Enable của Motor 1, chân này cũng dùng để cấp xung PWM cho motor. Nếu điều khiển tốc độ thì rút jumper ra và cắm chân PWM của VĐK vào đây. Giữ nguyên khi dùng với động cơ bước. 8 - IN1 9 - IN2 10 - IN3 11 - IN4 12 - Chân Enable của Motor 2, chân này cũng dùng để cấp xung PWM cho motor. Nếu điều khiển tốc độ thì rút jumper ra và cắm chân PWM của VĐK vào đây. Giữ nguyên khi dùng với động cơ bước. 13 - DC motor 2 “+” hoặc stepper motor B+. 14 - DC motor 2 “-” hoặc stepper motor B-. f) Cách sử dụng - 4 chân INPUT: IN1, IN2, IN3, IN4 được nối lần lượt với các chân 5, 7, 10, 12 của L298. Đây là các chân nhận tín hiệu điều khiển. - 4 chân OUTUT: OUT1, OUT2, OUT3, OUT4 (tương ứng với các chân INPUT) được nối với các chân 2, 3,13,14 của L298. Các chân này sẽ được nối với động cơ. - Hai chân ENA và ENB dùng để điều khiển mạch cầu H trong L298. Nếu ở mức logic “1” (nối với nguồn 5V) cho phép mạch cầu H hoạt động, nếu ở mức logic “0” thì mạch cầu H không hoạt động. - Với bài toán của mình ở trên, các bạn chỉ cần lưu ý đến cách điều khiển chiều quay với L298: o Khi ENA = 0: Động cơ không quay với mọi đầu vào. o Khi ENA = 1:  INT1 = 1; INT2 = 0: Động cơ quay thuận.  INT1 = 0; INT2 = 1: Động cơ quay nghịch.  INT1 = INT2: Động cơ dùng ngay tức thì. o Với ENB cũng tương tự với INT3, INT4. g) Nguyên lí hoạt động Điều này phụ thuộc vào điện áp được sử dụng tại động cơ VCC. Mô-đun này có bộ điều chỉnh 5V trên board được bật hoặc tắt bằng cách sử dụng dây nối. Nếu điện áp cung cấp động cơ lên đến 12V, chúng ta có thể kích hoạt bộ điều chỉnh 5V và chân 5V có thể được sử dụng làm đầu ra, ví dụ để cấp nguồn cho board Arduino của chúng ta. Nhưng nếu điện áp động cơ lớn hơn 12V, chúng ta phải ngắt kết nối dây vì những điện áp đó sẽ làm
  • 52. Chương 2: Cơ sở lý thuyết và Code Đồ án Vi điều khiển GVHD: Lê Hữu Duy Trang 52 hỏng cho bộ điều chỉnh 5V trên board. Trong trường hợp này, chân 5V sẽ được sử dụng làm đầu vào vì chúng ta cần kết nối nó với nguồn điện 5V để IC hoạt động bình thường. Chúng ta có thể lưu ý ở đây rằng IC này làm giảm điện áp khoảng 2V. Vì vậy, ví dụ, nếu chúng ta sử dụng nguồn điện 12V, điện áp tại các chân động cơ sẽ vào khoảng 10V, điều đó có nghĩa là chúng ta sẽ không thể cung cấp tốc độ tối đa ra khỏi động cơ DC. Giảm điện áp L298N Tiếp theo là các đầu vào điều khiển logic. Các chân Bật A và Bật B được sử dụng để bật và kiểm soát tốc độ của động cơ. Nếu một dây có mặt trên chân này, động cơ sẽ được kích hoạt và hoạt động ở tốc độ tối đa, và nếu chúng ta loại bỏ dây, chúng ta có thể kết nối một đầu vào PWM với chân này và theo cách đó kiểm soát tốc độ của động cơ. Nếu chúng ta kết nối chân này với Ground, động cơ sẽ bị vô hiệu hóa.
  • 53. Chương 2: Cơ sở lý thuyết và Code Đồ án Vi điều khiển GVHD: Lê Hữu Duy Trang 53 Sơ đồ khối L298N Lưu lượng hiện tại và Cách hoạt động Tiếp theo, các chân Đầu vào 1 và Đầu vào 2 được sử dụng để điều khiển hướng quay của động cơ A và đầu vào 3 và 4 cho động cơ B. Sử dụng các chân này, chúng tôi thực sự điều khiển các công tắc của mạch cầu H bên trong IC L298N. Nếu đầu vào 1 ở mức THẤP và đầu vào 2 là CAO thì động cơ sẽ di chuyển về phía trước và ngược lại, nếu đầu vào 1 ở mức CAO và đầu vào 2 ở mức THẤP thì động cơ sẽ di chuyển lùi. Trong trường hợp cả hai đầu vào đều giống nhau, cùng THẤP hoặc CAO, động cơ sẽ dừng. Điều tương tự áp dụng cho đầu vào 3 và 4 và động cơ B. h) Code test #define INA 2 #define IN1 3 #define IN2 4 #define IN3 5 #define IN4 6 #define INB 7 void setup ( ) { pinMode (INA, OUTPUT); pinMode (IN1, OUTPUT); pinMode (IN2, OUTPUT);
  • 54. Chương 2: Cơ sở lý thuyết và Code Đồ án Vi điều khiển GVHD: Lê Hữu Duy Trang 54 pinMode (IN3, OUTPUT); pinMode (IN4, OUTPUT); pinMode (INB, OUTPUT); } void tien (int speed) { analogWrite (INA, speed); digitalWrite (IN1, LOW); digitalWrite (IN2, HIGH); analogWrite (INB, speed); digitalWrite (IN3, LOW); digitalWrite (IN4, HIGH); } void lui (int speed) { analogWrite (INA, speed); digitalWrite (IN1, HIGH); digitalWrite (IN2, LOW); analogWrite (INB, speed); digitalWrite (IN3, HIGH); digitalWrite (IN4, LOW); } void trai (int speed) { analogWrite (INA, speed); digitalWrite (IN1, HIGH); digitalWrite (IN2, LOW); analogWrite (INB, speed); digitalWrite (IN3, LOW); digitalWrite (IN4, HIGH); }
  • 55. Chương 2: Cơ sở lý thuyết và Code Đồ án Vi điều khiển GVHD: Lê Hữu Duy Trang 55 void phai (int speed) { analogWrite (INA, speed); digitalWrite (IN1, LOW); digitalWrite (IN2, HIGH); analogWrite (INB, speed); digitalWrite (IN3, HIGH); digitalWrite (IN4, LOW); } void loop( ) { tien (200); delay (1000); lui (200); delay (1000); trai (200); delay (1000); phai (200); delay (1000); } 2.2.4.2) Động cơ Servo a) Giới thiệu Servo là một dạng động cơ điện đặc biệt. Không giống như động cơ thông thường cứ cắm điện vào là quay liên tục, servo chỉ quay khi được điều khiển (bằng xung PPM) với góc quay nằm trong khoảng bất kì từ 0O – 180O . Mỗi loại servo có kích thước, khối lượng và cấu tạo khác nhau. Có loại thì nặng chỉ 9g (chủ yếu dùng trên máy bay mô mình), có loại thì sở hữu một momen lực bá đạo (vài chục Newton/m), hoặc có loại thì khỏe và nhông sắc chắc chắn,... Động cơ servo được thiết kế những hệ thống hồi tiếp vòng kín. Tín hiệu ra của động cơ được nối với một mạch điều khiển. Khi động cơ quay, vận tốc và vị trí sẽ được hồi tiếp về mạch điều khiển này. Nếu có bầt kỳ lý do nào ngăn cản chuyển động quay của động cơ, cơ cấu hồi tiếp sẽ nhận thấy tín hiệu ra chưa đạt được vị trí mong muốn. Mạch điều khiển tiếp tục chỉnh sai lệch cho động cơ đạt được điểm chính xác. Các động cơ servo điều khiển bằng liên lạc vô tuyến được gọi là động cơ servo RC (radio-controlled). Trong thực tế, bản
  • 56. Chương 2: Cơ sở lý thuyết và Code Đồ án Vi điều khiển GVHD: Lê Hữu Duy Trang 56 thân động cơ servo không phải được điều khiển bằng vô tuyến, nó chỉ nối với máy thu vô tuyến trên máy bay hay xe hơi. Động cơ servo nhận tín hiệu từ máy thu này. Micro servo Tower Pro 9g Bên trong một micro servo Động cơ servo là loại động cơ cho phép ta điều khiển một cách cực kì chính xác. Vì vậy, khác với động cơ thông thường ta chỉ cần cấp nguồn cho động cơ là có thể vận hành được. Động cơ servo yêu cầu ta phải cấp nguồn (2 dây) và nhận điều khiển từ mạch chính (1 dây), mỗi dây thường được đánh màu như sau: - Đỏ: nhận điện nguồn, tuỳ vào loại động cơ mà giá trị này có thể khác nhau. - Đen: nối với cực âm của mạch. - Vàng: nhận tín hiệu từ mạch điều khiển. Động cơ servo cũng được chia làm nhiều loại, phụ thuộc vào góc quay tối đa của chúng. 2 loại phổ biến ta hay sử dụng là: - Động cơ servo quay 180°: Futaba S3003, MG90[S] ... - Động cơ servo quay 360°: MG995, MG996R ...
  • 57. Chương 2: Cơ sở lý thuyết và Code Đồ án Vi điều khiển GVHD: Lê Hữu Duy Trang 57 b) Thông số kỹ thuật - Điện áp hoạt động: 4.8 ÷ 6 [V]. - Tốc độ quay: 0.12 giây/60° (4.8V) , 0.1 giây/60° (6V). - Mômen xoắn: 1.8kg/cm (4.8V) , 2.5kg/cm (6V). - Góc quay: 180°. - Bánh răng: nhựa. - Kích thước: 22.5 x 11.8 x 30 [mm]. - Chiều dài dây điện: 175 [mm]. - Trọng lượng: 9 [gam]. - Nhiệt độ hoạt động: 0 ÷ 55 [°C] - Chức năng các chân: o Dây cam: Xung. o Dây đỏ: Vcc (4.8V ÷ 6V). o Dây đen: GND / 0V
  • 58. Chương 2: Cơ sở lý thuyết và Code Đồ án Vi điều khiển GVHD: Lê Hữu Duy Trang 58 c) Sơ đồ nối chân Micro servo Tower Pro 9g Arduino Mega GND GND Vcc 5 [V] PWM Digital D5 d) Code test #include <Servo.h> // Sử dụng thư viện Servo Servo myServo; // Tạo đối tượng Servo để điều khiển Servo void setup ( ) { Serial.begin (9600); myServo.attach (5); // Chân Servo là chân 5 myServo.write (0); // Cài đặt góc quay lúc khởi động là 0O } void loop ( ) { myServo.write (0); // Đặt góc quay của Servo là 0O delay (1000); // Delay 1 giây myServo.write (180); //Đặt góc quay của Servo thay đổi 180O delay (1000); // Delay 1 giây }
  • 59. Chương 2: Cơ sở lý thuyết và Code Đồ án Vi điều khiển GVHD: Lê Hữu Duy Trang 59 2.2.4.3) Module Relay a) Giới thiệu Module Relay 1 kênh 5V gồm 1 rơ le điện áp hoạt động ở mức 5VDC, đầu ra điều khiển hiệu điện tối đa ở mức 250V 10A đối với điện áp xoay chiều AC và 30V với điện áp 1 chiều DC. Module relay 1 kênh nhỏ gọn chuyên nghiệp, khả năng chống nhiễu tốt và khả năng cách điện tốt. Trong module đã có sẵn mạch kích relay sử dụng IC cách ly quang và transistor giúp cách ly hoàn toàn mạch 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. Có các lỗ bắt vít rất tiện lợi dễ lắp đặt trong hệ thống mạch. Mạch điều khiển relay 1 kênh này 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 Mở của Relay. Ứng dụng với relay module khá nhiều bao gồm cả điện DC hay AC. b) Đặc điểm - Module sử dụng Relay tốt, đảm bảo hoạt động ổn định, lâu dài. - Trên module có opto để cách ly dòng ngược về, hiệu suất ổn định. - Có thể set các mức cao thấp bằng cách thiết lập jumper trên module. - Có Led báo nguồn màu xanh, Led báo trạng thái Relay màu đỏ. - Kết nối module với mạch điều khiển đơn giản. c) Thông số kỹ thuật - Kích thước: 53 [mm] (chiều dài) * 28.3 [mm] (chiều rộng) * 19.3 [mm] (H). - Trọng lượng: 18 [gam]. - Màu sắc: Đỏ.
  • 60. Chương 2: Cơ sở lý thuyết và Code Đồ án Vi điều khiển GVHD: Lê Hữu Duy Trang 60 - 4 lỗ để bắt vít cố định có đường kính 3.1 [mm], dễ dàng lắp đặt trong hệ thống mạch. - Opto cô lập, tốt chống nhiễu. - Có đèn báo đóng ngắt trên Relay. - Sử dụng điện áp nuôi DC 5V. - Đầu ra điện thê đóng ngắt tối đa: DC 30V / 10A, AC 250V / 10A d) Sơ đồ nối dây Module Relay Arduino Mega Vcc 5 [V] GND GND IN (chân điều khiển) D2 ÷ D13; D22 ÷ D53 e) Code test #define RELAY_IN 2 void setup ( ) { pinMode (RELAY_IN, OUTPUT); } void loop ( ) { digitalWrite (RELAY_IN, HIGH); delay (1000); digitalWrite (RELAY_IN, LOW); delay (1000); } 2.3) Mạch nguồn 2.3.1) LM7805 a) Giới thiệu Trong kỹ thuật điện - điện tử, nguồn cấp điện là trái tim của mọi hệ thống mạch điện tử, chính là bởi vì mọi mạch điện tử muốn sống (hoạt động) thì bắt buộc phải có nguồn cấp điện. Vì một hệ thống điện tử cần nhiều nguồn điện ổn định với những giá trị điện áp khác nhau nên chúng ta lại cần tới những mạch ổn áp. Bài viết này sẽ giới thiệu về một mạch ổn áp dòng điện DC (một chiều) sử dụng IC 7805. IC ổn áp là gì? Là loại IC cung cấp điện áp ngõ ra với giá trị ổn định mặc dù trong lúc đó điện áp ngõ vào IC thay đổi liên tục và thiếu sự ổn định. IC 7805 chỉ là một trong rất nhiều loại IC ổn áp khác nhưng khả năng ổn áp của nó thì không thể xem thường. IC 7805 được phân loại là một loại IC điều chế điện áp DC dương vì ngõ ra của IC này luôn có mức điện áp dương so với mức điện áp nối mass (GND). 7805 được thiết kế bao gồm 3 chân:
  • 61. Chương 2: Cơ sở lý thuyết và Code Đồ án Vi điều khiển GVHD: Lê Hữu Duy Trang 61 Thông qua điện trở R và Dz ghim cố định điện áp chân B của Transistor Q, giả sử khi điện áp chân E đèn Q giảm => khi đó điện áp UBE tăng => dòng qua đèn Q tăng => làm điện áp chân E của đèn tăng , và ngược lại … Chân thứ nhất là để cấp điện áp DC đầu vào, chân thứ 2 là chân để đấu với mass (chân GND), chân thứ 3 là chân ngõ ra điện áp ổn áp, trong trường hợp này chúng ta đang nói về IC 7805 nên điện áp ngõ ra là 5V (với điều kiện là điện áp đầu vào lớn hơn 5V). Điện áp hoạt động của IC khuyến cáo nên ở khoảng 1A để IC hoạt động được lâu dài. b) Thông số kỹ thuật - Điện áp đầu ra : 5 [V]. - Dòng điện đầu ra: 1.5 [A]. - Điện áp đầu vào MIN: 7 [V]. - Điện áp đầu vào MAX: 35 [V]. - Điện áp rơi (điều chỉnh): 2V – 1A. - Số lượng điều chỉnh: 1. - Dòng quy định: 100 [mA]. - Dòng tải quy định: 100 [mA]. - PSRR/Ripple Rejection (Typ): 62 [dB]. - Nhiệt độ hoạt động: 0 ÷ 125 [O C]. - Package: TO – 220. - Mounting Type: Through Hole.
  • 62. Chương 2: Cơ sở lý thuyết và Code Đồ án Vi điều khiển GVHD: Lê Hữu Duy Trang 62 c) Thiết kế mạch Chúng ta sẽ cấp điện áp đầu vào qua J2 (tương ứng theo các chân âm dương) và điện áp 5V ở ngõ ra sẽ được lấy qua chân J1. Tụ C1 và C2 để lọc điện áp đầu vào cấp cho chân Vi của IC 7805, tụ C1 có các dụng cung cấp điện áp tạm thời cho chân Vi khi nguồn đột ngột bị sụt áp, tụ C2 là tụ gốm nên trở kháng lớn, C2 có tác dụng ngăn nguồn đầu vào tăng áp đột ngột làm dạng sóng điện áp đầu vào có hình răng cưa. Tụ C3 và C4 để lọc điện áp cấp cho tải tiêu thụ lấy từ chân Vo của IC 7805, tụ C3 có các dụng cung cấp điện áp tạm thời cho tải khi điện áp tải đột ngột bị sụt áp, tụ C4 trở kháng lớn, C4 có tác dụng lọc nhiễu điện áp đầu ra (nhiễu là các điện áp không mong muốn làm cho dạng sóng điện áp ngõ ra có hình răng cưa). Lưu ý: - IC 7805 dễ toả nhiệt nên để mạch hoạt động ổn định và lâu dài, chúng ta nên gắn thêm tản nhiệt cho IC. - Mạch ổn áp này phù hợp để cấp nguồn cho các mạch điện tử vận hành với điện áp 5V và dòng điện 1A đổ lại. 2.3.2) LM317 a) Giới thiệu IC ổn áp LM317 là 1 IC ổn áp có 3 chân. Hình dáng bên ngoài nó khá giống với IC họ 78xx 79xx. Đây là 1 IC ổn áp tuyến tính khá phổ biến trong những thiết bị điện tử. Nếu IC họ 78xx có ưu điểm là dễ mắc, dễ lắp ráp va thiết kế thì IC LM317 lại có ưu điểm là có thể điều chỉnh điện áp đầu ra nhờ các điển trở mắc ngoài trong mạch. Khi sử dụng IC này cần phải chú ý điện áp vào là Vin < 40V và dòng tải tiêu thụ tối đa là 1,5A. Điện áp ra Vout có thể điều chỉnh được trong dải từ 1,25V đến 37V.
  • 63. Chương 2: Cơ sở lý thuyết và Code Đồ án Vi điều khiển GVHD: Lê Hữu Duy Trang 63 Ic ổn áp LM317 Sơ đồ cấu tạo mạch LM317 b) Thông số kỹ thuật Chân 1 : Chân hồi tiếp từ chân 2 để điều chỉnh điện áp theo ý muốn ( Adjust). Chân 2 : Điện áp ra (Vout). Chân 3 : Điện áp vào (Vin). - Điện áp vào: Vin <= 40 [V]. - Dòng điện đầu ra tối đa: 1.5 [A].
  • 64. Chương 2: Cơ sở lý thuyết và Code Đồ án Vi điều khiển GVHD: Lê Hữu Duy Trang 64 - Công suất tiêu thụ lớn nhất: 15 [W]. - Điện áp ra nhỏ nhất là 1.25 [V] và lớn nhất là 37 [V]. - Điện áp vào phải lớn hơn điện áp ra là 3 [V]. 1. Thiết kế mạch Công thức tính điện áp ra là : Vout = 1.25 x (1+ 𝑅2 𝑅1 ). (Từ công thức trên ta có thể tính được điện trở nếu biết được Vout là bao nhiêu). Điện áp vào Vin<40V. Dòng điện không được vượt quá 1.5A, những tải làm việc trên 0.5A nên mắc tản nhiệt để làm mát IC. Điện áp ra phải nhỏ hơn điện áp vào là 3V. Nên có 2 tụ lọc ở đầu vào và đầu ra để ngoài làm vai trò ổn áp nó còn làm vai trò là bộ lọc thông thấp.
  • 65. Chương 3: Xây dựng lưu đồ thuật toán và thi công sản phẩm Đồ án Vi điều khiển GVHD: Lê Hữu Duy Trang 65 CHƯƠNG III: XÂY DỰNG LƯU ĐỒ THUẬT TOÁN VÀ THI CÔNG SẢN PHẨM 3.1) LƯU ĐỒ THUẬT TOÁN a) Đóng/mở cửa Quét thẻ RFID Kiểm tra mã thẻ ID với mã được thiết lập Đọc mã ID từ thẻ RFID Động cơ Servo hoạt động Chuông báo động reo Sai Đúng
  • 66. Chương 3: Xây dựng lưu đồ thuật toán và thi công sản phẩm Đồ án Vi điều khiển GVHD: Lê Hữu Duy Trang 66 b) Bật/tắt đèn phòng room Cảm biến chuyển động PIR và Quang trở Có người, cảm biến = 1 Đọc giá trị cảm biến Đèn sáng Đúng Trời tối Sai Sai Đúng
  • 67. Chương 3: Xây dựng lưu đồ thuật toán và thi công sản phẩm Đồ án Vi điều khiển GVHD: Lê Hữu Duy Trang 67 c) Bật/tắt đèn nhà vệ sinh Cảm biến chuyển động PIR Đọc giá trị cảm biến Có người, cảm biến = 1 Đèn sáng Đúng Sai
  • 68. Chương 3: Xây dựng lưu đồ thuật toán và thi công sản phẩm Đồ án Vi điều khiển GVHD: Lê Hữu Duy Trang 68 d) Bật/tắt và điều chỉnh tốc độ quạt. Cảm biến chuyển động PIR, nhiệt độ - độ ẩm Đọc giá trị cảm biến Có người, cảm biến = 1 Nhiệt độ cao Bật quạt, tốc độ = nhiệt độ * hẳng số Đúng Đúng Sai Sai
  • 69. Chương 3: Xây dựng lưu đồ thuật toán và thi công sản phẩm Đồ án Vi điều khiển GVHD: Lê Hữu Duy Trang 69 3.2) THI CÔNG SẢN PHẨM a) Linh kiện. STT Tên linh kiện Số lượng 1 Arduino Mega 2560 1 2 RFID RC522 1 3 LCD 1602 2 4 Module giao tiếp IC2 2 5 Chuông (Buzz) 1 6 Động cơ Servo 1 7 LED đỏ 1 8 LED xanh 1 9 LED 1W 1 10 Cảm biến chuyển động PIR 2 11 Cảm biến quang trở 1 12 Cảm biến Nhiệt độ - Độ ẩm DHT11 1 13 Mạch cầu H L298N 1 14 Module relay 2 kênh 1 15 Module Quạt DC 12V 1
  • 70. Chương 3: Xây dựng lưu đồ thuật toán và thi công sản phẩm Đồ án Vi điều khiển GVHD: Lê Hữu Duy Trang 70 b) Sơ đồ nối dây.
  • 71. Chương 3: Xây dựng lưu đồ thuật toán và thi công sản phẩm Đồ án Vi điều khiển GVHD: Lê Hữu Duy Trang 71 c) Sơ đồ mạch in.
  • 72. Chương 4: Kết quả, nhận xét và đánh giá Đồ án Vi điều khiển GVHD: Lê Hữu Duy Trang 72 CHƯƠNG IV: KẾT QUẢ, NHÂN XÉT VÀ ĐÁNH GIÁ 4.1) KẾT QUẢ MÔ HÌNH SẢN PHẦM Khi địa chỉ ID của RFID phù hợp, động sơ Servo sẽ hoạt động và cửa sẽ mở đồng thời hiển thị lên màn hình LCD tên người đang sử dụng địa chỉ ID kèm theo cả đèn báo. Khi địa chỉ ID không phù hợp thì chuống báo sẽ reo lên trong vòng 5 giây kèm theo đèn báo hiệu. Khi trời tối cảm biến chuyển động phát hiện có người thì đèn sẽ sáng, khi không có người thì đền sẽ tắt. Ngược lại, khi trời sáng đèn sẽ tắt kể cả khi cảm biến chuyển động phát hiện có người. Khi cảm biến chuyển động phát hiện có người trong nhà vệ sinh thì đèn sẽ sáng và ngược lại. Cảm biển Nhiệt độ - Độ ẩm sẽ đo nhiệt độ môi trường để xuất ra màn hình LCD để hiển thị, đồng thời dựa vào nhiệt độ để điều khiển tốc độ quay của quạt.