In the Moire Kinetic Project we will be coding and laser cutting to create an RGB LED rotating moire sculpture.
These are the constraints of our project. This tells us what we have to do in order to be successful while doing this project.
These are benchmarks that we complete to stay on track during this difficult project.
I used the laser cutter to cut my name out onto cardboard.
When doing the RGB LED we had t upload the codes to our arduino and correctly wire the wires in order to get the correct pattern of light colors, red, green, blue.
I used inkscape to design my pumpkin, I next used the laser cutter to print my design, I then assembled my pumpkin.
I coded to make my servo motor move left to right and the servo motor will be used for my moire sculpture rotations.
In this Benchmark I created a mount for my servo on inkscape and I then laser cut the design onto cardboard.
In this benchmark I built a Gear box where the parent gear moves at twice the speed of the child gear.
In this benchmark I built a gear box designed for one of the child gears to move in the same direction
In this benchmark I had to make two servos function and one LED controlled by the same Arduino.
In this benchmark I made a gear box that would be able to rotate 2 disks one shaft with one gear that controls each disk.
After sketching a moire I had to transfer and complete it on Inkscape and I will laser cut it and use it for my prototype and final moire.
These would be transferred into CAD and used for my final moire and prototype.
In this benchmark, the moires we created in Inkscape are meant to be laser cut onto cardboard. The cardboard moires will be used for our prototypes. The laser cutter is under technical difficulty right now and Ms. White will trouble shoot the software later.
In this benchmark I printed out my moires that I designed and Inkscape. I also printed out the rest of the pieces that are required to complete my prototype.
I used this file in solidworks to help me assemble my moire prototype sculpture. I moved around the moire in solidworks to know where things belong in the sculpture.
With this code, I controlled two servos and one LED to create my moire sculpture. One servo was delayed while the other started a few seconds after. The servos are what made the gearbox functional.
Servo myservo1;
Servo myservo2;
int redPin = 11;
int greenPin = 10;
int bluePin = 9;
//uncomment this line if using a Common Anode LED
#define COMMON_ANODE
void setup()
{
myservo1.attach(8);
myservo1.write(90); // set servo to mid-point
myservo2.attach(7);
myservo2.write(90); // set servo to mid-point
pinMode(redPin, OUTPUT);
pinMode(greenPin, OUTPUT);
pinMode(bluePin, OUTPUT);
}
void loop() {
myservo1.write(0); // set servo to mid-point
delay(1000);
myservo2.write(0); // set servo to mid-point
delay(1000);
setColor(255, 0, 0); // red
delay(1000);
setColor(0, 255, 0); // green
delay(1000);
setColor(0, 0, 255); // blue
delay(1000);
}
void setColor(int red, int green, int blue)
{
#ifdef COMMON_ANODE
red = 255 - red;
green = 255 - green;
blue = 255 - blue;
#endif
analogWrite(redPin, red);
analogWrite(greenPin, green);
analogWrite(bluePin, blue);
}
The purpose of this functional prototype evaluates what needs to be improved and to test the codes we will use for the final product. The cardboard was easily broken and my moire began to crumble and fall apart. With the final materials, I believe that my sculpture will be way more stable. If I could remove pieces and get a closer look into the sculpture on solid works, it would have been easier to assemble and the sculpture may be better without the front acrylic like in the SolidWorks file. I believe that I should make the stars and lines in my moire thicker to make it more stable.
I installed my servos by screwing the ends into the acrylic. The servos will be used to help turn my gears and rotate my moire.
These are my modified moire's for the final sculpture. In my prototype, my moires were too thin, so I modified my second moire's lines to be wider.
I installed my arduino onto my middle acrylic to ensure that it would be stable and to make sure it'll be completely attached to my sculpture.
I assembled all three layers of my kinetic sculpture, which will help it function correctly.
My two servos will cause the moires to spin. Each moire will spin independently due to the gears and how I code my moires to move.
I coded my LEDs to go RGB. I made all of them function through a parallel circuit.
#include <Servo.h>
Servo myservo1;
Servo myservo2;
int redPin = 11;
int greenPin = 10;
int bluePin = 9;
//uncomment this line if using a Common Anode LED
#define COMMON_ANODE
void setup()
{
myservo1.attach(8);
myservo1.write(90); // set servo to mid-point
myservo2.attach(7);
myservo2.write(90); // set servo to mid-point
pinMode(redPin, OUTPUT);
pinMode(greenPin, OUTPUT);
pinMode(bluePin, OUTPUT);
}
void loop() {
myservo1.write(0); // set servo to mid-point
delay(1000);
myservo2.write(0); // set servo to mid-point
delay(1000);
setColor(255, 255, 255); // yellow
delay(200);
setColor(235, 235, 235); // yellow
delay(200);
setColor(215, 215, 215); // yellow
delay(200);
setColor(195, 195, 195); // yellow
delay(200);
setColor(175, 175, 175); // yellow
delay(200);
setColor(155, 155, 155); // yellow
delay(200);
setColor(135, 135, 135); // yellow
delay(200);
setColor(115, 115, 115); // yellow
delay(200);
setColor(95, 95, 95); // yellow
delay(200);
setColor(75, 75, 75); // yellow
delay(200);
setColor(255, 255, 255); // yellow
delay(200);
setColor(35, 35, 35); // yellow
delay(200);
setColor(15, 15, 15); // yellow
delay(200);
setColor(0, 0, 0); // yellow
delay(1000);
myservo1.write(180); // set servo to mid-point
delay(1000);
myservo2.write(0); // set servo to mid-point
delay(1000);
setColor(255, 0, 255); // red
delay(1000);
setColor(0, 0, 255); // green
delay(1000);
setColor(0, 0, 255); // blue
delay(1000);
}
void setColor(int red, int green, int blue)
{
#ifdef COMMON_ANODE
red = 255 - red;
green = 255 - green;
blue = 255 - blue;
#endif
analogWrite(redPin, red);
analogWrite(greenPin, green);
analogWrite(bluePin, blue);
}
This is the final code for my kinetic sculpture and it's what will cause it to function.
I coded my moire kinetic sculpture to have three distinct light patterns and three distinct servo motions.