Mục lục:

Đèn tâm trạng MQTT với ESP32: 4 bước (có hình ảnh)
Đèn tâm trạng MQTT với ESP32: 4 bước (có hình ảnh)

Video: Đèn tâm trạng MQTT với ESP32: 4 bước (có hình ảnh)

Video: Đèn tâm trạng MQTT với ESP32: 4 bước (có hình ảnh)
Video: MQTT C# ESP32 P1 2024, Tháng mười hai
Anonim
Đèn tâm trạng MQTT với ESP32
Đèn tâm trạng MQTT với ESP32

Tôi đã bị cám dỗ khá lâu để nhảy lên dải đèn LED, vì vậy tôi đã chạy ra ngoài và chọn một dải đèn LED để chơi cùng. Tôi đã kết thúc việc tạo ra những ánh sáng tâm trạng này. Chúng có thể được điều khiển bằng MQTT, giúp bạn có thể thêm tất cả các loại thông minh.

Đây là một dự án cuối tuần tốt nếu bạn không có việc gì khác và muốn bắt tay vào làm một thứ gì đó.

Lưu ý rằng mục đích của Tài liệu hướng dẫn này là ghi lại dự án của tôi và chia sẻ ý tưởng với những người khác, và không nhất thiết phải cung cấp các hướng dẫn và phương pháp chắc chắn. Với điều đó đã nói, hãy đọc tiếp!

Quân nhu

Thiết bị điện tử:

  • 1x bảng phát triển ESP32
  • Màn hình I2C OLED 1x 0,96"
  • 1x Buzzer
  • 1 x Giắc cắm thùng
  • Nguồn điện 1x 12V (dòng điện phụ thuộc vào độ dài của dải của bạn)
  • 1x công cụ chuyển đổi LM2596 buck
  • 1x dải LED RGB cực dương chung
  • 3x IRFZ44N MOSFET
  • Bóng bán dẫn 3x BC547
  • Điện trở 3x 10kΩ
  • 4x điện trở 100Ω
  • 1x bảng tạo mẫu
  • 4x thiết bị đầu cuối vít
  • Tiêu đề nam và nữ
  • Dây (tôi đã sử dụng một sợi)

Phần cứng và công cụ khác:

  • Vật liệu mong muốn của bạn cho một bao vây (tôi đã sử dụng MDF)
  • Vật liệu phẳng, dẫn điện cho các tiếp điểm cảm ứng (tôi đã sử dụng một tấm nhôm mỏng)
  • Cưa, khoan, giấy nhám, v.v.
  • Sắt hàn và những người bạn
  • Keo nóng

Tôi thực sự khuyên bạn không nên sử dụng ESP32 với màn hình OLED tích hợp, bởi vì rất khó để tạo ra một đường cắt được căn chỉnh tốt trong bao vây của bạn cho nó.

Bước 1: Điện tử

Thiết bị điện tử
Thiết bị điện tử
Thiết bị điện tử
Thiết bị điện tử

Sơ đồ đính kèm hiển thị tất cả các kết nối cần thiết, ngoại trừ các đầu vào cảm ứng. Ngoài ra còn có một sơ đồ breadboard tương đối mơ hồ cho thấy cách kết nối một MOSFET, trong trường hợp sơ đồ không đủ.

Quyền lực

Một bộ chuyển đổi buck LM2596 bước xuống 12V từ nguồn điện xuống 5V cho số VIN của ESP. Đảm bảo rằng nguồn điện của bạn được đánh giá phù hợp với chiều dài của dải đèn LED mà bạn sử dụng. Dải dài 2 mét của tôi vẽ hơn 2 amps một chút.

Ghim và thiết bị ngoại vi

Bốn chân cảm ứng được sử dụng cho đầu vào cảm ứng. Bo mạch ESP32 của tôi đi kèm với một màn hình OLED, có các chân I2C được nối cứng. Điều này sử dụng bốn chân PWM, một chân cho mỗi thành phần màu (đỏ, xanh lá cây và xanh lam) và một chân cắm cho bộ rung.

MOSFET lộn xộn

MOSFET được chọn để xử lý thời gian chuyển mạch nhanh cho PWM và dòng điện tương đối cao. Có một MOSFET cho mỗi thành phần màu. Tôi đã sử dụng các NPN BJT riêng biệt (BC547) cùng với một điện trở kéo lên để điều khiển IRFZ44N, vì tín hiệu kỹ thuật số 3.3V từ ESP32 có thể không đủ để MOSFET dẫn nhiều dòng điện khi cần. MOSFET cấp logic như IRLZ44N tồn tại, nhưng tôi chỉ phát hiện ra chúng sau khi tôi đã hàn xong mọi thứ. Dù bằng cách nào, dải của tôi vẽ ~ 2A hoạt động tốt.

