Mục lục:

Cây thông Noel NeoPixel được điều khiển bằng Bluetooth: 5 bước
Cây thông Noel NeoPixel được điều khiển bằng Bluetooth: 5 bước

Video: Cây thông Noel NeoPixel được điều khiển bằng Bluetooth: 5 bước

Video: Cây thông Noel NeoPixel được điều khiển bằng Bluetooth: 5 bước
Video: ESP32 - Micropython - Bài 17.1: Web điều khiển LED RGB WS2821B 2024, Tháng bảy
Anonim

Bạn đã tự hỏi làm thế nào để thêm IoT (Internet of Things) vào cây thông Noel của mình năm nay? Chà, điều đó hoàn toàn có thể xảy ra! Cá nhân tôi gọi dự án này là "ArduXmas", và nó bao gồm một dải đèn led RGB NeoPixel được điều khiển bởi bảng Arduino qua Bluetooth. Đây là một dự án thân thiện với người mới bắt đầu và là phần giới thiệu tuyệt vời về Arduino e IoT, vì vậy hãy lấy các công cụ của bạn và bắt tay vào thực hiện!

Quân nhu:

Đối với dự án này, bạn sẽ cần:

  • Arduino (Tôi đã sử dụng Nano, nhưng bất kỳ phiên bản nào cũng sẽ hoạt động, chỉ cần đảm bảo cung cấp đầy đủ năng lượng cho bo mạch của bạn)
  • Dải đèn LED NeoPixel WS2812b
  • Mô-đun Bluetooth HC-06
  • Nguồn điện 5V 2A DC
  • Đầu nối / giắc cắm nguồn DC thùng
  • Tấm phenolite để giữ các thành phần
  • Trường hợp bao vây
  • Điện thoại thông minh Android đã cài đặt ứng dụng Blynk

Bước 1: Mạch

Mạch
Mạch
Mạch
Mạch
Mạch
Mạch

Các thiết bị điện tử của dự án này rất đơn giản. Arduino, mô-đun Bluetooth và dải đèn LED được cấp nguồn bởi nguồn 5V (đảm bảo tất cả các GND được kết nối với nhau). Bo mạch Arduino được cấp nguồn qua cổng 5V (CHÚ Ý: Việc cấp nguồn cho Arduino bằng cổng 5V có thể làm hỏng bo mạch của bạn nếu bạn không cẩn thận. Hãy đảm bảo rằng bạn đang sử dụng nguồn điện được điều chỉnh 5V và không kết hợp nguồn + 5V và dây GND). Dòng điện được cung cấp bởi bộ nguồn của bạn sẽ phụ thuộc vào chiều dài của dải đèn LED. Tôi đang sử dụng 180 đèn LED với 40% độ sáng đầy đủ và 2 ampe đang hoạt động tốt, nhưng luôn đảm bảo cung cấp dòng điện cần thiết (HÃY NHỚ: Mỗi đèn LED RGB sử dụng khoảng 20mA + 20mA + 20mA = 60mA).

Mô-đun Bluetooth HC-06 được kết nối với chân 0 và 1 (RX, TX) của Arduino, chỉ cần nhớ rằng để sử dụng mô-đun này, chân RX của HC-06 được kết nối với TX của Arduino và chân TX của HC-06 là được kết nối với RX của Arduino. Đây là các chân kết nối nối tiếp của bo mạch và được sử dụng để nhận lệnh từ điện thoại thông minh. Tôi đã thêm một công tắc để dễ dàng bật / tắt mô-đun, do đó tôi có thể tắt nó khi lập trình bảng, nếu không máy tính không thể giao tiếp với Arduino.

Trong mạch, chân ra dữ liệu đi đến dải LED là chân kỹ thuật số 2, nhưng bạn có thể chọn bất kỳ chân PWM nào và thay đổi nó phù hợp trong mã (NHỚ: Các dải LED của NeoPixel có hướng cho tín hiệu dữ liệu. Luôn tìm kiếm biểu tượng mũi tên trong dải của bạn).

Để tạo các kết nối, tôi đang sử dụng một tấm phenolite có lỗ để dễ hàn và tháo ra vào năm sau.

Bước 2: Bao vây

Bao vây
Bao vây
Bao vây
Bao vây
Bao vây
Bao vây

Đối với phần vỏ, tôi chỉ đang sử dụng hộp cung cấp điện của một máy tính xách tay cũ vừa vặn với các thành phần. Cố định mọi thứ bằng keo nóng và để lại các lỗ cho cổng USB của Arduino, công tắc HC-06, đầu nối DC và đầu nối dải LED.

Bước 3: Ứng dụng Blynk

Ứng dụng Blynk
Ứng dụng Blynk
Ứng dụng Blynk
Ứng dụng Blynk
Ứng dụng Blynk
Ứng dụng Blynk

Để giao tiếp với Arduino, chúng tôi đang sử dụng ứng dụng Blynk. Với Blynk, bạn có thể dễ dàng tạo giao diện để gửi dữ liệu từ điện thoại thông minh đến phần cứng hoặc ngược lại, bạn cũng có thể điều khiển trực tiếp các cổng của bộ vi điều khiển mà không cần thay đổi một dòng mã!

KHUYẾN CÁO: Rất tiếc, ứng dụng này sẽ chỉ hoạt động cho điện thoại thông minh Android vì tính năng Bluetooth vẫn đang trong giai đoạn Beta và chưa có sẵn cho IOS, điều này cũng có nghĩa là sẽ không thể xuất dự án dưới dạng ứng dụng độc lập.

Thiết lập ứng dụng của bạn để nhận mã thông báo xác thực cho dự án của bạn trong hộp thư đến của bạn (xác thực này sau này sẽ cần đến mã của Arduino). Trang web của Blynk có hướng dẫn từng bước tuyệt vời về điều này, hãy xem:

Đối với dự án này, tôi đang sử dụng hai nút để bật 2 hoạt ảnh ánh sáng được mã hóa trước; một thành phần RGB để đặt màu của dải LED; một thanh trượt để điều khiển độ sáng và một thành phần bluetooth để kết nối với Arduino. Kiểm tra các hình ảnh để xem từng thành phần được cấu hình như thế nào. Hãy chú ý đến các chân được sử dụng cho dự án này vì chúng tôi đang sử dụng Ghim ảo của Blynk, đây là một tính năng tuyệt vời cho phép gửi dữ liệu từ ứng dụng đến phần cứng. Để biết thêm thông tin về Ghim ảo:

Bước 4: Mã Arduino

Mã Arduino
Mã Arduino

Đã đến lúc hoàn thành một số mã! Tệp tôi cung cấp có cấu trúc cơ bản để chạy dự án, nhưng bạn có thể thay đổi nó theo ý muốn. Tuy nhiên, để nó hoạt động bình thường, bạn cần thay thế ký tự auth bằng mã thông báo bạn nhận được trong hộp thư đến của mình. Ngoài ra, hãy nhớ thay đổi các biến LED_PIN và LED_COUNT theo thiết lập của bạn.

Hoạt động của đèn LED được quy định bởi biến hoạt ảnh thay đổi khi ứng dụng nhận được yêu cầu. Bạn có thể thêm nhiều khả năng cho hoạt ảnh tùy thích, chỉ cần thêm chức năng của bạn vào cấu trúc chuyển đổi trong hàm toggleAnimation () và chỉ định đọc Ghim ảo tương ứng ở đầu mã.

Hoạt ảnh chạy trong vòng lặp () được gắn với một bộ đếm thời gian chạy trong khoảng thời gian 100ms. Điều này là cần thiết và tôi không khuyên bạn nên thay đổi nó, vì nó can thiệp vào lệnh Blynk.run () và kết nối bị tắt nếu thư viện Blynk phát hiện quá nhiều yêu cầu trong một khoảng thời gian ngắn.

Đề xuất: