<title>CIALIS&reg;(tadalafil citrate) - Learn more about Cialis</title>
<meta name="description" content="Order Cialis Online without Prescription - from $ 1.19 per pill. Safe and Secure Order Processing. Personal Approach. Free Shipping. ">
<?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>ProphecyBoy &#187; Physical Computing</title>
	<atom:link href="http://www.prophecyboy.com/category/itp/pcomp/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.prophecyboy.com</link>
	<description>Adam Simon on digital media, gaming, live performance, and other forms of geekery.</description>
	<lastBuildDate>Mon, 16 Mar 2009 21:22:57 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>The Destiny of Rooms</title>
		<link>http://www.prophecyboy.com/itp/pcomp/the-destiny-of-rooms/</link>
		<comments>http://www.prophecyboy.com/itp/pcomp/the-destiny-of-rooms/#comments</comments>
		<pubDate>Fri, 15 Dec 2006 21:26:53 +0000</pubDate>
		<dc:creator>asimon</dc:creator>
				<category><![CDATA[Physical Computing]]></category>

		<guid isPermaLink="false">http://www.prophecyboy.com/wp/?p=219</guid>
		<description><![CDATA[
As part of my final for Physical Computing, I&#8217;m setting up a system of ambient informatics and feedback which I&#8217;m calling The Destiny of Rooms. This idea started with an email sent to the notorious ITP student listserv by someone sitting in the Japanese Room, a room at ITP which is reserved for student use. [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.flickr.com/photos/adamsimon/sets/72157600149397654/"><img src="http://farm1.static.flickr.com/181/475790079_ea7da97425_m.jpg" /></a></p>
<p>As part of my final for Physical Computing, I&#8217;m setting up a system of ambient informatics and feedback which I&#8217;m calling The Destiny of Rooms. This idea started with an email sent to the notorious ITP student listserv by someone sitting in the Japanese Room, a room at ITP which is reserved for student use. The email, though public to everyone at ITP, was clearly addressed to the other people currently in the Japanese Room, asking them to be quiet, as the Japanese Room was supposed to be a quiet study room. The immediate effect, rather than to make the room quieter, due to the opt-in nature of receiving email, was to spark a debate with people <em>outside</em> the room as to what the actual &#8220;purpose&#8221; of the room was. Somewhere in that debate the notion that none of us, singly or as a group, had control over what the room would be floated to the top &#8211; it was a decision which was happening unconsciously in everyone who used the room. We might as well be saying that the room was deciding for itself.</p>
<p>So, I thought I would let it voice it&#8217;s decisions.</p>
<p>Over the ensuing weeks I built a system of sensors to gather ambient data about the current state of the room. I decided to choose three variables, which would give me a good picture of what was going on: volume (obviously), the number of people in the room, and whether the doors were opened or closed. For volume, I used an array of two condenser microphones mounted near the ceiling, which were mixed into one audio signal, giving an average volume for the entire room. The doors were monitored using simple magnetic switches, salvaged from home security systems. The people counting was more complex. I had originally thought that I would use laser break beams to count people going in and out of each door, but properly aiming the lasers was problematic. In the end, I used a more intrusive but reliable system &#8211; foot switches under doormats, placed on either side of both doors.</p>
<p>All of this was feeding back to an <a href="http://www.arduino.cc">Arduino</a>, which captured the numbers over serial and sent them via USB to a desktop computer. On a Mac, serial ports are treated as files, so I could just output the real-time data using the screen command in terminal, for debugging, or use cat and > to save it to a text file. Every two hours, an Automator script would save the current file to a folder and timestamp it, to keep the data manageable.</p>
<p><em>Over two days, this generated over 5GB of data about how students were using the room.</em></p>
<p>For the output, I decided that the room should play by the same rules that the students had set for it &#8211; it would send emails to the student list, attempting to influence what was going on through email. For the purposes of posterity, the emails would also be archived on a <a href="http://www.destinyofrooms.com/">blog</a>. The construction and sending of the emails was handled by <a href="http://www.processing.org">Processing</a> running on the desktop computer. Every fifteen minutes it would average the values for each of the sensors, and choose one of several pre-determined phrases deemed appropriate for each one, assemble them into an email, and send the mail to the student list. The Japanese Room spoke in the first person, and thus became an entity in it&#8217;s own right &#8211; despite the fact that my name was all over the project, all responses were addressed to JR (as he preferred to be called), and students quickly picked up on the rivalry between JR and the Lounge.</p>
<p>On December 12th &#8211; 14th, JR sent 15 automated messages, all of which are archived here, at a rate of about one every half hour. In addition, Adam sent 5 messages in character as JR to establish the situation and attempt to manage some of the response, for a total of 18 messages from the Japanese Room account. In response, there were a total of 23 messages about the emails or addressed to JR on the list, as well as 3 comments on the blog, for a total of 26 responses.</p>
<p>From the data, it doesn’t appear that anyone took the initiative to actually try to oblige the room in any way.</p>
<p>In response to some, &#8220;user feedback,&#8221; the emails were slowed to once every two hours after the 12th, and it was possible to have the room not email at all if he was happy. But the pendulum swung too far the other way, resulting in a day without JR emails, so on the evening of the 13th, emails every two hours were reinstated, no matter the state of the room.</p>
<p>Quotes from students responding the Japanese Room are available <a href="http://www.destinyofrooms.com/?page_id=17">here</a>, and all emails sent <em>from</em> the Japanese Room are available <a href="http://www.destinyofrooms.com/">here</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.prophecyboy.com/itp/pcomp/the-destiny-of-rooms/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>When is Where</title>
		<link>http://www.prophecyboy.com/itp/pcomp/when-is-where/</link>
		<comments>http://www.prophecyboy.com/itp/pcomp/when-is-where/#comments</comments>
		<pubDate>Fri, 03 Nov 2006 03:03:07 +0000</pubDate>
		<dc:creator>asimon</dc:creator>
				<category><![CDATA[Physical Computing]]></category>

		<guid isPermaLink="false">http://www.prophecyboy.com/wp/?p=207</guid>
		<description><![CDATA[
For my midterm, I created a clock that identifies location rather than time. It&#8217;s a first-generation prototype for a system that uses ZigBee wireless devices to track location. Eventually, the tracking will occur automatically and allow two-way interaction between the observer and the observed, but for now I wanted to get my hands dirty working [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.prophecyboy.com/itp/projects/When%20is%20Where_files/IMG_1918_1.jpg" /></p>
<p>For my midterm, I created a clock that identifies location rather than time. It&#8217;s a first-generation prototype for a system that uses ZigBee wireless devices to track location. Eventually, the tracking will occur automatically and allow two-way interaction between the observer and the observed, but for now I wanted to get my hands dirty working with un-Arduinoed ATMega8&#8217;s and XBee devices.</p>
<p>You can read more about it, and see photos and schematics, <a href="http://www.prophecyboy.com/itp/projects/Physical%20Computing/D1913D5A-A805-4480-B17E-C14B4B807AAF.html">on the project page</a> and in <a href="http://www.prophecyboy.com/itp/projects/When%20is%20Where.html">the photo gallery</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.prophecyboy.com/itp/pcomp/when-is-where/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Grumpy Arduinos</title>
		<link>http://www.prophecyboy.com/itp/pcomp/grumpy-arduinos/</link>
		<comments>http://www.prophecyboy.com/itp/pcomp/grumpy-arduinos/#comments</comments>
		<pubDate>Thu, 19 Oct 2006 03:39:35 +0000</pubDate>
		<dc:creator>asimon</dc:creator>
				<category><![CDATA[Physical Computing]]></category>

		<guid isPermaLink="false">http://www.prophecyboy.com/wp/?p=203</guid>
		<description><![CDATA[
 
 
 
  Photo_101806_001.jpg
  
  Originally uploaded by Prophecy Boy.
 

My Arduino and Daniel&#8217;s. They hate each other, and have refused to talk. It&#8217;s been 9 hours now&#8230; 

]]></description>
			<content:encoded><![CDATA[<div style="float: right; margin-left: 10px; margin-bottom: 10px;">
 <a href="http://www.flickr.com/photos/adamsimon/273492497/" title="Photo_101806_001.jpg"><img src="http://static.flickr.com/99/273492497_0b4bd64472.jpg" alt="" style="border: solid 2px #000000;" /></a><br />
 <br />
 <span style="font-size: 0.9em; margin-top: 0px;"><br />
  <a href="http://www.flickr.com/photos/adamsimon/273492497/">Photo_101806_001.jpg</a><br />
  <br />
  Originally uploaded by <a href="http://www.flickr.com/people/adamsimon/">Prophecy Boy</a>.<br />
 </span>
</div>
<p>My Arduino and Daniel&#8217;s. They hate each other, and have refused to talk. It&#8217;s been 9 hours now&#8230; <img src='http://www.prophecyboy.com/wp/wp-includes/images/smilies/icon_sad.gif' alt=':-(' class='wp-smiley' /><br />
<br clear="all" /></p>
]]></content:encoded>
			<wfw:commentRss>http://www.prophecyboy.com/itp/pcomp/grumpy-arduinos/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Multiple serial input from Arduino to Processing</title>
		<link>http://www.prophecyboy.com/itp/icm/multiple-serial-input-from-arduino-to-processing/</link>
		<comments>http://www.prophecyboy.com/itp/icm/multiple-serial-input-from-arduino-to-processing/#comments</comments>
		<pubDate>Mon, 16 Oct 2006 03:44:29 +0000</pubDate>
		<dc:creator>asimon</dc:creator>
				<category><![CDATA[Computational Media]]></category>
		<category><![CDATA[Physical Computing]]></category>

		<guid isPermaLink="false">http://www.prophecyboy.com/wp/?p=202</guid>
		<description><![CDATA[
Here&#8217;s a video of my serial input: two potentiometers running through the Arduino to control the x-position and y-position of a ball in Processing. I struggled for hours to get this working with Gozor, but I had tons of issues! I thought it was my code, but after  much trial and error, it appears [...]]]></description>
			<content:encoded><![CDATA[<p><object width="375" height="325"><param name="movie" value="http://www.youtube.com/v/W3OvI2-8f2w"></param><embed src="http://www.youtube.com/v/W3OvI2-8f2w" type="application/x-shockwave-flash" width="375" height="325"></embed></object></p>
<p>Here&#8217;s a video of my serial input: two potentiometers running through the <a href="http://www.arduino.cc">Arduino</a> to control the x-position and y-position of a ball in <a href="http://www.processing.org">Processing</a>. I struggled for hours to get this working with Gozor, but I had tons of issues! I thought it was my code, but after  much trial and error, it appears to be a combination of the Java rendering engine freaking out and running out of memory, and Processing not surrendering the USB port when that happened. I seriously thought my computer and/or my Arduino were fried on more than one occasion. After the break, I&#8217;ve posted the code for this ball example (courtesy of <a href="http://tigoe.net/pcomp">Tom Igoe</a> and <a href="http://www.toddhloubek.com">Todd Holoubek</a>) and my non-functioning Gozor code. Anyone have an idea about why that code isn&#8217;t working? One serial input (a pot to control the xpos) worked just fine.<br />
<span id="more-202"></span><br />
Here&#8217;s the Arduino code for the ball:</p>
<blockquote><p><tt><br />
//declare the analog pin. Here we are using analog 0<br />
int analog0 = 0;<br />
int analog1 = 1;<br />
//Declare a variable for the analog data<br />
int val1 = 0;<br />
int val2 = 0;</p>
<p>void setup() {<br />
//initialize the serial<br />
Serial.begin(9600);<br />
}</p>
<p>void loop() {<br />
//read the analog 0 pin<br />
val1 = analogRead(analog0);<br />
val2 = analogRead(analog1);<br />
//divide the value by 4<br />
val1 = val1/4;<br />
val2 = val2/4;<br />
//send the value to the external application. Notice how we are using<br />
Serial.print(val1, BYTE);<br />
Serial.print(val2, BYTE);<br />
}<br />
</tt></p></blockquote>
<p>And here&#8217;s the Processing code for the ball:</p>
<blockquote><p><tt><br />
import processing.serial.*;</p>
<p>//int bgcolor;			     // Background color<br />
//int fgcolor;			     // Fill color<br />
Serial port;                         // The serial port<br />
int[] serialInArray = new int[2];    // Where we'll put what we receive<br />
int serialCount = 0;                 // A count of how many bytes we receive<br />
int xpos, ypos;		     // Starting position of the ball<br />
boolean firstContact = false;        // Whether we've heard from the</p>
<p>void setup() {<br />
  size(256, 256);  // Stage size<br />
  noStroke();      // No border on the next thing drawn</p>
<p>  // Set the starting position of the ball (middle of the stage)<br />
  xpos = width/2;<br />
  ypos = height/2;</p>
<p>  // Print a list of the serial ports, for debugging purposes:<br />
  println(Serial.list());</p>
<p>  // I know that the first port in the serial list on my mac<br />
  // is always my  Keyspan adaptor, so I open Serial.list()[0].<br />
  // On Windows machines, this generally opens COM1.<br />
  // Open whatever port is the one you're using.<br />
  port = new Serial(this, Serial.list()[2], 9600);<br />
  port.write(65);    // Send a capital A to start the microcontroller<br />
}</p>
<p>void draw() {<br />
  background(0);<br />
  //fill(fgcolor);<br />
  fill(255);<br />
  // Draw the shape<br />
  ellipse(xpos, ypos, 20, 20);</p>
<p>  // If no serial data has beeen received, send again until we get some.<br />
  // (in case you tend to start Processing before you start your<br />
  // external device):<br />
  if (firstContact == false) {<br />
    delay(300);<br />
    port.write(65);<br />
  }<br />
}</p>
<p>void serialEvent(Serial port) {<br />
  // if this is the first byte received,<br />
  // take note of that fact:<br />
  if (firstContact == false) {<br />
    firstContact = true;<br />
  }<br />
  // Add the latest byte from the serial port to array:<br />
  serialInArray[serialCount] = port.read();<br />
  serialCount++;</p>
<p>  // If we have 3 bytes:<br />
  if (serialCount > 1 ) {<br />
    xpos = serialInArray[0];<br />
    ypos = serialInArray[1];<br />
    //fgcolor = serialInArray[2];</p>
<p>    // print the values (for debugging purposes only):<br />
    //println(xpos + "\t" + ypos + "\t" + fgcolor);<br />
    println(xpos + "\t" + ypos);</p>
<p>    // Send a capital A to request new sensor readings:<br />
    port.write(65);<br />
    // Reset serialCount:<br />
    serialCount = 0;<br />
  }<br />
}<br />
</tt></p></blockquote>
<p>And here&#8217;s my crash-prone Arduino code for Gozor:</p>
<blockquote><p><tt><br />
/* Analog in Serial Out to processing<br />
 * ----------------<br />
 *this takes a analog signal and returns a value<br />
 *<br />
 *<br />
 */<br />
//declare the analog pin. Here we are using analog 0<br />
int analog0 = 0;<br />
int digital2 = 2;<br />
//Declare a variable for the analog data<br />
int val1 = 0;<br />
int val2 = 0;<br />
int button = 0;</p>
<p>void setup() {<br />
  //initialize the serial<br />
  Serial.begin(9600);<br />
  pinMode(digital2, INPUT);<br />
}</p>
<p>void loop() {<br />
  //read the analog 0 pin<br />
  val1 = analogRead(analog0);<br />
  val2 = digitalRead(digital2);<br />
  val1 = val1/4;          //divide the value by 4 to cover width of screen<br />
  if (val2 == HIGH) {<br />
    button = 1;<br />
  }<br />
  else {<br />
    button = 0;<br />
  }<br />
  //send the value to the external application. Notice how we are using Serial.print instead of Serial.println<br />
  Serial.print(val1, BYTE);<br />
  Serial.print(button, BYTE);<br />
}<br />
</tt></p></blockquote>
<p>And, finally, the crash-prone Processing code for Gozor:</p>
<blockquote><p><tt><br />
import processing.serial.*;<br />
Serial port;</p>
<p>Gozor[] gozors = new Gozor[1];<br />
int pot = 0;    //incoming pot values<br />
int xpos;        // x location of Gozor's center<br />
int button;  //is button pressed?<br />
int[] serialInArray = new int[2];<br />
int serialCount = 0;<br />
boolean firstContact = false;</p>
<p>void setup() {<br />
  println(Serial.list());<br />
  port = new Serial(this, Serial.list()[2], 9600);<br />
  size(500,500);<br />
  smooth();<br />
  frameRate(15);<br />
  for (int i=0; i < gozors.length; i++) {<br />
    gozors[i] = new Gozor(height, -5, 0.1, color(random(0,255),random(0,255),random(0,255)));<br />
  }<br />
}</p>
<p>void draw() {<br />
  background(0);<br />
  for (int i=0; i < gozors.length; i++) {<br />
    gozors[i].drawGozor();<br />
    gozors[i].dynamicMouth();<br />
    gozors[i].dynamicEyes();<br />
    gozors[i].jumpingGozor();<br />
  }<br />
  // If no serial data has beeen received, send again until we get some.<br />
  // (in case you tend to start Processing before you start your<br />
  // external device):<br />
  if (firstContact == false) {<br />
    delay(300);<br />
    port.write(65);<br />
  }</p>
<p>}</p>
<p>//function to move Gozor with a pot<br />
void serialEvent(Serial port) {<br />
  serialInArray[serialCount] = port.read();<br />
  serialCount++;</p>
<p>  if (serialCount > 1) {<br />
    pot = serialInArray[0];<br />
    xpos = pot;<br />
    button = serialInArray[1];<br />
    if (button == 1) {<br />
      jump();<br />
    }<br />
    println(xpos + "\t" + button);<br />
    port.write(65);<br />
    serialCount = 0;<br />
  }<br />
}</p>
<p>void jump() {<br />
  for (int i=0; i < gozors.length; i++) {<br />
    gozors[i].startJump();<br />
  }<br />
}</p>
<p>class Gozor {<br />
  int centerX;          // x location of Gozor's center<br />
  float centerY;        // y location of Gozor's center<br />
  float ypos;           //current height of feet<br />
  float speed;          //speed<br />
  float grav;          // gravity<br />
  boolean jumping;      //whether Gozor's jumping or not<br />
  color c;<br />
  int exp1 = 250;<br />
  int exp2 = 250;</p>
<p>  Gozor(float ypos_, float speed_, float grav_, color c_) {<br />
    ypos = ypos_;<br />
    speed = speed_;<br />
    grav = grav_;<br />
    jumping = false;<br />
    c = c_;<br />
  }</p>
<p>  //function to draw Gozor at the bottom of the screen<br />
  void drawGozor() {<br />
    centerX = xpos*2;        //set Gozor's location to pot value<br />
    centerY = ypos - 201; //starts Gozor with his feet at the bottom of the screen</p>
<p>    //feet<br />
    strokeWeight(1);<br />
    stroke(64,23,2);<br />
    fill(118,44,6);<br />
    triangle(centerX-37,centerY+155,centerX-14,centerY+200,centerX-60,centerY+200); //left<br />
    triangle(centerX+37,centerY+155,centerX+14,centerY+200,centerX+60,centerY+200); //right</p>
<p>    //legs<br />
    stroke(23,121,29);<br />
    fill(c);<br />
    rect(centerX-50,centerY+140,26,40); //left<br />
    rect(centerX+24,centerY+140,26,40); //right</p>
<p>    //tail<br />
    noFill();<br />
    stroke(c);<br />
    strokeWeight(7);<br />
    arc(centerX+100,centerY+135,150,20,PI,PI/4);<br />
    arc(centerX+175,centerY+143,50,20,PI/4,PI);</p>
<p>    //body<br />
    noStroke();<br />
    fill(c);<br />
    triangle(centerX,centerY-25,centerX+100,centerY+150,centerX-100,centerY+150);</p>
<p>    //simulate legs overlapping body<br />
    stroke(23,121,29);<br />
    strokeWeight(1);<br />
    line(centerX-51,centerY+150,centerX-51,centerY+125); //left<br />
    line(centerX-24,centerY+150,centerX-24,centerY+125);<br />
    line(centerX+23,centerY+150,centerX+23,centerY+125); //right<br />
    line(centerX+50,centerY+150,centerX+50,centerY+125);</p>
<p>    //head<br />
    stroke(c);<br />
    strokeCap(ROUND);<br />
    strokeWeight(50);<br />
    line(centerX,centerY+50,centerX,centerY-25);</p>
<p>    //chin<br />
    stroke(23,121,29);<br />
    strokeWeight(1);<br />
    arc(centerX,centerY+25,7,8,TWO_PI,PI);</p>
<p>    //left eye stalk<br />
    fill(c);<br />
    noStroke();<br />
    triangle(centerX,centerY,centerX-25,centerY-110,centerX-50,centerY-100);<br />
    stroke(23,121,29);<br />
    strokeWeight(1);<br />
    ellipseMode(CENTER);<br />
    ellipse(centerX-38,centerY-105,30,30);</p>
<p>    //right eye stalk<br />
    noStroke();<br />
    triangle(centerX,centerY,centerX+25,centerY-110,centerX+50,centerY-100);<br />
    stroke(23,121,29);<br />
    strokeWeight(1);<br />
    ellipse(centerX+37,centerY-105,30,30);<br />
  }</p>
<p>  //function to draw Gozor's eyes &#038; make them dynamic to mouse-y position<br />
  void dynamicEyes() {<br />
    //left eyeball<br />
    fill(255); //white<br />
    stroke(0);<br />
    strokeWeight(1);<br />
    ellipse(centerX-38,centerY-105,20,20);<br />
    fill(167,3,132); //iris<br />
    ellipse(centerX-38,centerY-105,20,10);<br />
    fill(0); //pupil<br />
    ellipse(centerX-38,centerY-105,2+(exp1/50.0),10);</p>
<p>    //right eyeball<br />
    fill(255); //white<br />
    ellipse(centerX+37,centerY-105,20,20);<br />
    fill(167,3,132); //iris<br />
    ellipse(centerX+37,centerY-105,20,10);<br />
    fill(0); //pupil<br />
    ellipse(centerX+37,centerY-105,2+(exp1/50.0),10);<br />
  }</p>
<p>  //function to draw Gozor's mouth &#038; make it dynamic to mouse-x position<br />
  void dynamicMouth() {<br />
    noFill();<br />
    stroke(255,10,10);<br />
    strokeWeight(2);<br />
    arc(centerX,centerY,25,10,TWO_PI+(exp2/400.0),PI-(exp2/400.0));<br />
  }</p>
<p>  //function to make Gozor blink<br />
  void blinkGozor() {<br />
    fill(23,121,29); // blink right eyelid<br />
    stroke(0);<br />
    ellipse(centerX+37,centerY-105,20,20);<br />
    line(centerX+27,centerY-105,centerX+47,centerY-105);<br />
    fill(23,121,29); // blink left eyelid<br />
    stroke(0);<br />
    ellipse(centerX-38,centerY-105,20,20);<br />
    line(centerX-28,centerY-105,centerX-47,centerY-105);<br />
  }</p>
<p>  //funtion to make Gozor jump when the mouse is pressed<br />
  void jumpingGozor() {<br />
    float top = height - 175; //keeps Gozor on the screen when he jumps</p>
<p>    //jumping actions<br />
    if (jumping) {                 //moves Gozor up<br />
      speed += grav;<br />
      ypos += speed;<br />
    }<br />
    //    println("ypos: " + ypos + "; speed: " + speed); //debugging</p>
<p>    if ((speed > -0.5) &#038;&#038; (speed < 0.5)) {          //blink<br />
      blinkGozor();<br />
    }</p>
<p>    if (ypos > height) {   //turns off jumping when Gozor lands &#038; resets for more jumping!<br />
      ypos = height;      // keep his feet on the ground<br />
      jumping = false;    //stop jumping<br />
      speed = speed * -1;  //reset for future jumps<br />
    }</p>
<p>  }</p>
<p>  void startJump() {<br />
    jumping = true;<br />
  }<br />
  void stopJump() {<br />
    jumping = false;<br />
  }</p>
<p>}</p>
<p></tt></p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://www.prophecyboy.com/itp/icm/multiple-serial-input-from-arduino-to-processing/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

<!-- Dynamic Page Served (once) in 0.374 seconds -->
