<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
    <title>Flux &amp; Flow</title>
    <link rel="alternate" type="text/html" href="http://blog.lib.umn.edu/willow/fluxflow/" />
    <link rel="self" type="application/atom+xml" href="http://blog.lib.umn.edu/willow/fluxflow/atom.xml" />
   <id>tag:blog.lib.umn.edu,2009:/willow/fluxflow//8983</id>
    <link rel="service.post" type="application/atom+xml" href="http://blog.lib.umn.edu/cgi-bin/mt-atom.cgi/weblog/blog_id=8983" title="Flux &amp; Flow" />
    <updated>2008-12-15T19:52:43Z</updated>
    <subtitle></subtitle>
    <generator uri="http://www.sixapart.com/movabletype/">Movable Type 4.25</generator>
 

<entry>
    <title>Ping Distance Calculations w/ Temperature Reading Code</title>
    <link rel="alternate" type="text/html" href="http://blog.lib.umn.edu/willow/fluxflow/2008/12/ping_distance_calculations_w_t.html" />
    <link rel="service.edit" type="application/atom+xml" href="http://blog.lib.umn.edu/cgi-bin/mt-atom.cgi/weblog/blog_id=8983/entry_id=159888" title="Ping Distance Calculations w/ Temperature Reading Code" />
    <id>tag:blog.lib.umn.edu,2008:/willow/fluxflow//8983.159888</id>
    
    <published>2008-12-15T19:51:23Z</published>
    <updated>2008-12-15T19:52:43Z</updated>
    
    <summary>I will be adding more, however I believe this is the only code I referenced for the website. It is the sub routines for ping() and thermistor readings. There is an optional change that can be made to actually have...</summary>
    <author>
        <name>gran0412</name>
        <uri></uri>
    </author>
    
        <category term="sensors" />
    
    <content type="html" xml:lang="en-us" xml:base="http://blog.lib.umn.edu/willow/fluxflow/">
        <![CDATA[<p>I will be adding more, however I believe this is the only code I referenced for the website. It is the sub routines for ping() and thermistor readings.</p>

<p>There is an optional change that can be made to actually have the temperature readings affect the calculations for ping()</p>]]>
        <![CDATA[<p>int PingPin = 8;</p>

<p>unsigned int ultrasoundValue;<br />
unsigned long echo;</p>

<p>//TEMP = 172; // used if one wishes to feed temperature information in calculations for distance</p>

<p>unsigned int ping(){<br />
  pinMode(PingPin, OUTPUT); // Switch signalpin to output<br />
  digitalWrite(PingPin, LOW); // Send low pulse<br />
  delayMicroseconds(2); // Wait for 2 microseconds<br />
  digitalWrite(PingPin, HIGH); // Send high pulse<br />
  delayMicroseconds(5); // Wait for 5 microseconds<br />
  digitalWrite(PingPin, LOW); // Holdoff<br />
  pinMode(PingPin, INPUT); // Switch signalpin to input<br />
  digitalWrite(PingPin, HIGH); // Turn on pullup resistor<br />
  echo = pulseIn(PingPin, HIGH); //Listen for echo<br />
  ultrasoundValue  = (echo / 58.138)*.39;<br />
 <br />
 //IF one wishes to feed the temperature into this calculation, uncomment the following line, and comment out the previous line<br />
  //  ultrasoundValue  = (echo * TEMP)/25641;<br />
  <br />
  return ultrasoundValue;<br />
}</p>

<p>unsigned int Thermister(int RawADC) {               //the value of RawADC should be the returned value of analogRead(THERMISTORPIN);<br />
   double Temp;<br />
  Temp = log(((10240000/RawADC) - 10000));<br />
  Temp = 1 / (0.001129148 + (0.000234125 * Temp) + (0.0000000876741 * Temp * Temp * Temp));<br />
  Temp = Temp - 273.15;            // Convert Kelvin to Celcius<br />
  <br />
   /*IF one wishes to feed the temperature into this calculation, uncomment the following line<br />
  TEMP = (Temp*.6 + 331.5)/20000;       //for info on how this was found, check the data sheets*/<br />
  <br />
  Temp = (Temp * 9.0)/ 5.0 + 32.0; // Convert Celcius to Fahrenheit<br />
  return Temp;<br />
}</p>]]>
    </content>
