Output Devices: Motors, Actuators, Lights
Making Things Move #
Inspiration #
Simple movements can make objects seem very alive.
Jinhee Kim #
Daniel Rozin #
Artists working with robotics, mechanics and kinetic sculptures #
- Daniel Rozin – Instagram
- Niklas Roy – Berlin-based artist working a lot with mechanical devices
- Teija ja Pekka Isorättyä – Finnish artist couple working with robotic installations
- Markus Copper
- Tommi Grönlund & Petteri Nisunen – Finnish artists working with kinetic sculptures
- Tim Hunkin – A engineer/artist who builds weird and elaborate machines. Also worked on making the Secret Life of Machines animation
- Jeppe Hein – Very minimalistic installations using kinetic elements
- ART+COM – A German design studio that specializes in creating big kinetic sculptures
- Ben Hopson – An industrial designer who has a lot of very interesting Kinetic Sketches on his website. Also this article about designing motion might be of interest to you.
- Theo Jansen – Amazing wind-powered artificial creatures
- Jie Qi – Some interesting projects using muscle wire, paper electronics
- Eunyoung Park – From Aalto Media Lab, her thesis project was LINKKI
- Tim Lewis – Instagram
Resources #
- Soft Robots
- Muscle Wire + Paper Electronics by Jie Qi
- Design with Movement by Eunyoung Park
How to Choose the Right Motor or Actuator? #
How to work with motors and other actuators? #
I have created tutorials for different types of actuators.
Working with addressable digital LEDs (Neopixels) #
I have made a simple tutorial and some examples here.
Neopixel is a brand name by Adafruit for certain types of addressable LEDs.
Examples done in class #
Accelerometer to Servo #
Code #
// Basic demo for accelerometer readings from Adafruit MSA301
#include <Wire.h>
#include <Adafruit_MSA301.h>
#include <Adafruit_Sensor.h>
#include <Servo.h>
Adafruit_MSA301 msa;
Servo myServo;
// variable to store the servo position
int pos = 0;
void setup(void) {
Serial.begin(115200);
msa.begin();
myServo.attach(9);
}
void loop() {
// get X Y and Z data at once
msa.read();
// Then print out the raw data
Serial.print("X: "); Serial.print(msa.x);
Serial.print(" Y: "); Serial.print(msa.y);
Serial.print(" Z: "); Serial.print(msa.z);
Serial.println();
pos = map(msa.x, -2100, 2100, 0, 180);
myServo.write(pos);
delay(5);
}