How to Build a Digital-Physical System Assegid Kidané Fall 2011
Today's Demo Pressure and Light Sensor Arduino and Laptop data processing Video and Sound output
Demo
The Big Picture
Steps Define problem and goals clearly Develop flowchart and algorithm Select main components Develop hardware and software Put it together and test Iterate until goals are met
Outline Electricity/Water analogy Electrical/Electronic circuit elements Basic formulae Reading and drawing schematics Using datasheets Microcontrollers, Sensors, Actuators, Media Software environments Experiential media integration
Goal Basic electronics Use of microcontrollers Interactive environment design Design and build 3D objects Learn effective collaboration
Water Analogy The following entities between a water circulation system and an electric circuit correspond fairly well Pressure – Voltage Water flow – Current Faucet, Constriction – Resistance Valve – Switch One way valve – Diode etc...
Comparisons
Circuit Elements Power supply Resistors Capacitors Inductors Semiconductors
Circuit Elements Power supply Energy source
Circuit Elements Resistor, Capacitors and Inductors Passive components
Circuit Elements Semiconductors Active devices Transistors, ICs, LEDs, gates, diodes
Circuit Elements Subgroup of ICs Microcontrollers (pic, Atmega etc.) Microcontroller development boards Arduino
Types of Circuits Analog Continuous values of voltage between Ground and Power Digital Only On or Off, High or Low, or Ground or Power Hybrid
Examples Analog Most sensors, the physical world Digital Your computer, most modern devices, your iPod for the most part
Schematics Symbolic representation of a circuit
Schematic More complex circuit
Breadboarding Provides connectivity Allows reconfiguration
Connectivity Under the Hood
Soldering Make permanent connections on the PCB
Test Equipment Multimeter Oscilloscope Signal Generator Power Supply Logic Analyzer Hand tools
Multimeter Use to measure Voltage, Current and Resistance Some measure frequency, capacitance, temperature and more *** Caution*** Take extra care when measuring current Start with a selection higher than the highest expected value
Oscilloscope Provides detailed graphic representation of signals Essential for signals with ac components Usefull for monitoring noise
Some Common Formulae Ohm's law E = V = IR Formula wheel E - (emf) same as Voltage R – resistance I – current P - power
Series and Parallel Circuits
Using Ohm's Law Equivalent resistance = 1470ohms
Datasheets Your crucial companion Consult the manufacturer's datasheet if unsure of a device's specific behaviour Of special interest Pinouts Absolute maximum ratings Typical application circuit
Important sections
Typical Circuit
Pinouts
Features
PCB Design Eagle software
Eagle 5.11 Details Easy to use Output files compatible with and accepted by most PCB fabs IDE available for Windows, Mac and Linux Frequently updated library Freeware version available limited to 100 x 80 mm boards, 2 signal layers and 1 sheet
Eagle Features Schematic capture
Eagle Light Layout
Router Interactive router and Autorouter
Introduction Tutorial Manufacturer guided tour at
Fabrication!
Capabilities Multilayer PCB fabrication Through hole plating Intricate PCB shapes routing Automatic tool change and milling width adjustment
Partial Specifications
CAM Software CircuitPro 1.4.XXX Import Gerber files from Eagle, Altium etc Configure machine for stock material and PCB process layers Generate milling, drilling and routing tool path Enjoy automated fabrication
Sample Interface
Support Material Manufacturer manual and AME prepared quick start manual Preparation and finishing tools PCB stock and backing material Additional and spare tool bits and process accessories All nearby
General Architecture Participatory Environment ( Installation, Performance) Sensing Data Processing Actuation and Feedback
environment sensing Computing Feedback & Actuators
Sensors Motion Position, Acceleration, Rotation Pressure Light Sound Temperature Biometric sensors
Some Sensors
Data Processing Desktop, Laptop Single Board Computer (SBC) Physical Computing Platform (Arduino, Parallax) Develop using a microcontroller (Pic, Atmega, 8051)
Some Processors
Introduction to the Arduino Environment Arduino Uno, Duemilanove Arduino mini (Stamp) Arduino mini pro (5V, 3.3V, 8Mhz, 16Mhz) Arduino Mega Arduino Nano Arduino Lilypad
Introduction to the Arduino Environment Arduino Uno, Duemilanove Arduino mini (Stamp) Arduino mini pro (5V, 3.3V, 8Mhz, 16Mhz) Arduino Mega Arduino Nano Arduino Lilypad ATmega Micro controllers
Introduction to the Arduino Environment Arduino Uno, Duemilanove Arduino mini (Stamp) Arduino mini pro (5V, 3.3V, 8Mhz, 16Mhz) Arduino Mega Arduino Nano Arduino Lilypad ATmega Micro controllers Bootloader Installed
Introduction to the Arduino Environment Arduino Uno, Duemilanove Arduino mini (Stamp) Arduino mini pro (5V, 3.3V, 8Mhz, 16Mhz) Arduino Mega Arduino Nano Arduino Lilypad ATmega Micro controllers Bootloader Installed Open Source IDE for Windows, OSx and Linux
Arduino Uno/Duemilanove 14 Digital I/Os 6 Analog Inputs 6 PWM Outputs USB Connectivity and Programming USB bus or External Power 16MHz Clock and 32KB Flash Memory
Arduino Uno Cont’d USB Port
Arduino Uno Cont’d USB Port External Power Power Selection
Arduino Uno Cont’d USB Port External Power Power Selection Digital I/Os, PWM, Serial Port
Arduino Uno Cont’d USB Port External Power Digital I/Os, PWM, Serial Port Analog InputsPower and Reset
Arduino Mini Pro Small footprint 16k Flash Program ROM 14 Digital and 6 Analog I/Os All UNO features except it needs external hardware for programming
Programming Arduino Mini Use the standard USB board with the micro controller removed Or use the Arduino serial USB board, Item # DEV from Sparkfun Electronics It is also possible to program it wireless using Blue SMiRF bluetooth modem
Arduino Mini Cont’d Used in many AME devices including SOball1: Light ball with 5DOF IMU SOball2: Light ball with IMU and RFID RFID Mousepad
Arduino Nano Most Versatile Arduino Arduino Mini(stamp) with built-in USB interface and ICSP header All desirable features of Atmega 328 controller All analog inputs available in standard DIP layout
Other Hardware Include ArduinoBT ArduinoXBee Wee Various Sheilds
Arduino Programming Simple Fast No programming hardware needed*
Sample Code Read a sensor Data = analogRead(pin) Control analog devices(motor, light, etc) analogWrite(pin, strength) Read a digital signal digitalRead(pin) Output a digital signal digitalWrite(pin, HIGH)
Output & Actuation Video displays, Projectors Speakers Lights Motors Haptic feedback devices
Actuators & Output Devices
Max/MSP Allows sophisticated audio and video manipulation and feedback Puredata for an OpenSource alternative with little graphics Many objects exist to interface with almost anything. Either direct or from 3 rd party developers.
Experiential Media System
Sensing Light: Using a CDS sensor with a 10K resistor to generate a voltage proportional to brightness Pressure: Using an FSR with 100k and 10k resistors to generate a voltage proportional to applied pressure
Data Processing Arduino: Samples the light and pressure analog signals using ADC. Digitize it and sends digital values to laptop on USB bus. Laptop(Max/msp): Process data, scales it as needed, and applies conditions and manipulate audio and video output.
Output or Feedback Processed/Manipulated Video output Processed Audio output
AME Digital Culture Kit
In Conclusion Sensing can include.... motion(location, acceleration, rotation), pressure, temperature, humidity, lighting, sound, magnetic(hall), biometric(eeg, emg, pulse, GSR) and more
Processing can include probabilistic computational model in addition to linear mapping
Output control can include.... Lighting, sound, video projection, temperature, humidity, mechanical(linear and rotational motion), fluid and gas flow and more
Collect Checkout Forms and Regulation Sheet Tool checkout form Electronic Kit checkout form Lab and equipment maintenance regulations
Please complete the collaboration optimization questionaire.
Web and Contact Info (cell)
Questions?? Thank you