</entry>

<entry>
    <title>Wireless Communication Working</title>
    <link rel="alternate" type="text/html" href="http://blog.lib.umn.edu/willow/fluxflow/2008/11/wireless_communication_working.html" />
    <link rel="service.edit" type="application/atom+xml" href="http://blog.lib.umn.edu/cgi-bin/mt-atom.cgi/weblog/blog_id=8983/entry_id=152142" title="Wireless Communication Working" />
    <id>tag:blog.lib.umn.edu,2008:/willow/fluxflow//8983.152142</id>
    
    <published>2008-11-02T02:14:47Z</published>
    <updated>2008-11-02T02:50:41Z</updated>
    
    <summary>As it turns out the supplier that we purchased the Xbee Arduino shields from, switched from the XBee Series 1 to Series 2 -- which does not support out-of-the-box virtual-wire communication. To make a long story short, I got the...</summary>
    <author>
        <name>gran0412</name>
        <uri></uri>
    </author>
    
        <category term="sensors" />
    
    <content type="html" xml:lang="en-us" xml:base="http://blog.lib.umn.edu/willow/fluxflow/">
        <![CDATA[<p>As it turns out the supplier that we purchased the Xbee Arduino shields from, switched from the XBee Series 1 to  Series 2 -- which does not  support out-of-the-box virtual-wire communication.</p>

<p>To make a long story short, I got the two Xbee units up & running using a "virtual wire". (As in the Arduino is just using the standard communication methods) </p>

<p>See the video:</p>

<p><embed id="VideoPlayback" src="http://video.google.com/googleplayer.swf?docid=1224360407351675290&hl=en&fs=true" style="width:400px;height:326px" allowFullScreen="true" allowScriptAccess="always" type="application/x-shockwave-flash"> </embed></p>

<p>The Arduino on the left (powered by the Mac), is commanding, via Xbee, the Arduino on the right (powered by the PC) to turn on/off the LED every second.</p>

<p>Midway through the video I unplug the transmitting Arduino, to show the effect it has on the receiving -- the light stops blinking.</p>

<p>See the extended entry for sketch code</p>

<p>~Zeb "Is not happy with Sparkfun Electronics right now" GrandPre</p>]]>
        <![CDATA[<p>The Xbee units had to be programmed separately of the arduinos using Max-Streams (the maker of XBee) software. This may work to our benefit as I had to spend some time acquainting myself with the datasheet & creating a network for the two units. (called a ZigNet) </p>

<p>I was a little concerned the other design group (Solar House) that is using the Xbee units might interfere with our communication, so I created a unique network ID (which offers optional encryption). I gave the network the ID# 1337, for obvious reasons.</p>

<p>Here are the two Arduino's source code:</p>

<p>****************Transmitting Code***********</p>

<p>void setup()<br />
{<br />
  Serial.begin(9600);<br />
}</p>

<p>void loop()<br />
{<br />
  Serial.print('H');        //instruction to turn LED ON -- but really could be anything<br />
  delay(1000);<br />
  Serial.print('L');      //instruction to turn LED OFF<br />
  delay(1000);<br />
}</p>

<p></p>

<p>**************RECEIVING CODE*******************</p>

<p>int outputPin = 12;<br />
int val;</p>

<p>void setup()<br />
{<br />
  Serial.begin(9600);<br />
  pinMode(outputPin, OUTPUT);<br />
}</p>

<p>void loop()<br />
{<br />
  if (Serial.available()) {<br />
    val = Serial.read();</p>

<p><br />
    if (val == 'H') {      <br />
      digitalWrite(outputPin, HIGH);        //turn LED ON<br />
    } <br />
    if (val == 'L') {<br />
      digitalWrite(outputPin, LOW);        //turn LED OFF<br />
    }<br />
  }<br />
}</p>]]>
    </content>
