A stop motion animation from my studio in Berlin 2011 where I disassemble and reuse old ink jet printers to construct new a series of kinetic artworks. Guest starring Joelle and four-month-old Sophia.
Tag: physical computing
You Never Close Your Eyes Anymore @ AC Direct
You Never Close Your Eyes Anymore opens tonight at AC Institute in Chelsea.
July 1 – July 31, 2010
Opening: Thursday, July 1, 2010 6-8pm
AC Institute [Direct Chapel]
547 W. 27th St, 5th Floor
New York, NY
Gallery Hours: Wed., Fri. & Sat.: 1-6pm, Thurs.: 1-8pm
Schematic for You Never Close Your Eyes Anymore
“Open sourcing” the schematic for the electronic components for You Never Close Your Eyes Anymore.
Products:
RBBB boards (Arduino clone)
custom-designed circuits
– female headers
– TIP31 transistor
– 6-wire Unipolar Stepper motor (48 step Nippon Electric Pulse Motor)
– ULN2803A Darlington Array
– hook-up wire
– various resistors
– LEDs
used camera lenses
aluminum “flat bar”
hose clamps
rubber wine corks
various mounting hardware
Mass Production
Preparing for show at AC Institute in New York.
Fading an LED with PWM and a Potentiometer
Using a potentiometer and PWM on an Arduino to fade an LED.
-
-
/* POT to LED test -> by Owen Mundy March 11, 2010
-
from: http://itp.nyu.edu/physcomp/Labs/AnalogIn
-
—————————————————————*/
-
-
int potPin = 0; // Analog input pin that the potentiometer is attached to
-
int potValue = 0; // value read from the pot
-
int led = 9; // PWM pin that the LED is on. n.b. PWM 0 is on digital pin 9
-
-
void setup() {
-
// initialize serial communications at 9600 bps:
-
Serial.begin(9600);
-
// declare the led pin as an output:
-
pinMode(led, OUTPUT);
-
}
-
-
void loop() {
-
potValue = analogRead(potPin); // read the pot value
-
analogWrite(led, potValue/4); // PWM the LED with the pot value (divided by 4 to fit in a byte)
-
Serial.println("hello"); // print the pot value back to the debugger pane
-
delay(10); // wait 10 milliseconds before the next loop
-
}
-
Here is the schematic for the above project.
Using PWM and a potentiometer to fade an LED and drive a stepper motor, powered by a Boarduino RBBB.
-
-
/*
-
Owen Mundy
-
July 29, 2009
-
-
p. 262 of Physical Computing
-
Using BBB to run stepper motor by manually moving steppers
-
-
*/
-
-
int pin1 = 3; // PWM
-
int pin2 = 5; // PWM
-
int pin3 = 6; // PWM
-
int pin4 = 9; // PWM
-
int ledpin = 13; // LED
-
int led = false; // LED monitor
-
int motor_time_lapse = 80;
-
-
int potPin = 0; // Analog input pin that the potentiometer is attached to
-
int potValue = 0; // value read from the pot
-
int ledPotPin = 11; // PWM pin that the LED is on. n.b. PWM 0 is on digital pin 9
-
-
-
void setup()
-
{
-
pinMode(pin1, OUTPUT); // sets the pin as output
-
pinMode(pin2, OUTPUT); // sets the pin as output
-
pinMode(pin3, OUTPUT); // sets the pin as output
-
pinMode(pin4, OUTPUT); // sets the pin as output
-
pinMode(ledpin, OUTPUT); // sets the pin as output
-
-
// initialize serial communications at 9600 bps:
-
Serial.begin(9600);
-
// declare the led pin as an output:
-
pinMode(ledPotPin, OUTPUT);
-
}
-
-
void loop()
-
{
-
potValue = analogRead(potPin); // read the pot value
-
analogWrite(ledPotPin, potValue/4); // PWM the LED with the pot value (divided by 4 to fit in a byte)
-
Serial.println(potValue);
-
-
digitalWrite(pin1, HIGH); // on
-
digitalWrite(pin2, LOW); // off
-
digitalWrite(pin3, HIGH); // on
-
digitalWrite(pin4, LOW); // off
-
delay(motor_time_lapse); // wait
-
-
-
digitalWrite(pin1, LOW); // off
-
digitalWrite(pin2, HIGH); // on
-
digitalWrite(pin3, HIGH); // on
-
digitalWrite(pin4, LOW); // off
-
delay(motor_time_lapse); // wait
-
-
digitalWrite(pin1, LOW); // off
-
digitalWrite(pin2, HIGH); // on
-
digitalWrite(pin3, LOW); // off
-
digitalWrite(pin4, HIGH); // on
-
delay(motor_time_lapse); // wait
-
-
-
digitalWrite(pin1, HIGH); // on
-
digitalWrite(pin2, LOW); // off
-
digitalWrite(pin3, LOW); // off
-
digitalWrite(pin4, HIGH); // on
-
delay(motor_time_lapse); // wait
-
-
blink();
-
}
-
-
void blink()
-
{
-
if (led == false)
-
{
-
led = true;
-
digitalWrite(ledpin, HIGH); // on
-
}
-
else
-
{
-
led = false;
-
digitalWrite(ledpin, LOW); // on
-
}
-
}
Two stepper motors, one directly connected to PWM on BBB
Testing to see if this motor can connect directly to PWM on BBB (Freeduino).
Code embedded in previous post.
BBB (Freeduino) and stepper motor test
Test with BBB (Freeduino) board, Darlington H-Bridge, Mabuchi # PF35T-48L4 stepper motor. Many thanks to Tom Igoe and his Physical computing book.
-
/*
-
Owen Mundy
-
July 29, 2009
-
-
p. 262 of Physical Computing
-
Using BBB to run stepper motor by manually moving steppers
-
-
*/
-
-
int pin1 = 3; // PWM
-
int pin2 = 5; // PWM
-
int pin3 = 6; // PWM
-
int pin4 = 9; // PWM
-
int ledpin = 13; // LED
-
-
void setup()
-
{
-
pinMode(pin1, OUTPUT); // sets the pin as output
-
pinMode(pin2, OUTPUT); // sets the pin as output
-
pinMode(pin3, OUTPUT); // sets the pin as output
-
pinMode(pin4, OUTPUT); // sets the pin as output
-
pinMode(ledpin, OUTPUT); // sets the pin as output
-
}
-
-
void loop()
-
{
-
for (int i=0; i<24; i++)
-
{
-
digitalWrite(pin1, HIGH); // on
-
digitalWrite(pin2, LOW); // off
-
digitalWrite(pin3, HIGH); // on
-
digitalWrite(pin4, LOW); // off
-
delay(10); // waits for a second
-
-
digitalWrite(pin1, LOW); // off
-
digitalWrite(pin2, HIGH); // on
-
digitalWrite(pin3, HIGH); // on
-
digitalWrite(pin4, LOW); // off
-
delay(10); // waits for a second
-
-
digitalWrite(pin1, LOW); // off
-
digitalWrite(pin2, HIGH); // on
-
digitalWrite(pin3, LOW); // off
-
digitalWrite(pin4, HIGH); // on
-
delay(10); // waits for a second
-
-
digitalWrite(pin1, HIGH); // on
-
digitalWrite(pin2, LOW); // off
-
digitalWrite(pin3, LOW); // off
-
digitalWrite(pin4, HIGH); // on
-
delay(10); // waits for a second
-
}
-
-
blink();
-
-
for (int i=0; i<24; i++)
-
{
-
-
digitalWrite(pin1, HIGH); // on
-
digitalWrite(pin2, LOW); // off
-
digitalWrite(pin3, LOW); // off
-
digitalWrite(pin4, HIGH); // on
-
delay(10); // waits for a second
-
-
digitalWrite(pin1, LOW); // off
-
digitalWrite(pin2, HIGH); // on
-
digitalWrite(pin3, LOW); // off
-
digitalWrite(pin4, HIGH); // on
-
delay(10); // waits for a second
-
-
digitalWrite(pin1, LOW); // off
-
digitalWrite(pin2, HIGH); // on
-
digitalWrite(pin3, HIGH); // on
-
digitalWrite(pin4, LOW); // off
-
delay(10); // waits for a second
-
-
digitalWrite(pin1, HIGH); // on
-
digitalWrite(pin2, LOW); // off
-
digitalWrite(pin3, HIGH); // on
-
digitalWrite(pin4, LOW); // off
-
delay(10); // waits for a second
-
}
-
-
blink();
-
-
for (int i=0; i<6; i++)
-
{
-
digitalWrite(pin1, HIGH); // on
-
digitalWrite(pin2, LOW); // off
-
digitalWrite(pin3, HIGH); // on
-
digitalWrite(pin4, LOW); // off
-
delay(10); // waits for a second
-
-
digitalWrite(pin1, LOW); // off
-
digitalWrite(pin2, HIGH); // on
-
digitalWrite(pin3, HIGH); // on
-
digitalWrite(pin4, LOW); // off
-
delay(10); // waits for a second
-
-
digitalWrite(pin1, LOW); // off
-
digitalWrite(pin2, HIGH); // on
-
digitalWrite(pin3, LOW); // off
-
digitalWrite(pin4, HIGH); // on
-
delay(10); // waits for a second
-
-
digitalWrite(pin1, HIGH); // on
-
digitalWrite(pin2, LOW); // off
-
digitalWrite(pin3, LOW); // off
-
digitalWrite(pin4, HIGH); // on
-
delay(10); // waits for a second
-
}
-
-
blink();
-
-
for (int i=0; i<6; i++)
-
{
-
-
digitalWrite(pin1, HIGH); // on
-
digitalWrite(pin2, LOW); // off
-
digitalWrite(pin3, LOW); // off
-
digitalWrite(pin4, HIGH); // on
-
delay(10); // waits for a second
-
-
digitalWrite(pin1, LOW); // off
-
digitalWrite(pin2, HIGH); // on
-
digitalWrite(pin3, LOW); // off
-
digitalWrite(pin4, HIGH); // on
-
delay(10); // waits for a second
-
-
digitalWrite(pin1, LOW); // off
-
digitalWrite(pin2, HIGH); // on
-
digitalWrite(pin3, HIGH); // on
-
digitalWrite(pin4, LOW); // off
-
delay(10); // waits for a second
-
-
digitalWrite(pin1, HIGH); // on
-
digitalWrite(pin2, LOW); // off
-
digitalWrite(pin3, HIGH); // on
-
digitalWrite(pin4, LOW); // off
-
delay(10); // waits for a second
-
}
-
-
blink();
-
-
}
-
-
void blink()
-
{
-
digitalWrite(ledpin, HIGH); // on
-
delay(1000); // waits for a second
-
digitalWrite(ledpin, LOW); // off
-
}
You must be logged in to post a comment.