Basic User/System ModelTransform :Amplify, Divide, EncodeInput 1Input n PresentMessageSignalRegulator:SimpleInterface:ComplicatedReactionFeedback
What is going with Simple and ComplicatedInteractions• Simple : The System’s response consists of:• Sensing some input or feedback• Categorizing the inputs/feedback using some basiclogic and thereby producing an output• Responding with a straightforward message or signalout like a voltage or current• Complicated : The System’s response consists of:• Sensing with a more complicated apparatus like amonkey brain• Analyzing the context e.g. pattern recognition• Responding via a more sophisticated interface
Complex User/System ModelTransform:SignalProcessingInput 1Input n VisualizeTransmissionSignalw/morenoiseLearn:EmergentBehaviorProbeSystemicChangeCommunicate
What is going with Complex Interactions• The System’s response consists of:• Sorting out volumes of data• Sifting through noise• Interpreting data using some model – probing thedata looking for patterns• Sending a transmission resulting in a visualization• Systems involving learning and changing how thesystem works based on those learnings• Communications between systems are more of acommunications rather than predefined messages.• Tend to need a vocabulary to express information
Basic Project Model• Scope/Scale• What does done look like?• What is goal?• Who is the audience?• What are you trying to achieve?• Schedule – Who is the project for?• For you: take your time – more on this later• Someone else: set expectations on quality vs. scope• Resources and Cost – The Buzz Kill• Can you spread it over time?
Starting on a Project• How do start to figure out a path to a solution• Small Prototypes• Iterate for rapid feedback and learning• Delay your choices for as long as you can• Dont beat your self looking for the best solution, look forthe undeniable constraint• Solutions do not need to be perfect, just effective• You challenges come from constraints like:• Bandwidth• Cost• Power
Bandwidth Impacts the ArrowsTransform :Amplify, Divide, EncodeInput 1Input n PresentMessageSignalRegulatorInterfaceReactionFeedback
Engineering tradeoffs - Bandwidth• How much info are you wanting to transmit• Can you afford to lose some?• Streaming can and does• File Transfer cannot• Compression can help• Must your messages be guaranteed to be correct?• Send multiple times• Use checksums to confirm an intact message• Once you decide on your projects bandwidth needssome choices get made for you with cost and power
Communications Technology Options• High Power – High Bandwidth• “Regular” Wireless that we all know: Embeddedversions tend to be costly. Medium Range• Ethernet: Fixed but cheap, medium range 300m• USB: Short Range and really cheap• Low Power – Medium Bandwidth• Zigbee: Long Range, medium cost medium to lowbandwidth http://wiblocks.luciani.org/white-papers/intro-to-zigbee.html• Bluetooth: Short range, good for audio, costly• Low Cost - Low Range – Low Bandwidth• Single direction modem radios• Check out the options: http://www.sparkfun.com/categories/16
Tradeoffs – Cost and Power Choices• How beefy does your processor need to be?• Distances over which your project needs to operate• Where is the power coming from?• How far to I have to transmit?• Packaging of the electronics• Whether you use off the shelf or DIY• What can you repurpose from the hardware store• What voltages does the electronics require• Low power stuff Zigbee and Lilypad 3.3V• Regular Stuff 5V
Examples of Electronics Packaging• Breadboards: Always a good start, like an electronicsequivalent of a whiteboard• Perf boards: Simple, good for one offs• Printed circuits: For when you want more reliability orproduce volume• Breakout boards: Shortcut for SMDs and introduces anintegration mentality
This is your first chance to shut me up• What projects are you wanting to try out• We’ll break it down• We’ll see what are the next steps• What projects have you started• What is working• What is not working and are there constraints• Or I’ll keep boring you with what I think is important
Tools for Electronics• This link pretty much says it all:http://www.ladyada.net/library/equipt/kits.html• For Soldering Iron go with the best you can afford• Multimeters – Cheapest is good enough for starters• Other sites for cheap tools• http://www.harborfreight.com• http://www.allelectronics.com/• http://www.goldmine-elec.com/
Parts• Maker Oriented – Growing all the time, just a few• www.sparkfun.com• www.adafruit.com• www.makershed.com• Specific Components• www.Mouser.com• www.digikey.com• www.newark.com• EBay is a good place for getting bulk stuff from China
Where to go for Inspiration and Help• Sample of sites• www.Instructables.com• www.makezine.com – Magazine is fun• www.hackaday.com• Halloween Sites• Books• Programming Interactivity• Make Books• Answers• Richmond Dev Jam• Richmond Hacker Space• Adafruit Ask an Engineer
When Arduino does not fit the bill• Need more Bandwidth• Propeller is a cheap multicore embedded processor• If you need audio or video go for a PC• Windows/MAC gets you comfortable well supportedenvironments• LINUX gets you the option to rightsize the OS• Big power small size: Keep an eye on Raspberry Pi• If Arduino is too much? ATTiny• Try other Arduino Form-factors
This is your last chance to shut me up• What projects are you wanting to try out• We’ll break it down• We’ll see what are the next steps• What projects have you started• What is working• What is not working and are there constraints• Or I’ll use my hypnotic voice which will put you to sleep.You will wake tomorrow where you are sittingnow, refreshed and late for work/class.
One Way to Get the Juices Flowing• John Cleese (Yes that one) – “Creativity is not a talent. Itis a way of operating• Need to get to a place where your mind can enter an“Open Mode” of thinking to pondering the problem• Once we come up with an option enter a “Closed Mode”to implement it.
STEP 1: Gathering the Raw Mental Materials• Use the basic project model• Start to list the constraints you want or know of• Get some Inspiration• www.Instructables.com• www.makezine.com – Magazine is fun• www.hackaday.com• Halloween Sites
STEP 2: Digesting the Materials• Break the problem down• Draw pictures, make mockups• Make simple prototypes on a breadboard• Make test rigs using software like Processing• Use the sample code that comes with the environments• See if there are libraries that get you there faster• They abstract some portion of the code• They leverage the experience of others• At this point it is about filtering out all the ideas to thosethat seem to heading in the right direction for you
STEP 3: Unconscious Processing• Space: You can’t become playful, and thereforecreative, if you’re under your usual pressures.• Time: It’s not enough to create space; you have to createyour space for a specific period of time.• Time: Giving your mind as long as possible to come upwith something original. Learning to tolerate thediscomfort of pondering time and indecision• Confidence: Nothing will stop you being creative soeffectively as the fear of making a mistake.• Humor: The main evolutionary significance of humor isthat it gets us from the closed mode to the open modequicker than anything else.
STEP 4: Getting to the “A-HA!” Moment• Out of nowhere the Idea will appear.• It will come to you when you are least expecting it• While shaving, or bathing, or most often when you arehalf awake in the morning.• It may waken you in the middle of the night.• At this point you go from that open mode to the closedmode to implement it.• Be decisive and execute the steps• Ignore distractions• Ignore notions of perfection
STEP 5: Idea meets Reality• Avoid focusing on final solutions – its always OK to fail• Focus on recognizing the constraints• Which bucket do they fall in?• What typical trade-offs can you make?• What did the info gathering show others used?• Experiment and fail quickly• Experiment with the bounds of the constraints• Small iterations• Step away if it nothing works – go to the open mode