</entry>

<entry>
    <title>Project Proposal</title>
    <link rel="alternate" type="text/html" href="http://blog.lib.umn.edu/willow/fluxflow/2008/10/project.html" />
    <link rel="service.edit" type="application/atom+xml" href="http://blog.lib.umn.edu/cgi-bin/mt-atom.cgi/weblog/blog_id=8983/entry_id=148379" title="Project Proposal" />
    <id>tag:blog.lib.umn.edu,2008:/willow/fluxflow//8983.148379</id>
    
    <published>2008-10-13T15:23:56Z</published>
    <updated>2008-10-13T15:32:57Z</updated>
    
    <summary></summary>
    <author>
        <name>gran0412</name>
        <uri></uri>
    </author>
    
        <category term="project details" />
    
    <content type="html" xml:lang="en-us" xml:base="http://blog.lib.umn.edu/willow/fluxflow/">
        
        <![CDATA[<p>For reference & future attempts, here is the initial project proposal.</p>

<p><a href="http://blog.lib.umn.edu/willow/fluxflow/Flux%20and%20Flow%20Proposal.doc">Download file</a><br />
</p>]]>
    </content>
</entry>

<entry>
    <title>Project Timeline</title>
    <link rel="alternate" type="text/html" href="http://blog.lib.umn.edu/willow/fluxflow/2008/10/project_timeline.html" />
    <link rel="service.edit" type="application/atom+xml" href="http://blog.lib.umn.edu/cgi-bin/mt-atom.cgi/weblog/blog_id=8983/entry_id=148375" title="Project Timeline" />
    <id>tag:blog.lib.umn.edu,2008:/willow/fluxflow//8983.148375</id>
    
    <published>2008-10-13T15:16:54Z</published>
    <updated>2008-10-13T15:18:25Z</updated>
    
    <summary>Attached is our project timeline as was put in the project proposal. It is current as of today, but I am sure it will be subject to change as we move forward. (except of course the &quot;class milestones&quot;) ~Zeb...</summary>
    <author>
        <name>gran0412</name>
        <uri></uri>
    </author>
    
        <category term="project details" />
    
    <content type="html" xml:lang="en-us" xml:base="http://blog.lib.umn.edu/willow/fluxflow/">
        <![CDATA[<p>Attached is our project timeline as was put in the project proposal. It is current as of today, but I am sure it will be subject to change as we move forward. (except of course the "class milestones") </p>

<p>~Zeb</p>

<p><a href="http://blog.lib.umn.edu/willow/fluxflow/Timeline.html" onclick="window.open('http://blog.lib.umn.edu/willow/fluxflow/Timeline.html','popup','width=1154,height=458,scrollbars=no,resizable=no,toolbar=no,directories=no,location=no,menubar=no,status=no,left=0,top=0'); return false"><img src="http://blog.lib.umn.edu/willow/fluxflow/Timeline-thumb.jpg" width="400" height="158" alt="" /></a></p>]]>
        
    </content>
</entry>

