Controller Systems Tufts EMID - Spring 2015 Typical Controller System Sensors Acquisition System (Arduino) Mapping Software (Max) Output (Reason) Useful Resources Fraden, A Handbook of Modern Sensors sensorwiki.org Datasheets for components Parts Sources mouser.com digikey.com sparkfun.com What can we sense? ON/OFF, momentary or toggle Position, velocity, acceration, rotation Temperature, light, sound Pressure, touch, torque, bending, strain Types of Sensors Discrete - only can give a value of 0 (off) or 1 (on) Continuous - Resistors or current generators. Some can be connected directly to the Arduino. Others need buffering, amplification, and/or filtering to provide usable data Switches Discrete output Toggle - on or off Momentary - on or off when pressed Rotary: multiple-position Can provide visual and tactile feedback +Vref Potentiometers Common types: Vout Linear taper Audio taper (logarithmic) GND Rotary, linear, multiturn Soft Potentiometers Linear Circular Other Variable Resistors Photoresistors Bend Sensors Force-Sensing Resistors Photoresistors/Photocells Sense the absence or presence of light Change resistance when amount of light changes Bend Sensors Resistance decreases when bent Force-Sensitive Resistors Resistance drops when pressed Shorthand name: FSR Variable Resistors +Vref R1 (variable) Vout Vout = Vref R2/(R1+R2) R2 If sensor range = 10k to 35kΩ, and R2 = 20kΩ then Vout range = .66*Vref to .36*Vref Accelerometers Measure inclination (direction), acceleration in 1, 2, or 3 axes Distance Sensors Infrared Ultrasonic Piezoelectric Materials Sensitive to vibration Excellent drum triggers, contact microphones Capacitive Sensors Detects changes in capacitance, often by measuring your body capacitance Can detect proximity, distance, location, acceleration Think: Trackpads, Cell/Tablet Screens, Theremin Other Sensors EMG (Muscle Sensor) Joysticks (X and Y axis variable resistors) Gesture Recognizers Rotary Encoders Connecting Sensors Using Arduino boards Read in digital and analog signals Connect via USB and can talk to MAX Breadboards Simple way to create circuits without soldering Reading in Data in MAX Using Arduino2MAX Putting It All Together Arduino2MAX