Lab 11 – Drawing Machines

Instructor: Marcela

Partner: Leslie Zhao, Amber Wang, and Eric Zhang

Materials: 1 stepper motor, 1 SH75440NE ic chip, 1 5 volt power supply, 1 power plug, 1 potentiometer from your kit, 1 Arduino and USB cable from your kit, Laser-cut mechanisms, Pens that fit the laser-cut mechanisms, 1 potentiometer

Experiment:

In Lab 11,  the task was to make a drawing machine using materials provided. Leslie and I built the circuits based on instructions online. We attached the arm to the stepper motor and jointed the Laser-cut mechanical arms together with three nails. With the code,  stepper_oneRevolution example, we managed to make the stepper motor work and the mechanical arms to move. As you can see in the model, the drawing machine does not work well. It simply enables the pen to leave marks randomly.

IMG_8724

After finishing our drawing machine, we tried to combine with the drawing machine of Amber and Eric. Since there were two mechanical arms that can control the pen, the machine now could draw some patterns.

IMG_8729

WechatIMG119

For the third part, we used the code stepper_speedControl and a potentiometer to control the speed of the motor. This time when we combined with Amber and Eric, we used to Laser-cut mechanisms to fix the position of the stepper motors in case that the motor would move when it drew. We could also contolled the machine to draw fast or slowly. However, the speeds of two motors were different, the lines drawn could not coincide very well. The second painting looked better. Finally, we exhibited out painting on the wall of the lab.

WechatIMG120

 

 

W11 documentation

In this week’s lab, we practiced how to use the stepper motor to control the movement of a pen and use it to draw something on the paper. Since this has already been introduced in class and there was also a blueprint for the circuit of the stepper motor. This is the blueprint for the circuit.bipolarStepperMotor

Then we put up two stepper motors together to make up one machine to control the pen. The following video is how it works.

Then we added a changeable resistor to the circuit and used it to change the speed of the holders so that it can draw different shapes on the paper. When we change the resistance of the resistor, Arduino will analyze the data and change the speed of the motor according to the data. The following is how it works.

 

Lab IX – Drawing Machine

Date: Apr. 28th

Instructor: Moon

Partner: Leah (Wenhan) Dou

Materials: Stepper motor, SH75440NE ic chip, power plug, potentiometer, Arduino board & cable, Pen, Laser-cut mechanisms, knot pins

IMG_2421

We built a drawing machine in today’s lab session. The instructions online were very thorough and clear, so luckily we didn’t run into much trouble today. The following documentation shows how we completed this task step by step.

Completing The Circuit:

We strictly followed the illustration to complete the circuit. To avoid confusion, we first made all connections to Arduino board, then to the larger power source, and then to the stepper.

IMG_2422

Making Laser-cut Mechanism:

IMG_2423

Make It Work:

We uploaded the stepper_oneRevolution example, it worked well.

Screen Shot 2017-04-28 at 11.39.08 AM

Combining Two Mechanisms:

By the time we finished our mechanism, Romola and Rain had also had theirs ready. We combined our works and the machine was ready to draw.

IMG_2425

While testing it, we found our steppers moving around and tangling the wires. Louis provided us a board to fix them. It really helped.

More Control:

Then, we tried to make our machine more controllable by adding a potentiometer to the circuit. Accordingly, we used the stepper_speedControl example from Arduino. You can see the speed of our drawing machine change in this video:

Screen Shot 2017-04-28 at 12.14.24 PM

It was a fun experience, and we had our “masterpiece” put up on the wall before leaving. It looked like a mess, but if looking carefully, the pattern created by the machine was indeed interesting and somehow artistic. Doing this lab session and learning IMA in general, I came to have a refreshed view on our industrialized world. Technologies and machines are not cold and dull. They can be as beautiful as we want them to be.

[Lab 11] H-Bridge & Stepper Motor – Jerry Yu (jy2122) [Professor: Marcela]

Interaction Lab 11:

Date: Fri 28 Apr, 2017

Documented by: Jerry Yu (Jinzhong Yu)

Documented on: Fri 28 Apr, 2017

NetID: jy2122

Instructor: Marcela

Partner: Christian

Intro & Process:

In this Lab, we learned the features of H-Bridge and the “auto-pen” controlled by H-Bridge and Stepper Motor.

H-Bridge is a controller which can be used to control the electricity direction. It can be a “multi-switcher” so that it is functional to control how the motor rotates.

We just connect the circuit like that –

(Picture from IMA-Interaction Lab)

And to make stepper motor connect with two plastic arms to control a pen –

Stepper1

 

 

Video:

Interaction Lab: Lab 11- Drawing Machines (Daniel)

Lab Date: April 28, 2017

Instructor: Professor Daniel

Lab Partner: Andrew Huang, (Amy Mao, Kathy Wang)

Aim of Today’s Lab: Create a drawing machine using stepper motors

Materials Needed: Stepper Motor, Green Legs, Pins, Red Circulating Support, Arduino Kit, a Pen, Stepper Motor Holder

20170428_132459

Step 1- Creating the half of the machine

We started with creating the half of the machine. First, we built the circuit and the physical component of the machine. Creating the physical component of the machine was easy. We just connected the legs with pins and the motor. The motor was connected to the holder at the end as well.

20170428_134603

We followed the circuit diagram provided on the IMA Website.

bipolarStepperMotor-300x254

Creating a circuit was a bit challenging since we did not follow the right colors for the Jump Cables. When the circuit became complicated, it was hard to keep track since the colors were mixed up. However, we figured the circuit out at the end:

20170428_134557

Step 2- Potentiometer

A Potentiometer was added to the circuit to control the speed of the motor. The Middle leg was connected to A0, and the others were connected to ground and 5V. Also, the code for speed control was added from the library.

Step 3- Connection

The last step was connecting two parts together. We just connected the legs using a pin and put a pen in the middle:

Reflection:

It was a fun and a simple lab. The art piece that we created was truly beautiful. I learned that using the right color jump cable is very important.

 

Lab 11 – Drawing Machines

Date: April 28th

Author: Andrew Huang

Partner(s): Jacob Park

Materials: Arduino, Stepper motor, wires, plastic arms, Transistor code

Today, we made a drawing arm using two stepper motors and the SH75440NE chip. The hardest part of the lab was hooking up the assembly, as plugging in the pins for every single pin was tedious and I messed up plugging in the ground for part of the lab. Finally, we hooked up the arm assembly, and it worked the first time we put it together. When we put it together, we uploaded the code for continuous and speed control which allowed us to control the speed of the stepper motor through the potentiometer. This allowed us to use the arm and control the functional spinning speed. When we put it all together with another group, both of the arms worked!

What we learned: we learned how to control the stepper motor and it’s speed in arduino, and how to use the transistor to control logic by hooking it up to the pins in arduino.

bipolarStepperMotor-300x254IMG_20170428_134634

Interaction Lab – Lab 11 – Drawing Machine – Romola Zhang

Date: April 27

Instructor: Dan

Partner: Rain

Aim of Today’s Lab: Create a drawing machine by using an H-bridge to control stepper motors attached to mechanical arms.

Here are the materials that we used: ARDUINO, a breadboard, some boards, some nails, a potentiometer, a power supply, a power plug, SH75440NE IC chip, and a pen.

WechatIMG91

Step 1: Build the electric circuit according to the picture given. It’s a hard work because the IC chip has many pins, therefore many wires are used to create an H-bridge, so it’s easy to connect some of them in a wrong way. The basic idea of the H-bridge is to use 4 OUTPUT pin to control four switches, therefore controlling the rotating direction of the motor. Because the rotating direction of the motor is related to the direction of the current.

bipolarStepperMotor   WechatIMG92

Step 2: We connected different parts of the laser-cut mechanisms. Then we copied the code for the stepper motor from the library and uploaded it to the ARDUINO. We tried the one revolution and the one step at a time. Another group worked with us to connect our parts together.

WechatIMG93

We put some cardboard under to paper to support it so that the pen can draw. This picture was created by using different codes in two motors.

Step 3: Then we added a potentiometer in our circuit, connecting one pin to the AO as a analog input to control the speed of the motor. This is how I used the potentiometer to control the speed of the motor:

This is how our two groups worked together to draw a picture. It drew some circles, probably expressing some rage.

Final Project

Final Project.

Wenhan Dou

Instructor: Moon

What is interaction?

According to Oxford Dictionary, interaction means :  Reciprocal action; action or influence of persons or things on each other. spec. in Physics, referring to the action between atomic and subatomic particles. Also attrib.

 

Interaction means two-way communication. Whether it is between users and computers or just two users, there has to be communication. When user send his signal to the computer, it must react properly. A good interaction needs both side to be active in giving information to keep communication actively and friendly. When we are designing our final project, interacting is an important part for only do our project interact well with user, can it be more fun and effective to use.

My final project named “Witch and Fariy” is mostly based on Google 2016 Halloween Game, here is the link:

http://www.google.com/doodles/halloween-2016

 

In this game, users use mouse to draw “—-“, “|” and other figure in the screen, there are little ghosts with those figures approaching to users (the little cat in the game) and users have to complete drawing the figure before the ghost reach to user.

For my final project, I want to use the similar process of drawing picture, but user would not use mouse, instead, they would directly use their hand to finish drawing. Figures would flow from one side of the screen to another. I would have three levels in total, one is harder than former level. The speed of figures flowing across the screen would be faster and figures would be harder and harder to draw.  In level three, users would have to use two hands at the same time to complete the picture. Also, I am considering to add other sensors to allow users using sound to add more fun. For example, you have to shout at the middle of the game to get a bonus, which can save you in latter level.

The whole game would together tell a complete story of witch or fairy. Users have to choose to be one of these two at the beginning of the game to complete the story. Also, if it is possible, I would connect it to two computers at the same time to have a competing model.

 

 

I want to try to use leap motion to complete drawing directly from hand while after trying to use leap motion, there are several problems. First, Leap motion has a limitation on area it can sense, so if users wave their hands too hard, their gesture may not be detected. Second, Leap Motion is more about moving of fingers, but what I need is to sense location of hands, or hands’ moving track, so it is not proper to use leap motion.

 

Another problem is that if I use leap motion, Arduino would be less useful in my project and I don’t want to build a project letting Arduino just be used as a start button with LEDs, so I have to put Arduino into my project as well.

 

 During Leap Motion work shop, Professor Antonius suggest to use Grove 3-Axis Digital Accelerometer, which can both solve the problem of not using Arduino and leap motion.

WechatIMG2WechatIMG1

Lab 11: Drawing Machines

Lab Date: April 28, 2017
Instructor: Dan

By: Zayna Quader

Partner: Maya

Aim of Today’s Lab: Create drawing machines by using an H-bridge to control stepper motors attached to mechanical arms

Schematic:

bipolarStepperMotor

 

Documentation

IMG_5057

Maya was planning on doing a machine that draws stuff for her final project, so her breadboard was already prepped for the project (minus the arduino and motor connections). She explained the set up to me, and then we started working on the rest of the circuit.

 

IMG_5060

While Maya connected the motor to the board, I connected the board to the arduino.

IMG_5061

Next, we built the arm, and then we ran into a problem. Every time we plugged the arduino into the computer, it shut the computer down. After this happening three times, we figured out that it was because the adapter was 12V, and not 5V. So the arduino was shot and we had to get a new one, as well as rewire it to the breadboard.

Finally, the arm works!

After our arm worked, we joined with another group, and created a masterpiece.

 

Conclusion

This project was an interesting one. I learned how to use the H-Bridge better, and made a work of art that is so contemporary and modern that it should be in MoMA. I also learned to always make sure that the adapter is 5V.

 Stepper Motor Control - one revolution

 This program drives a unipolar or bipolar stepper motor.
 The motor is attached to digital pins 8 - 11 of the Arduino.

 The motor should revolve one revolution in one direction, then
 one revolution in the other direction.


 Created 11 Mar. 2007
 Modified 30 Nov. 2009
 by Tom Igoe

 */

#include <Stepper.h>

const int stepsPerRevolution = 200;  // change this to fit the number of steps per revolution
// for your motor

// initialize the stepper library on pins 8 through 11:
Stepper myStepper(stepsPerRevolution, 8, 9, 10, 11);

void setup() {
  // set the speed at 60 rpm:
  myStepper.setSpeed(60);
  // initialize the serial port:
  Serial.begin(9600);
}

void loop() {
  // step one revolution  in one direction:
  Serial.println("clockwise");
  myStepper.step(stepsPerRevolution);
  delay(500);

  // step one revolution in the other direction:
  Serial.println("counterclockwise");
  myStepper.step(-stepsPerRevolution);
  delay(500);
}

Lab 11 Motor Drawing

Sam Arellano

Professor Antonius

4/28/17

Partner: Daniela Oh

For this lab we worked with stepper motors. We were tasked with creating a drawing machine by connecting 2 stepper motors to attachable arms that would hold a pen. This overlapping formation allowed a originally 360 degree mechanism to get all the areas in a rectangle (with varying accuracy).

First we wired up the circuit to connect the stepper motor to the computer with the H-bridge. This was pretty simple as we just followed the schematic.

wiring

We used arduino code from the examples library to get the motor going clockwise and counterclockwise on a delay. Here it is in action.

It was pretty funny to watch flail around. We then added a potentiometer to be able to control the speed of the motor. Once again we used stock code from the examples library.

This allowed us to easily change the speed of the stepper motor. Finally, we met up with Mark and Sjur from another group and put out stepper motor contraptions together. By pinning them together, we were able to more easily (thought still not accurately) control the location of the pen between them. Here it is when it all came together.

Overall this was a rather fun lab, and surprisingly simple to put together. When seeing it in class I had no idea how we would make that, but in practice it wasn’t too difficult.

#include <Stepper.h>

const int stepsPerRevolution = 200;  // change this to fit the number of steps per revolution
// for your motor


// initialize the stepper library on pins 8 through 11:
Stepper myStepper(stepsPerRevolution, 8, 9, 10, 11);

int stepCount = 0;  // number of steps the motor has taken

void setup() {
  // nothing to do inside the setup
}

void loop() {
  // read the sensor value:
  int sensorReading = analogRead(A0);
  // map it to a range from 0 to 100:
  int motorSpeed = map(sensorReading, 0, 1023, 0, 100);
  // set the motor speed:
  if (motorSpeed > 0) {
    myStepper.setSpeed(motorSpeed);
    // step 1/100 of a revolution:
    myStepper.step(stepsPerRevolution / 100);
  }
}