<entry>
    <title>Motion Sensor</title>
    <link rel="alternate" type="text/html" href="http://blog.lib.umn.edu/willow/fluxflow/2008/10/motion_sensor.html" />
    <link rel="service.edit" type="application/atom+xml" href="http://blog.lib.umn.edu/cgi-bin/mt-atom.cgi/weblog/blog_id=8983/entry_id=148247" title="Motion Sensor" />
    <id>tag:blog.lib.umn.edu,2008:/willow/fluxflow//8983.148247</id>
    
    <published>2008-10-13T02:52:23Z</published>
    <updated>2008-10-13T15:09:13Z</updated>
    
    <summary>So I was pretty tickled when the orders that I placed earlier in the week came in on Friday. To counter the excitement, when I received the parts I realized only 1 of 2 wireless transmitters were received by the...</summary>
    <author>
        <name>gran0412</name>
        <uri></uri>
    </author>
    
        <category term="sensors" />
    
    <content type="html" xml:lang="en-us" xml:base="http://blog.lib.umn.edu/willow/fluxflow/">
        <![CDATA[<p>So I was pretty tickled when the orders that I placed earlier in the week came in on Friday. To counter the excitement, when I received the parts I realized only 1 of 2 wireless transmitters were received by the ECE shop, making it impossible to test properly. (No worries, I am following up on that issue!)</p>

<p>Fortunately, the sensors arrived, so I got to work on the first proximity sensor. I set up a really basic program that will basically sense if there is a change in distance. So in the video, if an object is placed in front of it (my hand), the red LED will flash. If the hand is removed it will flash again. Also, because it was too hard to quickly record, but the actual distance in inches is being streamed to my computer -- so far when it says 55 inches, it is pretty darn accurate</p>

<p>See the attached video.</p>

<p><embed id="VideoPlayback" src="http://video.google.com/googleplayer.swf?docid=-8522469675196435345&hl=en&fs=true" style="width:400px;height:326px" allowFullScreen="true" allowScriptAccess="always" type="application/x-shockwave-flash"> </embed></p>

<p><br />
Keep in mind, I threw this together rather quickly (notice how there are only 3 wires coming out of the Arduino) If there is concern about the sensitivity, I will be fine tuning it later. </p>

<p>Either way, thought it might build up a little excitement!</p>

<p>~Zeb</p>]]>
        <![CDATA[<p>Here is the code that I used from the Arduino site. I made a quick alteration to make use of the light indicator.</p>

<p>An important note is that this is 1 of 2 sensors that we may use.</p>

<p>**********************CODE***************************************************</p>

<p>// * Copyleft 2007 Jason Ch<br />
unsigned long echo = 0;<br />
 int ultraSoundSignal = 9; // Ultrasound signal pin<br />
 unsigned long ultrasoundValue = 0;<br />
 int ledPin = 13;<br />
 <br />
 void setup()<br />
 {<br />
 Serial.begin(9600);<br />
 pinMode(ultraSoundSignal,OUTPUT);<br />
 pinMode(ledPin, OUTPUT);<br />
 }<br />
 <br />
 unsigned long ping(){<br />
 pinMode(ultraSoundSignal, OUTPUT); // Switch signalpin to output<br />
 digitalWrite(ultraSoundSignal, LOW); // Send low pulse<br />
 delayMicroseconds(2); // Wait for 2 microseconds<br />
 digitalWrite(ultraSoundSignal, HIGH); // Send high pulse<br />
 delayMicroseconds(5); // Wait for 5 microseconds<br />
 digitalWrite(ultraSoundSignal, LOW); // Holdoff<br />
 pinMode(ultraSoundSignal, INPUT); // Switch signalpin to input<br />
 digitalWrite(ultraSoundSignal, HIGH); // Turn on pullup resistor<br />
  echo = pulseIn(ultraSoundSignal, HIGH); //Listen for echo<br />
  ultrasoundValue = (echo / 58.138) * .39; //convert to CM then to inches<br />
  digitalWrite(ledPin, LOW);<br />
 return ultrasoundValue;<br />
 }<br />
 void loop()<br />
 {<br />
   int x = 0;          //current distance<br />
   int x0 = 0;        //previous distance<br />
   while(1){</p>

<p>       x = ping();<br />
       if(((x+10)<x0)||((x-10)>x0)){<br />
         digitalWrite(ledPin, HIGH);    //there was a difference of +- 10 inches measurement, light it up<br />
       }<br />
       else{<br />
         digitalWrite(ledPin, LOW);    //there wasn't a difference sensed, turn off light<br />
       }<br />
       <br />
   x0=x;        //set current to previous for next time<br />
   Serial.println(x);<br />
   delay(250); //delay 1/4 seconds.<br />
   }<br />
 }</p>

<p>*******************************************************************************</p>]]>
    </content>
</entry>

