Arduino:  Arduino.cc is the hub of Arduino on the web.  You can find code, forum discussions, tutorials, products, and the entire API here.


dFab:  The best of digital fabrication ON CAMPUS.  Here you'll find resources that are mainly available only to students in Architecture programs and courses.  This includes excellent tutorials on local software and hardware.  This is a MUST SEE!


Adafruit: This is one of the first and BEST sources for DIY interaction and Arduino stuff.  It's a great store so you'll find it on the purchase page.  But it was the place where this all started (for Zack).  This is an extensive site, but start here for more basic Arduino lessons.


How to use libraries: http://learn.adafruit.com/adafruit-all-about-arduino-libraries-install-use

Instructables:  This site has hundreds, maybe thousands of DIY and professional project examples with steps on how to do it yourself.  Interaction design and strawberry shortcake in one place!


SmartSurfaces:  This is a multidisciplinary think tank in its 5th year and developed by friends at the University of Michigan.  Inside there are links to dozens of resources related to interaction design, digital fabrication, mechanical engineering and architecture.  We are using this link with the expressed permission of its creators!  Take a look around...


motor heads go HERE: http://www.smartsurfaces.net/electromechanics

Flying Pig [Mechanics!] This a good place to find different kinds of mechanical assemblies with explanations and some kits and parts.  And it British!


Processing:  This is the graphic counterpart to Arduino.  Here you can find all the stuff for Processing including TONS of useful examples and free code.


Eagle and Fritzing:  When Arduino went viral, more and more people began designing custom PCBs or Printed Circuit Boards.  Not only can you design these boards in several modes, but these services allow you to order your PCB and have it shipped to you.



Rhino Workshop 1: 2D for Fabrication

Mac users can download Rhino 5 (beta) here: http://mac.rhino3d.com .
Fill out the application and you'll get a download link shortly...

Three ways to learn more as you continue:
  1. Under the HELP menu inside Rhino you can links to free tutorials:  Best value (This is how everyone learns it!)
  2. YouTube has an assorted (but less organized) list of video tutorials.
  3. Very organized but for a small fee, http://www.lynda.com/Rhino-training-tutorials/302-0.html .  Lynda.com is good if you're looking for step by step lessons.
Class Reference File: mtiRhino1

2D Topics and Keywords:
  • units / grid: under file>>settings (Mac) or type "units", enter (Mac/PC)
  • navigation: middle mouse roller, right mouse button, +shift, +control
  • command line: reset under Rhinoceros>>preferences>>Legacy>>check both boxes
  • selecting: left mouse button, click or drag box
  • Snaps/Osnaps:bottom of the window, check box on/off
  • curves: polylines, control point lines: under curves menu, in toolbox 
  • points on/off: under edit>>control points>>on/off
  • circles, squares, polygons: under curves menu, in toolbox
  • trim / join/ explode: under edit menu, in toolbox
  • transforms: scale / rotate:under transform menu
  • dimensions: linear, aligned, radii: under dimensions menu
  • offset: under curve menu, type "offset", enter
  • export to Adobe Illustrator: select objects to export, File menu>>export selected, type of file == .ai
Rhino Workshop 2: Basic 3D for Fabrication

Class Reference File: mtiRhino2

3D Topics and Keywords

  • Extrude Curve
  • Cap Planar Holes
  • Surface menu: revolve, sweep 1 rail, extrude curve, loft
  • Solids menu: extrude planar curve, pipe, tube, cap planar holes (primitives: box, sphere, etc...)
  • Boolean operations: Union, Difference, Split
Beside something we could all use more of...

Definition 5  on Wikipedia is what we need.  The space between two interfacing parts, essentially.

What is KERF?

Dictionary meaning 2  explains its the space or material removed in the process of cutting.

A laser has a kerf, though it is tiny.  It may range from .005" - .008".  Pretty huge.  It's best to know before you plan a well crafted project.
Zach Ali says, "Our lasers have a .001 " kerf!

A friction fit is a connection between two parts that is maintained by the exactness of their articulation.  In general, you need around .005" between two parts, to fit them together in a way that will hold without external fasteners like adhesives.  The CAD/CAM workflow is more than capable of this exactitude.  Try it out.

Hint.  Test first, then build.

In an exact fit you may break the part or require machines to press them together.
In a friction fit, parts will slide together and hold quite well.
In a finger joint, above, remember you only need a total of .005" tolerance.  Because two sides touch,
the offset (Rhino word) is only.0025".

Learn to Laser Cut in dFab:

On 9/12 we will be visiting dFab, CMU's fully equipped digital fabrication lab in the basement of MMCH.

In preparation please see dFab Policies and Procedures.

In addition you can review the Rhino-to-Epilog** laser cutting tutorial below:
**For dFab, you do not need to export files to Adobe Illustrator.

Arduino Basics:getting started

If you're having trouble loading sketches (usually marked by the lack of a "usb" serial port for upload) you may need THIS driver.  Install it, restart Arduino, and you should be off.  Thanks to Chin Wei for providing this.

The Root Code:How It's Made

Learning from Arduino.cc:

Must see...

Tutorials on Lady Ada.  Recommended (how little Zacky learned!)

Tutorials from SparkFun.  Also Recommended.  This set makes good use of many of the components in your starter kits.

From the link below, hover over the ARDX and find links to circuits 1-11...

The PDF below has an example of each of the basic functions of Arduino for interaction. Copy and paste code between the dashed lines, for each sketch.

Arduino + Wireless
Using the Fio board

Xbee is great but can be a little fussy to program (another tutorial).  The Arduino Fio operates as a compact, xBee ready dev board.  With a few handy tools you can be up and running (wireless reprogramming!  and wireless serial) from Fio to Fio or from Fio to your PC.

The xBee is a little radio transmitter and receiver and needs to have a 'station' to broadcast from and tuned into the channel that's broadcasting.

Here we will learn:

  • ONE way to configure the xBees.  
  • Use them to wirelessly program the Arduino.
  • See an example of serial wireless control.

A nice way to do this is with the xBee Explorer.  It configures the station and the channel between two (or more) xBees.

The explorer plugs into the USB port on you computer.  One xBee radio at a time can plug into the Explorer for configuration.

Here's the best part.  There is a config Tool made in Processing to do this very easily.  Source Code HERE.

Configuration parameters:

Serial Port: USB (where the Explorer is)

Mode: For Point-to-Point (P2P) you have one xBee Programming Radio, the other xBee "Arduino Fio Radio".  (But they'll work from Fio to Fio).

Baud Rate is based on the board's chip.  Most Fios have an ATmega328 so the baud rate is 57600.

PAN ID: Personal Area Network: Should be the same between both (or several) xBees.

MY ID: The address of each xBee, never the same, starting with '0', then '1' , ect.

DL ID: Destination address (MY ID and DL ID should be inverted to get two-way serial communication.)


Plug xBee 0 into the Explorer and enter these values through the configuration tool:
  • Serial Port: USB
  • Programming radio
  • Baud Rate: 57600
  • PAN ID: 1111
  • MY ID: 0000
  • DL ID: 0001
Then click the "Configure" button.  At the bottom you should momentarily see:
"Configured Successfully".


Plug xBee 1 into the Explorer and enter these values through the configuration tool:
  • Serial Port: USB
  • Arduino Fio radio
  • Baud Rate: 57600
  • PAN ID: 1111
  • MY ID: 0001
  • DL ID: 0000
Then click the "Configure" button.  At the bottom you should momentarily see:
"Configured Successfully".

Now serial commands can be sent from 0 to 1, 0 to 1.  This can be from your computer, via the Explorer, to another micro controller or from Fio with xBee 0 to Fio with xBee 1, etc.

To load a sketch onto the Fio, you do so wirelessly.  xBee 0, via the Explorer, can upload to the Fio with xBee 1 through the Arduino IDE.

Example Code HERE

Note: Change the baud rate through the serial monitor window, bottom right, to 57600.  Under Tools > Board > DO NOT SET TO FIO!  Set the board to "Arduino Pro or Pro Mini (3.3v, 8MHz) w/ ATmega328.


Some people have asked to xBee in multi-point networks.  Zack has no experience here but there are many resources on the web for configuration.  In general it [may] involve configuring in API vs/ AT command mode.  Happy to dive into it if your project requires it.  Also happy to have you teach us if you're able/interested.

For a good, thorough start check out this link:

and here for X-CTU (Windows/PC):

xBee AT:

xBee API:

"Making Things Talk: Second Addtion" by Tom Igoe = free goodness full of xBee tutorials, examples and projects.

Hooking up xBee with a stranger:

No comments:

Post a Comment