Mục lục:

Đèn sân tương tác, đèn lối đi: 3 bước
Đèn sân tương tác, đèn lối đi: 3 bước

Video: Đèn sân tương tác, đèn lối đi: 3 bước

Video: Đèn sân tương tác, đèn lối đi: 3 bước
Video: THUYỀN QUYÊN | DIỆU KIÊN - OFFICIAL MV 2024, Tháng mười hai
Anonim
Đèn sân tương tác, Đèn lối đi
Đèn sân tương tác, Đèn lối đi
Đèn sân tương tác, Đèn lối đi
Đèn sân tương tác, Đèn lối đi

Tôi muốn xây dựng một số loại đèn sân tương tác cho sân sau của mình. Ý tưởng là, khi ai đó đi theo một hướng, nó sẽ tạo ra một hình ảnh động theo hướng bạn đang đi. Tôi đã bắt đầu với đèn năng lượng mặt trời $ 1,00 của Dollar General

Bước 1: Gut đèn Solor

Gut the Solor Lights
Gut the Solor Lights
Gut the Solor Lights
Gut the Solor Lights
Gut the Solor Lights
Gut the Solor Lights

Bước đầu tiên là cắt ruột đèn để dọn đường cho nhiều thứ vui nhộn hơn. Tôi bắt đầu bằng cách cắt bỏ đèn led và pin ban đầu. Hãy nhớ lưu các bộ phận này vì chúng sẽ hữu ích trong một dự án khác, tôi cũng đã loại bỏ mái vòm chrome ở dưới cùng của đèn năng lượng mặt trời và dán nó lên trên cùng như trong ảnh

Bước 2: Cài đặt đèn tốt hơn

Cài đặt đèn tốt hơn
Cài đặt đèn tốt hơn
Cài đặt đèn tốt hơn
Cài đặt đèn tốt hơn
Cài đặt đèn tốt hơn
Cài đặt đèn tốt hơn

đối với đèn led tôi đã sử dụng ws2811b chống thấm nước, có thể tìm thấy ở đây

www.ebay.com/itm/50-X-12mm-LED-Module-RGB-…

Ban đầu tôi dự định đặt các cảm biến PIR bên trong đèn năng lượng mặt trời. nhưng điều này được chứng minh là có vấn đề vì cảm biến về cơ bản không thể nhìn thấy qua lớp nhựa. nó phải có một số loại lọc tia cực tím phù hợp. vì vậy tôi đã chọn một cái gì đó giống như thế này hơn

www.thingiverse.com/thing:2590216

Bước 3: Mã hóa

nếu bạn muốn làm cho đèn không sử dụng cảm biến hoặc chỉ chạy mọi lúc, chỉ cần tìm nơi được nhận xét là "thay đổi trạng thái cờ" và đặt nó thành ether 1 hoặc 0, tôi sẽ thêm nhiều bức ảnh hơn khi tôi hoàn thành việc này cho chính mình. Nó vẫn đang trong quá trình hoàn thiện nhưng tôi nghĩ nó quá gọn nên không thể chia sẻ ngay được. cảm ơn vì đã tìm kiếm

void setup () {

// đặt mã thiết lập của bạn ở đây, để chạy một lần: FastLED.addLeds (leds, NUM_LEDS); Serial.begin (9600); pinMode (buttonPin1, INPUT); pinMode (buttonPin2, INPUT); }

void loop () {

Serial.println (FlagState);

if (FlagState == 0) {ForwardLeds (); } if (FlagState == 1) {RevLeds (); } if (FlagState == 2) {Đang chờ (); }}

void ForwardLeds () {

FirstLed = -1; LastLed = 16; for (int i = 0; i <8; i ++) {LastLed--; FirstLed ++; leds [LastLed] = CRGB:: Trắng; leds [FirstLed] = CRGB:: Trắng; chậm trễ (750); FastLED.show (); Serial.print ("White Pass"); Serial.print (i); Serial.println ("trong tổng số 8"); } FirstLed = -1; LastLed = 16; for (int i = 0; i <8; i ++) {LastLed--; FirstLed ++; leds [LastLed] = CRGB:: Blue; leds [FirstLed] = CRGB:: Blue; chậm trễ (250); FastLED.show (); Serial.print ("Blue Pass"); Serial.print (i); Serial.println ("trong tổng số 8"); } FirstLed = -1; LastLed = 16; for (int i = 0; i <8; i ++) {LastLed--; FirstLed ++; đã dẫn [LastLed] = CRGB:: Màu tím; led [FirstLed] = CRGB:: Tím; chậm trễ (250); FastLED.show (); Serial.print ("Red Pass"); Serial.print (i); Serial.println ("trong tổng số 8"); } FirstLed = -1; LastLed = 16; for (int i = 0; i <8; i ++) {LastLed--; FirstLed ++; leds [LastLed] = CRGB:: Đen; leds [FirstLed] = CRGB:: Đen; chậm trễ (250); FastLED.show (); Serial.print ("Đang tắt đèn led"); Serial.print (i); Serial.println ("trong tổng số 8"); } FlagState = 2; // thay đổi trạng thái cờ} void RevLeds () {Serial.println ("in reverse"); FirstLed = 8; LastLed = 7; for (int i = 0; i <8; i ++) {LastLed ++; FirstLed--; leds [LastLed] = CRGB:: Trắng; leds [FirstLed] = CRGB:: Trắng; chậm trễ (750); FastLED.show (); Serial.print ("White pass"); Serial.print (i); Serial.println ("trong tổng số 8"); } FirstLed = 8; LastLed = 7; for (int i = 0; i <8; i ++) {LastLed ++; FirstLed--; leds [LastLed] = CRGB:: Blue; leds [FirstLed] = CRGB:: Blue; chậm trễ (250); FastLED.show (); Serial.print ("Blue pass"); Serial.print (i); Serial.println ("trong tổng số 8"); } FirstLed = 8; LastLed = 7; for (int i = 0; i <8; i ++) {LastLed ++; FirstLed--; leds [LastLed] = CRGB:: Màu tím; leds [FirstLed] = CRGB:: Màu tím; chậm trễ (250); FastLED.show (); Serial.print ("Red pass"); Serial.print (i); Serial.println ("trong tổng số 8"); }

FirstLed = 8;

LastLed = 7; for (int i = 0; i <8; i ++) {LastLed ++; FirstLed--; leds [LastLed] = CRGB:: Đen; leds [FirstLed] = CRGB:: Đen; chậm trễ (250); FastLED.show (); Serial.print ("Đang tắt Led"); Serial.print (i); Serial.println ("trong tổng số 8"); } FlagState = 2; // thay đổi trạng thái cờ} void Waiting () {buttonState1 = digitalRead (buttonPin1); buttonState2 = digitalRead (buttonPin2); if (buttonState1 == HIGH) {Serial.println ("kích hoạt chuyển tiếp"); FlagState = 0; } else if (buttonState2 == HIGH) {Serial.println ("Đã kích hoạt doanh thu"); FlagState = 1; } Serial.println ("Vòng lặp chờ xong"); }

Đề xuất: