<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Jasonmcdermott &#187; teaching</title>
	<atom:link href="http://www.jasonmcdermott.net/tag/teaching/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.jasonmcdermott.net</link>
	<description>Design, design, design.</description>
	<lastBuildDate>Tue, 07 Feb 2012 14:07:53 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>simple metro</title>
		<link>http://www.jasonmcdermott.net/2009/08/simple-metro/</link>
		<comments>http://www.jasonmcdermott.net/2009/08/simple-metro/#comments</comments>
		<pubDate>Fri, 28 Aug 2009 05:00:23 +0000</pubDate>
		<dc:creator>Jason</dc:creator>
				<category><![CDATA[Projects]]></category>
		<category><![CDATA[Architecture]]></category>
		<category><![CDATA[construction]]></category>
		<category><![CDATA[opensource]]></category>
		<category><![CDATA[phidgets]]></category>
		<category><![CDATA[processing]]></category>
		<category><![CDATA[sketches]]></category>
		<category><![CDATA[teaching]]></category>

		<guid isPermaLink="false">http://www.jasonmcdermott.net/?p=582</guid>
		<description><![CDATA[For students in the 11217 introduction to construction class;Here is an example of a simple metronome counter which moves a line up and down a sketch window over a period of time.  You should be able to follow the comments included to see how you might plug your sensors and motors into this sketch to easily arrange for your motors to move a) automatically left/right over a period of time and b) increasing in intensity based on a reading from your slider/light/proximity sensors.]]></description>
			<content:encoded><![CDATA[<p>For students in the 11217 introduction to construction class;Here is an example of a simple metronome counter which moves a line up and down a sketch window over a period of time.  You should be able to follow the comments included to see how you might plug your sensors and motors into this sketch to easily arrange for your motors to move a) automatically left/right over a period of time and b) increasing in intensity based on a reading from your slider/light/proximity sensors.For the purposes of instruction and demonstration, i&#8217;ve connected the line movement to simple mouse input &#8211; move the mouse left/right to influence up/down motion &#8211; so you can see how your sensors might influence pre-programmed movement.Give <a href="http://dl.dropbox.com/u/3801794/circleSize.pde">this sketch</a> a try&#8230;<span id="more-582"></span>Give it a try, it should help in automating your systems, note also that this will mainly work with the simple motors we&#8217;ve given you (that cannot move through more than 360 degrees), not continuous movement motors.[UPDATE] this is the same sketch, <del datetime="2010-08-12T15:01:33+00:00">embedded using the superb combination of hascanvas + processingjs</del> using processingjs.  Move your mouse left and right over the sketch window to modify the metronome speed of the line.<script type="application/processing">float speed = 5.0;float step = 0.5;float direction = 1.0;float value = 0.0; // you should connect this to your motor (eg sp.setPosition(0,value))float drawLine; // this just draws the value to screen as a horizontal linevoid setup() {frameRate(24);  // change this to a lower amount to slow things downsize(200,250);}void draw() {background(255); //clear what was drawn the frame beforespeed = map(mouseX,0,width,0.1,25.0);  // change this to allow your slider to control the line!if (value > 232.0) {direction = direction * -1.0; //move back down when you reach the top}if (value < -22.9) {direction = direction * -1.0; //move back up when you reach the bottom}value = value+(step*speed*direction);drawLine = map(value,-22.9,232.0,0,height); // map the value to the range available in your windowline(0,drawLine,width,drawLine); // draw a line}</script></script></p>
]]></content:encoded>
			<wfw:commentRss>http://www.jasonmcdermott.net/2009/08/simple-metro/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Phidget Interface Kit + Processing</title>
		<link>http://www.jasonmcdermott.net/2009/08/phidget-interface-processing/</link>
		<comments>http://www.jasonmcdermott.net/2009/08/phidget-interface-processing/#comments</comments>
		<pubDate>Thu, 13 Aug 2009 06:51:52 +0000</pubDate>
		<dc:creator>Jason</dc:creator>
				<category><![CDATA[Projects]]></category>
		<category><![CDATA[data]]></category>
		<category><![CDATA[opensource]]></category>
		<category><![CDATA[phidgets]]></category>
		<category><![CDATA[processing]]></category>
		<category><![CDATA[sensing]]></category>
		<category><![CDATA[sketches]]></category>
		<category><![CDATA[teaching]]></category>

		<guid isPermaLink="false">http://www.jasonmcdermott.net/?p=571</guid>
		<description><![CDATA[Here's a simple example for connecting a PhidgetInterfaceKit 8/8/8 to a computer, using Processing.<img src="http://www.jasonmcdermott.net/blog/wp-content/uploads/2009/08/Picture-7.jpg" alt="Picture 7" title="Picture 7" width="268" height="166"  />]]></description>
			<content:encoded><![CDATA[<p>Here&#8217;s a simple example for connecting a PhidgetInterfaceKit 8/8/8 to a computer, using Processing.</p>
<p>You will need to download the phidget21.jar package from the phidgets website, find it in the &#8216;Programming&#8217; section in the java examples section.  Once downloaded, just use Sketch&gt;Add File&#8230; to add the file to your sketch.  Connect via USB and you&#8217;re ready to go.  I&#8217;ve labelled variables based on the sensors I was using, feel free to reassign and use as you will;&#8230;<span id="more-571"></span></p>
<p>&nbsp;</p>
<p><code></p>
<pre lang="”java”">import com.phidgets.*;</pre>
<pre lang="”java”">import com.phidgets.event.*;</pre>
<pre lang="”java”">InterfaceKitPhidget ik;// swap these labels for the actual sensors you have</pre>
<pre lang="”java”">float mot;</pre>
<pre lang="”java”">float temp;</pre>
<pre lang="”java”">float hum;</pre>
<pre lang="”java”">float light;</pre>
<pre lang="”java”">int xPos;</pre>
<pre lang="”java”">void setup(){</pre>
<pre lang="”java”">size(400,300);</pre>
<pre lang="”java”">setupIK();</pre>
<pre lang="”java”">smooth();</pre>
<pre lang="”java”">}</pre>
<pre lang="”java”">void draw(){</pre>
<pre lang="”java”">// the main interfaces for data input /</pre>
<pre lang="”java”">outputreadIK();</pre>
<pre lang="”java”">// clear the previous frame,</pre>
<pre lang="”java”">// draw a new background of greyscale value 200</pre>
<pre lang="”java”">background(200);</pre>
<pre lang="”java”">// draw the sensor input</pre>
<pre lang="”java”">datamot = map (mot,0,1000,0,height);</pre>
<pre lang="”java”">fill(255,0,0);</pre>
<pre lang="”java”">noStroke();</pre>
<pre lang="”java”">ellipse(xPos,(height-mot),10,10);</pre>
<pre lang="”java”">// this controls the graph position onscreen,</pre>
<pre lang="”java”">// it animates the graph and refreshes to the 0 position</pre>
<pre lang="”java”">// when the graph goes offscreen</pre>
<pre lang="”java”">if (xPos &gt;= width){xPos = 0;}else {xPos++;}}</pre>
<pre lang="”java”">void setupIK() {</pre>
<pre lang="”java”">try{</pre>
<pre lang="”java”">ik = new InterfaceKitPhidget();</pre>
<pre lang="”java”">ik.openAny();</pre>
<pre lang="”java”">println("Waiting for Phidget");</pre>
<pre lang="”java”">ik.waitForAttachment();</pre>
<pre lang="”java”">println("OK ready to go");</pre>
<pre lang="”java”">}</pre>
<pre lang="”java”">catch(Exception e){println("ERROR");</pre>
<pre lang="”java”">System.out.println(e);}</pre>
<pre lang="”java”">}</pre>
<pre lang="”java”">void readIK(){try{</pre>
<pre lang="”java”">// the ports are considered an array, with 8 ports in total</pre>
<pre lang="”java”">// the first port is array number 1, but it is addressed as port 0</pre>
<pre lang="”java”">// since it is 0 elements away from the start of the array.</pre>
<pre lang="”java”">// make sure your 'motion' sensor is located at sensor port 1 (number 0)</pre>
<pre lang="”java”">// and your 'light' sensor is at sensor port 2 (number 1)</pre>
<pre lang="”java”">mot = (float)ik.getSensorValue(1);//</pre>
<pre lang="”java”">light = (float)ik.getSensorValue(1);//</pre>
<pre lang="”java”">hum = (float)ik.getSensorValue(2);//</pre>
<pre lang="”java”">temp = (float)ik.getSensorValue(3);}</pre>
<pre lang="”java”">catch (Exception e){println(e.toString());}</pre>
<pre lang="”java”">}</pre>
<p></code></p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jasonmcdermott.net/2009/08/phidget-interface-processing/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Phidget Servo motor output via Processing</title>
		<link>http://www.jasonmcdermott.net/2009/08/processing-phidget-servo/</link>
		<comments>http://www.jasonmcdermott.net/2009/08/processing-phidget-servo/#comments</comments>
		<pubDate>Wed, 12 Aug 2009 12:04:14 +0000</pubDate>
		<dc:creator>Jason</dc:creator>
				<category><![CDATA[Projects]]></category>
		<category><![CDATA[phidgets]]></category>
		<category><![CDATA[processing]]></category>
		<category><![CDATA[sensing]]></category>
		<category><![CDATA[sketches]]></category>
		<category><![CDATA[teaching]]></category>

		<guid isPermaLink="false">http://www.jasonmcdermott.net/?p=553</guid>
		<description><![CDATA[<img src="http://www.jasonmcdermott.net/blog/wp-content/uploads/2009/08/Picture-8.jpg" alt="Picture 8" title="Picture 8" width="247" height="201"  />I'm currently preparing for a short piece of processing tutoring in the Bachelor of Architecture course, commencing tomorrow.  The course is a 1st year construction subject, in which the year group is designing modular structures from found objects (read; whatever they can find in large amounts at Reverse Garbage), with a  12-15 unsuspecting students are going to be shown the slippery slope that is processing, all in the aim of augmenting small construction projects with responsive elements.]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m currently preparing for a short piece of processing tutoring in the Bachelor of Architecture course, commencing tomorrow.  The course is a 1st year construction subject, in which the year group is designing modular structures from found objects (read; whatever they can find in large amounts at Reverse Garbage), with a  12-15 unsuspecting students are going to be shown the slippery slope that is processing, all in the aim of augmenting small construction projects with responsive elements.I&#8217;ve used the standard phidget servo motors with max/msp before, but I&#8217;ve decided to switch focus to processing so such solutions will no longer suffice.  There are some benefits to not using max/msp in the university context;</p>
<ul>
<li>Runtime &#8211; i can&#8217;t count the number of times we&#8217;ve built test prototypes and final projects only to see them fall over due to the small number of licences we&#8217;ve access to on campus.  The runtime solution is acceptible for last minute, last chance, last straw moments but it&#8217;s just not good enough for day to day use or experimentation.</li>
<li>The extraordinary cost of licensing &#8211; the licences bought by the university come at a ridiculous cost, not to mention the <em>involved</em> installation process.  Processing by comparison is such a simple install &#8211; for both the core components and the additional libraries.</li>
<li>Extensibility &#8211; max/msp additional objects are always a welcome addition to the program, however the objects themselves tend to be closed off, limited in how much they reveal of their inner workings and can be fairly slow.</li>
</ul>
<p>To this end I&#8217;ve enjoyed the processing learning curve, there&#8217;s been more than enough learning resources available online and in book form, so I&#8217;m definitely pushing for its&#8217; inclusion in the syllabus in the arch. faculty.  Anthony Burke has been teaching processing in the master of architecture course this semester (with assistance from the computation whiz-kid Ben Coorey), so along with the arduino hardware the transition from proprietary to open-source projects is well under way in the DAB.So to proceed with the real agenda of this post, I was searching for simple code to interface with the PhidgetServo motor output units we&#8217;ve been using, this time working in processing.  I couldn&#8217;t find any decent examples online so had to cobble together one myself.Read on for more;&#8230;<span id="more-553"></span></p>
<p>&nbsp;<br />
<code></p>
<pre lang="”java”">
import com.phidgets.*;import com.phidgets.event.*;
// Declare Variables - a ServoPhidget object called 'sp',
// a Double called 'pos' and an integer called 'xPos'ServoPhidget sp;
// Declare the servophidgetdouble pos;
// this is a type of number, which can store more decimal
// place values than the standard floating point value,
// check the referennce pageint xPos;
// Set size, video framerate, connect to and open phidget object
void setup(){
frameRate(20);
size(400,300);
try{
// Create &amp; Assign the servophidget
sp = new ServoPhidget();
sp.openAny();
println("Waiting for Phidget");
sp.waitForAttachment();
// if you do not see this below in the console,
your phidget is not connected
println("OK ready to go");
} catch(Exception e){
println("ERROR");
System.out.println(e);
}
}
void draw(){
background(200);
// map the mouse x coordinate to the
// available range of the servophidget
pos = map(mouseX,0,width,-22.9,232.0);
// read the data from the phidget
try{
sp.setPosition(0,pos);
sp.getPositionMax(0);
// checking the max and min values for the servophidget
double helloMax = sp.getPositionMax(0);
double helloMin = sp.getPositionMin(0);
// print a line to the console to display the data as it arrives
println("min is: " + helloMin + ", max is: " + helloMax + ", current position is: " + pos);
} catch(Exception e) {
println("ERROR");
System.out.println(e);
}
// the double variable is not used in processing,
// but is needed to send to the servophidget.
// to display this data as a graph onscreen you need
// to convert it to a floating point number
float fPos = (float)pos;
fPos = map(fPos,-22.9,232.0,0,height);
stroke(0);
//  line(xPos,0,xPos,height-fPos);
// Un-comment out the line above to draw a vertical graph of the motor
stroke(50);
line(mouseX,0,mouseX,height);
// this controls the graph position onscreen,
// it animates the graph and refreshes to the 0 position
// when the graph goes offscreen
if (xPos &gt;= width){xPos = 0;}else {xPos++;}
}
</pre>
<p><span style="text-decoration: line-through;">note this requires the phidget21.jar core library file, which is included on the <a href="http://www.phidgets.com/programming_resources.php" target="_blank">phidgets programming download page</a>, just look for the Java examples download.</span>[Update] Download the phidget jar archive <a href="http://www.jasonmcdermott.net/blog/wp-content/uploads/2009/08/Phidget21.jar">here</a>.When downloaded, copy+paste the above code into a new sketch, then select Sketch&gt;Add File... to add the phidget21.jar file to your sketch.  After that, plug in the phidget servo + a motor and you're ready to go.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jasonmcdermott.net/2009/08/processing-phidget-servo/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Computational Environments&#039;09</title>
		<link>http://www.jasonmcdermott.net/2009/02/computational-environments-09/</link>
		<comments>http://www.jasonmcdermott.net/2009/02/computational-environments-09/#comments</comments>
		<pubDate>Mon, 23 Feb 2009 12:37:40 +0000</pubDate>
		<dc:creator>Jason</dc:creator>
				<category><![CDATA[Projects]]></category>
		<category><![CDATA[Architecture]]></category>
		<category><![CDATA[interaction]]></category>
		<category><![CDATA[teaching]]></category>

		<guid isPermaLink="false">http://www.jasonmcdermott.net/?p=386</guid>
		<description><![CDATA[Gearing up for the first week of class for Computational Environments, the Master of Architecture design studio Joanne Jakovich, Bert Bongers and I will be teaching at UTS.Last time round]]></description>
			<content:encoded><![CDATA[<p>Gearing up for the first week of class for Computational Environments, the Master of Architecture design studio <a href="http://jakovich.net.au" target="_blank">Joanne Jakovich</a>, <a href="http://bertbongers.com">Bert Bongers</a> and I will be teaching at UTS.Last time round the studio culminated in the <a href="http://www.jasonmcdermott.net/research/skinform/" target="_self">Skinform</a> project, see below;<a href="http://www.flickr.com/photos/jasonmcdermott/3254616077/"><img class="alignleft size-large" src="http://farm4.static.flickr.com/3051/3254616077_d6188f2975.jpg" alt="" width="620" /></a>From tomorrow onwards we will be launching into a new semester, complete with a new brief, renewed vigor and an even greater expectation.   We will be setting up a platform for the students to share and explain their work, so keep an eye out for that &#8211; I will post more details when they are at hand.Looking forward to an exciting, thought provoking and intensely productive semester!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jasonmcdermott.net/2009/02/computational-environments-09/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The Street as Platform</title>
		<link>http://www.jasonmcdermott.net/2008/11/streetasplatform/</link>
		<comments>http://www.jasonmcdermott.net/2008/11/streetasplatform/#comments</comments>
		<pubDate>Sat, 22 Nov 2008 01:00:46 +0000</pubDate>
		<dc:creator>Jason</dc:creator>
				<category><![CDATA[Projects]]></category>
		<category><![CDATA[Architecture]]></category>
		<category><![CDATA[data]]></category>
		<category><![CDATA[Design]]></category>
		<category><![CDATA[geography]]></category>
		<category><![CDATA[ideas]]></category>
		<category><![CDATA[interaction]]></category>
		<category><![CDATA[processing]]></category>
		<category><![CDATA[sensing]]></category>
		<category><![CDATA[teaching]]></category>
		<category><![CDATA[UTS]]></category>

		<guid isPermaLink="false">http://www.jasonmcdermott.net/?p=464</guid>
		<description><![CDATA[The Street as platform &#8211; a street rendered in data. November has been a busy month! Along with Anthony Burke, Dan Hill and Mitchell Whitelaw, I&#8217;ve been running an intensive]]></description>
			<content:encoded><![CDATA[<p>The Street as platform &#8211; a street rendered in data.</p>
<p>November has been a busy month! Along with Anthony Burke, Dan Hill and Mitchell Whitelaw, I&#8217;ve been running an intensive masterclass studio in the Master of Digital Architecture program at UTS.  The masterclass is based on one of Dan&#8217;s earlier posts called <a href="http://www.cityofsound.com/blog/2008/02/the-street-as-p.html">The Street as Platform</a>, in which the notion of the static street in contemporary urban planning and architecture is discussed as an anachronistic idea and one in dire need of reform.  The street as platform talks about the dynamically linked nature of the modern street, where mobile communication, ubiquitous computing and traditional number crunching merge as a new kind of informational street ecology that exists just outside of our normal consciousness.As students and teachers of architecture, it could well be said that the dynamism of the street in it&#8217;s inhabitation and occupation is implicitly known and explored, but never clearly articulated as a driver &#8211; in it&#8217;s own right &#8211; of architectural decision making regarding form/content.</p>
<p>With this in mind, we set out to investigate the lived inhabitation of the street in an attempt to visualise and understand the hidden seams of activity, an attempt to make the invisible visible.Along with Dan, Anthony and Mitchell, we had a selection of super keen students and a handful of sensor equipment with we set about taming the data beast of Harris St.  Our aim was to produce some meaningful information, based on corellated data sets gleaned and generated from our surrounds.  The students searched for data on Harris st from a number of sources relative to Harris St (google, flickr, youtube, newsrolls, blogs) and then used <a title="processing" href="http://processing.org" target="_blank">processing</a> to scrape, munge and visualise the data.  Also included into the mix were a number of sensors we wired up to collect site specific data such as light/temperature/humidity/rainfall levels over the last week, Bluetooth devices in the vicinity, webcam images from the street as well as audio readings and a magnetic sensor.</p>
<p>All up the live data feeds were a bit of a mixed bag with plenty of teething problems, but over the next fortnight these issues will look to be sorted.The students presented their work on Friday to an invited panel including <a title="marcus trimble" href="http://supercolossal.ch/" target="_blank">marcus trimble</a>, <a title="Andrew Vande Moere" href="http://infosthetics.com/ " target="_blank">andrew vande moere </a>and <a title="Kirsty Beilharz" href="http://www.kirstybeilharz.com.au" target="_blank">kirsty beilharz</a>, one of our new professors in Design at UTS.  The presentations went very well, showcasing some very good work and sparking much discussion amongst the invited guests.The students have diligently been updating a blog with images of the process workand sketch ideas throughout the last two weeks, which can be found at <a title="the studio blog" href="http://streetasplatform.wordpress.com" target="_blank">http://streetasplatform.wordpress.com</a>.  The studio will be exhibiting some of the work at the upcoming UTS Architecture exhbition on the 4th December, so come see some of the live feeds being visualised on the night.</p>
<p>See also; <a title="offshore studio" href="http://offshorestudio.net/" target="_blank">http://offshorestudio.net/</a> <a title="city of sound" href="http://cityofsound.com/" target="_blank">http://cityofsound.com/</a> <a title="mitchell whitelaw" href="http://theteemingvoid.com/" target="_blank">http://theteemingvoid.com/</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.jasonmcdermott.net/2008/11/streetasplatform/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

