Update: Movie Poster Drawing Robot

We got our robot drawing! We had to mess around with the wiring a bit, but we now have the robot drawing.

The Pen Plotter

We 3D printed the pen holder with 2 holes for the screw mounts. 


As we tested this layout, it was way to flimsy. It kept turning and becoming misaligned.



We then decided to create a backplate to prevent the twisiting and turned due to the ACME screw. This is to make sure the pen is stable enough for drawing.

We took the measurements from the steel plate and laser cut a new one with various holes for adjustment purposes. This set up works ideally for what we want to do.


Surface

We also lser cut a board that matched up with the screw holes on the base. This was to make sure that the surface was completely flat for drawing. 4 out of 6 of our holes were off, but that does not affect the positioning of the base plate as it’s held in place pretty firmly.

Kinetic Energy Project

Jaycee and my kinetic project took various directions, which we have documented below.

 

The Protest Sign Phase

We originally wanted to create a protest sign that is powered by the up and down motion a protestors arm motion when marching with a sign. This would work similar to the magnetic powered flashlight  After doing some research, the energy that the sign would require would far surpass the energy generated by the arm motion. Simply put, it wouldn’t work as we would have wanted it to.

 

The Spinning Disks Phase

We then pivoted our idea from that to working wood disks, which we found in the junk shelf. We played with a few idea here, one being a ribbon that spun the wood disk roughly 270 degrees each way and was able to generate some power through it. The main issue here was having a consistant kinetic motion that was able to provide a smooth power band and power the light.
Tring to solve this ‘smooth power’ philosphy of ours, we dug through some more goodies and found some well-machined printer gears. The objective here was to see if we could mount and connect a couple of them together to reduce the amount of effort from the user to generate power.

​​​​​

We used the same wood disks and mounted it on the stepper motor. We had to use spacers to give the disk enough offset to poke through the hope just enough to force mount one of the printer gears on.

 After we mounted the gear, we had to develop a method to mount the other gear. The secondary gear wwoould either have to spin in place to the turn the gear mounted ln the stepper or it would after to rotate around the fixed gear, in a ‘churnning’ fashion. 

We decided on the latter. We found a wood handle on the junk shelf and drilled a hole big enough for the secondary gear to snap into it (with a little help from some hot glue).

We also tried to reduce friction as much we could, knowing that the secondary gear would be rubbing on the wood. a quick look into the kichen yeilded us some slippery wax paper, which we then cut and tapped on.

There were two issues with this round of kinetic motion. One, the actual motion by the user can rip the fixegear right off the stepper axis. Two, the power / effort ration was way too high.

 

The Magnet Phase

But wait, there’s more. Magnets. This idea cane at the 11th hour as we tried to harness the power of magentic power generation. Using a few videos we found online as a guide, we attached magnets, attraction side down) to the metal tin lid.

We then took the large maget that was inside the flashlight (repel side facing the disk) and rotated it around the tin lid. It spun!!

Enough though it soun, we can across several technical issues. 

1) The big maget was to strong for the little magnets. We solved this issue by stacking the magnets on top of each other, which multiplied the magnetic field.

2) We purposely chose to keep the human element part of this project. The optimal distance of the magnets was between 1.5-2 inches. The user would have to hold the magnet in such a way that they would be able to prevent the large magnet from instantly attaching to the magnets on the tin lid.

3) The ‘smooth power’ issue was still apparent in this phase. it would be effectively be smooth depending on who was usin the magent to spin the tjn, which would then spin the stepper.

Magnetic Powered LED from Jesal Trivedi on Vimeo.

 

Playing with Lights: Lighting Controller

I partnered with KC on this assignment.

 

Our task this week:

  • A control to turn the light on and off. When it turns on, it should retain the relative red, green, and blue brightness levels from when it was last turned on.
  • The ability to fade each color channel (red, green, and blue) from off to full brightness
    • Fade level should be maintained when you release the fade controller
    • Fade should be interrruptable by other controllers, e.g. on/off or another fade controller
  • The ability to fade the overall brightness of the light

 


I started too ambitious out in the project yet again as started to focus on the form rather than the function. Once I dialed it back, I began to work with KC to solve the coding issues we were having.

 

Layout and Wiring

 

After wiring everything correctly as shown by both the Fritzing model and the images below, we began to debug the code and see what was wrong in terms of mapping the values from the potentiometers.

 

 

We ran into a few problems, some that we were able to solve and others which we could not solve in the time this assignment allowed for.

 

Problem 1: LED was not turning FULL Red/Green/Blue – Solved!

For some reason, mapping only worked from 0 to 673, which we then mapped to 0-255, which worked! We originally had it mapped to 672, and after seeing the additional value in the Serial Monitor, we changed the mapping and got the lighting working for a while.

 

Problem 2: 255 and 0 were reversed – Unsolved

For some reason, the ‘0’ and the ‘255’ were reversed. We changed the wiring and reversed the range in the code, but could not figure out why these were revised when we view the data in the Serial Monitor.

 

Problem 3: After soldering and assembling, the entire thing stopped working.

After spending the time to solder and make sure all connections had current running through them, we were surprised to realize that our LED began blinking random colors. We could not test the rib values as they kept changing everything the light changed automatically to a different color. We tried a different Arduino, a different breadboard and even combed through the code, and couldn’t find what could be wrong with this.

 

Considerations for Next Time

I would have incorporated the switch at an earlier process during the build/test phase instead of towards the end, which complicated things temporarily. Once I find out what was wrong with the soldering problems, I will incorporate that feedback here.

Disks of Kinetic Energy

Jayce and I did some brainstorming and experimenting over the past week. We switched out concept from a light up protest sign to a art piece of sorts, that generates electricity as you spin a disk at the top. Our current concept  works in the following manner:

  • User spends disk which then spins a series of progressively larger disks
  • This spins a stepper motor, which then generates enough the electricity to power a series of LEDs

 

​​

​​

​​

​​

Reconstructing Memory in 3D

Driving in Obama’s Motorcade in NYC

I used my memory of getting the amazing opportunity to drive a van in former President Obama’s motorcade during his reelection campaign. We drove everywhere around NYC, taking the President to various locations in Manhattan. This is the same night he sang Al Green at the Apollo. At one of the stops along the way, we were parked (all the vans carrying journalists and secretary generals) alongside one side of the block and the Executive SUVs along with the POTUS limo lined the other corner of the block. I remember walking from my corner and seeing them in this formation. Surreal.

*Side Note: Didn’t want to pay for the Presidential Limo 3D image so I threw the Prezi into a Maybach 57. Not bad POTUS!

From that day!

Game Controller for Lunar Landing

What a journey this project was. I immediately dived into the junk shelf and began digging through thenpiles until I found some things I could use.

I found a joystick from a drone, some wood, and buttons from the Shop. I was set…or so I thought…

My focus was on ergonomics as having a tiny box didn’t seem the best way to play. I played around with the idea of large controls, i.e. pedals and a thrust lever, but I was straying too far from the original ask. I found some pieces of wood that resembled extra large video game controllers, so I took the cue from there and began shaping and designing them as a game controller.

 

 

 

I cut off the end clip and soldered leads on each of the wires. I thought I would come back to this controller once I figured out the buttons…

It took me some time to figure out the code and the wiring.
#include

const int upButton = 13;
const int downButton = 12;
const int leftButton = 11;
const int rightButton =10;
const int reloadButton = 9;
const int enterButton = 6;
const int ledPin = 5;

int potMove;
int up;
int down;
int left;
int right;
int reload;
int enter;
int led;

void setup() {
Serial.begin (9600); //set up serial baud rate
pinMode(upButton, INPUT_PULLUP);
pinMode(downButton, INPUT_PULLUP);
pinMode(leftButton, INPUT_PULLUP);
pinMode(rightButton, INPUT_PULLUP);
pinMode(reloadButton, INPUT_PULLUP);
pinMode(enterButton, INPUT_PULLUP);
pinMode(ledPin, OUTPUT);
Keyboard.begin();
}
//
void loop() {
int up = digitalRead(upButton);
int down = digitalRead(downButton);
int left = digitalRead(leftButton);
int right = digitalRead(rightButton);
int reload = digitalRead(reloadButton);
int enter = digitalRead(enterButton);
// int potMove = analogRead(A2);
// led = digitalRead(ledPin);

//use buttons and pot to control keyboard
// Serial.println(potMove);

if (up == HIGH) {
Keyboard.press(‘w’);
delay(10);
Serial.println(“UP_”);
Keyboard.release(‘w’);
//Serial.println(potMove);
}

if (down == HIGH) {
Keyboard.press(‘s’);
delay(10);
Serial.println(“DOWN_”);
Keyboard.release(‘s’);
//Serial.println(potMove);
}

if (right == HIGH) {
Keyboard.press(‘d’);
delay(10);
Serial.println(“RIGHT_”);
Keyboard.release(‘d’);
//Serial.println(potMove);
}

if (left == HIGH) {
Keyboard.press(‘a’);
delay(10);
Serial.println(“LEFT_”);
Keyboard.release(‘a’);
//Serial.println(potMove);
}

if (reload == HIGH) {
Keyboard.press(135);
Keyboard.press(‘r’);
delay(50);
Keyboard.releaseAll();
digitalWrite(ledPin, HIGH);
delay(1000);
Serial.println(“RELOAD”);
digitalWrite(ledPin, LOW);
}

if (enter == HIGH) {
Keyboard.write(176);
digitalWrite(ledPin, HIGH);
delay(1000);
digitalWrite(ledPin, LOW);
Serial.println(“ENTER”);
}

 

I then focused on the actual controller bit of the assignment.


 

I drew out where the controls were go, and walked around the Floor, asking random classmates hold the device, and adjusting the orientation and placements of the buttons to ensure that both large handed and small handed people would be able to grasp the large controller without any significant issue.

 

I wanted to figure out a way for the button to sit flush in the wood, but it was way too thick and after various attempts to make it work, I went back to laser cutting acrylic.


 

I hot glued the buttons to the bottom so they would stay in place as the user pressed on the buttons from the top.

 

This is when I ran into issues. I didn’t think through how I wanted to close the controller…

I wanted it to be accessible, but I ran out of time in figuring this portion of the controller out.

 

Functionally it works! It doesn’t look so good though…

XYZ Project Proposal: Draw, Play, Decorate, Clean

Assignment

Everyone will formally pitch an early robot idea (nothing written in stone) in class next week.  Have your verb and your specifics.  Think of ways you will actuate it.  Will it be a traditional X, Y, Z gantry?  What parts are you confident in, what parts are you worried about.  Bring anything that makes it more real: mockups, prototypes, images, and videos.  You will all present in class for a few minutes, be prepared to take questions.

 

Overall Theme

Overall I want to utilize computer vision into my project in some way.

 

Proposal Idea 1: The Line Drawing Robot

My idea is centered around automating the line drawing process on the millions of miles of motorways. This process generally has to be done a couple times a year, as wear and tear breakdown the quality of the roads, leading them to be re-paved and repainted. Having a XYZ robot on a chassis would make this process a whole lot easier, efficient and cost effective in the long run.

 

Some examples:

Cons

  • Moving chassis
  • Scale

 

Proposal Idea 2: Cake Decorator

Let’s make the process of decorating a cake easier! I wanted to add a twist with taking a picture of someone and it draws that person. Or a variant would be that it senses someone’s emotion and draws on a cupcake a quote to help them with that mood. Make them happy, make them happier, etc.

 

Proposal Idea 3: Sharpie Class Scheduler

Experiment with a method to create an interface for writing weekly class schedules outside of each class room that can be sent to the boards every Monday to save the paper that is wasted, more than 4,000 sheets per year can be saved and have something that looks cool on the floor.

 

Proposal Idea 4: Air Hockey Computer

I want to see if I could recreate this project. I’m very hesitant in recreating this as it’s already been done and there is lots of documentation that was done on this project and don’t think that would be a good way to properly learn. Open for suggestions.

Idea 5: Show Cleaning

place your shows on the bed and it runs through a database of sneakers and then views the shoe and then cleans the sneaker properly.

Gangsta Grandma

Jeff Park and I created a world inspired by ridiculous Uber stories. Titled ‘Gangsta Grandma’ the short animation provides a glimpse into the life of a grandma who is never afraid to back down from a fight and save the day.