• Models
  • Contests
  • Slicer
  • Login
  • Start Here
    thingiverse-iconprintables-iconcults3d-iconmakerworld-iconmyminifactory-icon

    3D GO

    3D ModelsContestsCollectionsSaved ModelsOn a mobile device?

3D GO

Privacy Policy
Christmas Shadow Box Display 3D Printer File Image 1
Christmas Shadow Box Display 3D Printer File Image 2
Christmas Shadow Box Display 3D Printer File Image 3
Christmas Shadow Box Display 3D Printer File Image 4
Christmas Shadow Box Display 3D Printer File Image 5
Christmas Shadow Box Display 3D Printer File Thumbnail 1
Christmas Shadow Box Display 3D Printer File Thumbnail 2
Christmas Shadow Box Display 3D Printer File Thumbnail 3
Christmas Shadow Box Display 3D Printer File Thumbnail 4
Christmas Shadow Box Display 3D Printer File Thumbnail 5

Christmas Shadow Box Display

Dsk001 avatarDsk001

December 9, 2020

printables-icon
DescriptionCommentsTags

Description

I was in the holiday mood and wanted to make a decoration for my home so I came up with this. I made the electronics box big enough any electronics you wish to use to light up the display should fix. I personally used a NeoPixel LED Strip with an Arduino Nano and a 9v battery. All the electronics actually came from the Alien3D Nov subscription box.

Assembly:

Video of lights Fading:

Print instructions

Print all the layers flat, and the electronics lid. Print the box standing up. The front cover is printed with the top upside down on the bed. None of the parts should need supports.

I highly recommend to test your electronics before installing, and install the lights you will use first. There is am opening on the bottom to put the wires through to the electronics box.

I have included the code I used to make my lights fade between colors at the bottom of the post or you can visit:
https://adrianotiger.github.io/Neopixel-Effect-Generator/
and then you can create your own light effects.

include <Adafruit_NeoPixel.h>

class Strip
{
public:
uint8_t effect;
uint8_t effects;
uint16_t effStep;
unsigned long effStart;
Adafruit_NeoPixel strip;
Strip(uint16_t leds, uint8_t pin, uint8_t toteffects, uint16_t striptype) : strip(leds, pin, striptype) {
effect = -1;
effects = toteffects;
Reset();
}
void Reset(){
effStep = 0;
effect = (effect + 1) % effects;
effStart = millis();
}
};

struct Loop
{
uint8_t currentChild;
uint8_t childs;
bool timeBased;
uint16_t cycles;
uint16_t currentTime;
Loop(uint8_t totchilds, bool timebased, uint16_t tottime) {currentTime=0;currentChild=0;childs=totchilds;timeBased=timebased;cycles=tottime;}
};

Strip strip_0(30, 10, 30, NEO_GRB + NEO_KHZ800);
struct Loop strip0loop0(2, false, 1);

//[GLOBAL_VARIABLES]

void setup() {

//Your setup here:

strip_0.strip.begin();
}

void loop() {

//Your code here:

strips_loop();
}

void strips_loop() {
if(strip0_loop0() & 0x01)
strip_0.strip.show();
}

uint8_t strip0_loop0() {
uint8_t ret = 0x00;
switch(strip0loop0.currentChild) {
case 0:
ret = strip0_loop0_eff0();break;
case 1:
ret = strip0_loop0_eff1();break;
}
if(ret & 0x02) {
ret &= 0xfd;
if(strip0loop0.currentChild + 1 >= strip0loop0.childs) {
strip0loop0.currentChild = 0;
if(++strip0loop0.currentTime >= strip0loop0.cycles) {strip0loop0.currentTime = 0; ret |= 0x02;}
}
else {
strip0loop0.currentChild++;
}
};
return ret;
}

uint8_t strip0_loop0_eff0() {
// Strip ID: 0 - Effect: Fade - LEDS: 30
// Steps: 3000 - Delay: 1
// Colors: 2 (0.0.247, 255.255.255)
// Options: duration=3000, every=1,
if(millis() - strip_0.effStart < 1 (strip_0.effStep)) return 0x00;
uint8_t r,g,b;
double e;
e = (strip_0.effStep
1) / (double)3000;
r = ( e ) 255 + 0 ( 1.0 - e );
g = ( e ) 255 + 0 ( 1.0 - e );
b = ( e ) 255 + 247 ( 1.0 - e );
for(uint16_t j=0;j<30;j++) {
if((j % 1) == 0)
strip_0.strip.setPixelColor(j, r, g, b);
else
strip_0.strip.setPixelColor(j, 0, 0, 0);
}
if(strip_0.effStep >= 3000) {strip_0.Reset(); return 0x03; }
else strip_0.effStep++;
return 0x01;
}

uint8_t strip0_loop0_eff1() {
// Strip ID: 0 - Effect: Fade - LEDS: 30
// Steps: 3000 - Delay: 1
// Colors: 2 (255.255.255, 0.10.255)
// Options: duration=3000, every=1,
if(millis() - strip_0.effStart < 1 (strip_0.effStep)) return 0x00;
uint8_t r,g,b;
double e;
e = (strip_0.effStep
1) / (double)3000;
r = ( e ) 0 + 255 ( 1.0 - e );
g = ( e ) 10 + 255 ( 1.0 - e );
b = ( e ) 255 + 255 ( 1.0 - e );
for(uint16_t j=0;j<30;j++) {
if((j % 1) == 0)
strip_0.strip.setPixelColor(j, r, g, b);
else
strip_0.strip.setPixelColor(j, 0, 0, 0);
}
if(strip_0.effStep >= 3000) {strip_0.Reset(); return 0x03; }
else strip_0.effStep++;
return 0x01;
}

License:

Creative Commons — Attribution

Related Models

Evergreen Tree Christmas Ornament on Card preview image

Evergreen Tree Christmas Ornament on Card

w3ace profile image

w3ace

14,132

Tea Light Toppers Geometric Cover Accents Set - Multiple Designs of Elegant Decor preview image

Tea Light Toppers Geometric Cover Accents Set - Multiple Designs of Elegant Decor

m_collectable profile image

m_collectable

Personalisierbare Weihnachts-Geschenkanhänger preview image

Personalisierbare Weihnachts-Geschenkanhänger

gicko profile image

gicko

150

Porcupick preview image

Porcupick

muzz64 profile image

muzz64

8,375

The Grim Reaper Cookie Cutter and Stamp (one and two piece designs) preview image

The Grim Reaper Cookie Cutter and Stamp (one and two piece designs)

cwlewis11 profile image

cwlewis11

12

Poinsettia Ornament Set – 7 Christmas Designs preview image

Poinsettia Ornament Set – 7 Christmas Designs

Bloomly profile image

Bloomly

11

Butter Pig (Classic) preview image

Butter Pig (Classic)

steveweber314 profile image

steveweber314

7,308

Cute Snail Desk Figurine preview image

Cute Snail Desk Figurine

3DFiguresGalore profile image

3DFiguresGalore

16

7