Lời cảm ơnĐể giúp sinh viên học tập, trau dồi thêm kiến thức về cách sử dụng phần mềm Altium cùng với lập trình Adruino và tiếp cận sâu hơn với vi điều khiển thì trường Điện – Điện tử th
Trang 1ĐẠI HỌC BÁCH KHOA HÀ NỘI
Trường Điện – Điện tử
BÁO CÁO ĐỒ ÁN II
Sử dụng Adruino Nano V3 kết hợp với LCD Nokia 5110 để hiển
thị độ ẩm
Giảng viên hướng dẫn: ThS Lê Quang Thắng
ThS Đinh Thị Nhung
Sinh viên thực hiện: Nguyễn Quang Nam - 20182696
Nguyễn Nhật Minh - 20182685 Nguyễn Thị Hồng Nhung - 20193047
HÀ NỘI, 3/2023
Trang 2Lời cảm ơn
Để giúp sinh viên học tập, trau dồi thêm kiến thức về cách sử dụng phần mềm Altium cùng với lập trình Adruino và tiếp cận sâu hơn với vi điều khiển thì trường Điện – Điện tử thuộc Đại học Bách Khoa Hà Nội đã tổ chức môn học Đồ
án thiết kế 2
Trong môn học Project 2 này em dưới sự hướng dẫn của thầy Lê Quang Thắng, cô Đinh Thị Nhung và anh Hiếu Nhờ có sự chỉ bảo hướng dẫn cụ thể của
cả anh và thầy cô, chúng em đã hoàn thành được đề tài Đồ án II của mình Trong quá trình thực hiện em và cá bạn đã học tập và trau dồi cho bản thân nhiều kiến thức mới lạ, bổ ích Mặc dù nhận được sự giúp đỡ, chỉ bảo, tận tình từ phía anh
và thầy nhưng do bước đầu làm quen với loại vi điều khiển mới nên chúng em cũng gặp phải một vài khó khăn khi tiếp cận, tuy nhiên cũng đã nhanh chóng tìm hiểu và làm chủ được nó
Em xin trân thành cảm ơn cả anh và thầy cô đã nhiệt tình giúp đỡ và tạo điều kiện để nhóm em có thể hoàn thành đề tài đồ án này Bài báo cáo không thể tránh khỏi thiếu sót, em mong thầy và cô có thể nhiệt tình chỉ ra những sai sót để nhóm chúng em có thêm kinh nghiệm cho những đề tài sau này
Tóm tắt nội dung đồ án
Trong báo cáo đề tài lần này nhóm em sẽ trình bày về: phần mềm và phần cứng được sử dụng, lí do chọn đề tài, kết quả thực hiện, các kĩ năng và kiến thức mà nhóm đạt được
Trang 3MỤC LỤC
CHƯƠNG 1 GIỚI THIỆU VỀ ADRUINO NANO V3 1
1.1 Giới thiệu chung 1
1.2 Phần mềm Altium và Adruino IDE 2
1.2.1 Phần mềm mô phỏng mạch Altium 2
1.2.2 Adruino IDE dùng cho lập trình Adruino 4
CHƯƠNG 2 SỬ DỤNG ADRUINO NANO ĐỂ HIỆN THỊ ĐỘ ẨM TRÊN LCD NOKIA 5110 5
2.1 Lí do chọn đề tài 5
2.2 Mạch mô phỏng 5
2.2.1 Các linh kiện cần thiết 5
2.2.2 Sơ đồ khối 5
2.2.3 Sơ đồ nguyên lý 6
2.3 Kết quả 7
CHƯƠNG 3 KẾT LUẬN 8
3.1 Kết luận 8
TÀI LIỆU THAM KHẢO 9
Trang 4DANH MỤC HÌNH VẼ
Hình 1 1 Hình ảnh chân Adruino Nano V3 1
Hình 1 2 Hình ảnh mô phỏng 3D trong Altium 3
Hình 2 1 Bảng so sánh giữa DHT11 và DHT22 5
Hình 2 2 Sơ đồ khối mạch cảm biến độ ẩm, nhiệt độ 5
Hình 2 3 Sơ đồ nguyên lý Adruino Nano V3 6
Hình 2 4 Sơ đồ nguyên lý màn LCD 5110 6
Hình 2 5 Sơ đồ nguyên lý cảm biến DHT11 6
Hình 2 6 Kết quả đo 7
Trang 5CHƯƠNG 1 GIỚI THIỆU VỀ ADRUINO NANO V3
1.1 Giới thiệu chung
Arduino Nano là một trong những loại bảng mạch điện tử được ứng dụng phổ biến, rộng rãi và đa dạng bậc nhất hiện nay Không chỉ sở hữu ưu thế với kích thước siêu nhỏ, chỉ 185 mm x 430 mm, trọng lượng khoảng 7g, bảng mạch Arduino Nano còn cho phép các lập trình viên sử dụng đơn giản, tiện lợi Được phát triển dựa trên ATmega328P phát hành vào năm 2008 và khá thân thiện với breadboard Arduino Nano cung cấp các kết nối và thông số kỹ thuật tương tự như bảng điện tử Arduino Uno nhưng với kích thước nhỏ gọn hơn rất nhiều
Hình 1 1 Hình ảnh chân Adruino Nano V3
- Vi điều khiển: ATmega328
- Điện áp hoạt động: 5 VDC
- Tần số hoạt động : 16 MHz
- Dòng tiêu thụ: 30 mA
- Điện áp khuyên dùng: 7 - 12 VDC
- Điện áp giới hạn: 6 - 20 VDC
1
Trang 6- Số chân Digital I/O: 14 (6 chân PWM)
- Số chân Analog: 8 (Độ phân giải 10 bit)
- Dòng tối đa trên mỗi chân I/O: 40 mA
- Dòng ra tối đa 5V: 500 mA
- Dòng ra tối đa 3.3V: 50 mA
- Bộ nhớ Flash: 32 KB (ATmega328) với 2KB dùng bởi bootloader
- SRAM: 2 KB (ATmega328)
- EEPROM: 1 KB (ATmega328)
1.2 Phần mềm Altium và Adruino IDE
1.2.1 Phần mềm mô phỏng mạch Altium
1.2.1.1 Altium Designer là phần mềm gì?
Altium Designer là một phần mềm thiết kế mạch điện tử tích hợp được phát triển bởi công ty Altium Limited có trụ sở tại Úc Hiện nay, Altium là một trong những phần mềm vẽ mạch điện tử và thiết kế PCB được ưa chuộng ở Việt Nam
1.2.1.2 Các tính năng của Altium Designer
- Giao diện thiết kế, quản lý và chỉnh sửa thân thiện, dễ dàng biên dịch, quản lý file, quản lý phiên bản cho các tài liệu thiết kế
- Hỗ trợ mạnh mẽ cho việc thiết kế tự động, đi dây tự động theo thuật toán tối ưu, phân tích lắp ráp linh kiện Hỗ trợ việc tìm các giải pháp thiết kế hoặc chỉnh sửa mạch, linh kiện, netlist có sẵn từ trước theo các tham số mới
- Mở, xem và in các file thiết kế mạch dễ dàng với đầy đủ các thông tin linh kiện, netlist, dữ liệu bản vẽ, kích thước, số lượng…
- Hệ thống các thư viện linh kiện phong phú, chi tiết và hoàn chỉnh bao gồm tất cả các linh kiện nhúng, số, tương tự…
- Đặt và sửa đối tượng trên các lớp cơ khí, định nghĩa các luật thiết kế, tùy chỉnh các lớp mạch in, chuyển từ schematic sang PCB, đặt vị trí linh kiện trên PCB
2
Trang 7- Mô phỏng mạch PCB 3D, đem lại hình ảnh mạch điện trung thực trong không gian 3 chiều, hỗ trợ MCAD-ECAD, liên kết trực tiếp với mô hình STEP, kiểm tra khoảng cách cách điện, cấu hình cho cả 2D và 3D
- Hỗ trợ thiết kế PCB sang FPGA và ngược lại
- Từ đó, chúng ta thấy Altium designer có nhiều điểm mạnh so với các phần mềm khác như đặt luật thiết kế, quản lý đề tài mô phỏng dễ dàng, giao diện thân thiện,…
Việc thiết kế mạch điện tử trên phần mềm altium designer có thể được tóm tắt gồm các bước như sau:
Hình 1 2 Hình ảnh mô phỏng 3D trong Altium
- Đặt ra các yêu cầu bài toán
- Lựa chọn linh kiện
- Thiết kế mạch nguyên lý
- Lựa chọn các chân linh kiện để chuyển sang mạch in Update mạch nguyên
lý sang mạch in
- Lựa chọn kích thước mạch in sắp xếp các vị trí các loại linh kiện như điện trở , tụ điện, IC
- Đặt kích thước các loại dây nối
- Đi dây trên mạch
- Kiểm tra toàn mạch
3
Trang 81.2.2 Adruino IDE dùng cho lập trình Adruino
Arduino IDE là một phần mềm mã nguồn mở chủ yếu được sử dụng để viết
và biên dịch mã vào module Arduino
Đây là một phần mềm Arduino chính thức, giúp cho việc biên dịch mã trở nên dễ dàng mà ngay cả một người bình thường không có kiến thức kỹ thuật cũng có thể làm được
Nó có các phiên bản cho các hệ điều hành như MAC, Windows, Linux và chạy trên nền tảng Java đi kèm với các chức năng và lệnh có sẵn đóng vai trò quan trọng để gỡ lỗi, chỉnh sửa và biên dịch mã trong môi trường
Có rất nhiều các module Arduino như Arduino Uno, Arduino Mega, Arduino Nano, Arduino Micro và nhiều module khác
Mỗi module chứa một bộ vi điều khiển trên bo mạch được lập trình và chấp nhận thông tin dưới dạng mã
Mã chính, còn được gọi là sketch, được tạo trên nền tảng IDE sẽ tạo ra một file Hex, sau đó được chuyển và tải lên trong bộ điều khiển trên bo
Môi trường IDE chủ yếu chứa hai phần cơ bản: Trình chỉnh sửa và Trình biên dịch, phần đầu sử dụng để viết mã được yêu cầu và phần sau được sử dụng
để biên dịch và tải mã lên module Arduino
Môi trường này hỗ trợ cả ngôn ngữ C và C ++
4
Trang 9CHƯƠNG 2 SỬ DỤNG ADRUINO NANO ĐỂ HIỆN THỊ ĐỘ ẨM TRÊN
LCD NOKIA 5110 2.1 Lí do chọn đề tài
Nhằm hiểu rõ hơn cách hoạt động của Adruino đồng thời có thể làm một sản phẩm có tính áp dụng trong thực tiễn nhóm em đã chọn sử dụng Adruino để hiển thị độ ẩm
2.2 Mạch mô phỏng
2.2.1 Các linh kiện cần thiết
Để chuẩn bị cho việc hàn vào bảng mạch thì những linh kiện sau là cần thiết cho đề tài: Adruino Nano V3, 1 màn LCD Nokia 5110, 1 cảm biến độ
ẩm DHT11, ngoài ra còn có các tụ dán, trở dán, nút nhấn và các jumper đực cái, …
Dưới đây là sự so sánh giữa DHT11 và DHT22, tuy DHT22 có độ chính xác khi đo cao hơn DHT11 rất nhiều nhưng giá thành thì DHT11 lại rẻ hơn nên đây là lí do chúng em chọn sử dụng DHT11
Hình 2 1 Bảng so sánh giữa DHT11 và DHT22
2.2.2 Sơ đồ khối
5
Cảm biến độ
ẩm, nhiệt độ Nano V3Adruino Nokia 5110Màn LCD Hình 2 2 Sơ đồ khối mạch cảm biến độ ẩm, nhiệt độ
Trang 10Ở đây cảm biến DHT11 sẽ giao tiếp với Adruino thông qua giao tiếp 1 dây,
bên trong DHT11 sẽ có 1 phần là cảm biến độ ẩm điện dung, khi có sự thay đổi giữa 2 điện cực chất nền giữa 2 điện cực sẽ làm điện trở thay đổi và
được xử lý bởi IC nằm trong DHT11 Ngoài ra 1 phần là cảm biến nhiệt
điện trở sẽ thay đổi điện trở khi nhiệt độ thay đổi và cũng được xử lý bởi
IC
Tiếp theo sau khi dữ liệu được truyền đến Adruino thì sẽ được gửi đến màn LCD thông qua giao tiếp SPI và hiển thị các dữ liệu đo độ ẩm và nhiệt độ
lên màn LCD
2.2.3 Sơ đồ nguyên lý
Kết quả
6
Hình 2 3 Sơ đồ nguyên lý Adruino Nano V3
Hình 2 4 Sơ đồ nguyên lý màn LCD 5110
Hình 2 5 Sơ đồ nguyên lý cảm biến DHT11
Trang 11Hình 2 6 Kết quả đo
Khi so sánh kết quả đo được với thực tế, thông qua việc dùng app trên điện thoại thì ta thấy kết quả đo có chút sai lệch nhưng vẫn nằm trong khoảng thông số kỹ thuật được nhà sản xuất đưa ra
CHƯƠNG 3 KẾT LUẬN
7
Trang 123.1 Kết luận
Sau khi hàn và nạp code vào Adruino mạch chạy tốt và có thể hiển thị được nhiệt
độ và độ ẩm Sản phẩm còn có nhiều sai sót, như việc cảm biến còn chưa chính xác, hay màn LCD còn chưa sáng đèn nền nhưng nếu có điều kiện để được phát triển thêm thì sẽ khắc phục những nhược điểm kể trên
Ngoài ra trong quá trình thực hiện đồ án, chúng em đã được trau dồi thêm các kiến thức về thiết kế mạch, cách sử dụng phần mềm Altium, song song với đó là thực hành hàn mạch với các loại linh kiện dán và cắm khác nhau
TÀI LIỆU THAM KHẢO
8
Trang 13[ CITATION Phạ17 \l 1033 ] https://3dlinhkien.com/arduino-nano-la-gi-tai-sao-goi-la-bang-mach-cua-tuong-lai-n77669.html
[ CITATION htt \l 1033 ] https://nerdyelectronics.com/working-of-dht-sensor-dht11-and-dht22/
[ CITATION Trầ04 \l 1033 ] https://dientutuonglai.com/cam-bien-nhiet-do-va-do-am-dht11.html
9