Hàn

Các đầu cuối vít được sử dụng để kết nối với dải đèn LED và các đầu nối cái để cắm ESP32 vào, trong trường hợp tôi muốn thay thế một trong hai đầu mà không làm hỏng thứ. Quá trình hàn mất khoảng hai giờ và rất đơn giản. Tôi cũng đã cung cấp cho dải đèn LED của mình một số dây dài hơn.

Tại sao tôi chọn ESP32

Nó có WiFi và Bluetooth trên bo mạch (mặc dù tôi chỉ sử dụng WiFi ngay bây giờ) và tôi đã có một cái nằm xung quanh mà tôi rất muốn sử dụng. Các đầu vào cảm ứng cũng có ích cho giao diện trên bộ điều khiển, vì chúng chỉ cần một dây dẫn đến một số liên lạc. Tuy nhiên, nếu bạn muốn, ESP32 có thể dễ dàng được thay thế bằng một bộ vi điều khiển như ESP8266.

Bước 2: Mã

Tôi đã sử dụng bộ công cụ Arduino (thực ra là phần mở rộng Arduino cho VS Code:)) để lập trình này. Có những hướng dẫn tuyệt vời như thế này về cách bắt đầu với ESP32 và Arduino IDE, nếu bạn chưa có.

Có bốn chế độ khác nhau để xử lý: màu tĩnh, màu ngẫu nhiên, Cảnh báo màu đỏ và Cảnh báo màu xanh lam. Có bốn đầu vào cảm ứng cho lên, xuống, tiếp theo và Cảnh báo đỏ. Cảm ứng sử dụng ngắt.

Tôi cũng đã thêm MQTT vào các tác phẩm để tôi có thể kiểm soát nó qua WiFi. Tôi đang cố gắng tìm hiểu ứng dụng web lớn ba (HTML, CSS, JS), vì vậy tôi đã thiết kế một trang web theo chủ đề Star Trek (nhưng khá xấu xí) giao tiếp với một nhà môi giới MQTT để kiểm soát ánh sáng tâm trạng.

Tất cả mã của tôi có thể được tìm thấy đính kèm, cùng với một trang tham chiếu nhanh, có tên tệp mà bạn có thể muốn thay đổi để làm cho nó trở thành mục đánh dấu. Di chuyển tất cả các tệp vào một thư mục có tên "ESP32MQTTMoodLighting" trước khi mở bằng Arduino.

Lưu ý rằng mã của tôi hoạt động, nhưng có lẽ không phải là mã tốt nhất. Nhưng điều đó không thành vấn đề, vì dù sao thì bạn cũng sẽ viết cho riêng mình, phải không?:)

Bước 3: Bao vây và lắp ráp

Bao vây và lắp ráp
Bao vây và lắp ráp
Bao vây và lắp ráp
Bao vây và lắp ráp
Bao vây và lắp ráp
Bao vây và lắp ráp
Bao vây và lắp ráp
Bao vây và lắp ráp

Trong thời gian khóa máy, vật liệu duy nhất tôi có thể chạm tay vào là một tấm MDF 5mm. Tôi đã thực hiện các vết cắt lớn bằng một chiếc cưa sắt thông thường, và cho mọi thứ đều tốt. Một lớp sơn men kép đã hoàn thành công việc chuẩn bị chính.

Bảng điều khiển phía sau

Tôi muốn hộp của mình có thể mở được dễ dàng, vì vậy tôi đã gắn tất cả các thiết bị điện tử của mình vào mặt sau với bốn thiết bị dự phòng M2 PCB. Bảng điều khiển của tôi đã được khoan lỗ M2. Những chiếc standoffs của tôi có những đoạn ren nhỏ ở phía dưới, mà tôi dự định sẽ được cố định vào tấm MDF. Nhưng, tôi không có một mũi khoan M2. Vì vậy, để đánh dấu vị trí của mỗi lỗ, tôi sử dụng một tuốc nơ vít đầu dẹt nhỏ để khoét các lỗ bằng tay. Thô nhưng hiệu quả. Đường kính của các lỗ chỉ nhỏ hơn một chút so với đường kính của phần ren của giá đỡ. Tôi vặn các lỗ khóa vào và ra khỏi các lỗ một vài lần, lỗ này rộng ra và gần như xâu chúng lại.

Cuối cùng, các giá đỡ đã nằm chắc chắn trong các lỗ của chúng và giữ cố định bảng điều khiển. Bởi vì MDF của tôi rất dày, không có gì hiển thị qua mặt khác.

Tôi đã khoan lỗ cho giắc cắm nguồn và tạo một khe cho các dây dải đèn LED đi qua, ngay bên dưới nơi đặt các đầu nối vít của tôi.

Bảng điều khiển phía trước

Cắt màn hình OLED

Tôi đã bắt đầu cắt bỏ màn hình OLED với một vài lỗ khởi động và sắp xếp chúng theo kích thước. Cuối cùng, nó rất khó và bị lệch. Việc không kiểm tra kỹ các phép đo có thể đóng góp một phần vào điều đó, nhưng bạn có thể tự tránh khỏi một số rắc rối bằng cách không sử dụng bảng phát triển có màn hình OLED tích hợp. Việc gắn màn hình vào lỗ của bạn sẽ dễ dàng hơn nhiều.

Tư nối

Tôi đã tạo một đầu nối từ một số tiêu đề nam và nữ. Một đầu gắn với dây nối với các điểm tiếp xúc cảm ứng trên bảng điều khiển phía trước, trong khi đầu kia có dây chạy tới các đầu vào cảm ứng của ESP. Điều này để bảng điều khiển phía trước có thể được tháo rời hoàn toàn khỏi mặt sau nếu cần thiết mà không làm ảnh hưởng đến các mối hàn. Nếu bạn gắn bất kỳ thứ gì khác vào bảng điều khiển phía trước của mình, bạn cũng có thể muốn tạo một đầu nối cho bảng điều khiển đó.

Touch Pads

Các điểm tiếp xúc cảm ứng được làm bằng một số tấm nhôm. Tôi cắt nó để lấy bốn miếng đệm cần thiết và xác minh rằng không có cạnh răng cưa. Sau đó, tôi khoan lỗ vào bảng điều khiển phía trước, chỉ đủ lớn cho một sợi dây. Để để chất hàn dính vào các miếng đệm, tôi dùng giấy nhám chà lên một phần nhỏ của một mặt để loại bỏ lớp bị oxy hóa, sau đó lau nhanh để loại bỏ bất kỳ hạt nào. Chạy từng dây qua lỗ tương ứng của nó trên bảng điều khiển phía trước, tôi hàn từng dây vào miếng đệm của nó. Đảm bảo rằng vật hàn của bạn không tạo ra chỗ phồng quá lớn ở mặt sau, vì điều này sẽ không cho phép miếng đệm nằm ngang với bảng điều khiển.

Cuối cùng, thêm một ít keo nóng vào mặt sau của mỗi miếng đệm và đẩy chúng lên bảng điều khiển phía trước. Thêm quá nhiều sẽ làm cho các miếng đệm bị nâng lên khỏi bảng điều khiển. Làm sạch bất kỳ keo thừa nào có thể đã bị đẩy ra từ dưới các miếng đệm.

Phần còn lại

Các mặt bên khá đơn giản. Một lỗ tiếp cận nhanh đến các đầu cuối vít gây ra nhiều rắc rối hơn mức đáng có. Tôi dán nóng các tấm bên vào bảng điều khiển phía trước.

Velcro ở hai cạnh giữ phần mặt trước với mặt sau. Các khoảng trống cho phép âm thanh của còi thoát ra. Nếu bạn làm tốt công việc hơn tôi, bạn không nên kết thúc với một thứ trông giống như thủ công của một đứa trẻ 5 tuổi:)

Dải đèn LED của tôi có một mặt sau dính (tôi chắc chắn rằng của bạn cũng vậy). Tôi gắn của tôi để ánh sáng khuếch tán ra khỏi tường.

Bước 4: Cắm nó vào

Cắm nó vào!
Cắm nó vào!

Bây giờ bạn sẽ có một ánh sáng tâm trạng hoàn chỉnh do MQTT kiểm soát. Tôi đã gắn của tôi vào bàn làm việc của tôi, nơi nó thêm một chút màu sắc cho công việc đôi khi đơn điệu. Ban đêm là thời điểm lý tưởng để gây ấn tượng với mọi người.

Tôi hy vọng bạn thích đọc cuốn sách Có thể hướng dẫn này và có một vài ý tưởng cho các dự án của riêng bạn. Như tôi đã đề cập trước đây, tôi là người mới bắt đầu, và đây là lần đầu tiên tôi có thể hướng dẫn. Tôi sẽ đánh giá cao bất kỳ lời khuyên và nhận xét.

Đề xuất: