Mục lục:

Đèn đồng bộ hóa Wifi: 10 bước (có hình ảnh)
Đèn đồng bộ hóa Wifi: 10 bước (có hình ảnh)

Video: Đèn đồng bộ hóa Wifi: 10 bước (có hình ảnh)

Video: Đèn đồng bộ hóa Wifi: 10 bước (có hình ảnh)
Video: Cuộc chiến của đội cảnh sát cơ động 2024, Tháng bảy
Anonim
Image
Image

Một dự án dành cho người thắp sáng cuộc đời bạn…

Cách đây 2 năm, để làm quà Giáng sinh cho một người bạn đường xa, tôi đã tạo ra những chiếc đèn đồng bộ hóa hình ảnh động thông qua kết nối internet. Năm nay, 2 năm sau, tôi đã tạo ra phiên bản cập nhật này với kiến thức thu được từ những năm bổ sung về điện tử. Phiên bản này đơn giản hơn nhiều, không cần bất kỳ màn hình hoặc bàn phím bên ngoài nào (và chỉ cần một chip đơn giản, không phải hai!) Ngoài giao diện ứng dụng điện thoại dễ dàng (nhờ Blynk IoT) thay vì trang web và chiết áp mềm vật lý.

Có các nút trong ứng dụng mang lại sự linh hoạt hơn trong những hoạt ảnh bạn muốn thêm: có 3 thanh trượt để điều khiển RGB, ngoài ra còn có một tiện ích ở dưới cùng cho phép bạn chọn màu từ bản đồ (vì vậy bạn không có để tìm ra các số RGB cho màu bạn muốn). Ngoài ra còn có các nút cài sẵn cho vui, giận, buồn và "meh" để bạn có thể dễ dàng truyền tải cảm xúc của mình cho người đối diện dưới dạng hoạt ảnh đèn, cho những lúc bạn có điều gì đó muốn nói nhưng không muốn. để làm phiền người đó với rất nhiều văn bản.

Không có kinh nghiệm điện tử? Đừng lo lắng! Chỉ có 3 bước chính: kết nối phần cứng, tải lên mã và tạo ứng dụng Blynk. Tuy nhiên, hãy nhớ rằng: điều gì có thể sai, sẽ sai. Luôn thêm nhiều thời gian để gỡ lỗi.

Nếu bạn sử dụng chính xác những gì tôi đã làm và tải lên chính xác những gì tôi có, bạn sẽ ổn ngay cả khi bạn chưa từng làm việc với đồ điện tử. Ngay cả khi bạn thực hiện các điều chỉnh đối với dự án, việc đọc qua hướng dẫn này sẽ cho bạn biết những gì bạn cần thay đổi nếu bạn sử dụng nó làm hướng dẫn. Chi phí cũng được giữ ở mức thấp nhất có thể: tổng chi phí, nếu bạn hoàn toàn không có thành phần nào, tối đa là $ 40 cho mỗi đèn.

Bước 1: Vật liệu

Đây là những vật liệu bạn cần cho MỘT đèn (nhân với số lượng đèn bạn muốn làm):

  • 1x chip NodeMCU ESP8266 ($ 7 mỗi chip, $ 13 cho 2)
  • 1x protoboard hoặc breadboards (~ $ 1 mỗi cái)
  • mỏ hàn và thuốc hàn
  • 1x nhẫn neopixel (10 đô la mỗi chiếc, 8 đô la nếu bạn mua từ adafruit.com)
  • Nguồn điện 1x 5V (đầu ra ít nhất 500mA, vì vậy 1A hoặc 2A sẽ là hoàn hảo) với kết nối microUSB (hoặc giắc cắm thùng nhưng mua bộ chuyển đổi giắc cắm thùng sang dây trần) ($ 8 mỗi cái)
  • Không hoàn toàn cần thiết nhưng được khuyến nghị CAO để bảo vệ mạch (vài xu mỗi chiếc, nhưng bạn có thể phải mua số lượng lớn)

    • 1x 300-500Ohm điện trở (tôi đã sử dụng 200Ohm và đã loại bỏ nó mặc dù)
    • 1x tụ điện 100-1000uF
  • dây điện (hoặc bạn lấy các loại ruy-băng này) (lõi đơn là tốt nhất) (một vài xu cho 5 )

    Bạn không cần nhiều dây như vậy; chỉ cần 5 "là đủ

  • Bạn có thể làm bất cứ điều gì bạn muốn đối với đèn bên ngoài (ở trên là các bộ phận chỉ dành cho thiết bị điện tử). Tôi đã sử dụng gỗ cắt laser và acrylic, với giấy nháp để khuếch tán ánh sáng.

Tôi đã đính kèm các liên kết Amazon ở trên cho các tùy chọn rẻ nhất mà tôi có thể tìm thấy (kể từ ngày 20 tháng 12 năm 2018), nhưng bạn chắc chắn có thể tìm thấy các thành phần rẻ hơn từ những nơi khác nhau. Tôi vẫn còn là một sinh viên đại học nên tôi đã tiếp cận được với tụ điện và điện trở: hãy thử hỏi xung quanh bất kỳ người bạn nào làm việc với điện tử. Neopixels có thể được mua từ adafruit.com với giá rẻ hơn nếu bạn có những thứ khác mà bạn muốn đặt từ đó (để tiết kiệm chi phí vận chuyển..). Bạn cũng có thể mua điện trở và tụ điện từ DigiKey hoặc Mouser với giá rẻ hơn nhiều, mặc dù phí vận chuyển có thể cao hơn. Đối với nguồn điện, bộ sạc điện thoại cũ sẽ ổn (hoặc chỉ cáp microUSB nếu bạn muốn cắm đèn vào cổng USB thay vì ổ cắm trên tường). Nếu bạn hoàn toàn không có thành phần nào trong số các thành phần này, chi phí của bạn sẽ tối đa ~ $ 40 cho mỗi đèn (và càng ít tiền cho mỗi đèn càng tốt, vì bạn thường mua các thành phần này với số lượng lớn: chẳng hạn như protoboard có thể có 5 gói). Tôi có nhiều thứ nằm xung quanh vì vậy nó chỉ là $ 5 đối với tôi (vâng, tôi là một người tích trữ với những người bạn tình cờ bỏ qua nhiều thứ - cộng với tôi đã sử dụng lại những chiếc nhẫn neopixel từ lần trước).

Mã Arduino và các tệp Adobe Illustrator (cho hộp cắt laser) được đính kèm bên dưới.

Bước 2: Tổng quan: Cách hoạt động của đèn

Được rồi, vì vậy khi bạn có tài liệu, bạn có thể tự hỏi làm thế nào tất cả chúng kết hợp với nhau. Đây là lời giải thích:

NodeMCU ESP8266 là một vi điều khiển hoạt động trên logic 3.3V (trái ngược với logic 5V như hầu hết các Arduinos). Nó bao gồm một chip wifi tích hợp và các chân GPIO để sử dụng tín hiệu kỹ thuật số và tín hiệu tương tự với các thành phần bạn kết nối. Bạn sẽ sử dụng một trong các chân có khả năng xuất tín hiệu PWM (xem sơ đồ chân ở đây: bất kỳ chân nào có dấu ~ bên cạnh nó đều có thể tạo ra tín hiệu tương tự trái ngược với tín hiệu kỹ thuật số chỉ 0 hoặc 1, THẤP hoặc CAO) để điều khiển vòng neopixel. Để lập trình nó, bạn có thể thực hiện việc này dễ dàng thông qua Arduino IDE, có thể dễ dàng tải xuống tại đây. (lưu ý, tôi đã cung cấp hướng dẫn Adafruit cho ESP8266 HUZZAH của họ thay vì NodeMCE mà chúng tôi có. Hướng dẫn này vẫn có thể áp dụng cho cả hai bảng, nhưng bạn sẽ chỉ phải chọn một bảng khác để tải lên trong Arduino.)

Vòng neopixel là thứ tạo ra các hình ảnh động màu của đèn. Nó có các đèn LED định địa chỉ trong hình dạng vòng, mỗi đèn có thể được điều khiển riêng. Nó thường chạy bằng logic 5V, thường yêu cầu chuyển mức (giải thích ở đây), nhưng may mắn là thư viện Adafruit neopixel đã được cập nhật để hỗ trợ ESP8266. Mặc dù các thành phần 5V không phản hồi đáng tin cậy với tín hiệu 3.3V, nhưng nó hoạt động khá đáng tin cậy khi neopixel được cấp nguồn ở điện áp thấp hơn (vì vậy 3.3V thay vì 5V). Xem chi tiết về điều này tại đây.

Về kết nối từ bộ vi điều khiển đến neopixel, an toàn nhất là đặt một điện trở 300-500 Ohm giữa đường dữ liệu của neopixel và chân GPIO mà bạn sẽ gửi tín hiệu từ đó (để bảo vệ đèn LED khỏi bất kỳ sự tăng đột ngột nào). Bạn cũng nên thêm một tụ điện 1000uF được kết nối song song với nguồn điện và dây nối đất của vòng neopixel: điều này để bảo vệ khỏi dòng điện tăng đột ngột. Đọc phần này để biết thêm các phương pháp hay nhất về cách sử dụng các vòng LED này (và tại đây để có hướng dẫn sử dụng đầy đủ của Adafruit).

Để giao tiếp với nền tảng Blynk IoT, Arduino có một thư viện để sử dụng Blynk. Bạn có thể đọc tài liệu tại đây để tìm hiểu thêm về cách sử dụng Blynk nói chung. Để bắt đầu, đây là một hướng dẫn hữu ích dành riêng cho NodeMCU ESP8266 và Blynk.

Đừng lo lắng nếu một số điều này không có ý nghĩa! Các bước trong tương lai sẽ phác thảo chính xác những gì để tải lên, tải xuống, kết nối, v.v. Hãy đọc qua mọi thứ (vâng, đó là một hướng dẫn dài, nhưng ít nhất hãy đọc lướt qua) trước khi bạn bắt đầu xây dựng !!! Nó sẽ giúp bạn tìm ra cách mọi thứ kết hợp với nhau thay vì chỉ làm theo hướng dẫn một cách mù quáng.

Bước 3: Phần cứng

Hình ảnh
Hình ảnh
Hình ảnh
Hình ảnh

Để bắt đầu, hãy kết nối phần cứng của bạn như trong hình trên. Neopixel sẽ đến với bạn với các lỗ để hàn trên dây. Trước tiên, bạn sẽ cần hàn dây vào các lỗ có nhãn PWR (nguồn), GND (nối đất) và IN (đầu vào cho tín hiệu tương tự) trước khi kết nối dây với chân 3.3V, đất và D2 của ESP8266 (xem phần này để biết sơ đồ chân). Theo quy tắc chung, dây màu đỏ là dành cho nguồn điện, dây màu đen biểu thị mặt đất và tôi thích sử dụng màu xanh lam cho đường dữ liệu của neopixel (kết nối với chân D2, có khả năng phát tín hiệu PWM).

Đảm bảo kết nối tụ điện theo đúng hướng: tụ điện có cực, có nghĩa là bạn kết nối song song với mặt đất và nguồn điện của neopixel không quan trọng. Nếu bạn nhìn vào tụ điện 1000uF của mình, có một dải màu xám ở phía dưới cho biết mặt âm của tụ điện (bạn cũng có thể thấy nó trong sơ đồ fritzing ở trên). Đây là mặt nên được kết nối song song với mặt đất của neopixel. Điện trở không có cực, vì vậy không cần phải lo lắng về hướng.

Về mặt tạo kết nối chắc chắn, cách tốt nhất là sử dụng protoboard để bạn có thể hàn các thành phần lại với nhau thay vì chỉ cắm dây vào breadboard và có nguy cơ chúng bị bung ra. Tôi đã sử dụng breadboard vì tôi không có nhiều thời gian, nhưng một lần nữa, protoboard lại thích hợp hơn. Điều thú vị về breadboard là nó có một mặt sau dính nên tôi chỉ cần mở nhãn dán ra để dán mọi thứ vào đế đèn của mình. Đối với protoboard, bạn có thể vặn nó vào đế bằng cách sử dụng 4 lỗ mà chúng thường có ở các góc, hoặc chỉ cần băng / dán nó xuống.

