Với Arduino bạn có thể ứng dụng vào những mạch đơn giản như mạch cảmbiến ánh sáng bật tắt đèn, mạch điều kiển động cơ,… hoặc cao hơn nữa bạn có thểlàm những sản phẩm như: máy in 3D, Robo
Trang 1TRƯỜNG ĐẠI HỌC TÀI NGUYÊN VÀ MÔI TRƯỜNG
HÀ NỘI KHOA CÔNG NGHỆ THÔNG TIN
BÁO CÁO BÀI TẬP LỚN HỌC PHẦN XÂY DỰNG HỆ THỐNG NHÚNG
XÂY DỰNG HỆ THỐNG ĐO MỨC CHẤT LỎNG TRONG BÌNH CHỨA SỬ DỤNG CẢM BIẾN SIÊU ÂM VÀ ĐO NHIỆT
GIẢNG VIÊN HƯỚNG DẪN: NGUYỄN ĐỨC AN
Hà Nội, ngày 20 tháng 12 năm 2022
Trang 2MỤC LỤC
DANH MỤC HÌNH ẢNH 3
MỞ ĐẦU 1
CHƯƠNG 1: TỔNG QUAN VỀ VẤN ĐỀ NGHIÊN CỨU 4
1.1 Giới thiệu về hệ thống nhúng 4
1.1.1 Khái niệm 4
1.1.2 Đặc điểm của hệ thống nhúng 5
1.1.3 Ứng dụng và tầm quan trọng của hệ thống nhúng 6
1.2Giới thiệu về board nhúng Arduino 6
1.2.1 Arduino là gì ? 6
1.2.2Cấu tạo Arduino UNO 8
1.2.4Ứng dụng Arduino 8
1.2.5Phần mềm lập trình Arduino IDE 9
1.3 Linh kiện sử dụng trong đề tài 9
1.3.1 Kít Arduino R3 9
1.3.2 Module cảm biến siêu âm HC-SR04 13
1.3.3 Màn hình LCD 16x2 15
1.3.4 Nhiệt kế DS18B20 16
1.3.5 Điện trở 4,75k, 221k 17
1.3.6 Chiết áp 10k Ohms 18
1.3.7 Còi chíp, công tắc, đèn led 18
1.3.8 Board cắm, dây nối 20
CHƯƠNG 2: KẾ HOẠCH THỰC HIỆN, PHÂN TÍCH ĐÁNH GIÁ HỆ THỐNG 20
2.1 Bảng kế hoạch thực hiện 20
2.2 Xác định hệ thống được xây dựng 21
3.3 Phân tích hệ thống cần được xây dựng 22
Trang 43.1 Xây dựng hệ thống với các thiết bị vật lý 23
3.2 xây dựng phần mềm điều kiển hệ thống 23
3.2.1 Mô phỏng trên phần mềm protues 23
3.2.2 Thực hiện code trên IDE Arduino 24
3.3 Vận hành thử nghiệm hệ thống và kết quả thử nghiệm 26
3.3.1 Hệ thống hoạt động trên phần mềm protues 26
3.3.2 Hệ thống hoạt động trên thiết bị 27
KẾT LUẬN 29
Nội dung đã thực hiện: 29
Ứng dụng vào thực tiễn: 29
TÀI LIỆU THAM KHẢO 32
Trang 5DANH MỤC HÌNH ẢNH
Hình 1.1 Board nhúng Arduino UNO
Hình 1.2 Cấu tạo Arduino
Hình 1.3 Phần mềm IDE
Hình 1.4 Kit Arduino R3
Hình 1.5 Vi điều kiển Arduino R3
Hình 1.6 Các cổng vào ra
Hình 1.7 Module cảm biến siêu âm HC- SR04
Hình 1.8 Nguyên lý hoạt động của HC- SR04
Hình 3.2 Hệ thống đo mức nước đầy Hình
3.4 Hệ thống đo mức nước thấp (hết)
Hình 3.10 Hệ thống hiển thị led xanh và nhiệt
độ Hình 3.3 Cảm biến siêu âm đo mức nước
Trang 6MỞ ĐẦU
Tự động hóa quá trình công nghệ đã thực sự phát triển và ứng dụng mạnh
mẽ trong công nghiệp, là sự lựa chọn tối ưu cho mọi lĩnh vực nhằm tạo ra sảnphẩm chất lượng cao, tiết kiệm chi phí sản xuất tạo khả năng cạnh tranh mạnh mẽtrên thị trường
Khoa học kỹ thuật, cách mạng công nghệ đang từng bước phát triển vàchúng ta- những con người của kỹ thuật phải thay đổi tầm nhìn của mình để theokịp công nghệ hiện đại Trọng tâm của khoa học kỹ thuật trong nền văn minh côngnghiệp này đặt vào 5 lĩnh vực chính đó là công nghệ thông tin, công nghệ vật liệu,nguồn năng lượng, công nghệ sinh học và công nghệ kỹ thuật điều kiển tự động
Từ khi Arduino ra đời, nó đã tạo nên một bước ngoặc mới cho sự phát triển của tựđộng hóa trong công nghiệp Arduino là công cụ hỗ trợ đắc lực cho công việc lậptrình Điểm hấp dẫn ở Arduino với người đam mê lập trình là ngôn ngữ dễ học khágiống C/C++, các ngoại vi trên bo mạch đều đã được chuẩn hóa nên không cần biếtnhiều về điện tử, chúng ta có thể lập trình được những ứng dụng thú vị Thêm nữaArduino là một platform đã được chuẩn hóa nên có rất nhiều bo mạch mởrộng(shield) để cắm chồng lên bo mạch Arduino, có thể hình dung dễ hiểu là “library” của các ngôn ngữ lập trình
Với Arduino bạn có thể ứng dụng vào những mạch đơn giản như mạch cảmbiến ánh sáng bật tắt đèn, mạch điều kiển động cơ,… hoặc cao hơn nữa bạn có thểlàm những sản phẩm như: máy in 3D, Robot, khinh khí cầu, máy bay không ngườilái,… Chính vì sự tiện lợi và đơn giản cho con người sử dụng mà Arduino đã trởthành một hiện tượng trong ngành điện tử thế giới Những sản phẩm của cộng đồngngười dùng Arduino cũng như những thiết bị hỗ trợ Arduino lớn đến mức khôngthể thống kê được
Trang 7Arduino được cấu tạo từ phần cứng và phần mềm IDE Phần cứng hay tavẫn nghe một cái tên quen thuộc là vi điều kiển, board mạch mã nguồn mở.
Nhằm ứng dụng các kiến thức đã được trang bị trong quá trình học tập vàothực tế dựa trên cơ sở môn học” Xây dựng hệ thống nhúng” nhóm em đã lựa chọn
đề tài” Xây dựng hệ thống đo chất lỏng trong bình chứa sử dụng cảm biến siêu
âm và đo nhiệt độ”.
Thời gian thực hiện: Từ tháng 11 năm 2022 đến tháng 12 năm 2022
Trang 8PHÂN CÔNG CÔNG VIỆC
Đặng Văn Tự - Xây dựng hệ thống trên protues
- Code hệ thống trên IDENguyễn Thị Thu Hoài - Xây dựng tổng quan về vấn đề nghiên cứuNguyễn Thị Thùy - Xây dựng kế hoạch thực hiện
Tạ Văn Đức - Lắp ráp hệ thống
Lê Thúy Anh - Xây dựng kết luận, tài liệu tam khảo
Dương Việt Anh - Nghiên cứu code hệ thống
Giảng viên hướng dẫn: Nguyễn Đức An
Mục tiêu nghiên cứu:
- Tìm hiểu kỹ hơn về mạch điều kiển Arduino mô phỏng trên Protues và cách kết nối với máy tính
- Nguyên cứu về nguyên lý hoạt động của cảm biến siêu âm ( HC-SR04 ) thông qua các tài liệu trên internet
- Đưa ý tưởng về các thông số và giá trị được hiển thị trên thanh LCD, LED và loa cảnh báo
- Nghiên cứu các linh kiện trong bo mạch và các linh kiện bảo vệ
- Mô phỏng trên ứng dụng Protues
Trang 9CHƯƠNG 1: TỔNG QUAN VỀ VẤN ĐỀ NGHIÊN CỨU
1.1 Giới thiệu về hệ thống nhúng
1.1.1 Khái niệm
Hệ thống nhúng (tiếng anh embedded system) là một thuật ngữ để chỉ một
hệ thống có khả năng tự trị được nhúng vào trong một môi trường hay một hệthống mẹ Đó là các hệ thống tích hợp cả phần cứng và phần mềm phục vụ các bàitoán chuyên dụng trong nhiều lĩnh vực công nghiệp, tự động hoá điều khiển, quantrắc và truyền tin Đặc điểm của các hệ thống nhúng là hoạt động ổn định và cótính năng tự động hoá cao
Hệ thống nhúng thường được thiết kế để thực hiện một chức năng chuyênbiệt nào đó Một hệ thống nhúng chỉ thực hiện một hoặc một vài chức năng nhấtđịnh, thường đi kèm với những yêu cầu cụ thể và bao gồm một số thiết bị máy móc
và phần cứng chuyên dụng mà ta không tìm thấy trong một máy tính đa năng nóichung Vì hệ thống chỉ được xây dựng cho một số nhiệm vụ nhất định nên các nhàthiết kế có thể tối ưu hóa nó nhằm giảm thiểu kích thước và chi phí sản xuất Các
hệ thống nhúng thường được sản xuất hàng loạt với số lượng lớn Hệ thống nhúngrất đa dạng, phong phú về chủng loại Đó có thể là những thiết bị cầm tay nhỏ gọnnhư đồng hồ kĩ thuật số và máy chơi nhạc MP3, hoặc những sản phẩm lớn như đèngiao thông, bộ kiểm soát trong nhà máy hoặc hệ thống kiểm soát các máy nănglượng hạt nhân Xét về độ phức tạp, hệ thống nhúng có thể rất đơn giản với một viđiều khiển hoặc rất phức tạp với nhiều đơn vị, các thiết bị ngoại vi và mạng lướiđược nằm gọn trong một lớp vỏ máy lớn
Trang 101.1.2 Đặc điểm của hệ thống nhúng
Các hệ thống nhúng được thiết kế để thực hiện một số nhiệm vụ chuyêndụng chứ không phải đóng vai trò là các hệ thống máy tính đa chức năng Một số
hệ thống đòi hỏi ràng buộc về tính hoạt động thời gian thực để đảm bảo độ an toàn
và tính ứng dụng; một số hệ thống không đòi hỏi hoặc ràng buộc chặt chẽ, chophép đơn giản hóa hệ thống phần cứng để giảm thiểu chi phí sản xuất
Một hệ thống nhúng thường không phải là một khối riêng biệt mà là mộthệthống phức tạp nằm trong thiết bị mà nó điều khiển
Phần mềm được viết cho các hệ thống nhúng được gọi là firmware và đượclưu trữ trong các chip bộ nhớ ROM hoặc bộ nhớ flash chứ không phải là trong một
Yêu cầu chất lượng ổn định và độ tin cậy cao: Nhiều loại thiết bị nhúng cónhững yêu cầu rất cao về chất lượng, tính ổn định và độ tin cậy Lỗi của hệ thốngnhúng có thể gây ra tai nạn khủng khiếp, lỗi trên hệ thống nhúng có thể không sửađược Vì vậy việc phát triển hệ thống nhúng yêu cầu quy trình kiểm tra - kiểm thửrất cẩn thận
Trang 111.1.3 Ứng dụng và tầm quan trọng của hệ thống nhúng
Theo các nhà thống kê trên thế giới, thị trường hệ thống nhúng lớn gấp khoảng
100 lần thị trường PC, trong đó số chip xử lý trong các hệ thống nhúng chiếm tới99% số chip được sử dụng
Hệ thống nhúng được ứng dụng tất cả các lĩnh vực trong cuộc sống chúng ta hiệnnay:
Các thiết bị trong gia đình: tivi, tủ lạnh, nồi cơm điện,…
Các thiết bị trong công nghiệp: robot, dây chuyền,…
Giao thông vận tải: Ô tô, máy bay,…
Cùng với cuộc cách mạng khoa học – kĩ thuật, hệ thống nhúng được coi làlĩnh vực then chốt quyết định sự thành công cuộc cách mạng
1.2 Giới thiệu về board nhúng Arduino
1.2.1 Arduino là gì ?
Arduino là một bo mạch vi điều khiển do một nhóm giáo sư và sinh viênnước Ý thiết kế và đưa ra đầu tiên vào năm 2005 Mạch Arduino được sử dụng đểcảm nhận và điều khiển nhiều đối tượng khác nhau Nó có thể thực hiện nhiềunhiệm vụ lấy tín hiệu từ cảm biến đến điều khiển đèn, động cơ, và nhiều đối tượngkhác Ngoài ra mạch còn có khả năng liên kết với nhiều module khác nhau nhưmodule đọc thẻ từ, ethernet shield, sim900A, ….để tăng khả ứng dụng của mạch
Phần cứng bao gồm một board mạch nguồn mở được thiết kế trên nền tảng
vi xử lý AVR Atmel 8bit, hoặc ARM, Atmel 32-bit,… Hiện phần cứng của
Trang 12Arduino có tất cả 6 phiên bản, Tuy nhiên phiên bản thường được sử dụng nhiều nhất là Arduino Uno và Arduino Mega.
Hình 1.1 Board nhúng Arduino UNO
Trang 131.2.2 Cấu tạo Arduino UNO
Hình 1.2 Cấu tạo Arduino
Arduino điều khiển thiết bị ánh sáng cảm biến tốt Là một trong những bộ phần quan trọng trong cây đèn giao thông, các hiệu ứng đèn nháy được cài đặt làm nổi bật các biển quảng cáo
Trang 14Arduino cũng được ứng dụng trong máy in 3D và nhiều ứng dụng khác tùy thuộc vào khả năng sáng tạo của người sử dụng.
Lập trình máy bay không người lái Có thể nói đây là ứng dụng có nhiều kì vọng trong tương lai
Trang 15Điện áp vào khuyên dùng
Điện áp vào giới hạn
Số chân Digital I/O
Trang 16Hình 1.5 Vi điều kiển Arduino R3
- Vin: Chân Vin giúp cung cấp điện áp vào Arduino bằng cách sử dụng nguồn điện bên ngoài ngược với vôn từ kết nối USB hoặc RPS khác
- 5 Volts: RPS có thể tiếp cận từ điện áp đầu vào thông một bộ điều chỉnhbằng cách sử dụng để cung cấp năng lượng cho bộ vi điều khiển cũng như cácthành phần sử dụng trên bảng Arduino
- 3,3V: Điện áp cung cấp 3,3V được tạo ra với bộ điều chỉnh trên bo mạch
và dòng rút cao nhất sẽ là 50 mA
- GND: Chân GND (nối đất)
- Bộ nhớ: Bộ nhớ của Arduino Uno R3 sử dụng ATmega328 gồm có 23KB
và bộ nhớ 0,5KB và bao gồm SRAM-2 KB cũng như EEPROM-1KB
- Đầu vào đầu ra: Gồm có 14 chân kỹ thuật số làm đầu vào hoặc đầu ra vớicác chức năng như pin Mode (), Digital Read () và Digital Write ()
Trang 17Hình 1.6 Các cổng vào ra
- Gim nối tiếp: Bao gồm chân chân TX (1) và RX (0) có thể sử dụng đểtruyền dữ liệu nối tiếp TTL, việc kết nối này cũng có thể thực hiện được với cácchân tương đương của ATmega8 U2 USB với chip TTL
- PWM Pins: Gồm chân 3, 5, 6, 9, 10, & 11, đưa ra đầu ra là PWM 8 bit với hàm tương tự Write ()
- Chân SPI: Gồm có chân 10, 11, 12, 13 là SS, MOSI, MISO, SCK để duy trì giao tiếp SPI với sự trợ giúp của thư viện SPI
- Pin LED: Mạch điện được tích hợp sẵn với đèn LED sử dụng pin-13 kỹthuật số, đèn LED được phát sáng khi chân kỹ thuật số ở mức cao và không phátsáng nếu chân kỹ thuật số ở mức thấp
- Chân TWI: Gồm SDA hoặc A4, & SCL hoặc A5 hỗ trợ giao tiếp TWI với sự trợ giúp của thư viện Wire
- Pin AREF: Pin AREF hay còn gọi là chân tham chiếu tương tự, đây là điện áp tham chiếu đến các đầu vào của i / ps tương tự
- Pin (RST) Reset: Pin (RST) Reset mang lại một dòng thấp để đặt lại bộ
vi điều khiển Chúng có ích cho việc sử dụng nút RST đối với các tấm chắn có thểchặn cái này trên bảng Arduino R3
Trang 18- UART: Hai chân được sử dụng chính là bộ phát 1 và chân số 0 của bộ thu Chủ yếu được sử dụng trong giao tiếp nối tiếp UART TTL.
- I2C: Bo mạch Arduino UNO sử dụng chân SDA hoặc chân A4 và chânA5 Nếu không thì chân SCL được sử dụng cho giao tiếp I2C với thư viện dây
- MOSI (Pin12): Chân MISO là một CLK nối tiếp và xung CLK sẽ đồng
bộ hóa quá trình truyền của nó được tạo ra bởi chủ
1.3.2 Module cảm biến siêu âm HC-SR04
Cảm biến siêu âm HC-SR04 (Ultrasonic Sensor) được sử dụng rất phổ biến
để xác định khoảng cách vì RẺ và CHÍNH XÁC Cảm biến HC-SR04 sử dụngsóng siêu âm và có thể đo khoảng cách trong khoảng từ 2 -> 300cm, với độ chínhxác gần như chỉ phụ thuộc vào cách lập trình
Hình 1.7 Module cảm biến siêu âm HC- SR04
Thông số kỹ thuật
- Model: HC-SR04
Trang 19- Chân Trig: Chân digital output
- Chân Echo: Chân digital input
- Chân GND: Chân 0V Nguyên lý hoạt động
- Để đo khoảng cách, ta sẽ phát 1 xung rất ngắn (5 microSeconds) từ chânTrig Sau đó, cảm biến siêu âm sẽ tạo ra 1 xung HIGH ở chân Echo cho đến khinhận lại được sóng phản xạ ở pin này Chiều rộng của xung sẽ bằng với thời giansóng siêu âm được phát từ cảm biển và quay trở lại
14
Trang 20Hình 1.8 Nguyên lý hoạt động của HC- SR04
Trang 21- Chân số 1 - VSS : chân nối đất cho LCD được nối với GND của mạch điềukhiển
- Chân số 2 - VDD : chân cấp nguồn cho LCD, được nối với VCC=5V của mạch điều khiển
- Chân số 3 - VE : điều chỉnh độ tương phản của LCD
- Chân số 4 - RS : chân chọn thanh ghi, được nối với logic "0" hoặc logic
- 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
1.3.4 Nhiệt kế DS18B20
DS18B20 là một loại cảm biến nhiệt độ và nó cung cấp số đọc nhiệt độ từ 9bit đến 12 bit Các giá trị này hiển thị nhiệt độ của một thiết bị cụ thể Giao tiếpcủa cảm biến này có thể được thực hiện thông qua một dây giao thức xe buýt sửdụng một dòng dữ liệu để giao tiếp với bộ vi xử lý
Trang 22Hình 1.10 Nhiệt kế DS18B20
Thông số kỹ thuật
- Phạm vi cung cấp điện là 3.0V - 5.5V
- Fahrenheit bằng từ -67 ° F đến + 257 ° F
- Độ chính xác của cảm biến này là ± 0,5 ° C
- Độ phân giải o / p sẽ từ 9 bit đến 12 bit
- Nhiệt độ có thể được tính toán từ -55 ° C đến + 125 ° C
- Chúng có thể đạt được như SOP, To-92 và cũng như cảm biến chống thấm nước
1.3.5 Điện trở 4,75k, 221k
- Điện trở 4,75k dùng cho bộ chiết áp
Trang 23- Điện trở 220k dùng cho đèn led
Hình 1.12 Điện trở 221k
1.3.6 Chiết áp 10k Ohms
- Dùng để điều kiển mức tín hiệu trong thiết bị
Hình 1.13 Chiết áp 3362p
1.3.7 Còi chíp, công tắc, đèn led
- Còi chíp để phát ra âm thanh từ hệ thống
Trang 251.3.8 Board cắm, dây nối
Hình 1.17 Board cắm, dây nối
CHƯƠNG 2: KẾ HOẠCH THỰC HIỆN, PHÂN TÍCH ĐÁNH GIÁ HỆ
THỐNG 2.1 Bảng kế hoạch thực hiện
Thời gian Nội dung thực hiện Tiến độ thực hiện Kết quả
thực hiện
03/11/2022 Thầy An giáo viên bộ Nhóm đã tìm hiểu những Hiểu hơn về những đề
môn gợi ý những chủ đề dự án mà thầy gợi ý và tìm tài nhóm chuẩn bị thực
có thể thực hiện thêm ở ngoài hiện10/11/2022 Tìm hiểu về những đề tài Tham khảo trên một số Tìm được nhiều đề tài
liên quan đến Arduino website để hiểu sâu hơn về
Arduino
17/11/2022 Nhóm đưa ra những đề tài Mỗi thành viên trong nhóm Đã thống nhất được cả
có thể thực hiện đóng góp những đề tài nhóm chọn đề tài để làm
khác nhau báo cáo
24/11/2022 Cả nhóm thảo luận về đề Phân chia cho từng thành Đã tìm được nhiều nội
tài đã chọn viên để tìm hiểu những nội dung để thực hiện đề tài
dung của đề tài
01/12/2022 Thực hiện báo cáo, đưa ra Tìm hiểu những đồ án mẫu Bản báo cáo đã lên ý
những phương hướng phương pháp thực hiện, tưởng thực hiện
thực hiện đồ án hướng dẫn
Trang 2608/11/2022 Tự và Đức nghiên cứu về Cả 2 thực hiện chạy mô Bước đầu hệ thống vẫn
phần code của arduino và hình trên phần mềm còn lỗi không chạyprotues protues, và nghiên cứu được
soạn code trên arduino
10/12/2022 Việt Anh xây dựng hệ Hệ thống với cấu tạo phức Các thiết bị nối sai
thống trên các thiết bị vật tạm khó kết nối được với không hoạt động được
11/12/2022 Sửa kết nối lại các thiết bị Đã kết nối đúng các thiết bị Hệ thống chạy và hiển
12/12/2022 Hoài, Thùy và Thúy Anh Hoàn thiện với đầy đủ Thực hiện xong được
nghiên cứu thực hiện bản thông tin nhóm và những 2/3 đồ ánbáo cáo đồ án nội dung có trong đề tài
16/12/2022 Cả nhóm xem lại hệ thống Cả nhóm đã hoàn thiện tất Hoàn thành báo cáo đồ
đã thực hiện và bổ sung cả và đưa ra đồ án cuối án
nội dung trong đồ án cùng
2.2 Xác định hệ thống được xây dựng.
Với yêu cầu của đề tài trên đối tượng đề tài thực hiện chính ở đây là hệ
thống cảm biến lượng nước trong bồn, hệ thống được hình thành với hệ thống cảm
biến để luôn biết được thông tin mức chất lỏng trong bồn còn hay không Để làm
được điều này, nó phải do chính xác được mức chất lỏng trong bồn để hiểu thị lên
màn hình Khi thấy mực nước giảm thì sẽ phát tín hiệu báo đèn, chất lỏng mà
xuống đến mức thấp nhất thì hệ thống thông báo kèm theo còi để cảnh báo.Trong
hệ thống cũng kèm theo đo nhiệt độ tại thời điểm đó là bao nhiêu và hiển thị lên
màn hình