Hệ thống sử dụng vi điều khiển ESP8266 kết hợp với LED Neopixel WS2812, cho phép điều khiển từng bóng LED một cách độc lập, tạo ra các hiệu ứng ánh sáng đa dạng và phong phú.. Các chân d
Trang 1ĐẠI HỌC BÁCH KHOA HÀ NỘI TRƯỜNG ĐIỆN – ĐIỆN TỬ
Trang 2LỜI NÓI ĐẦU
Trong thời đại công nghệ 4.0, việc ứng dụng các thiết bị thông minh vào đời sống hàng ngày ngày càng trở nên phổ biến và cần thiết Đồ án “Hệ thống điện cầu thang tự động” được thực hiện nhằm mục đích nghiên cứu và phát triển một hệ thống chiếu sáng thông minh, có khả năng điều chỉnh màu sắc linh hoạt, mang lại sự tiện nghi và thẩm mỹ cho không gian sống
Hệ thống sử dụng vi điều khiển ESP8266 kết hợp với LED Neopixel WS2812, cho phép điều khiển từng bóng LED một cách độc lập, tạo ra các hiệu ứng ánh sáng đa dạng và phong phú Qua quá trình nghiên cứu và thực hiện đồ án, nhóm chúng tôi đã học hỏi được nhiều kiến thức bổ ích về lập trình vi điều khiển, thiết kế mạch điện tử, cũng như các kỹ năng làm việc nhóm và giải quyết vấn đề
Đồ án này không chỉ dừng lại ở việc tạo ra một hệ thống chiếu sáng thông minh, mà còn mở ra nhiều hướng nghiên cứu và ứng dụng mới Việc sử dụng ESP8266, một vi điều khiển mạnh mẽ với khả năng kết nối Wi-Fi, cho phép hệ thống có thể được điều khiển từ xa qua các thiết bị di động, mang lại sự tiện lợi và linh hoạt cho người sử dụng Bên cạnh đó, LED Neopixel WS2812 với khả năng hiển thị màu sắc đa dạng, giúp tạo ra các hiệu ứng ánh sáng đẹp mắt, góp phần nâng cao giá trị thẩm mỹ cho không gian sống
Em hy vọng rằng, với những kết quả đạt được, đồ án này sẽ góp phần vào việc phát triển các ứng dụng chiếu sáng thông minh trong tương lai, đồng thời mở ra nhiều hướng nghiên cứu mới cho các bạn sinh viên và những người đam mê công nghệ
Em cũng xin gửi lời cảm ơn chân thành đến thầy Vũ Sinh Thượng đã nhiệt tình hướng dẫn, giúp đỡ và tạo điều kiện để em hoàn thành đồ án này
Trang 3MỤC LỤC
LỜI NÓI ĐẦU 2
MỤC LỤC Error! Bookmark not defined DANH MỤC ẢNH 4
CHƯƠNG 1: CƠ SỞ LÝ THUYẾT 5
1.1 Giới thiệu về module Node MCU - ESP8266 5
Thông số kỹ thuật và tính năng NodeMCU ESP8266 6
1.2 Giới Thiệu Về LED Neopixel WS2812 6
1.3 Giới thiệu về cảm biến vật cản hồng ngoại E18-D80NK 9
1.4 Nguyên lý hoạt động của hệ thống 10
CHƯƠNG 2: THIẾT KẾ HỆ THỐNG 11
2.1 Sơ đồ khối hệ thống 11
2.2 Sơ đồ nguyên lý 14
CHƯƠNG 3: QUY TRÌNH THỰC HIỆN 16
3.1 Chuẩn bị vật liệu và linh kiện 16
3.2 Thiết kế và kết nối phần cứng 16
3.3 Lập trình NodeMCU ESP8266 17
3.4 Kiểm tra và hiệu chỉnh hệ thống 18
3.5 Lắp đặt và cố định hệ thống 18
3.6 Sử dụng và bảo trì hệ thống 19
CHƯƠNG 4: KẾT QUẢ VÀ ĐÁNH GIÁ 20
4.1 Kết quả 20
4.2 Đánh giá: 24
CHƯƠNG 5: KẾT LUẬN 26
Trang 4DANH MỤC ẢNH
Hình 1: module Node MCU - ESP8266 5
Hình 2: Led Neopixel 7
Hình 3: Cấu trúc chip WS2812 và WS2812B 7
Hình 4: Cảm biến vật cản hồng ngoại E18-D80NK 10
Hình 5: Nguồn tổ ong 5V-5A 11
Hình 6: Vi xử lý ESP 8266 12
Hình 7: Sơ đồ nguyên lý hệ thống 15
Hình 8: Mạng wifi của hệ thống 20
Hình 9: Giao diện đăng nhập 21
Hình 10: Giao diện thiết lập hệ thống 22
Hình 11: Mạch thực tế 23
Hình 12: Kết quả thu được 24
Trang 5CHƯƠNG 1: CƠ SỞ LÝ THUYẾT
1.1 Giới thiệu về module Node MCU - ESP8266
Hình 1: module Node MCU - ESP8266
Kit phát triển NodeMCU ESP8266 đi kèm với mô-đun ESP-12E chứa chip ESP8266 có bộ vi xử lý Tensilica Xtensa 32-bit LX106 RISC Bộ vi xử lý này hỗ trợ RTOS và hoạt động ở tần số xung nhịp có thể điều chỉnh từ 80MHz đến 160 MHz
NodeMCU có 128 KB RAM và 4MB bộ nhớ Flash để lưu trữ dữ liệu và chương trình Sức mạnh xử lý cao của nó với Wi-Fi / Bluetooth và các tính năng Điều hành Ngủ sâu tích hợp khiến nó trở nên lý tưởng cho các dự án IoT
NodeMCU có thể được cấp nguồn bằng giắc cắm Micro USB và chân VIN (Chân nguồn cung cấp bên ngoài) Nó hỗ trợ giao diện UART, SPI và I2C
Trang 6Thông số kỹ thuật và tính năng NodeMCU ESP8266
● Bộ vi điều khiển: CPU RISC 32-bit Tensilica Xtensa LX106
● Điện áp hoạt động: 3.3V
● Điện áp đầu vào: 7-12V
● Chân I / O kỹ thuật số (DIO): 16
● Chân đầu vào tương tự (ADC): 1
1.2 Giới Thiệu Về LED Neopixel WS2812
Neopixel WS2812 là một mạch tích hợp 3 đèn Led RGB và 1 IC điều khiển Điều đặc biệt ở loại led này có thể nối tiếp nhiều bóng với nhau nhưng vẫn có thể điều khiển tới 144 bóng riêng biệt mà chỉ cần dùng 1 đường tín hiệu điều khiển
Trang 7Hình 2: Led Neopixel
Cấu hình, thông số kỹ thuật bóng Neopixel WS2812:
Hình 3: Cấu trúc chip WS2812 và WS2812B
Tên chân Mô tả
DOUT Chân đầu ra tín hiệu
GND Chân cấp tham chiếu ground
DIN Chân đầu vào tín hiệu
VCC Chân cấp nguồn cho IC
Trang 8• Điện áp đầu vào tín hiệu từ 0,5V đến VCC
• Điện dung đầu vào 15pF
• Dòng điện cấp tín hiệu 1uA
WS2812 có ba đèn LED (đỏ, xanh dương và xanh lá) với một bộ điều khiển trong cùng một package Bộ điều khiển có một thanh ghi 24bit, nhận dữ liệu nối tiếp từ chân DIN, lưu trữ và hiển thị lên LED tương ứng Thanh ghi 24bit được chia thành
ba phần, mỗi phần 8 bit và lưu một giá trị độ sáng khác nhau và có tới 256 mức độ sáng cho mỗi đèn LED Và vì có ba màu nên có tổng cộng gần 17 triệu màu cho mỗi LED
Các chân dữ liệu trên đèn LED được thiết kế thành chuỗi, đầu ra của bộ điều khiển được đệm để duy trì tín hiệu ngay cả khi có nhiều đèn LED được kết nối với nhau
Cách sử dụng :
Mỗi LED có chân VCC, GND, DIN và DOUT độc lập Các chân VCC và GND là chân chung cho tất cả các đèn LED, DIN của LED đầu tiên sẽ được kết nối với tín hiệu điều khiển, có thể là một bộ vi điều khiển DOUT của LED đầu tiên được kết nối với DIN của LED thứ hai, các LED tiếp theo cũng được kết nối tương tự
WS2812 sử dụng bộ điều chế độ rộng xung (PWM) để phân biệt giữa hai mức logic 0 và 1 Logic 1 yêu cầu độ rộng xung dài hơn, trong khi đó logic 0 yêu cầu độ rộng xung ngắn hơn Tổng độ rộng của một xung là 1,25μs, đồng nghĩa với tần số
là 800kHz, với các chu kỳ nhiệm vụ (duty cycles) tương ứng với logic 0 và 1 là 36% và 64%
Dung sai của mỗi độ rộng xung là ±150ns Xung reset phải là 50ms hoặc lâu hơn trước khi dữ liệu tiếp theo được đưa đến đèn LED
Các LED phải được gửi tín hiệu theo thứ tự 24 bit đầu tiên đến đèn LED thứ nhất,
24 bit thứ hai đến đèn LED thứ hai, cho đến khi tất cả các đèn LED trong chuỗi đều được gửi tín hiệu
Sau khi tập hợp dữ liệu đầu tiên được gửi, phải có một xung reset giữ từ 50ms trở lên để đèn LED đạt thời gian ổn định và sau đó tập dữ liệu thứ hai có thể được gửi
Ưu điểm của bóng WS2812
• Không phải quan tâm đây là loại bóng anode chung hay cathode chung
• Có thể nối tiếp các LED với nhau lên tới 144 bóng
• Có sẵn thư viện Arduino
Nhược điểm
• Là mạch IC tích hợp nên giá còn hơi cao so với các bóng LED thông
thường Hơn nữa nếu bạn nhìn kỹ vào hình đầu bài, bạn sẽ thấy có các sợi
Trang 9dây màu vàng dài dài nối giữa các phần vi mạch với nhau
• Phải dùng với driver truyền tín hiệu Cắm trực tiếp vào nguồn sẽ không sáng được
• Không phải là LED tròn nên giới hạn ứng dụng trong 2D
1.3 Giới thiệu về cảm biến vật cản hồng ngoại E18-D80NK
Cảm biến khoảng cách vật cản E18-D80NK dùng ánh sáng hồng ngoại để xác định khoảng cách tới vật cản cho độ phản hồi nhanh và rất ít nhiễu do sử dụng mắt nhận
và phát tia hồng ngoại theo tần số riêng biệt
Cảm biến này có thể chỉnh khoảng cách báo mong muốn thông qua biến trở Được
sử dụng trong nhiều lĩnh vực như: robot tránh chướng ngại vật, đếm sản phẩm trong dây chuyền, chống trộm,
• Chiều dài cảm biến: 45mm
• Chiều dài dây: 45cm
Sơ đồ chân:
• Đỏ: nối nguồn cấp 4.5~5 VDC
• Vàng: Ngõ ra TTL có thể được nối với vi điều khiển
• Xanh lá: GND 0V
Trang 10Hình 4: Cảm biến vật cản hồng ngoại E18-D80NK
1.4 Nguyên lý hoạt động của hệ thống
Phát hiện chuyển động: Khi có người bước vào vùng cảm biến của E18-D80NK
(được đặt ở đầu và cuối cầu thang), cảm biến sẽ gửi tín hiệu đến ESP8266
Xử lý tín hiệu: ESP8266 nhận tín hiệu từ cảm biến E18-D80NK và xác định xem
có người đang lên hoặc xuống cầu thang Điều khiển LED Neopixel WS2812: Dựa vào tín hiệu từ cảm biến, ESP8266 sẽ điều khiển dải LED Neopixel WS2812 sáng lên hoặc tắt đi Đèn sẽ sáng theo hướng từ dưới lên nếu người dùng đang đi lên cầu thang và từ trên xuống nếu đi xuống
Tắt đèn: Sau một khoảng thời gian xác định, khi cảm biến không còn phát hiện
chuyển động, ESP8266 sẽ điều khiển để dải LED tắt dần, tiết kiệm điện năng
Trang 11CHƯƠNG 2: THIẾT KẾ HỆ THỐNG
2.1 Sơ đồ khối hệ thống
1 Khối nguồn
Nguồn tổ ong 5V - 5A - 25W được sử dụng tạo nguồn cung cấp 5V với dòng đầu
ra lên 5A, tương đương công suất cấp 25W Điện áp sử dụng đầu vào AC
110V/220V
Nguồn tổ ong 5V 5A - 25W được sử dụng với nhiều mục đích khác nhau: nguồn led, nguồn các hệ thống 5V (module kiểm soát nhiệt độ, độ ẩm ), nguồn điều khiển Relay
Hình 5: Nguồn tổ ong 5V-5A
Trang 12• Dòng vào: 2.6a / 115V 1.3a / 230V
• Rò rỉ: <1mA / 240VAC
• Bảo vệ quá tải
• Bảo vệ quá áp
• Bảo vệ nhiệt độ cao
• Khả năng chống sốc: 10 ~ 500Hz, 2G 10min / 1 chu kỳ, thời kỳ cho 60 phút mỗi trục
Cách sử dụng nguồn tổ ong 5V-5A khá đơn giản Mắc dây 2 dây từ nguồn AC (L
và N) vào nguồn tổ ong Đầu ra nguồn 1 chiều được lấy từ 2 đầu còn lại (-V,
+V) Khi mua nguồn tổ ong 5V-5A về nhà, bạn cần bảo quản kỹ vì bộ nguồn
không chống nước
Nguồn tổ ong 5V-5A là gọn nhẹ, giá thành nhưng thiết kế phức tạp, việc sửa chữa khá phức tạp với những người mới học Tuy nhiên, nguồn tổ ong 5V 5A vẫn được
sử dụng rộng rãi, được bán nhiều với chất lượng cao
2 Khối điều khiển :
ESP8266 là một vi điều khiển mạnh mẽ với khả năng điều khiển các thiết
bị điện tử Đặc biệt, nó được tích hợp sẵn kết nối Wi-Fi 2.4GHz, cho phép lập
trình và điều khiển từ xa thông qua mạng không dây
Hình 6: Vi xử lý ESP 8266
Trang 13ESP8266 là một vi điều khiển mạnh mẽ được tích hợp nhiều công nghệ tiên
tiến như Wi-Fi 2.4GHz hỗ trợ chuẩn 802.11 b/g/n, bộ vi xử lý 32-bit Tensilic
L106, và bộ nhớ flash từ 512KB đến 4MB Ngoài ra, nó có các giao tiếp như
GPIO, SPI, I2C, UART, và PWM, cùng với khả năng lập trình dễ dàng qua
Arduino IDE và SDK của Espressif Với các chế độ tiết kiệm năng lượng như
Deep Sleep, ESP8266 là lựa chọn lý tưởng cho các dự án IoT và điều khiển từ
xa
• Thông số kĩ thuật:
Cảm Biến Vật Cản Hồng Ngoại E18-D80NK:
• Khi không có vật cản trong phạm vi hoạt động, ánh sáng hồng ngoại phát ra
từ cảm biến sẽ không bị phản xạ trở lại hoặc phản xạ yếu, do đó tín hiệu đầu
ra của cảm biến ở mức LOW
• Khi có vật cản (ví dụ như người đi qua), ánh sáng hồng ngoại phản xạ trở lại mạnh hơn, mạch xử lý bên trong cảm biến sẽ chuyển tín hiệu đầu ra lên mức
HIGH
Khi cảm biến phát hiện chuyển động, tín hiệu sẽ được gửi tới NodeMCU để bật đèn LED Neopixel theo kịch bản đã lập trình, chẳng hạn như sáng dần từ bậc thấp nhất lên cao nhất khi người đi lên, hoặc ngược lại khi người đi xuống
Người dùng có thể điều chỉnh khoảng cách phát hiện của cảm biến E18-D80NK bằng cách xoay biến trở trên cảm biến Khoảng cách này cần được điều chỉnh phù hợp với chiều rộng và chiều cao của cầu thang để đảm bảo phát hiện chính xác Tùy thuộc vào chiều dài của cầu thang, số lượng cảm biến có thể được tăng thêm
Trang 14để đảm bảo phát hiện chính xác hơn
4 Khối Led:
Hệ thống sử dụng Led Neopixel dung chio WS2812 Khối LED trong hệ thống đèn cầu thang tự động đóng vai trò chính trong việc hiển thị ánh sáng theo các hiệu ứng đã được lập trình trước
ESP8266 sẽ gửi tín hiệu điều khiển thông qua dây Data In Tín hiệu này bao gồm thông tin về màu sắc và độ sáng cho từng LED trong dải
Sau khi nhận tín hiệu điều khiển, LED đầu tiên sẽ sử dụng thông tin này để điều chỉnh màu sắc của chính nó, sau đó truyền tín hiệu còn lại cho LED kế tiếp Quá trình này lặp lại dọc theo toàn bộ dải LED
Mỗi LED có thể hiển thị màu sắc khác nhau hoặc giống nhau, tùy thuộc vào lập trình Bằng cách lập trình trên ESP8266, người dùng có thể tạo ra các hiệu ứng ánh sáng như:
• Fade-in/Fade-out: Các LED sáng dần hoặc tắt dần theo thời gian
• Chạy dọc theo bậc: Đèn sáng theo thứ tự từ bậc thấp nhất lên cao nhất hoặc
ngược lại
• Hiệu ứng màu sắc: Thay đổi màu sắc của LED theo ý muốn, tạo ra các hiệu
ứng bắt mắt
2.2 Sơ đồ nguyên lý
Trang 15Hình 7: Sơ đồ nguyên lý hệ thống
Từ việc phân tích chi tiết các khối chức năng trong hệ thống, bao gồm khối nguồn, khối điều khiển ESP8266, khối cảm biến E18-D80NK và khối Led WS2812 em đã có thể xây dựng một sơ đồ nguyên lý hoàn chỉnh Sơ đồ này đảm bảo rằng tất cả các thành phần trong hệ thống đều được kết nối
và hoạt động đúng cách để thực hiện các chức năng điều khiển thiết bị điện
tử đã đặt ra Với sơ đồ nguyên lý này, em có thể tiến hành triển khai mạch thực tế và kiểm tra sự hoạt động chính xác của từng khối
Trang 16CHƯƠNG 3: QUY TRÌNH THỰC HIỆN
3.1 Chuẩn bị vật liệu và linh kiện
• NodeMCU ESP8266
• Dải LED Neopixel WS2812
• Cảm biến hồng ngoại E18-D80NK
• Nguồn tổ ong 5V
• Dây dẫn, điện trở, và các dụng cụ hàn cần thiết
3.2 Thiết kế và kết nối phần cứng
1 Xác định vị trí lắp đặt:
o NodeMCU ESP8266: Nên đặt tại vị trí trung tâm dễ tiếp cận để dễ
dàng điều khiển các dải LED và nhận tín hiệu từ cảm biến
o Dải LED WS2812: Mỗi bậc cầu thang sẽ gắn một đoạn dải LED hoặc
có thể chạy dọc theo cả cầu thang
o Cảm biến E18-D80NK: Đặt ở vị trí đầu và cuối cầu thang để phát
hiện khi có người lên/xuống cầu thang
2 Kết nối nguồn điện:
o Nguồn tổ ong 5V:
▪ 5V: Kết nối với chân VIN của NodeMCU, VCC của dải LED,
và VCC của cảm biến
▪ GND: Kết nối với chân GND của NodeMCU, GND của dải
LED, và GND của cảm biến
3 Kết nối cảm biến E18-D80NK:
Trang 17o VCC: Nối với chân 5V của nguồn tổ ong
o GND: Nối với chân GND của nguồn tổ ong
o OUT: Nối với một chân GPIO trên NodeMCU (ví dụ: D5 hoặc D6) để
truyền tín hiệu phát hiện vật cản về NodeMCU
4 Kết nối dải LED Neopixel WS2812:
o VCC: Nối với chân 5V của nguồn tổ ong
o GND: Nối với chân GND của nguồn tổ ong
o Data In: Nối với một chân GPIO trên NodeMCU (ví dụ: D7 hoặc D8)
để nhận tín hiệu điều khiển
3.3 Lập trình NodeMCU ESP8266
1 Cài đặt môi trường phát triển:
o Arduino IDE: Cài đặt Arduino IDE và thiết lập môi trường để lập
trình cho NodeMCU ESP8266
o Thư viện cần thiết: Cài đặt các thư viện cần thiết như
Adafruit_NeoPixel để dễ dàng điều khiển dải LED WS2812
2 Viết mã điều khiển:
o Đọc tín hiệu từ cảm biến: Lập trình NodeMCU để nhận tín hiệu từ
cảm biến E18-D80NK qua chân GPIO đã kết nối
o Điều khiển dải LED: Viết mã để điều khiển từng LED trên dải
WS2812 theo các hiệu ứng như sáng dần, tắt dần, chạy sáng từ bậc thấp đến bậc cao, hoặc ngược lại
o Xử lý logic: Cài đặt các logic điều khiển như bật sáng khi có người
đến gần cầu thang, duy trì sáng trong một khoảng thời gian nhất định,
và tắt khi không còn phát hiện chuyển động
3 Nạp chương trình vào NodeMCU:
o Kết nối NodeMCU với máy tính qua cổng MicroUSB, nạp chương
Trang 18trình đã viết lên NodeMCU, sau đó ngắt kết nối
3.4 Kiểm tra và hiệu chỉnh hệ thống
1 Kiểm tra kết nối phần cứng:
o Đảm bảo các kết nối điện giữa NodeMCU, dải LED, cảm biến, và nguồn điện đều đúng và chắc chắn
o Kiểm tra điện áp đầu ra của nguồn tổ ong và kiểm tra các điểm kết nối
2 Kiểm tra chương trình điều khiển:
o Kết nối nguồn điện cho hệ thống và quan sát hoạt động của đèn LED khi có người di chuyển qua cầu thang
o Xem xét các lỗi có thể xảy ra như không sáng đèn, đèn nhấp nháy không đều, hoặc cảm biến không phản hồi
3 Hiệu chỉnh:
o Tùy chỉnh các tham số trong mã lập trình như thời gian sáng của đèn,
độ nhạy của cảm biến, hoặc các hiệu ứng sáng của LED
o Lập trình lại NodeMCU nếu cần thiết để đạt được hiệu ứng và chức năng mong muốn
3.5 Lắp đặt và cố định hệ thống
1 Lắp đặt cố định các linh kiện:
o Gắn NodeMCU vào hộp bảo vệ và đặt ở vị trí dễ truy cập
o Cố định dải LED vào các bậc cầu thang sao cho gọn gàng và đẹp mắt
o Gắn cảm biến ở các vị trí đầu và cuối cầu thang, đảm bảo tầm nhìn của cảm biến không bị cản trở
2 Kiểm tra lần cuối trước khi hoàn thiện:
o Bật hệ thống và kiểm tra lại toàn bộ chức năng để đảm bảo mọi thứ hoạt động đúng như thiết kế