Bước 4: Mã Arduino

Mã.ino Arduino được đính kèm ở cuối bước này để tham khảo. Nó trông dài và dài dòng nhưng đừng lo lắng: phần lớn nó liên quan đến các bình luận để giải thích mọi thứ. Tôi cũng muốn bỏ qua các dòng để thêm khoảng trắng cho các phần khác nhau, điều này làm cho mã trông dài hơn.

Các phần chính cần chỉnh sửa để phù hợp với mã của bạn:

  • Mã / mã ủy quyền Blynk (được gửi qua email cho bạn từ Blynk khi bạn tạo thiết bị trong ứng dụng: xem trang tiếp theo để biết thêm thông tin)

    Bạn sẽ cần một mã ủy quyền riêng cho mỗi đèn

  • tên miền wifi (giữa hai dấu nháy đơn ")
  • mật khẩu wifi (giữa hai dấu nháy đơn ")

Ngoài ra, miễn là bạn sử dụng ứng dụng Blynk chính xác của tôi và phần cứng tổng thể (vì vậy hãy sử dụng cấu hình ứng dụng Blynk chính xác của tôi trong bước tiếp theo, có 12 đèn LED trong vòng neopixel của bạn, sử dụng chân D2 của ESP8266 cho dòng dữ liệu neopixel, v.v.), bạn chỉ cần tải chính xác mã đó lên ESP8266 của mình. Lưu ý rằng bạn sẽ cần sử dụng các mã ủy quyền khác nhau cho từng loại đèn của mình! Xem trang tiếp theo để thêm các thiết bị riêng biệt và nhận các mã đó. Đừng quên đối sánh miền wifi và mật khẩu với đèn, nếu chúng ở các vị trí khác nhau. Có thể bạn sẽ muốn chỉnh sửa những thứ khác tùy thuộc vào hoạt ảnh và màu sắc mà bạn muốn, hoặc thậm chí có thể là loại ghim bạn sử dụng. Tôi đã nhận xét mã để giúp bạn thay đổi mọi thứ khi cần thiết. (đọc qua mã ví dụ thử nghiệm nhất của thư viện Adafruit Neopixel để biết thêm ý tưởng).

Trước khi có thể sử dụng mã, bạn cần tải xuống các thư viện mà mã sử dụng (các thư viện ở đầu mã). Đọc qua và làm theo hướng dẫn này từ Adafruit (bắt đầu tại "Sử dụng Arduino IDE") để biết những việc bạn cần làm để thiết lập ESP8266. Có: bạn sẽ cần cài đặt Trình điều khiển CP2104, thêm vào URL Trình quản lý bảng bổ sung trong tùy chọn Arduino, cài đặt gói ESP8266 (đi tới Sketch> Bao gồm Thư viện> Quản lý Libaries… và tìm kiếm những gì bạn cần - xem hình bên dưới) và cũng cài đặt các thư viện khác ở đầu mã cho neopixel, Blynk, v.v.

Hình ảnh
Hình ảnh

Để tải mã lên chip ESP8266 từ Arduino IDE, bạn cần chọn đúng bo mạch (NodeMCU ESP8266 ESP-12E), kích thước flash, cổng, v.v. (xem hình bên dưới). Cổng chính xác SLAB_USBtoUART sẽ không hiển thị trừ khi bạn cắm ESP8266 vào máy tính của mình. Nhưng sau khi nó được kết nối và bạn chắc chắn rằng bạn đã kết nối chính xác mạch của mình ở bước trước, bạn có thể tiếp tục và nhấn vào mũi tên ở góc trên bên trái để tải mã của bạn lên bảng. Có, quá trình tải lên Arduino thông thường của bạn mất nhiều thời gian hơn. Bạn sẽ thấy nó biên dịch mã chậm, sau đó là một chuỗi dấu chấm màu cam ……………… khi nó tải lên (hiển thị trong phần màu đen dưới cùng của cửa sổ Arduino).

Hình ảnh
Hình ảnh

Bây giờ, đây là bảng phân tích cho mã. Phần đầu tiên bao gồm các thư viện mà các hàm sẽ sử dụng và khởi tạo các biến toàn cục (các biến có thể được truy cập bởi bất kỳ hàm nào trong mã). Các phần BLYNK_WRITE (virtualPin) kiểm soát những gì được thực hiện khi các tiện ích con trong ứng dụng Blynk (được kết nối với chân ảo) được bật / tắt (tức là bật / tắt, thay đổi vị trí thanh trượt). Có 7 trong số này cho 7 chân ảo mà tôi sử dụng trong ứng dụng Blynk của mình. Phần tiếp theo của void colorWipe (), rainbow (), v.v. là xác định các hàm mà phần còn lại của mã sử dụng. Các hàm này chủ yếu được mượn từ mã ví dụ thư viện neopixel của Adafruit (cụ thể là strandtest). Các phần cuối cùng là void setup () và void loop () tiêu chuẩn của bạn trong tất cả mã Arduino: void setup () xác định các hoạt động chỉ xảy ra một lần khi bảng được bật nguồn và void loop () xác định các hoạt động mà bảng liên tục lặp lại khi nó được cấp điện. void loop () chủ yếu xác định hoạt ảnh mà đèn sẽ lặp qua dựa trên biến "hoạt ảnh" mà tôi đã tạo.

Bước 5: Blynk IoT

Blynk IoT
Blynk IoT
Blynk IoT
Blynk IoT
Blynk IoT
Blynk IoT

Tôi đã chọn Blynk thay vì Adafruit IO cho đèn phiên bản 2.0 này. Adafruit IO rất tuyệt, nhưng có hai thứ mà Blynk có trái ngược với Adafruit IO: giao diện ứng dụng và khả năng chấp nhận "trống" làm mật khẩu wifi (vì vậy nếu bạn đang kết nối với một wifi công cộng không có mật khẩu, bạn có thể để trống phần mật khẩu, tức là chỉ ""). Bạn tôi thường xuyên đến bệnh viện để điều trị, vì vậy tôi muốn có khả năng này trong những trường hợp cô ấy ở lại qua đêm nhưng muốn có một công ty ảo nào đó: cô ấy vẫn có thể kết nối wifi tại bệnh viện.

Bắt đầu bằng cách truy cập cửa hàng Google Play hoặc App Store của iPhone để tải ứng dụng Blynk xuống điện thoại của bạn. Tạo một tài khoản miễn phí và thực hiện một dự án mới. Ở góc trên bên phải, bạn sẽ thấy nút quét mã QR: sử dụng nút đó để quét mã QR trong hình bên dưới để sao chép tất cả các nút của tôi và những thứ tương tự vào dự án mới. Xem trang này để biết thêm về cách hoạt động của nó ("chia sẻ cấu hình dự án của bạn"). Trang đó cũng cung cấp thông tin hữu ích để chia sẻ dự án với người nhận đèn của bạn sau này.

Hình ảnh
Hình ảnh

Tất nhiên, bạn có thể tùy chỉnh các nút theo ý muốn! Vuốt sang phải để hiển thị những tiện ích con nào bạn có thể thêm. Mặc dù vậy, bạn nên hiểu bạn có những tùy chọn nào cho các widget: Tôi đã đính kèm hình ảnh (với ghi chú trong mỗi hình ảnh) về cài đặt của các nút và đề xuất sử dụng chúng ở đầu bước này.

Nhân tiện, việc thêm tiện ích sẽ tốn điểm trong ứng dụng và mọi người bắt đầu với một số tiền nhất định miễn phí. Thêm điểm bổ sung tốn tiền ($ 2 cho 1000 điểm bổ sung). Tôi đã thêm 1000 điểm để cấu hình của mình hoạt động, nhưng bạn có thể chỉ cần xóa một hoặc hai nút để làm cho nó hoạt động với số tiền miễn phí.

Trong dự án, bạn cần nhấn nút đai ốc ở trên cùng bên trái (bên cạnh nút hình tam giác "phát") để truy cập cài đặt dự án.

Hình ảnh
Hình ảnh

Bạn cần thêm thiết bị vào dự án để nhận mã / mã ủy quyền cho mỗi đèn, bạn thay đổi mã này trong mã Arduino như đã đề cập trước đó. Nhấn vào mũi tên phải Thiết bị để tạo thiết bị mới. Khi bạn tạo một thiết bị, bạn sẽ thấy mã thông báo của nó như trong hình bên dưới (được làm mờ bằng màu đỏ).

Hình ảnh
Hình ảnh

Khi bạn có mã, hãy nhớ nhập đúng mã thông báo, miền wifi và mật khẩu vào mã Arduino cho mỗi đèn. Bạn có thể nên nhập thông tin đăng nhập wifi của riêng mình trước để đảm bảo mỗi đèn hoạt động bình thường và gỡ lỗi khi cần thiết, nhưng sau đó cập nhật bằng tên miền và mật khẩu wifi của người nhận trước khi gửi đi.

Đảm bảo rằng bạn đã bật ứng dụng để thực sự sử dụng các nút của mình! Khi ứng dụng "bật" (nhấn nút phát ở góc trên bên phải, bên cạnh nút hạt để cài đặt), nền sẽ trở thành màu đen đặc thay vì lưới chấm mà bạn thấy khi ở chế độ chỉnh sửa. Nếu bạn đã tải mã Arduino lên ESP8266 của mình và cắm nó vào, chip sẽ tự động kết nối với wifi. Kiểm tra điều này bằng cách nhấn vào biểu tượng vi điều khiển nhỏ ở góc trên cùng bên phải (chỉ hiển thị khi ứng dụng đang bật): bạn sẽ thấy danh sách các thiết bị bạn đã tạo cho dự án và những thiết bị nào đang trực tuyến.

Hình ảnh
Hình ảnh

Bước 6: Vỏ đèn

Đối với đèn thực tế, tôi đã sử dụng gỗ cắt laser (ván ép bạch dương 1/8 ") và acrylic (trong suốt, 1/4", cho mặt dưới để ánh sáng chiếu qua). Gỗ có các vết cắt chỉ dành riêng cho bạn tôi và tôi, nhưng tôi đã đính kèm các tệp Adobe Illustrator cho các thiết kế mặt mảnh ghép (tạo thành hình khối 4 ") để bạn cắt ra nếu bạn thích hình dạng đó (tệp được đính kèm ở bước này, dưới đây). Cảnh báo: mặt đáy phải dày 1/4 "để các miếng ghép khít với nhau, trong các tệp đó. Nếu bạn muốn tạo kích thước khác hoặc có mọi thứ với một độ dày, hãy sử dụng makercase.com để tạo tệp để cắt laser hộp.

Hình ảnh
Hình ảnh
Hình ảnh
Hình ảnh

Đừng quên chừa một lỗ để luồn dây điện ra khỏi đèn. Tôi quên không bao gồm nó nhưng đã có thể sử dụng máy cắt dây để cắt một lỗ hình tam giác nhỏ xuyên qua gỗ 1/8.

Bước 7: Chia sẻ đèn với người nhận

Khi bạn gửi đèn cho người nhận, họ cũng cần tải ứng dụng Blynk xuống điện thoại từ Cửa hàng Google Play hoặc Cửa hàng ứng dụng của Apple để điều khiển đèn. Bạn có thể yêu cầu họ tạo một tài khoản riêng hoặc sử dụng cùng thông tin đăng nhập của bạn. Nếu họ tạo một tài khoản riêng, bạn có thể chia sẻ mã QR đặc biệt để người khác sử dụng để lấy 1000 điểm (KHÔNG PHẢI là mã mà tôi đã chia sẻ ở bước Blynk trước đó; mã QR này cho phép sử dụng cùng một ứng dụng với bạn, nhưng họ có thể ' không thay đổi bất kỳ cài đặt hoặc cấu hình nút nào - hãy đọc qua trang này, cụ thể là "chia sẻ quyền truy cập vào phần cứng của bạn"). Bạn cần đảm bảo rằng bạn đã bật ứng dụng (nhấn nút phát ở góc trên bên phải để bạn thấy nút vi điều khiển thay vì nút cài đặt hạt) để người khác sử dụng ứng dụng.

Tôi đã kiếm được khoảng 1000 điểm bằng cách cung cấp cho bạn tôi thông tin đăng nhập của mình để cô ấy có thể đăng nhập vào ứng dụng thông qua tài khoản của tôi. Nếu bạn đang gửi những chiếc đèn này cho những người không giỏi về đồ điện tử (nói chung là người cao tuổi), tôi khuyên bạn nên chi 2 đô la để tạo một liên kết được chia sẻ để họ không có quyền truy cập vào tài khoản của bạn và có thể ' không làm rối cài đặt ứng dụng của bạn. Với tùy chọn QR này (chi phí 1000 điểm), họ vẫn có bản sao ứng dụng của bạn nhưng không thể thay đổi bất cứ điều gì.

Bước 8: Sử dụng ứng dụng

Bây giờ, bạn có thể sử dụng ứng dụng để điều khiển đèn như thế nào?

Bật tắt đèn bằng nút nguồn lớn (đỏ khi tắt, xanh khi bật). Nếu đèn bị tắt, nó sẽ tự động tắt tất cả các nút khác trong ứng dụng và đặt RGB thành 0, 0, 0. Khi bạn nhấn để bật lại đèn, đèn bắt đầu có xung màu trắng.

Có ba thanh trượt RGB ở trên cùng bên phải để điều khiển đầu ra màu RGB trong quá trình nhấp nháy của đèn. Chúng cập nhật màu theo thời gian thực khi bạn điều chỉnh các thanh trượt. Bạn cũng có thể điều chỉnh màu sắc bằng bản đồ màu hình ngựa vằn ở cuối ứng dụng. Điều này được kết nối với các thanh trượt RGB, do đó, các thanh trượt cập nhật dựa trên màu bạn chọn trong bản đồ và ngược lại.

Có các nút ở phía bên trái của ứng dụng với các hình ảnh động cài sẵn cho vui, giận, buồn và meh. "Hạnh phúc" làm cho đèn nhấp nháy qua bảy sắc cầu vồng, "tức giận" làm cho đèn nhấp nháy giữa màu đỏ và màu vàng, "buồn" làm cho đèn nhấp nháy qua màu xanh lam và xanh da trời, và "meh" làm cho đèn tạo ra cầu vồng xoay bánh xe. Tôi đã chọn những hình cầu vồng vì hạnh phúc và meh vì chúng có nhiều khả năng là hình ảnh động mặc định hàng ngày. Bất cứ khi nào bạn nhấn một trong các nút cài sẵn, tất cả các nút khác sẽ bị tắt (tức là nếu bạn đang ở chế độ "vui vẻ" nhưng nhấn "tức giận", nút vui vẻ sẽ tự động tắt sau vài giây). Xin lưu ý rằng sẽ mất nhiều thời gian hơn để chuyển từ hoạt ảnh vui vẻ và meh vì đèn phải trải qua toàn bộ hoạt ảnh cầu vồng trước khi có thể thay đổi hoạt ảnh. Nếu bạn tắt bất kỳ nút nào đã đặt trước, đèn sẽ mặc định trở lại nhấp nháy tùy theo màu nào mà thanh trượt RGB tương ứng. Nếu bạn đã bật bất kỳ hoạt ảnh đặt sẵn nào nhưng thay đổi thanh trượt RGB, sẽ không có gì xảy ra: hoạt ảnh đặt trước chiếm ưu thế.

Trước khi rút phích cắm của đèn, hãy nhấn nút tắt nguồn trong ứng dụng như một nguyên tắc chung. Sau đó, nhấn bật nguồn trong ứng dụng khi bạn cắm lại đèn. KHÔNG điều chỉnh các nút ứng dụng khi bất kỳ đèn nào không được bật nguồn hoặc kết nối với Wi-Fi (không phải ngày tận thế, nhưng nó sẽ làm hỏng đèn hoạt động). Xem bước tiếp theo để biết lý do tại sao…

Bước 9: ** CẢNH BÁO KHI VẬN HÀNH CHÍNH HÃNG **

Có một lỗ hổng trong hoạt động của đèn. Giao diện Blynk không cho phép tôi kiểm soát có chọn lọc những gì có thể được bật / tắt khi một thứ khác đang bật hoặc tắt, nhưng tôi đặt các điều kiện vào mã để nếu bạn chuyển đổi một thứ gì đó không nên bật tắt khi đèn tắt hoặc một hoạt ảnh khác đang bật, công tắc sẽ tự hoàn tác: điều đó đã gỡ lỗi rất nhiều nhưng nó hoạt động khá tốt (được minh họa trong video ở trên: ứng dụng từ chối các thay đổi xảy ra khi đèn tắt và nếu các hoạt ảnh đặt trước được bật thì bất kỳ thay đổi nào đối với các thanh trượt không ảnh hưởng đến hoạt ảnh cho đến khi nút cài đặt trước bị tắt)!

Một cạm bẫy còn lại là nếu bạn chuyển đổi mọi thứ trong ứng dụng khi chip không được kết nối với Internet, chức năng "hoàn tác" tự động này sẽ không hoạt động và đèn sẽ không tuân theo những gì ứng dụng ra lệnh. Sau đó, khi bạn bật đèn, nó sẽ không phản ánh chính xác những gì bạn đang làm (bất kể điều gì, đèn bắt đầu nhấp nháy màu trắng khi bạn bật nguồn). Để khắc phục điều này, chỉ cần nhấn nút bật / tắt nguồn lớn: một chu kỳ nguồn sẽ đặt lại mọi thứ trong ứng dụng để đèn hoạt động như mong đợi.

Câu chuyện ngắn: bất cứ khi nào bạn khởi động đèn, chỉ cần thực hiện một chu kỳ nguồn của nút nguồn trong ứng dụng để thiết lập lại mọi thứ. Chỉ làm điều này nếu bạn đã từng rút phích cắm của đèn hoặc sử dụng ứng dụng khi đèn không được cắm vào (hoặc nếu đèn đột nhiên không phản hồi đúng cách ngay cả khi bạn cho nó thời gian để phản ứng, có thể nếu wifi của bạn ngắt kết nối ngẫu nhiên)

Bước 10: Hoàn thành

Và đó là một bọc! Đó là một món quà tuyệt vời cho bất kỳ ai mà bạn có mối quan hệ lâu dài: làm một món quà cho cha mẹ bạn trước khi bạn rời trường đại học hoặc chuyển đến một tiểu bang khác cho công việc mới của bạn, làm một món quà cho ông bà của bạn khi bạn có ít thời gian thăm họ, làm một để duy trì công ty SO của bạn hoạt động, v.v.

Dưới đây là một số biến thể bổ sung mà bạn có thể làm:

  • Bạn có thể nhấp nháy qua nhiều màu (đỏ cam vàng) thay vì nhấp nháy mờ nhạt như tôi có

    • Có kiểm soát màu sắc cho nhiều đèn flash đó (màu đỏ thứ nhất, màu cam thứ hai, màu vàng thứ ba) thay vì chỉ nhấp nháy các phiên bản sáng và mờ của cùng một bóng râm
    • Để làm được điều đó, bạn sẽ thêm một bản đồ màu riêng biệt hoặc tập hợp các thanh trượt để kiểm soát các màu mà mỗi hoạt ảnh chuyển động qua (vì vậy thay vì luôn là màu đỏ cam vàng, hãy có thể điều khiển riêng để bạn có thể có màu hồng trắng, xanh lục tím xanh, v.v.)
  • Có những kiểu hoạt hình khác mà bạn có thể thử trong mã ví dụ của Adafruit Neopixel strandtest, như tùy chọn TheaterChase.
  • Nếu bạn muốn thêm bảng ngắt loa, bạn cũng có thể có tùy chọn âm nhạc cho đèn của mình. Có thể để họ chơi những bản nhạc khác nhau cho những dịp khác nhau. Hoặc thay vì âm nhạc, tin nhắn ghi âm giọng nói.

Hãy vui vẻ tùy chỉnh các loại đèn! Vui lòng nhắn tin cho tôi nếu có câu hỏi hoặc nhận xét.

Đề xuất: