Đài phun nước bàn làm việc Neopixel độc đáo
Một đài phun nước tuyệt vời cho bàn hoặc bàn của bạn như đồ nội thất!
Mô tả
Một đài phun nước để bàn với neopixels!! Phải lắp một số đèn LED vào đó! Biết ý tôi chứ ;) !
!!CẢNH BÁO!!
Dự án này liên quan đến nước và điện, nếu bạn không biết mình đang làm gì ĐỪNG CỐ GẮNG THỰC HIỆN!!
Nói vậy, chúng ta chỉ sử dụng 5v 2-3amp.
TRƯỚC KHI KẾT NỐI!!
Hãy cẩn thận và niêm phong bản in của bạn bằng keo và silicone bất kỳ khoảng trống nào rõ ràng.
Hàn trước 3 đèn LED với dây. Sau đó chèn chúng vào đúng hướng vào các lỗ 3 vào, 4 ra, 5 vào, 6 ra, 7 vào, 8 ra. Giờ đến phần khó. Đặt các đèn LED vào vị trí của chúng và đánh dấu các dây ra khỏi lỗ 2 và 9 nơi bạn sẽ cần thêm các đèn LED tiếp theo. Hàn dây vào 2 đèn LED nữa, nhưng CHỈ ở phía VÀO. Bây giờ bạn có thể kéo dây ra một chút ở các lỗ 2 và 9 để cắt và hàn. Khi tất cả đèn đã được đặt vào vị trí, chúng ta có thể thêm ATTINY85 và bơm. Tôi chỉ cần cắt dây nguồn cho bơm (khoảng 4" từ bơm). Hàn tất cả các dây nguồn lại với nhau và tất cả các dây đất lại với nhau. Nguồn 5V, đất trên GND, và đừng quên hàn dây dữ liệu vào PIN3. Sau khi mọi thứ đã được kết nối, hãy kiểm tra để xác nhận mọi thứ đều tốt. Bây giờ là bước không thể đảo ngược. Không thể quay lại sau đó. Bây giờ hãy làm cho cái này kín nước!! Silicone tất cả các đường dây và che đậy các đèn LED. Khi silicone vẫn còn ướt, thêm tất cả các ống kính LED của bạn. Bây giờ chỉ cần để nó khô trong vài giờ, sau đó bạn sẽ sẵn sàng để thêm đá màu cho tính thẩm mỹ!
Bơm - https://www.amazon.com/
Neopixels - https://www.amazon.com/
Attiny85 - https://www.amazon.com/
Sợi quang - https://www.amazon.com/
#include <Adafruit_NeoPixel.h>
#ifdef __AVR__
#include <avr/power.h>//Cần thiết cho Adafruit Trinket 16 MHz
#endif
#define LED_PIN 3
//Có bao nhiêu NeoPixels được kết nối với Arduino?
#define LED_COUNT 10
Adafruit_NeoPixel strip(LED_COUNT, LED_PIN, NEO_GRB + NEO_KHZ800);
void setup() {
#if defined(__AVR_ATtiny85__) && (F_CPU == 16000000)
clock_prescale_set(clock_div_1);
#endif
strip.begin();
strip.show();//Khởi tạo tất cả các điểm ảnh thành 'tắt'
strip.setBrightness(50);//Đặt ĐỘ SÁNG khoảng 1/5 (tối đa = 255)
}
void loop()
{
colorWipe(strip.Color(255, 0, 0), 100);//Đỏ
colorWipe(strip.Color(255, 127, 0), 100);//Cam
colorWipe(strip.Color(255, 255, 0), 100);//Vàng
colorWipe(strip.Color(0, 255, 0), 100);//Xanh lá cây
colorWipe(strip.Color(0, 0, 255), 100);//Xanh dương
colorWipe(strip.Color(75, 0, 130), 100);//Chàm
colorWipe(strip.Color(148, 0, 211), 100);//Tím
rainbow(20);
rainbow2(20);
rainbow3(20);
rainbow4(20);
colorWipe(strip.Color(148, 0, 211), 100);//Tím
colorWipe(strip.Color(75, 0, 130), 100);//Chàm
colorWipe(strip.Color(0, 0, 255), 100);//Xanh dương
colorWipe(strip.Color(0, 255, 0), 100);//Xanh lá cây
colorWipe(strip.Color(255, 255, 0), 100);//Vàng
colorWipe(strip.Color(255, 127, 0), 100);//Cam
colorWipe(strip.Color(255, 0, 0), 100);//Đỏ
}
//Điền các điểm một sau một với một màu
void colorWipe(uint32_t c, uint8_t wait) {
for(uint16_t i=0; i<strip.numPixels(); i++) {
strip.setPixelColor(i, c);
strip.show();
delay( wait);
}
}
void rainbow(int wait) {
for(long firstPixelHue = 0; firstPixelHue < 5*65536; firstPixelHue += 256) {
//strip.rainbow() có thể nhận một đối số duy nhất (màu sắc của pixel đầu tiên) hoặc
//tùy chọn một vài tham số bổ sung: số lần lặp lại cầu vồng (mặc định 1),
//độ bão hòa và giá trị (độ sáng) (cả hai từ 0-255, tương tự như
//hàm ColorHSV(), mặc định 255), và một cờ true/false cho việc
//áp dụng hiệu chỉnh gamma để cung cấp màu sắc 'chân thực' hơn (mặc định true).
strip.rainbow(firstPixelHue);
//Dòng trên tương đương với:
//strip.rainbow(firstPixelHue, 1, 255, 255, true);
strip.show();//Cập nhật dải với nội dung mới
delay(wait); //Tạm dừng một chút
}
}
void rainbow2(int wait) {
for(long firstPixelHue = 0; firstPixelHue < 5*65536; firstPixelHue += 256) {
//strip.rainbow() có thể nhận một đối số duy nhất (màu sắc của pixel đầu tiên) hoặc
//tùy chọn một vài tham số bổ sung: số lần lặp lại cầu vồng (mặc định 1),
//độ bão hòa và giá trị (độ sáng) (cả hai từ 0-255, tương tự như
//hàm ColorHSV(), mặc định 255), và một cờ true/false cho việc
//áp dụng hiệu chỉnh gamma để cung cấp màu sắc 'chân thực' hơn (mặc định true).
strip.rainbow(firstPixelHue);
//Dòng trên tương đương với:
//strip.rainbow(firstPixelHue, 1, 255, 255, true);
strip.show();//Cập nhật dải với nội dung mới
delay(wait); //Tạm dừng một chút
}
}
void rainbow3(int wait) {
for(long firstPixelHue = 0; firstPixelHue < 5*65536; firstPixelHue += 256) {
//strip.rainbow() có thể nhận một đối số duy nhất (màu sắc pixel đầu tiên) hoặc
//tùy chọn một vài tham số bổ sung: số lần lặp lại cầu vồng (mặc định 1),
//độ bão hòa và giá trị (độ sáng) (cả hai từ 0-255, tương tự như
//hàm ColorHSV(), mặc định 255), và một cờ true/false cho việc
//áp dụng sửa gamma để cung cấp màu sắc 'thật' hơn (mặc định true).
strip.rainbow(firstPixelHue, 3);
//Dòng trên tương đương với:
//strip.rainbow(firstPixelHue, 1, 255, 255, true);
strip.show();//Cập nhật dải đèn với nội dung mới
delay(wait); //Tạm dừng một chút
}
}
void rainbow4(int wait) {
for(long firstPixelHue = 0; firstPixelHue < 5*65536; firstPixelHue += 256) {
//strip.rainbow() có thể nhận một đối số duy nhất (màu sắc pixel đầu tiên) hoặc
//tùy chọn một vài tham số bổ sung: số lần lặp lại cầu vồng (mặc định 1),
//độ bão hòa và giá trị (độ sáng) (cả hai từ 0-255, tương tự như
//hàm ColorHSV(), mặc định 255), và một cờ true/false cho việc
//áp dụng sửa gamma để cung cấp màu sắc 'thật' hơn (mặc định true).
strip.rainbow(firstPixelHue, 6);
//Dòng trên tương đương với:
//strip.rainbow(firstPixelHue, 1, 255, 255, true);
strip.show();//Cập nhật dải đèn với nội dung mới
delay(wait); //Tạm dừng một chút
}
}
Giấy phép
Tác phẩm này được cấp phép theo
Creative Commons — Attribution — Noncommercial — Share AlikeCC-BY-NC-SA
File mô hình
Chưa có bản in nào được khoe. Hãy là người đầu tiên!
Chưa có bình luận nào. Hãy là người đầu tiên!