<entry>
    <title></title>
    <link rel="alternate" type="text/html" href="http://blog.lib.umn.edu/willow/fluxflow/2008/09/post.html" />
    <link rel="service.edit" type="application/atom+xml" href="http://blog.lib.umn.edu/cgi-bin/mt-atom.cgi/weblog/blog_id=8983/entry_id=143423" title="" />
    <id>tag:blog.lib.umn.edu,2008:/willow/fluxflow//8983.143423</id>
    
    <published>2008-09-19T04:08:20Z</published>
    <updated>2008-09-19T04:08:56Z</updated>
    
    <summary> We will be using the Arduino to choreograph the movement and responsiveness of Flux &amp; Flow. This choice will enable us to benefit from the open source community and offer us the opportunity to contribute to this archive of...</summary>
    <author>
        <name>Diane Willow</name>
        <uri></uri>
    </author>
    
    <content type="html" xml:lang="en-us" xml:base="http://blog.lib.umn.edu/willow/fluxflow/">
        <![CDATA[<p><img alt="ArduinoDiecimila01.jpg" src="http://blog.lib.umn.edu/willow/fluxflow/ArduinoDiecimila01.jpg" width="640" height="480" /></p>

<p><br />
We will be using the <a href="http://www.arduino.cc/">Arduino</a> to choreograph the movement and responsiveness of  Flux & Flow.</p>

<p>This choice will enable us to benefit from the open source community and offer us the opportunity to contribute to this archive of resources as well.</p>]]>
        
    </content>
</entry>

<entry>
    <title>first iteration</title>
    <link rel="alternate" type="text/html" href="http://blog.lib.umn.edu/willow/fluxflow/2008/09/first_interation.html" />
    <link rel="service.edit" type="application/atom+xml" href="http://blog.lib.umn.edu/cgi-bin/mt-atom.cgi/weblog/blog_id=8983/entry_id=143218" title="first iteration" />
    <id>tag:blog.lib.umn.edu,2008:/willow/fluxflow//8983.143218</id>
    
    <published>2008-09-18T14:28:22Z</published>
    <updated>2008-10-13T15:19:22Z</updated>
    
    <summary>This video documents the proof of concept prototype. This initial prototype displayed the qualities of an active water surface that matched the poetic concept that I had in mind. Ben Faga, an art student and UROP worked with me to...</summary>
    <author>
        <name>Diane Willow</name>
        <uri></uri>
    </author>
    
        <category term="prototypes" />
    
    <content type="html" xml:lang="en-us" xml:base="http://blog.lib.umn.edu/willow/fluxflow/">
        <![CDATA[<p>This video documents the proof of concept prototype.</p>

<p>This initial prototype displayed the qualities of an active water surface that matched the poetic concept that I had in mind.</p>

<p>Ben Faga, an art student and UROP  worked with me to prototype a series of rotating rods with sculpted, reconfigurable cams.</p>

<p>The responsive and fluid nature of this surface and the kinetic play of the video upon it were a perfect embodiment of the qualities that I associate with flux and flow.</p>

<p>This prototype enabled me to share the concept more effectively and led to an invitation by the Weisman Museum of Art to commission this as a site-specific work for the permanent collection.</p>

<p><object CLASSID="clsid:02BF25D5-8C17-4B23-BC80-D3488ABDDC6B" width=320 height=256 CODEBASE="http://www.apple.com/qtactivex/qtplugin.cab"><br />
	<param name="src" value="https://mediamill.cla.umn.edu/mediamill/download.php?file=3237"><br />
	<param name="qtsrc" value="https://mediamill.cla.umn.edu/mediamill/download.php?file=3237"><br />
	<param name="autoplay" value="true"><br />
	<param name="loop" value="false"><br />
	<param name="controller" value="true"><br />
	<embed src="https://mediamill.cla.umn.edu/mediamill/download.php?file=3237" qtsrc="https://mediamill.cla.umn.edu/mediamill/download.php?file=3237" width=320 height=256 autoplay="true" loop="false" controller="true" pluginspage="http://www.apple.com/quicktime/"></embed><br />
	</object></p>]]>
        
    </content>
</entry>

</feed> 

