This is the brief of the project. The brief is a quick description of everything that project covers. In other words, it is some of the background info on the project.
These are the constraints of the project. Constraints are like the guidelines/ everything needed to complete the project.
These are our benchmarks for the project to make sure that we have everything needed for our end product. It lets us know what should be completed step by step .
Our first benchmark we had to make a gear box that had the parent gear (my small gear) moving twice as fast as my child gear. To show this I marked a leg on the gears and rotated the parent gear 2 full rotations.
The next task was to get two gears to rotate in the same direction. To do that I had to add on another gear to the other side of my parent gear as shown in the video.
We had to upload a code to the Arduino Uno and use the wires given to make the light flash in different colors. To upload the code I had to use the Arduino web editor.
The task was to get the servo moving. To get the servo moving I had to create and upload the right code so it would move left and right.
The task was to get both of the servos given, to us moving at the same time. Also when we get the servos moving, we had to get the LED to flash as well.
The task was to make a pumpkin laser cut out using the Inkscape platform. First I had to make the pumpkin shape using multiple shapes off of Inkscape and put them together into the image that was lasered out onto the cardboard.
The assignment was to use the laser cutter to cut out my name. I programmed the laser and made the shape that it cut out and lastly made it print my name into the cardboard.
This is the first design of my moire for my project. The triangles are pointed upward for this design.
This is my second moire design. The triangles are pointed down to compliment the triangles pointed up.
This is the pumkin LED benchmark for the project. I had to use the laser cutter to cut out the pumpkin and then use the arduino for the LED to get the right code for the lights. The task was to get the right code for the LED to shine orange, red, and yellow .
This is a prototype to the end product of my first moire design. The cut out took only about 5 minutes.
This is my second prototype of my end product for the moire design. This is my favorite of the two.
This is my moire design on Inkscape (CAD). Both designs took my full energy and attention in class to complete. There are multiple steps that must be taken for this end result.
Thee task was to get two cardboard disks to rotate independently on one shaft. The task took a long time but using the skills I used on earlier assignments, I was able to knock this out.
These are all the parts needed to make the prototype of my moire. I used Inkscape files given by the teacher to complete the task. The hardest part was finding all the right cardboard pieces.
These are the 3 servo mounts that will be used for my prototype. I used the laser cutter which didn't take much time for these cut outs. Now I'm a little closer to the end of this project.
This is the solidworks version of our final project. The solidworks file was uploaded into solidworks for us to reverse engineer our prototype.
Coding is a big part of programming anything in this project. Coding is the foundation of anything we engineer in this class. Using the code above, I made my 2 servos move and my lights to flash on my moire.
The purpose of a functional prototype is to make sure that everything you put together works the way you want it to work for your end product. Since we used cardboard however, the gears don't move they way they would with a sturdier material. One thing that can be changed however with the solidworks file is the size of some of the holes for the lights in the board. We were able to change them easily with the cardboard with a screw driver, but we won't be able to do the same with the acrylic and wood. With my moire files, I have to make sure everything is in tact and won't fall apart when I cut out the final pieces. One more thing that i could change with the solidworks file is the maybe the order of the placement of each layer of the sculpture. I plan on using the solidworks file again for my final and I feel that I can move some things around in my final to change how my lights come through the gaps in the moire. The end product could change visually either with the patterns in my moire or my colors that flash.
I installed my servo into my plexiglass.
I cut both of my moires out using the Glowforge.
Both my moires move independently. I used my servo motor to move my moires in opposite directions.
I finally got my final LEDs to light red, green, then blue. Now I can move on to my next step.
I placed my arduino on to my sculpture using screws. Now I can move on to my next step of putting my stuff together.
I joined together my three layers of my sculpture using glue and dowels.
My servos do three distinct motions. It took a while but I finally got my code together.
This is my final kinetic sculpture code used for my project.
#include <Servo.h>
Servo myservo;
Servo myservo2;
int redPin = 3;
int greenPin = 10;
int bluePin = 11;
//uncomment this line if using a Common Anode LED
#define COMMON_ANODE
void setup()
{
pinMode(redPin, OUTPUT);
pinMode(greenPin, OUTPUT);
pinMode(bluePin, OUTPUT);
myservo.attach(4);
myservo2.attach(5);
myservo.write(180);
myservo.write(100);
delay(5000);
myservo2.write(0);
myservo.write(0);
myservo.write(80);
delay(10000);
myservo.write(180);
myservo2.write(90);
myservo.write(90);
myservo2.write(90);
delay(5000);
myservo.write(100);
myservo2.write(80);
delay(10000);
myservo.write(180);
delay(500);
myservo.write(180);
delay(500);
myservo2.write(180);
delay(500);
myservo2.write(180);
delay(500);
}
void loop()
{
delay(1000);
setColor(255, 255, 125);
delay(2000);
setColor(0, 255, 255);
delay(2000);
setColor(255, 0, 255);
delay(2000);
setColor(255, 255, 0);
delay(2000);
setColor(255, 255, 255);
delay(2000);
}
void setColor(int red, int green, int blue)
{
#ifdef COMMON_ANODE
red = 235 - red;
green = 235 - green;
blue = 255 - blue;
#endif
analogWrite(redPin, red);
analogWrite(greenPin, green);
analogWrite(bluePin, blue);
}