Archive

Class

Topics

  • Virtual touch applications
  • Assignment 3 ideas

Workshop

  • Multiple signals between Arduino and PureData
  • Use the Pduino library

Reference

 

Internet of Things


 
Examples

Get information

Digital output

Digital input (switch)

Analog output

Servo motor output

Analog input (sensor)

Advertisements

Topics

  • Selection of multimedia artworks
  • Virtual and real and virtual reality

Workshop

  • User interface with keyboard and mouse
  • Camera interaction
  • Movement and blob tracking

Reference

Artintact (ZKM)

Tracing the Decay of Fiction

Blindrom


Urban Feedback


List of GEM objects

Examples

Image with mask patch

Lumaoffset effect

Metaimage effect

Sample videos

 

Topics

  • Graphical interface in Pd
  • Physical interface in Arduino
  • Final assignment briefing

Workshop

  • 3D graphics in Pd
  • Translate, rotate, color
  • Animation in Pd
  • Image and video in Pd
  • Keyboard and mouse interaction

Resources

Create a GEM graphics window

Draw a cube with outline

Counter object

Metro object (animation)

Auto-rotation patch

Communication port

Arduino patch for switch

int SW = 8;

void setup()
{
  pinMode(SW, INPUT);
  Serial.begin(9600);
}

void loop()
{
  byte value = digitalRead(SW);
  Serial.write(1-value);
  delay(50);
 }

Physical switch interface

GEM display window

Analog input patch

GEM window output

Potentiometer code

int POT = 5;

void setup()
{
  Serial.begin(9600);
}

void loop()
{
  int value1 = analogRead(POT);
  byte value2 = map(value1, 0, 1023, 0, 255);
  Serial.write(value2);
  delay(50);
}

Assignment 2 briefing

Topics

  • Kinetic sculpture
  • Magnetic force
  • Motor
  • Solenoid

Workshop

  • DC motor
  • Servo motor

Reference

 
DC motor experiment
 


 
Arduino with solenoid
 

 

 
Codes

#include <Servo.h>

Servo motor;

void setup()
{
  motor.attach(9);
}

void loop()
{
  for (int pos=0; pos<180; pos++)
  {
    motor.write(pos);
    delay(15);
  }
  for (int pos=180; pos>=1; pos--)
  {
    motor.write(pos);
    delay(15);
  }
}

 

#include <Servo.h>

Servo motor;

void setup()
{
  Serial.begin(9600);
  motor.attach(9);
}

void loop()
{
  if (Serial.available()>0)
  {
    byte x = Serial.read()-48;
    x = constrain(x, 1, 9);
    motor.write(x*18);
  }
  delay(15);
}

Assignment 1 presentation

Topics

Sensor technology
 
Workshop

  • Shift register with LEDs
  • Flex sensor
  • Soft potentiometer
  • Touch sensor

 
Reference

ITP sensor workshop

Sparkfun sensor catalog

Parallax sensor catalog

Arduino capacitive sensing

Download capacitive sensing library
 


 

 
Code sample

#include <CapSense.h>

CapSense cs = CapSense(7, 8);

void setup()
{
  cs.set_CS_AutocaL_Millis(0xFFFFFFFF);
  Serial.begin(9600);
}

void loop()
{
  long total = cs.capSense(30);
  Serial.println(total);
  delay(100);
}