<?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>Ben Thompson &#187; doing &#8211; extensions of man</title>
	<atom:link href="http://dm.ncl.ac.uk/benthompson/category/doing-extensions-of-man/feed/" rel="self" type="application/rss+xml" />
	<link>http://dm.ncl.ac.uk/benthompson</link>
	<description>Digital Media</description>
	<lastBuildDate>Tue, 06 Sep 2011 11:11:16 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.5.1</generator>
		<item>
		<title>arduinotellymatevideoinremoteIR</title>
		<link>http://dm.ncl.ac.uk/benthompson/2010/05/28/arduinotellymatevideoinremoteir/</link>
		<comments>http://dm.ncl.ac.uk/benthompson/2010/05/28/arduinotellymatevideoinremoteir/#comments</comments>
		<pubDate>Fri, 28 May 2010 11:31:40 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[doing - extensions of man]]></category>

		<guid isPermaLink="false">http://dm.ncl.ac.uk/benthompson/?p=148</guid>
		<description><![CDATA[extensions of man&#8230;.. so i have been thinking about this &#8216;brief&#8217;/'title&#8217;/'theme&#8217; whatever we choose to call it&#8230; i have been dilly-dallying around with various ideas for inventions and over-technological product extensions (arduino controlled plectrum?), relating to extensions of man in the form of tools&#8230;. but i was getting nowhere on an ideas level&#8230; so i [...]]]></description>
				<content:encoded><![CDATA[<h2><span style="color: #ff6600">extensions of man&#8230;.. so i have been thinking about this &#8216;brief&#8217;/'title&#8217;/'theme&#8217; whatever we choose to call it&#8230; i have been dilly-dallying around with various ideas for inventions and over-technological product extensions (arduino controlled plectrum?), relating to extensions of man in the form of tools&#8230;. but i was getting nowhere on an ideas level&#8230; so i steadied myself and decided to somehow combine a television and an arduino&#8230; i haven&#8217;t looked back.</span></h2>
<h2><span style="color: #ff6600">the television seemed the perfect response to extensions of man, as it is the medium in question in mcluhan&#8217;s theories, and the implications of information, interactivity, and other &#8216;extensions&#8217;. i looked into arduino controlled magnets, messing up the images produced by the CRT&#8230; this could&#8217;ve been cool but limited&#8230; anyhoo it didn&#8217;t seem to get going&#8230;. then i found this little beasty&#8230;.</span></h2>
<p style="text-align: center"><span style="color: #ff6600"><img src="http://dm.ncl.ac.uk/benthompson/files/2010/05/IMG_1725.jpg" alt="TellyMate Shield" width="432" height="576" /></span></p>
<h2 style="text-align: left"><span style="color: #ff6600">it is a Batsocks TellyMate arduino shield&#8230; it turns the arduinos output into a video signal, i didn&#8217;t read much more but i liked it and bought it. a little time later the shield arrived and i had a little play with some example sketches&#8230; the tellymate basically outputs ascii code and the resolution on the screen is very low (38 x 25) so whatever is shown on screen text/symbols/images&#8230;. all is pretty limited. but i really like that aesthetic, (as seen in previous projects). heres a little demo of the manufacturers &#8216;random characters&#8217; sketch with the code&#8230;</span></h2>
<p style="text-align: left">
<pre><span style="color: #808080">/* Example Sketch for a TellyMate Shield */
/* Random Characters */

/* Simple helper functions */
#define CHAR_ESC "\x1B"
void cursor_move( uint8_t row , uint8_t col )
{ // &lt;ESC&gt;Yrc
 Serial.print( CHAR_ESC "Y" ) ;
 Serial.print((unsigned char)(32 + row)) ;
 Serial.print((unsigned char)(32 + col)) ;
}

void cursor_show( bool show )
{ // &lt;ESC&gt;e or &lt;ESC&gt;f
 Serial.print( CHAR_ESC ) ;
 Serial.print( show?'e':'f' ) ;
}

void screen_clear( void )
{ // &lt;ESC&gt;E
 Serial.print( CHAR_ESC "E" );

}

/* The actual sketch */

void setup()
{
 Serial.begin( 57600 ) ; // set to 57600 baud
 screen_clear() ;
 cursor_show( false ) ; // turn the cursor off
}

void loop()
{
 //move the cursor to a random place on the screen.
 cursor_move( random( 25 ) , random( 38 ) ) ;

  Serial.print( (unsigned char) random( 32, 256 ) ) ;

}</span></pre>
<h2><span style="color: #ff6600">so visually it is archaic, but it works as a standalone object (requires power) this i like as all focus remains on the television. So with the tellymate working i was left with the new problem of how to interact with it. i decided to use a tv remote to control the output of the arduino/tellymate.</span></h2>
<h2><span style="color: #ff6600">i needed an IR receiver, and this proved tricky to purchase with time constraints&#8230; however. my broken robotic yoda had one inside! (see previous post) so he did not die in vain. bits and bobs of research led to me to hooking this receiver up to the arduino.</span></h2>
<p style="text-align: center"><span style="color: #ff6600"><img src="http://dm.ncl.ac.uk/benthompson/files/2010/05/IMG_1728.jpg" alt="IR receiver" width="576" height="432" /></span></p>
<h2 style="text-align: left"><span style="color: #ff6600">then came the problem with getting a remote control to communicate with the receiver&#8230; more research on forums and the like turned up some code that did just that&#8230;. sweeeeeet!</span></h2>
<pre style="text-align: left"><span style="color: #808080">int ir_pin = 2;                //Sensor pin 1 wired through a 220 ohm resistor
int led_pin = 13;                //"Ready to Recieve" flag, not needed but nice
int debug = 0;                 //Serial connection must be started to debug
int start_bit = 2000;            //Start bit threshold (Microseconds)
int bin_1 = 1000;                //Binary 1 threshold (Microseconds)
int bin_0 = 400;                 //Binary 0 threshold (Microseconds)

void setup() {
 pinMode(led_pin, OUTPUT);        //This shows when we're ready to recieve
 pinMode(ir_pin, INPUT);
 digitalWrite(led_pin, LOW);        //not ready yet
 Serial.begin(9600);
}

void loop() {
 int key = getIRKey();            //Fetch the key
 Serial.print("Key Recieved: ");
 Serial.println(key);
}

int getIRKey() {
 int data[12];
 digitalWrite(led_pin, HIGH);       //Ok, i'm ready to recieve
 while(pulseIn(ir_pin, LOW) &lt; 2200) { //Wait for a start bit
 }
 data[0] = pulseIn(ir_pin, LOW);    //Start measuring bits, I only want low pulses
 data[1] = pulseIn(ir_pin, LOW);
 data[2] = pulseIn(ir_pin, LOW);
 data[3] = pulseIn(ir_pin, LOW);
 data[4] = pulseIn(ir_pin, LOW);
 data[5] = pulseIn(ir_pin, LOW);
 data[6] = pulseIn(ir_pin, LOW);
 data[7] = pulseIn(ir_pin, LOW);
 data[8] = pulseIn(ir_pin, LOW);
 data[9] = pulseIn(ir_pin, LOW);
 data[10] = pulseIn(ir_pin, LOW);
 data[11] = pulseIn(ir_pin, LOW);
 digitalWrite(led_pin, LOW);

 if(debug == 1) {
 Serial.println("-----");
 }
 for(int i=0;i&lt;11;i++) {          //Parse them
 if (debug == 1) {
 Serial.println(data[i]);
 }
 if(data[i] &gt; bin_1) {          //is it a 1?
 data[i] = 1;
 }  else {
 if(data[i] &gt; bin_0) {        //is it a 0?
 data[i] = 0;
 } else {
 data[i] = 2;              //Flag the data as invalid; I don't know what it is!
 }
 }
 }

 for(int i=0;i&lt;11;i++) {          //Pre-check data for errors
 if(data[i] &gt; 1) {
 return -1;                 //Return -1 on invalid data
 }
 }

 int result = 0;
 int seed = 1;
 for(int i=0;i&lt;11;i++) {          //Convert bits to integer
 if(data[i] == 1) {
 result += seed;
 }
 seed = seed * 2;
 }
 return result;                 //Return key number
}</span></pre>
<h2><span style="color: #ff6600">next step&#8230; getting a sony configured remote control&#8230; and joy of joys&#8230;. pondland to the rescue, bought my self a universal remote&#8230; and tuned it to the right frequency and i started receiving crazy numbers and alsorts of stuff&#8230;.</span></h2>
<p><span style="color: #808080">ÛæÛæÛæÛæÛÛÛÛÛæùæÛæøæÛæûÛæÛæÛæÛæûæÛ&amp;ÛæÛÛæÛÛæÛæÛæÛæÛfÛæûæ (real input example)</span></p>
<h2><span style="color: #ff6600">but, after toying with baud rate i got some useable numbers&#8230; wahooo!</span></h2>
<p><span style="color: #808080">Key Recieved: 128<br />
Key Recieved: 128<br />
Key Recieved: 128<br />
Key Recieved: 128<br />
Key Recieved: 129<br />
Key Recieved: 129<br />
Key Recieved: 129<br />
Key Recieved: 149<br />
Key Recieved: 149<br />
Key Recieved: 149<br />
Key Recieved: 148<br />
Key Recieved: 148<br />
Key Recieved: 148<br />
Key Recieved: 148</span></p>
<h2><span style="color: #ff6600">IR detection accomplished&#8230; arduino video output success&#8230; having played around with the codes, smashing them together to create a mutant sonyremotetellymate sketch, and then identifying keypresses and such and other coding bits and bobs i have created a multichannel minimal tv digibox thing. each channel &#8216;shows&#8217; a line of text which is cynical and very obvious anti-dross statements. but i like it&#8230;</span></h2>
<h2><span style="color: #ff6600">more tinkering is needed if it was to ever be a &#8216;final&#8217; finished piece, but for the purposes of arduino experimentation, i&#8217;m going to give myself a pat on the back!</span></h2>
<h2><span style="color: #ff6600">peace</span></h2>
]]></content:encoded>
			<wfw:commentRss>http://dm.ncl.ac.uk/benthompson/2010/05/28/arduinotellymatevideoinremoteir/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>arduino joins the dark side.</title>
		<link>http://dm.ncl.ac.uk/benthompson/2010/04/30/arduino-joins-the-dark-side/</link>
		<comments>http://dm.ncl.ac.uk/benthompson/2010/04/30/arduino-joins-the-dark-side/#comments</comments>
		<pubDate>Fri, 30 Apr 2010 15:19:53 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[doing - extensions of man]]></category>

		<guid isPermaLink="false">http://dm.ncl.ac.uk/benthompson/?p=127</guid>
		<description><![CDATA[in preparation for the next doing session&#8230; (using arduino to produce a &#8216;real world&#8217; action [i think thats right])&#8230; i killed yoda. lets start at the beginning&#8230; having missed the first session on physical computing (volcano) i read through the blog notes and played catch-up&#8230; this dis-heartened me&#8230; i was bamboozled and bewildered by anodes/dc/stepper/wire/solder/sketches/breadboard&#8230; [...]]]></description>
				<content:encoded><![CDATA[<p style="text-align: center"><img class="aligncenter size-full wp-image-128" src="http://dm.ncl.ac.uk/benthompson/files/2010/04/Photo-53.jpg" alt="Photo 53" width="576" height="432" />in preparation for the next doing session&#8230; (using arduino to produce a &#8216;real world&#8217; action [<em>i think thats right</em>])&#8230; i killed yoda.</p>
<p>lets start at the beginning&#8230;</p>
<p>having missed the first session on physical computing (volcano) i read through the blog notes and played catch-up&#8230; this dis-heartened me&#8230; i was bamboozled and bewildered by anodes/dc/stepper/wire/solder/sketches/breadboard&#8230; everything really. so i set about using the arduino to light an LED&#8230; success! then a flashing LED&#8230; success! then a flashing LED controlled by a potentiometer&#8230;success! i was on a roll, and i wanted to start playing with motors (ooooOOOoooo!) i thought i would use the motor inside my old robotic yoda&#8230; genius.</p>
<p>however&#8230;</p>
<p>now i have taken him apart and i dont have the foggiest what to do with all his electronic innards. there are IR emmiters and sensors, tilt thingys, 3 buttons, a crazy looking motor and attached cogs, memory chips, speaker and plastic eyeballs&#8230; my grand plans of an arduino controlled yoda are not looking good. as it stands i think i&#8217;ll take him apart further, but i know in my heart that it&#8217;s already to late to put him back together again. but tomorrow is a new day.</p>
<p>sorry Yoda.</p>
]]></content:encoded>
			<wfw:commentRss>http://dm.ncl.ac.uk/benthompson/2010/04/30/arduino-joins-the-dark-side/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
