Hexagon Neopixel/LED Nanoleafs (No Screws or Supports Needed!)
Сведения о модели
- Площадка
Printables
- Цена
- Бесплатно
- Лицензия
- CC-BY-NC
- Можно печатать и изменять для себя с указанием автора; продавать модель и отпечатки нельзя.
- Форматы
- STL
- 34 Лайки
- 190 Загрузки
- 0 Напечатали
- 0 Комментарии
- 1 733 Просмотры
Описание
LEDs or Neopixels can be glued in either horizontally or vertically. I put 2 LED slots and tons of mounting holes for easy assembly and customization. I used Neopixels, an Attiny85, a micro USB cable, and a push button. The code I used to program the ATTINY85 is at the bottom.
Neopixels https://www.amazon.com/
Push button https://www.amazon.com/
Micro USB Cable https://www.amazon.com/
Attiny85 https://www.amazon.com/
Alternatively you can purchase a WS2812B controller (ONLY USE A POWER SUPPLY YOUR LIGHTS ARE RATED FOR!!!)
WS2812B controller https://www.amazon.com/
5V 2Amp Power supply https://www.amazon.com/
Simply print out your hexagons and some connectors. Assemble into desired shape then cover the extra slots with the side cover. String through your LED strip, mount it to the wall with screws or adhesive, add your lens, plug in the power and done!
The code I use is ArduinoIDE and the Adafruit libraries https://www.adafruit.com/
#include <Adafruit_NeoPixel.h> #ifdef __AVR__ #include <avr/power.h> // Required for 16 MHz Adafruit Trinket #endif #define LED_PIN 3
// How many NeoPixels are attached to the Arduino? #define LED_COUNT 49
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(); // Initialize all pixels to 'off' strip.setBrightness(50); // Set BRIGHTNESS to about 1/5 (max = 255) }
void loop() { colorWipe(strip.Color(255, 0, 0), 20); // Red colorWipe(strip.Color(255, 127, 0), 20); // Orange colorWipe(strip.Color(255, 255, 0), 20); // Yellow colorWipe(strip.Color(0, 255, 0), 20); // Green colorWipe(strip.Color(0, 0, 255), 20); // Blue colorWipe(strip.Color(75, 0, 130), 20); // Indigo colorWipe(strip.Color(148, 0, 211), 20); // Violet rainbow(5); rainbow2(5); rainbow3(5); rainbow4(5); colorWipe(strip.Color(148, 0, 211), 20); // Violet colorWipe(strip.Color(75, 0, 130), 20); // Indigo colorWipe(strip.Color(0, 0, 255), 20); // Blue colorWipe(strip.Color(0, 255, 0), 20); // Green colorWipe(strip.Color(255, 255, 0), 20); // Yellow colorWipe(strip.Color(255, 127, 0), 20); // Orange colorWipe(strip.Color(255, 0, 0), 20); // Red }
// Fill the dots one after the other with a color 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() can take a single argument (first pixel hue) or // optionally a few extras: number of rainbow repetitions (default 1), // saturation and value (brightness) (both 0-255, similar to the // ColorHSV() function, default 255), and a true/false flag for whether // to apply gamma correction to provide 'truer' colors (default true). strip.rainbow(firstPixelHue, 1/2); // Above line is equivalent to: // strip.rainbow(firstPixelHue, 1, 255, 255, true); strip.show(); // Update strip with new contents delay(wait); // Pause for a moment } }
void rainbow2(int wait) { for(long firstPixelHue = 0; firstPixelHue < 5*65536; firstPixelHue += 256) { // strip.rainbow() can take a single argument (first pixel hue) or // optionally a few extras: number of rainbow repetitions (default 1), // saturation and value (brightness) (both 0-255, similar to the // ColorHSV() function, default 255), and a true/false flag for whether // to apply gamma correction to provide 'truer' colors (default true). strip.rainbow(firstPixelHue); // Above line is equivalent to: // strip.rainbow(firstPixelHue, 1, 255, 255, true); strip.show(); // Update strip with new contents delay(wait); // Pause for a moment } }
void rainbow3(int wait) { for(long firstPixelHue = 0; firstPixelHue < 5*65536; firstPixelHue += 256) { // strip.rainbow() can take a single argument (first pixel hue) or // optionally a few extras: number of rainbow repetitions (default 1), // saturation and value (brightness) (both 0-255, similar to the // ColorHSV() function, default 255), and a true/false flag for whether // to apply gamma correction to provide 'truer' colors (default true). strip.rainbow(firstPixelHue, 3); // Above line is equivalent to: // strip.rainbow(firstPixelHue, 1, 255, 255, true); strip.show(); // Update strip with new contents delay(wait); // Pause for a moment } }
void rainbow4(int wait) { for(long firstPixelHue = 0; firstPixelHue < 5*65536; firstPixelHue += 256) { // strip.rainbow() can take a single argument (first pixel hue) or // optionally a few extras: number of rainbow repetitions (default 1), // saturation and value (brightness) (both 0-255, similar to the // ColorHSV() function, default 255), and a true/false flag for whether // to apply gamma correction to provide 'truer' colors (default true). strip.rainbow(firstPixelHue, 6); // Above line is equivalent to: // strip.rainbow(firstPixelHue, 1, 255, 255, true); strip.show(); // Update strip with new contents delay(wait); // Pause for a moment } }
Похожие модели
Neopixel Nanoleaf Lights (No screws, No supports needed!)
Neopixel Desk Lamp Display (with removable lens)
Valentine's Day Neopixel/LED Heart
BATMAN NEOPIXEL LED SIGN
Thunderflash Disco Lights for Hercules DJ Controller
Lithophane Lamp
Lithophane Wall Lamp
Flame Lamp
Interactive lamp-I LOVE YOU
Lithophane Lamp
LED F1 Backlit Sign (ARDUINO)
Названия используются только для указания источника результата. Polyzon не аффилирован с перечисленными площадками.






Комментарии