The idea of the project is to make a lamp that the user can physically interact with in order to control its features.
Depending on the surface the lamp is leaning on, the features differ.
Projects I got inspired from.
I decided to make the prototype 3D printed, In order to achieve good quality and finish that can be close to the final outcome.
So, I started by scaling down the design and doing quick 3D models as drafts in order to simulate the printing on Ultimaker Cura until I reach the desired time and weight, then I started to 3D model the printable version with the correct measurments.
After saving the file and creating new component I started a sketch to draw the whole shape using polygon tool.
For the thickness of the base, I created a 5 mm offset (inward direction) Then created a line to divide the base from the enclosure.
Then extruded the curves by 50 mm.
Then started a new sketch to modify the upper part.
Then chose this side of the object in order to be projected when drawing the curves, then made a 5mm offset.
I drew a rectangle in order to split the upper part from the base so I can modify them separately.
Split body tool
I used Shell tool to cut the enclosure and create opening for light to emit.
Then repeated the previous steps to extrude cut the upper part to create a detachable lid for the enclosure..
Created new component (lid) then started a sketch to draw the tabs for the slots in the detachable lid.
Extrude
New sketch for the lid.
project tool, to use these points as guides to draw the lid and its slots.
Extrude.
After filleting the edges, drew a circle to cut and opening for the power chord.
To make more space for the enclosure I drew a rectangle to extrude cut the unnecessary part.
Used sweep tool instead have a horizontal extrusion.
then added appearance with the desired material.
rendered view.
I exported the two parts of the design separately by saving each as mesh (stl format).
Then opened the exported stl files in Ultimaker Cura
Profile 0.3 mm
Layer Height: 0.3 mm
Infill 10%
Support needed for the enclosure part.
White PLA
After pre-heating and loading the desired color
Skirt
First layer
Lid
After consulting with the lab specialist, we decided that it's more convenient to use tree support - touching bulitplate.
Will be easier to remove.
First layer
After 1 hour
Components used:
Arduino Nano
NeoPixel Strip
Mercury tilt switch
5V Power Supply
Jumper wires
Mini breadboard
DC power Jack Socket
Wiring:
Neopixel (OUTPUT):
4VDC -> 5V
DIN -> PIN 5
GND -> GND
Tilt switch (INPUT):
-VE -> GND
MIDDLE -> 5V
S -> PIN 4
Wiring diagram:
5V Power Supply
It has the needed operating voltage for the components which is 5V.
Considering the usage of the product and that it's mostly will be used will stationed in one spot, it's more convenient to use the 5V power adapter.
// include the output library
#include <Adafruit_NeoPixel.h>
// the data pin for the NeoPixels
int neoPixelPin = 5;
// How many NeoPixels we will be using, charge accordingly
int numPixels = 8;
// Instatiate the NeoPixel from the ibrary
Adafruit_NeoPixel strip = Adafruit_NeoPixel(numPixels, neoPixelPin, NEO_GRB + NEO_KHZ800);
// Global RGB values, change to suit your needs, I made it white.
int r = 255;
int g = 255;
int b = 255;
// pin for input
int switchPin = 4;
void setup() {
strip.begin(); // initialize the strip
strip.show(); // make sure it is visible
strip.clear(); // Initialize all pixels to 'off'
}
void loop() {
// Check to see if the button is down
if( digitalRead(switchPin) == true ) {
// if value is 0,0,0, then the pixel will be "off"
for( int i = 0; i < numPixels; i++ )
strip.setPixelColor(i, 0, 0, 0 );
}
else {
Serial.println("off");
for( int i = 0; i < numPixels; i++ )
strip.setPixelColor(i, r, g, b);
}
strip.show();
// delay for the purposes of debouncing the switch
delay(10);
}
Sweep
To extrude a surface to a specific direction it's better to use Sweep tool.
By drawing a line in the desired direction of then choosing it as a path for the extruded shape.
Extrude.
I'd pay more attention to the mounted components before fabricating. and make sure that each has enough space for the wires.
And will increase the printing infill or add a layer of opaque material as an interior finish.