Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (5.7 MB, 36 trang )
<span class="text_page_counter">Trang 1</span><div class="page_container" data-page="1">
<b>BỘ GIÁO DỤC & ĐÀO TẠO</b>
<b>TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP. HỒ CHÍ MINHKHOA ĐIỆN – ĐIỆN TỬ</b>
<b>BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH </b>
<b>TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP. HỒ CHÍ MINHKHOA ĐIỆN – ĐIỆN TỬ</b>
<b>BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH</b>
<b>CHƯƠNG 2. CƠ SỞ LÝ THUYẾT...5</b>
2.1 Tổng quan vi điều khiển VN8-01...6
<b>CHƯƠNG 3. TÍNH TỐN VÀ THIẾT KẾ...71</b>
3.1 Mục đích sử dụng mở rộng các chuẩn giao tiếp...72
</div><span class="text_page_counter">Trang 6</span><div class="page_container" data-page="6">3.2 Chuẩn truyền thông 1 dây (1-wire)...73
3.2.1 Tổng quan về cảm biến 1 dây...73
3.2.2 Giao thức giao tiếp của chuẩn truyền thông 1 dây...73
3.2.3 Cảm biến nhiệt độ DS18B20...76
3.3 Chuẩn truyền nối tiếp 2 dây - I2C...84
3.3.1 Đặc điểm truyền thơng I2C...84
3.3.2 Q trình giao tiếp giữa 2 thiết bị trên bus I2C...86
3.4 Ứng dụng minh họa dùng cảm biến 1 dây kết hợp IC truyền thông I2C...95
3.5 Thiết kế hệ thống giao tiếp camera và máy tính...96
3.6 Thiết kế chương trình...98
<b>CHƯƠNG 4. THI CƠNG HỆ THỐNG ...99</b>
4.1 Giới thiệu. ...100
4.2 Thi công hệ thống những kết quả khác...103
<b>CHƯƠNG 5. KẾT QUẢ_NHẬN XÉT_ĐÁNH GIÁ ...116</b>
</div><span class="text_page_counter">Trang 7</span><div class="page_container" data-page="7">Hình 2.7 Hoạt động của PC đối với lệnh thường và lệnh rẽ nhánh...13
Hình 2.8: Cấu trúc của 1 lệnh đơn...14
Hình 2.9: Các nguồn ngắt của VN8-01...17
Hình 2.10: Hoạt động của Stack và thanh ghi PC...18
Hình 2.11: Cấu trúc thanh ghi INTCON...19
Hình 2.12: Cấu trúc thanh ghi PIR1...20
Hình 2.13: Cấu trúc thanh ghi PIE1...21
Hình 2.14: Cấu trúc thanh ghi OPTION...22
Hình 2.15: Clock ngõ vào cho các bộ Timer 0,1,2...22
Hình 2.16: Sơ đồ khối của Timer0...25
Hình 2.17: Sơ đồ khối bộ định thời 1(Timer1)...29
Hình 2.18: Cấu trúc thanh ghi T1CON...29
Hình 2.19: Sơ đồ khối của Timer2...32
Hình 2.20: Cấu trúc thanh ghi T2CON...32
Hình 2.21: Thiết kế hoạt động cho chức năng WDT...34
Hình 2.22: Sơ đồ khối Watchdog-Timer...35
Hình 2.23: Chế độ hoạt động của CPP và nguồn Timer...39
Hình 2.24: Cấu trúc thanh ghi CCPCON...39
Hình 2.25: Cấu trúc thanh ghi PIR1...40
Hình 2.26: Vị trí bit CCPIE...40
Hình 2.27: quan hệ giữa CK bổn phận (Thigh) và CK xung (Tcycle)...42
Hình 2.28: Sơ đồ khối Capture của ngõ vào CCPI...43
</div><span class="text_page_counter">Trang 8</span><div class="page_container" data-page="8"><b>Bảng Trang</b>
Bảng 2.2: Vùng giá trị bộ nhớ Ram/bank...14
Bảng 2.3: Mô tả thanh ghi INTCON………...19
Bảng 2.4: mô tả thanh ghi PIR1………...20
Bảng 2.5: Mô tả thanh ghi PIE1………...21
Bảng 2.6: Mô tả thanh ghi OPTION………...22
Bảng 2.6: Mô tả thanh ghi OPTION………...25
Bảng 2.7: Mô tả thanh ghi T1CON………...29
Bảng 2.8: Mô tả thanh ghi T2CON………...32
Bảng 2.9: Mô tả thanh ghi CCPCON………...39
Bảng 2.10: Mơ tả nội dung bít cờ ngắt………...40
Bảng 2.11: Mơ tả chức năng bit CCPIE………...40
Bảng 2.12: Mô tả chức năng thanh thi TXSTA………...51
Bảng 2.13: Mô tả chức năng thanh ghi RCSTA………...52
Bảng 2.14: Mô tả chức năng của cờ ngắt………...54
Bảng 2.15: Mô tả chức năng bit cờ ngắt………...54
Bảng 2.16: Công thức tính tốc độ Baud………...55
Bảng 2.17: Các bước thiết lập bộ truyền bất đồng bộ………...60
Bảng 2.18: Các bước thiết lập bộ nhận bất đồng bộ………...62
Bảng 2.19 Các bước thiết lập cho bộ truyền MASTER………...64
Bảng 2.20: Các bước cấu hình bộ nhận đồng bộ Master………...66
Bảng 2.21: Các bước để thiết lập một chế độ truyền đồng bộ SLAVE ………...67
Bảng 2.22: Các bước cấu hình chế độ nhận đồng bộ Slave………...69
Bảng 3.1: Mối quan hệ giữa nhiệt độ và lưu lượng trong bộ nhớ độ phân giải 12bits…...79
Bảng 3.2: Giá trị cấu hình tương ứng với từng độ phân giải………...80
Bảng 4.1: Mơ tả chức năng chân của GLCD………...109
</div><span class="text_page_counter">Trang 9</span><div class="page_container" data-page="9">Đề tài này là do tôi tự thực hiện dựa vào một số tài liệu trước đó và khơng sao chép từ tài liệu hay cơng trình đã có trước đó.
</div><span class="text_page_counter">Trang 10</span><div class="page_container" data-page="10">Trong thời gian thực hiện để tài này, em đã nhận được nhiều sự giúp đỡ, đóng góp ý kiến và chỉ bảo nhiệt tình của các thầy cơ và bạn bè, vậy nên em xin chân thành cảm ơn:
- Ban giám hiệu nhà trường Đại học Sư Phạm Kỹ Thuật TP.HCM đã tạo điều kiện tốt nhất cho sinh viên học tập và nghiên cứu.
- Thầy cô trong trường đã tận tình hưởng dẫn và thư viện trường đã cung cấp giáo trình và tài liệu tham khảo trong suốt quá trình học tập của sinh viên.
- Đặc biệt là sự hướng dẫn và giúp đỡ tận tình của thầy giáo Nguyễn Thanh Nghĩa đã giảng dạy, giúp đỡ những vẫn đề nhóm cịn thắc mắc.
Về chủ quan cả nhóm đều đã cố gắng trong q trình tìm hiều và thực hiện để tài nhưng vì kiến thức còn hạn chế khiến đề tài này còn chưa hồn thiện cách tốt nhất, rất mong được sự góp ý, nhận xét đánh giá về nội dung và hình thức trình bày từ thầy để có thể hồn thiện bài báo cáo tốt hơn.
Xin chân thành cảm ơn!
</div><span class="text_page_counter">Trang 11</span><div class="page_container" data-page="11">Hiện nay, thế giới đang ngày càng phát triển về mọi lĩnh vực đồng thời giúp cuộc sống của con người phát triển song song theo đó. Nhất là về lĩnh vực công nghê, khi con người đầu tư chất cám cũng như hiểu biết để phát triển và tìm tịi những cái mới về cơng nghệ. Trong lĩnh vực công nghệ không thể không kể đến cơng nghê khơng dây. Vì thế, nhóm 1 chọn đề tài “Mở khoá cửa bằng module sim dùng vi điều khiển Arduino Uno”. Đề tài mở khoá cửa bằng module sim là một dự án kỹ thuật nhằm áp dụng công nghệ sim để điều khiển cửa một cách an toàn và hiệu quả. Đây là một trong những ứng dụng phổ biến của công nghệ sim trong lĩnh vực an ninh và an tồn. Hệ thống mở khố cửa bằng module sim thường bao gồm một đầu đọc sim, một bộ xử lý, một bộ nhớ và một cơ chế điều khiển cửa. Khi người dùng muốn mở cửa, họ cần cung cấp thơng tin tài khoản của mình (tên đăng nhập và mật khẩu) thông qua sim. Sau đó, hệ thống sẽ kiểm tra thơng tin này và nếu chính xác, sẽ cho phép cửa mở ra. Với ưu điểm của cơng nghệ sim như tính tiện lợi, bảo mật cao, độ tin cậy cao và khả năng xử lý nhanh, đề tài mở khoá cửa bằng module sim đang được áp dụng rộng rãi trong các lĩnh vực như nhà ở, văn phòng, khách sạn, tòa nhà và các khu vực cơng cộng khác. Ngồi ra, đề tài này còn mở ra nhiều cơ hội cho các nhà phát triển để phát triển và tối ưu hóa các tính năng của hệ thống, nhằm đáp ứng được nhiều nhu cầu khác nhau của người dùng.
<b>1.1. MỤC TIÊU</b>
Nghiên cứu về module sim và các kỹ thuật lập trình liên quan đến việc điều khiển cửa. Thiết kế và phát triển một hệ thống mở khoá cửa bằng module sim.
Xác định các tính năng cần thiết cho hệ thống, bao gồm: cơ chế xác thực, lưu trữ thông tin tài khoản người dùng và quản lý quyền truy cập.
Đảm bảo tính an tồn và bảo mật cho hệ thống, bằng cách áp dụng các phương pháp mã hóa và
<b>1.2. NỘI DUNG NGHIÊN CỨU</b>
NỘI DUNG 1: Tìm hiểu về các linh kiện: Arduino Uno, Module Sim800C, LCD, keypad 4x4 và khoá từ.
</div><span class="text_page_counter">Trang 12</span><div class="page_container" data-page="12">NỘI DUNG 2: Xây dựng kiến trúc hệ thống mở khoá cửa bằng module sim bao gồm cơ chế xác thực, gửi nhận tin nhắn sms, nhập mật mã từ keypad do module sim gửi đến.
NỘI DUNG 3: Thiết sơ đồ khối, sơ đồ nối dây. NỘI DUNG 4: Thi công và chạy mạch. NỘI DUNG 5: Đánh giá kết quả thực hiện
<b>1.3. GIỚI HẠN</b>
Giới hạn về khoảng cách: Hệ thống mở khoá cửa bằng module sim có thể bị hạn chế về khoảng cách giữa đầu đọc sim và thiết bị điều khiển cửa. Khoảng cách này thường chỉ từ vài mét đến vài chục mét, do đó khơng phù hợp cho các khu vực có diện tích lớn.
Giới hạn về độ ổn định: Hệ thống mở khoá cửa bằng module sim cần được thiết kế và triển khai chính xác để đảm bảo tính ổn định và độ chính xác của hệ thống. Nếu không được thiết kế và triển khai đúng cách, hệ thống có thể gặp phải các lỗi hoặc sự cố gây ra các vấn đề an ninh.
<b>1.5. BỐ CỤC</b>
<b>Chương 1: Tổng Quan Chương 2: Cơ Sở Lý Thuyết.Chương 3: Thiết Kế và Tính TốnChương 4: Thi cơng mạch</b>
<b>Chương 5: Kết Quả, Nhận Xét và Đánh GiáChương 6: Kết Luận và Hướng Phát Triển</b>
</div><span class="text_page_counter">Trang 13</span><div class="page_container" data-page="13"><b>2.1.1 Arduino Uno Giới thiệu</b>
Arduino UNO R3 là một loại bo mạch vi điều khiển, được sử dụng phổ biến trong họ Arduino. Chúng được phát hành vào năm 2011, và là phiên bản thứ 3 mới nhất của bảng Arduino. Ưu điềm của Arduino là ngơn ngữ cực kì dễ học (giống C/C++), cấp ngoại vi trên bo mạch đều đã được chuẩn hóa, nên khơng cần biết nhiều về điện tử chúng ta cũng có thể lập trình được. Mạch kit này được phát triển dựa trên ATmega328P với mục đích kiểm sốt và giữ bộ vi điều khiển. Những model hiện tại được trang bị gồm 1 công giao tiếp USB, 6 chân đầu vào analog, 14 chân I/O kỹ thuật số tương thích với nhiều board mở rộng khác nhau.
Hình 2.1 Arduino Uno
<b>Nguyên lý hoạt động</b>
Arduino Uno R3 được sử dụng bằng cách gắn vào máy tính thơng qua một cáp USB. Sau khi đã lắp đặt xong, chúng ta sẽ sử dụng pin hoặc bộ chuyển đổi AC-DC để cung cấp điện cho mạch kit. Khi đấu nối thành cơng, mạch sẽ kích hoạt và bắt đầu.
Vai trò của mạch kit Arduino UNO R3
UNO được thiết kế để hỗ trợ sự phát triển của phần mềm Arduino IDE 1.0. Lý do mạch kit này có tên Arduino UNO R3 là vì chúng là phiên bản sửa đổi mới nhất, thứ 3 của Arduino Uno. Có một số thay đổi:
Chip điều khiển USB được thay đổi từ ATmega8U2 (flash 8K) thành ATmega16U2 (flash 16K). Điều này khơng làm tăng flash hoặc RAM có sẵn cho các bản phác thảo.
</div><span class="text_page_counter">Trang 14</span><div class="page_container" data-page="14">Trang bị thêm ba chân mới. Trong đó, các chân I2C (A4, A5) được đưa ra bên cạnh bảng gần AREF. Một chân IOREF bên cạnh chân đặt lại, là một bản sao của chân 5V.
Nút đặt lại hiện nằm bên cạnh đầu nối USB, giúp dễ tiếp cận hơn khi sử dụng tấm chắn. Ngồi ra, mạch kit này cũng đóng vai trị quan trọng và chính trong bảng bảng USB-Arduino
<b>Đặc điểm </b>
Một trong những ưu điểm nổi bật của mạch kit arduino uno r3 là người sử dụng có thể thay đổi bộ vi điều khiển trên bảng trong trường hợp họ gặp phải sự cố hay mắc lỗi.
Ngoài ra, bộ kit này còn mang đến cho người sử dụng nhiều tính năng tuyệt vời như: Khả năng tháo rời.
Tích hợp sẵn trong DIP (gói nội tuyến kép). Khả năng điều khiển ATmega328. Dễ dàng tải lập trình.
Ưu điểm cuối cùng nhưng khơng kém phần quan trọng là: Arduino có một cộng đồng hỗ trợ lớn và một bộ thư viện hỗ trợ phong phú. Cùng với “lá chắn” phần cứng bổ sung phía sau. Điều này sẽ là một sự lựa chọn tuyệt vời cho những người mới bắt đầu làm việc trong lĩnh vực thiết bị điện tử nhúng.
<b>Thơng số kỹ thuật Arduino Uno R3</b>
Cường độ dịng điện trên mỗi I/O pin 20 mA Cường độ dòng điện trên mỗi 3.3V pin 50 mA
0.5 KB được sử dụng bởi bootloader
</div><span class="text_page_counter">Trang 15</span><div class="page_container" data-page="15"><b>Sơ đồ chân</b>
Hình 2.2 Sơ đồ chân Arduino Uno
<b>Chức năng các chân của arduino uno</b>
không phải chân cấp nguồn vào
nối dương cực vào chân nà và cực âm vào chân GND
Khi sử dụng các thiết bị sử dụng những nguồn điện riêng biệt thì phải nối các chân này.
áp là 5V. Không được sử dụng để lấy nguồn từ chân này.
tương tự như khi nối chân RESET với GND qua điện trở 10KΩ.
ở 2 mức điện áp 0V và 5V với các dòng vào/ra tối đa trên mỗi chân là 40 mA.
</div><span class="text_page_counter">Trang 16</span><div class="page_container" data-page="16">2 chân Serial: 0(RX) và 1(TX) Dùng để gửi (transmit - TX) và nhận (Receive - RX) dữ liệu TTL Serial. Arduino Uno có thể giao tiếp với các thiết bị khác thông qua 2 chân này, như gắn thêm màn hình LCD để hiển thị. Chân PWM: 3, 5,6,9, 10 và 11 Cho phép xuất xung PWM với độ phân giải 8
bit( giá trị từ 0 -> 2 -1 tương ứng với 0 - 5V. <small>8</small> Chân giao tiếp SPI: 10(SS), 11(MOSI), 12(MISO),
4 chân này có thể truyền phát dữ liệu bằng giao thức SPI tới các thiết bị khác.
thì đèn led này sẽ nhấp nháy để báo hiệu. Nó được nối với chân số 13. Khi chân này được sử dụng, đèn led sẽ sáng.
6 chân analog(A0 -> A5) Cung cấp độ phân giải 10 bit(0 → 2 -1) để<small>10</small> đọc giá trị điện áp trong khoảng 0 -> 5V. 2 chân A4(SDA) và A5(SCL) 2 chân A4(SDA) và A5(SCL)
<b>2.1.2 Module sim800CGiới thiệu</b>
<small>SIM800C là mô-đun GSM/GPRS bốn băng tần, hiệu năng của nó rất ổn định, ngoại hình nhỏ và hiệu suất cao,đáp ứng các nhu cầu khác nhau của khách hàng. Tần số hoạt động của SIM800C là GSM/ GPRS 850/900/1800 /1900 MHz, có thể được sử dụng trên tồn thế giới, bạn có thể đạt mức tiêu thụ điện thoại, SMS và truyền dữ liệuthấp, có thể được áp dụng cho nhiều yêu cầu thiết kế khác nhau của sản phẩm nhỏ gọn.</small>
<b>Hình 2.3 Module Sim800C</b>
</div><span class="text_page_counter">Trang 17</span><div class="page_container" data-page="17"><b>Thông số kỹ thuật</b>
<small>-Dải điện áp đầu vào 5V-20V DC;</small>
<small>- Thiết kế khe cắm thẻ SIM tự hành, hỗ trợ thẻ 2G / 3G / 4G hoặc thẻ nhỏ;- Mô-đun sẽ tự động kết nối với mạng sau khi bạn bật nguồn;- Tương thích với nhiều cổng nối tiếp đơn chip;</small>
<small>- Giao diện tai nghe và micrô dành riêng;- Hỗ trợ chức năng TTS DTMF;</small>
<small>- Giao thức Bluetooth 3.0, ăng-ten Bluetooth nâng cao, hỗ trợ SPP cổng nối tiếp và dịch vụ âm thanh;- Giao diện BAT chạy bằng pin lithium dành riêng, bạn có thể sử dụng pin lithium 3.7V hoặc pin lithium 18650;- Giao diện IPEX dành riêng, giao diện SMA, giao diện ăng ten lị xo, có thể được sử dụng trong các dịp khác nhau;</small>
<small>- Với chỉ báo công việc: đèn LED sẽ nhấp nháy 1 lần mỗi giây khi khơng có mạng, khơng lắp thẻ SIM hoặc thẻ SIM và sẽ nhấp nháy 1 lần mỗi 3 giây trong điều kiện bình thường.</small>
<small>- Kích thước bảng: 40,9 * 51,3mm</small>
<b>Hình 2.4 Sơ đồ chân</b>
</div><span class="text_page_counter">Trang 18</span><div class="page_container" data-page="18"><b>Chức năng các chân</b>
cấp nguồn tối đa là 4,4V - 5,2V.
Indicator). Sử dụng để thơng báo khi có cuộc gọi đến.
Khóa chốt cửa điện tử là thiết bị khóa được thiết kế chắc chắn, chính xác với nhiều tính năng thơng minh. Loại khóa này được làm bằng thép không gỉ, cứng nên rất bền và phù hợp với khí hậu của Việt Nam. Có thể kết hợp loại khóa này cùng với tay điều khiển để đóng mở cửa từ xa.
Đầu chốt có hình trịn đường kính 10mm làm bằng thép cứng nên rất chắc chắn. Sản phẩm được thiết kế thường mở 12vdc, chỉ khi có điện mới đóng và mở được cửa. Để tiện lợi hơn, chúng ta nên tìm hiểu và sử dụng sản phẩm khóa chốt cửa điện tử sử dụng Pin. Có thể đóng mở cửa chỉ cần sử dụng năng lượng Pin cho tiện lợi
</div><span class="text_page_counter">Trang 19</span><div class="page_container" data-page="19"><b>Hình 2.5 Khố chốt điện từ</b>
<b>Nguyên lý hoạt động</b>
Hệ thống khóa này có chức năng hoạt động như một ổ khóa cửa sử dụng Solenoid để kích đóng mở bằng điện.
Sử dụng điện áp 12VDC là loại thường mở với chất lượng cực tốt và độ bền cao.
Khóa có thể sử dụng chung với các mạch chức năng tạo thành một hệ thống khóa chốt
Dịng điện: dịng khởi động: 0.8A; dịng làm việc 0.2A Yêu cầu nguồn cấp: 12VDC/1-3A
Kích thước: L20xD3.4xH4.2 cm Trọng lượng: 0.46k
<b>2.1.4 Adapter 12V-2A </b>
Nguồn 12V 2A được sử dụng để cấp nguồn cho các thiết bị sử dụng điện áp 12VDC, nguồn có thiết kế nhỏ gọn, độ bền cao và dòng đầu ra ổn định lên đến 2A.
</div><span class="text_page_counter">Trang 20</span><div class="page_container" data-page="20">- Chiều dài dây: 150cm - Hiệu quả hoạt động: 95%
</div><span class="text_page_counter">Trang 21</span><div class="page_container" data-page="21">LCD 16x2 (16 ký tự trên 2 hàng) là một loại màn hình hiển thị ký tự thông dụng được sử dụng trong nhiều ứng dụng điện tử. Màn hình này có kích thước 16 cột x 2 hàng và mỗi ơ có thể hiển thị một ký tự. Nó được kết nối với vi điều khiển hoặc các thiết bị khác để hiển thị thơng tin tương ứng.
<b>Hình 2.7 LCD 16x2 xanh dương</b>
<b>Thơng số kỹ thuật</b>
LCD 16x2 có 16 chân trong đó 8 chân dữ liệu (D0 - D7) và 3 chân điều khiển (RS, RW, EN). 5 chân còn lại dùng để cấp nguồn và đèn nền cho LCD 16x2.
Các chân điều khiển giúp ta dễ dàng cấu hình LCD ở chế độ lệnh hoặc chế độ dữ liệu. Chúng còn giúp ta cấu hình ở chế độ đọc hoặc ghi.
LCD 16x2 có thể sử dụng ở chế độ 4 bit hoặc 8 bit tùy theo ứng dụng ta đang làm.
<b>2.1.6 Module I2C Arduino</b>
<b>Giới thiệu</b>
</div><span class="text_page_counter">Trang 22</span><div class="page_container" data-page="22">LCD có quá nhiều nhiều chân gây khó khăn trong q trình đấu nối và chiếm dụng nhiều chân trên vi điều khiển.
<b>Module I2C LCD ra đời và giải quyết vấn để này cho bạn.</b>
Thay vì phải mất 6 chân vi điều khiển để kết nối với LCD 16x2 (RS, EN, D7, D6, D5 và D4) thì module IC2 bạn 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.
<b>Hình 2.8 Module I2C Arduino</b>
<b>Thơng số kỹ thuật</b>
Đ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.
<b>Giao tiếp I2C với LCD</b>
</div>