<?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/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>the open source student</title>
	<atom:link href="http://boolscott.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://boolscott.wordpress.com</link>
	<description>electronic engineering</description>
	<lastBuildDate>Sat, 26 Nov 2011 21:25:11 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='boolscott.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://1.gravatar.com/blavatar/92a6cd609bedb496222d5e891d2b210e?s=96&#038;d=http%3A%2F%2Fs2.wp.com%2Fi%2Fbuttonw-com.png</url>
		<title>the open source student</title>
		<link>http://boolscott.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://boolscott.wordpress.com/osd.xml" title="the open source student" />
	<atom:link rel='hub' href='http://boolscott.wordpress.com/?pushpress=hub'/>
		<item>
		<title>Arduino graph software</title>
		<link>http://boolscott.wordpress.com/2010/10/23/sneak-preview-of-my-open-source-project/</link>
		<comments>http://boolscott.wordpress.com/2010/10/23/sneak-preview-of-my-open-source-project/#comments</comments>
		<pubDate>Sat, 23 Oct 2010 08:36:47 +0000</pubDate>
		<dc:creator>boolscott</dc:creator>
				<category><![CDATA[arduino]]></category>
		<category><![CDATA[array]]></category>
		<category><![CDATA[bar graph]]></category>
		<category><![CDATA[graph]]></category>
		<category><![CDATA[graph library]]></category>
		<category><![CDATA[logging]]></category>
		<category><![CDATA[oscilliscope]]></category>
		<category><![CDATA[power]]></category>
		<category><![CDATA[Processing]]></category>
		<category><![CDATA[class]]></category>

		<guid isPermaLink="false">http://boolscott.wordpress.com/?p=298</guid>
		<description><![CDATA[Update: Here is a link to my source code. Some very simple examples, without the buttons, saving data etc. When I get time I&#8217;ll start a new post explaining it all properly. This code is for those that want to &#8230; <a href="http://boolscott.wordpress.com/2010/10/23/sneak-preview-of-my-open-source-project/">Continue reading <span class="meta-nav">&#8594;</span></a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=boolscott.wordpress.com&amp;blog=10032189&amp;post=298&amp;subd=boolscott&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<div id="attachment_311" class="wp-caption aligncenter" style="width: 556px"><a href="http://boolscott.files.wordpress.com/2010/10/arduino-graph.jpg"><img class="size-full wp-image-311 " title="Arduino Graph" src="http://boolscott.files.wordpress.com/2010/10/arduino-graph.jpg?w=546&#038;h=411" alt="" width="546" height="411" /></a><p class="wp-caption-text">Arduino graph using Processing</p></div>
<blockquote><p><span style="color:#993300;">Update: <a href="http://www.2shared.com/file/7MAe9Ra_/Plottit.html">Here is a link </a>to my source code. Some very simple examples, without the buttons, saving data etc. When I get time I&#8217;ll start a new post explaining it all properly.</span></p></blockquote>
<p>This code is for those that want to draw fancy graphs with processing, and use the fasted method to communicate with the Arduino.</p>
<p><strong>Arduino side:</strong></p>
<ul>
<li>Serially sending <strong>arrays</strong> for different graphs from the chip</li>
</ul>
<pre>       <span style="color:#cc6600;">void</span> PlottArray(<span style="color:#cc6600;">int</span> Cmd,<span style="color:#cc6600;">int</span> Array1[],<span style="color:#cc6600;">int</span> Array2[])
           Cmd  -&gt; which graph is this data for?
       Array1[] -&gt; The real time array. Measured micro-seconds
       Array2[] -&gt; Array of measured voltages</pre>
<ul>
<li>Serially sending <strong>updates </strong>for different graphs from the chip</li>
</ul>
<p><strong>Processing side:</strong></p>
<ul>
<li>A graph class that makes graphing simple with Processing. Drawing bar graphs, smooth  line graphs etc can be quite a mission..</li>
</ul>
<p>You just have to declare a graph object:  Graph VoltageAndCurrent;</p>
<pre>        VoltageAndCurrent.xMax=<span style="color:#cc6600;">int</span>(<span style="color:#cc6600;">max</span>(timeArray1));
        VoltageAndCurrent.yMax=<span style="color:#cc6600;">int</span>(<span style="color:#cc6600;">max</span>(voltageArray));

        VoltageAndCurrent.DrawAxis();
        VoltageAndCurrent.smoothLine(timeArray1,voltageArray,currentArray);</pre>
<ul>
<li><span style="font-family:Consolas, Monaco, 'Courier New', Courier, monospace;line-height:18px;font-size:12px;white-space:pre;"><span style="font-family:Georgia, 'Times New Roman', 'Bitstream Charter', Times, serif;line-height:19px;white-space:normal;font-size:13px;">Saving and loading data to a text file</span></span></li>
<li>Efficient serial link to the Arduino (Error checking etc)</li>
</ul>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/boolscott.wordpress.com/298/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/boolscott.wordpress.com/298/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/boolscott.wordpress.com/298/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/boolscott.wordpress.com/298/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/boolscott.wordpress.com/298/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/boolscott.wordpress.com/298/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/boolscott.wordpress.com/298/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/boolscott.wordpress.com/298/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/boolscott.wordpress.com/298/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/boolscott.wordpress.com/298/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/boolscott.wordpress.com/298/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/boolscott.wordpress.com/298/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/boolscott.wordpress.com/298/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/boolscott.wordpress.com/298/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=boolscott.wordpress.com&amp;blog=10032189&amp;post=298&amp;subd=boolscott&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://boolscott.wordpress.com/2010/10/23/sneak-preview-of-my-open-source-project/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/5b197bb4594a5aac1556939072bf62de?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">boolscott</media:title>
		</media:content>

		<media:content url="http://boolscott.files.wordpress.com/2010/10/arduino-graph.jpg" medium="image">
			<media:title type="html">Arduino Graph</media:title>
		</media:content>
	</item>
		<item>
		<title>Arduino + Processing : Analogue bar graph</title>
		<link>http://boolscott.wordpress.com/2010/02/04/arduino-processing-analogue-bar-graph-2/</link>
		<comments>http://boolscott.wordpress.com/2010/02/04/arduino-processing-analogue-bar-graph-2/#comments</comments>
		<pubDate>Thu, 04 Feb 2010 19:25:29 +0000</pubDate>
		<dc:creator>boolscott</dc:creator>
				<category><![CDATA[arduino]]></category>
		<category><![CDATA[Processing]]></category>
		<category><![CDATA[bar graph]]></category>
		<category><![CDATA[data logger]]></category>
		<category><![CDATA[graph]]></category>

		<guid isPermaLink="false">http://boolscott.wordpress.com/?p=186</guid>
		<description><![CDATA[So far Processing is the easiest language I’ve used to make win apps. The example code that comes with the compiler (similar to the sample code that comes with the Arduino) lets you get away without doing tutorials, if you &#8230; <a href="http://boolscott.wordpress.com/2010/02/04/arduino-processing-analogue-bar-graph-2/">Continue reading <span class="meta-nav">&#8594;</span></a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=boolscott.wordpress.com&amp;blog=10032189&amp;post=186&amp;subd=boolscott&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<div>So far P<strong>rocessing</strong> is the easiest language I’ve used to make win apps. The example code that comes with the compiler (similar to the sample code that comes with the Arduino) lets you get away without doing tutorials, if you know the basics of C++.</div>
<div style="text-align:center;"><span style="color:#ffffff;">.</span></div>
<div id="_mcePaste" style="text-align:center;">Here is a pic of the <strong>bar graph</strong> I made to display the <strong>Arduino’s analogue inputs</strong>.</div>
<div style="text-align:center;"><span style="color:#ffffff;">.</span></div>
<div style="text-align:center;"><a href="http://boolscott.files.wordpress.com/2010/02/fullscreen-capture-02-feb-2010-073816-pm1.jpg"><img class="size-full wp-image-191" title="Fullscreen capture 02 Feb 2010 073816 PM" src="http://boolscott.files.wordpress.com/2010/02/fullscreen-capture-02-feb-2010-073816-pm1.jpg?w=510&#038;h=364" alt="Arduino analogue graph" width="510" height="364" /></a></div>
<div class="mceTemp mceIEcenter">
<dl class="wp-caption aligncenter">
<dd class="wp-caption-dd">An app made using Processing, to display the Arduino&#8217;s analogue inputs A0-A5 </dd>
</dl>
</div>
<p style="text-align:center;"><span style="color:#ffffff;">.</span></p>
<p>If you copy, paste and run the code you’ll notice the backgound will be plain. I’ve commented out the line where it loads the background image.  The title, axis labels, subdivisions and all variables that you con feel free to play with have been put at the top of the code.Copy the code below into Processing and edit the highlighted code. Whatever com port is used must be entered into the line I’ve highlighted yellow. For some reason I had to enter a 2 to tell it I’m using com port 4, and a 1 for com port 3.</p>
<p><a href="http://www.2shared.com/file/hOkBI6NO/BarGraph.html">zipped code (1MB &#8211; Arduino &amp; Processing)</a></p>
<p><strong>Processing Code</strong></p>
<div style="border:1px solid #d0d0d0;overflow:auto;background-color:white;height:250px;width:450px;">
<pre><span style="font-family:Georgia, 'Times New Roman', 'Bitstream Charter', Times, serif;font-size:small;"><span style="line-height:19px;white-space:normal;"><span style="font-family:Consolas, Monaco, 'Courier New', Courier, monospace;color:#7e7e7e;font-size:small;"><span style="font-size:small;"><span style="line-height:18px;white-space:pre;"><span style="color:#000000;">// Feel Free to edit these variables ///////////////////////////
String  xLabel = "Analogue Inputs";
String  yLabel = "Voltage (V)";
String  Heading = "The Graph Sketch";
String  URL = "01/02/2010";
float Vcc = 5.0;    // the measured voltage of your usb
int NumOfVertDivisions=5;      // dark gray
int NumOfVertSubDivisions=10;  // light gray

int NumOfBars=6;    // you can choose the number of bars, but it can cause issues
                    // since you should change what the arduino sends

// if these are changed, background image has problems
// a plain background solves the problem
int ScreenWidth = 600, ScreenHeight=400;
/////////////////////////////////////////////////////////

//  Serial port stuff ///////////////////////
import processing.serial.*;
Serial myPort;
boolean firstContact = false;
int[] serialInArray = new int[6];
int serialCount = 0;
///////////////////////////////////////////////

int LeftMargin=100;
int RightMArgin=80;
int TextGap=50;
int GraphYposition=80;
float BarPercent = 0.4;

int value;

PFont font;
PImage bg;

int temp;
float yRatio = 0.58;
int BarGap, BarWidth, DivisounsWidth;
int[] bars = new int[NumOfBars];

void setup(){

 // bg = loadImage("BG.jpg"); 

  /// NB SETTINGS ////////////////////////////////////////////////////////
  myPort = new Serial(this, Serial.list()[1], 9600);
  ////////////////////////////////////////////////////////////////////////

  DivisounsWidth = (ScreenWidth-LeftMargin-RightMArgin)/(NumOfBars);
  BarWidth = int(BarPercent*float(DivisounsWidth));
  BarGap = DivisounsWidth - BarWidth;

  size(ScreenWidth,ScreenHeight);
  font = createFont("Arial",12);

  textAlign(CENTER);
  textFont(font);
}

void draw(){

//  background(bg);     // My one used a background image, I've
  background(250);      // commented it out and put a plain colour 

  //  Headings();           // Displays bar width, Bar gap or any variable.
  Axis();
  Labels();
  PrintBars();
}

// Send Recieve data //
void serialEvent(Serial myPort) {

  // read a byte from the serial port:
  int inByte = myPort.read();

  if (firstContact == false) {
    if (inByte == 'A') {
      myPort.clear();          // clear the serial port buffer
      firstContact = true;     // you've had first contact from the microcontroller
      myPort.write('A');       // ask for more
    }
  }
  else {
    // Add the latest byte from the serial port to array:
    serialInArray[serialCount] = inByte;
    serialCount++;

    // If we have 6 bytes:
    if (serialCount &gt; 5 ) {

for (int x=0;x&lt;6;x++){

  bars[x] = int (yRatio*(ScreenHeight)*(serialInArray[x]/256.0));

}

      // Send a capital A to request new sensor readings:
      myPort.write('A');
      // Reset serialCount:
      serialCount = 0;
    }
  }
}

/////// Display any variables for testing here//////////////
void Headings(){
  fill(0 );
  text("BarWidth",50,TextGap );
  text("BarGap",250,TextGap );
  text("DivisounsWidth",450,TextGap );
  text(BarWidth,100,TextGap );
  text(BarGap,300,TextGap );
  text(DivisounsWidth,520,TextGap );
}

void PrintBars(){ 

  int c=0;
  for (int i=0;i&lt;NumOfBars;i++){

    fill((0xe4+c),(255-bars[i]+c),(0x1a+c));
    stroke(90);
    rect(i*DivisounsWidth+LeftMargin,   ScreenHeight-GraphYposition,   BarWidth,   -bars[i]);
    fill(0x2e,0x2a,0x2a);
    text(float(bars[i])/(yRatio*(ScreenHeight))*Vcc,   i*DivisounsWidth+LeftMargin+BarWidth/2,   ScreenHeight-bars[i]-5-GraphYposition );
    text("A",   i*DivisounsWidth+LeftMargin+BarWidth/2 -5,   ScreenHeight-GraphYposition+20 );
    text(i,   i*DivisounsWidth+LeftMargin+BarWidth/2 +5,   ScreenHeight-GraphYposition+20 );
  }
}

void Axis(){

  strokeWeight(1);
  stroke(220);
  for(float x=0;x&lt;=NumOfVertSubDivisions;x++){

    int bars=(ScreenHeight-GraphYposition)-int(yRatio*(ScreenHeight)*(x/NumOfVertSubDivisions));
    line(LeftMargin-15,bars,ScreenWidth-RightMArgin-DivisounsWidth+50,bars);
  }
  strokeWeight(1);
  stroke(180);
  for(float x=0;x&lt;=NumOfVertDivisions;x++){

    int bars=(ScreenHeight-GraphYposition)-int(yRatio*(ScreenHeight)*(x/NumOfVertDivisions));
    line(LeftMargin-15,bars,ScreenWidth-RightMArgin-DivisounsWidth+50,bars);
  }
  strokeWeight(2);
  stroke(90);
  line(LeftMargin-15, ScreenHeight-GraphYposition+2, ScreenWidth-RightMArgin-DivisounsWidth+50, ScreenHeight-GraphYposition+2);
  line(LeftMargin-15,ScreenHeight-GraphYposition+2,LeftMargin-15,GraphYposition);
  strokeWeight(1);
}

void Labels(){
  textFont(font,18);
  fill(50);
  rotate(radians(-90));
  text(yLabel,-ScreenHeight/2,LeftMargin-45);
  textFont(font,16);
  for(float x=0;x&lt;=NumOfVertDivisions;x++){

    int bars=(ScreenHeight-GraphYposition)-int(yRatio*(ScreenHeight)*(x/NumOfVertDivisions));
    text(round(x),-bars,LeftMargin-20);
  }

  textFont(font,18);
  rotate(radians(90));
  text(xLabel,LeftMargin+(ScreenWidth-LeftMargin-RightMArgin-50)/2,ScreenHeight-GraphYposition+40);
  textFont(font,24);
  fill(50);
  text(Heading,LeftMargin+(ScreenWidth-LeftMargin-RightMArgin-50)/2,70);
  textFont(font);

  fill(150);
  text(URL,ScreenWidth-RightMArgin-40,ScreenHeight-15);
  textFont(font);

}</span>

</span></span><span style="line-height:18px;white-space:pre;">
</span></span></span></span></pre>
</div>
<p><strong>Arduino Code</strong></p>
<div style="border:1px solid #d0d0d0;overflow:auto;background-color:white;height:250px;width:450px;">
<pre><span style="color:#7e7e7e;">//Sending 8 bit reading (256) so analogue </span>
<span style="color:#7e7e7e;">//reading can be sent in 1 byte </span>

<span style="color:#cc6600;">int</span> Analogue0 = 0;    <span style="color:#7e7e7e;">// first analog sensor</span>
<span style="color:#cc6600;">int</span> Analogue1 = 0;   <span style="color:#7e7e7e;">// second analog sensor</span>
<span style="color:#cc6600;">int</span> Analogue2 = 0;    <span style="color:#7e7e7e;">// digital sensor</span>
<span style="color:#cc6600;">int</span> Analogue3 = 0;   <span style="color:#7e7e7e;">// second analog sensor</span>
<span style="color:#cc6600;">int</span> Analogue4 = 0;   <span style="color:#7e7e7e;">// second analog sensor</span>
<span style="color:#cc6600;">int</span> Analogue5 = 0;   <span style="color:#7e7e7e;">// second analog sensor</span>
<span style="color:#cc6600;">int</span> inByte = 0;         <span style="color:#7e7e7e;">// incoming serial byte</span>

<span style="color:#cc6600;">void</span> <span style="color:#cc6600;"><strong>setup</strong></span>()
{
  <span style="color:#7e7e7e;">// start serial port at 9600 bps:</span>
  <span style="color:#cc6600;">Serial</span>.<span style="color:#cc6600;">begin</span>(9600);

  establishContact();  <span style="color:#7e7e7e;">// send a byte to establish contact until Processing responds </span>
}

<span style="color:#cc6600;">void</span> <span style="color:#cc6600;"><strong>loop</strong></span>()
{
  <span style="color:#7e7e7e;">// if we get a valid byte, read analog ins:</span>
  <span style="color:#cc6600;">if</span> (<span style="color:#cc6600;">Serial</span>.<span style="color:#cc6600;">available</span>() &gt; 0) {
    <span style="color:#7e7e7e;">// get incoming byte:</span>
    inByte = <span style="color:#cc6600;">Serial</span>.<span style="color:#cc6600;">read</span>();
    <span style="color:#7e7e7e;">// read first analog input, divide by 4 to make the range 0-255:</span>
    Analogue0 = <span style="color:#cc6600;">analogRead</span>(0)/4;
    <span style="color:#7e7e7e;">// delay 10ms to let the ADC recover:</span>
    <span style="color:#cc6600;">delay</span>(10);
    <span style="color:#7e7e7e;">// read second analog input, divide by 4 to make the range 0-255:</span>
    Analogue1 = <span style="color:#cc6600;">analogRead</span>(1)/4;
    <span style="color:#7e7e7e;">// read  switch, multiply by 155 and add 100</span>
    <span style="color:#7e7e7e;">// so that you're sending 100 or 255:</span>
    <span style="color:#cc6600;">delay</span>(10);
    Analogue2 = <span style="color:#cc6600;">analogRead</span>(2)/4;
    <span style="color:#cc6600;">delay</span>(10);
    Analogue3 = <span style="color:#cc6600;">analogRead</span>(3)/4;
    <span style="color:#cc6600;">delay</span>(10);
    Analogue4 = <span style="color:#cc6600;">analogRead</span>(4)/4;
    <span style="color:#cc6600;">delay</span>(10);
    Analogue5 = <span style="color:#cc6600;">analogRead</span>(5)/4;
    <span style="color:#cc6600;">delay</span>(10);

    <span style="color:#7e7e7e;">// send sensor values:</span>
    <span style="color:#cc6600;">Serial</span>.<span style="color:#cc6600;">print</span>(Analogue0 , <span style="color:#006699;">BYTE</span>);
    <span style="color:#cc6600;">Serial</span>.<span style="color:#cc6600;">print</span>(Analogue1 , <span style="color:#006699;">BYTE</span>);
    <span style="color:#cc6600;">Serial</span>.<span style="color:#cc6600;">print</span>(Analogue2 , <span style="color:#006699;">BYTE</span>);
    <span style="color:#cc6600;">Serial</span>.<span style="color:#cc6600;">print</span>(Analogue3 , <span style="color:#006699;">BYTE</span>);
    <span style="color:#cc6600;">Serial</span>.<span style="color:#cc6600;">print</span>(Analogue4 , <span style="color:#006699;">BYTE</span>);
    <span style="color:#cc6600;">Serial</span>.<span style="color:#cc6600;">print</span>(Analogue5 , <span style="color:#006699;">BYTE</span>);
  }
}

<span style="color:#cc6600;">void</span> establishContact() {
 <span style="color:#cc6600;">while</span> (<span style="color:#cc6600;">Serial</span>.<span style="color:#cc6600;">available</span>() &lt;= 0) {
      <span style="color:#cc6600;">Serial</span>.<span style="color:#cc6600;">print</span>(<span style="color:#006699;">'A'</span>, <span style="color:#006699;">BYTE</span>);   <span style="color:#7e7e7e;">// send a capital A</span>
      <span style="color:#cc6600;">delay</span>(300);
  }
}</pre>
</div>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/boolscott.wordpress.com/186/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/boolscott.wordpress.com/186/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/boolscott.wordpress.com/186/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/boolscott.wordpress.com/186/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/boolscott.wordpress.com/186/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/boolscott.wordpress.com/186/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/boolscott.wordpress.com/186/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/boolscott.wordpress.com/186/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/boolscott.wordpress.com/186/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/boolscott.wordpress.com/186/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/boolscott.wordpress.com/186/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/boolscott.wordpress.com/186/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/boolscott.wordpress.com/186/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/boolscott.wordpress.com/186/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=boolscott.wordpress.com&amp;blog=10032189&amp;post=186&amp;subd=boolscott&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://boolscott.wordpress.com/2010/02/04/arduino-processing-analogue-bar-graph-2/feed/</wfw:commentRss>
		<slash:comments>15</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/5b197bb4594a5aac1556939072bf62de?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">boolscott</media:title>
		</media:content>

		<media:content url="http://boolscott.files.wordpress.com/2010/02/fullscreen-capture-02-feb-2010-073816-pm1.jpg" medium="image">
			<media:title type="html">Fullscreen capture 02 Feb 2010 073816 PM</media:title>
		</media:content>
	</item>
		<item>
		<title>Gobetwino: Arduino talking to Excel</title>
		<link>http://boolscott.wordpress.com/2009/12/24/gobetwino-arduino-talking-to-excel/</link>
		<comments>http://boolscott.wordpress.com/2009/12/24/gobetwino-arduino-talking-to-excel/#comments</comments>
		<pubDate>Thu, 24 Dec 2009 16:33:54 +0000</pubDate>
		<dc:creator>boolscott</dc:creator>
				<category><![CDATA[arduino]]></category>
		<category><![CDATA[excel]]></category>
		<category><![CDATA[logging]]></category>
		<category><![CDATA[data logger]]></category>
		<category><![CDATA[durban]]></category>
		<category><![CDATA[south africa]]></category>

		<guid isPermaLink="false">http://boolscott.wordpress.com/?p=122</guid>
		<description><![CDATA[Gobetwino is pretty easy use. The Arduino can now send words to the serial port and Gobetwino takes them as commands and does handy stuff like create csv&#8217;s send email etc. I&#8217;ve tested out this program by making the Arduino &#8230; <a href="http://boolscott.wordpress.com/2009/12/24/gobetwino-arduino-talking-to-excel/">Continue reading <span class="meta-nav">&#8594;</span></a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=boolscott.wordpress.com&amp;blog=10032189&amp;post=122&amp;subd=boolscott&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><span style="color:#000000;">Gobetwino is pretty easy use. The Arduino can now send words to the serial port and Gobetwino takes them as commands and does handy stuff like create csv&#8217;s send email etc. I&#8217;ve tested out this program by making the Arduino log the voltage of a discharging capacitor and send the details to Gobetwino to make a csv for Excel. </span></p>
<p><strong><span style="color:#000000;">Circuitry </span></strong></p>
<p style="text-align:left;">&nbsp;</p>
<div id="attachment_123" class="wp-caption aligncenter" style="width: 404px"><a href="http://boolscott.files.wordpress.com/2009/12/schematic_logger2.png"><span style="color:#000000;"><img class="size-full wp-image-123  " title="schematic_logger2" src="http://boolscott.files.wordpress.com/2009/12/schematic_logger2.png?w=394&#038;h=260" alt="" width="394" height="260" /></span></a><p class="wp-caption-text">Log discharging capacitor, use FET&#039;s instead of BJT&#039;s if you want to avoid 0.6V drop </p></div>
<p><span style="color:#000000;"><br />
</span></p>
<p><strong><span style="color:#000000;">Arduino Code</span></strong></p>
<div style="overflow:auto;width:450px;color:#ffffff;height:250px;background-color:#ffffff;border:1px solid #d0d0d0;">
<pre><span style="color:#000000;">
<pre>//    Arduino code
<pre>//    Arduino to Excel using Gobetino</pre>
</pre>
<p><span style="color:#000000;">//      - Arduino logs 100 values</span><span style="color:#000000;"> </span><span style="color:#000000;"><br />
//      - Gobetwino takes these values and puts them in data.txt </span><span style="color:#000000;"><br />
</span><span style="color:#000000;">//      - Excel Imports this file as a csv and draws the graph</span><span style="color:#000000;"><br />
</span><span style="color:#000000;">// ==========&lt; option 1 &gt;========== </span><span style="color:#000000;"><br />
</span><span style="color:#000000;">//      FIRST logs data to chip's sram,  THEN sends to pc using Gobetwino </span><span style="color:#000000;"> </span><span style="color:#000000;"><br />
//      - 1028 bytes can be stored </span><span style="color:#000000;"> </span><span style="color:#000000;"><br />
//      - readings are taken fast this way </span><span style="color:#000000;"><br />
</span><span style="color:#000000;">// ==========&lt; option 2 &gt;========== </span><span style="color:#000000;"><br />
</span><span style="color:#000000;">//      log straight to .txt with Gobetwino </span><span style="color:#000000;"> </span><span style="color:#000000;"><br />
//      - approximately a max of 37 readings/sec , depending on the serial speed you choose</span><span style="color:#000000;"><br />
</span><span style="color:#000000;">//      - this way is safe (unlimited with the chips 1024 bytes of SRAM) </span><span style="color:#000000;"> </span><span style="color:#000000;"><br />
// ============&lt; variables &gt;==========</span><span style="color:#000000;"><br />
</span><span style="color:#000000;">//  A0   -   Vcap</span><span style="color:#000000;"> </span><span style="color:#000000;"><br />
//  D3   -   button/switch    (trigger)</span><span style="color:#000000;"><br />
</span><span style="color:#000000;">//  D4   -   transisters to charge &amp; discharge cap</span><span style="color:#000000;"> </span><span style="color:#000000;"><br />
//  D5   -   LED 1</span><span style="color:#000000;"><br />
</span><span style="color:#000000;">//  D6   -   LED 2</span><span style="color:#000000;"> const </span><span style="color:#000000;">int</span><span style="color:#000000;"> size = 100;<br />
</span><span style="color:#000000;">// number of readings (size of array must be constant) </span><span style="color:#000000;"><br />
</span><span style="color:#000000;">// don't make it too big, arduino has limited memory</span><span style="color:#000000;"> const </span><span style="color:#000000;">float</span><span style="color:#000000;"> Vss = 5.0;<br />
</span><span style="color:#000000;">// if you want to be more accurate measure arduino's Vss</span><span style="color:#000000;"> </span><span style="color:#000000;">int</span><span style="color:#000000;"> arrayms[size]; </span><span style="color:#000000;"><br />
// an arary to store time</span><span style="color:#000000;"> </span><span style="color:#000000;"><br />
int</span><span style="color:#000000;"> arrayA0[size];<br />
</span><span style="color:#000000;">// an arary store voltage</span><span style="color:#000000;"> </span><span style="color:#000000;"><br />
int</span><span style="color:#000000;"> a;<br />
</span><span style="color:#000000;">// counter </span><span style="color:#000000;"><br />
</span><span style="color:#000000;">long</span><span style="color:#000000;"> startTime; </span><span style="color:#000000;"> </span></p>
<p>void<span style="color:#000000;"> </span><span style="color:#cc6600;"><strong><span style="color:#000000;">setup</span></strong></span><span style="color:#000000;">() { </span><span style="color:#000000;"><br />
pinMode</span><span style="color:#000000;">(2, </span><span style="color:#000000;">INPUT</span><span style="color:#000000;">); </span><span style="color:#000000;">// button</span><span style="color:#000000;"> </span><span style="color:#000000;"><br />
pinMode</span><span style="color:#000000;">(3, </span><span style="color:#000000;">OUTPUT</span><span style="color:#000000;">); </span><span style="color:#000000;">// pin connected to transistor bases</span><span style="color:#000000;"><br />
</span><span style="color:#000000;">pinMode</span><span style="color:#000000;">(4, </span><span style="color:#000000;">OUTPUT</span><span style="color:#000000;">); </span><span style="color:#000000;">// LED 1 </span><span style="color:#000000;"><br />
</span><span style="color:#000000;">pinMode</span><span style="color:#000000;">(5, </span><span style="color:#000000;">OUTPUT</span><span style="color:#000000;">); </span><span style="color:#000000;">// LED 2    LED's are used to show what stage the chip is in</span><span style="color:#000000;"><br />
</span><span style="color:#000000;">pinMode</span><span style="color:#000000;">(6, </span><span style="color:#000000;">OUTPUT</span><span style="color:#000000;">); </span><span style="color:#000000;">// LED 3 </span><span style="color:#000000;"> </span></p>
<p><span style="color:#cc6600;"><strong><span style="color:#000000;">Serial</span></strong></span><span style="color:#000000;">.</span><span style="color:#000000;">begin</span><span style="color:#000000;">(9600);<br />
}</span></p>
<p><span style="color:#000000;">void</span><span style="color:#000000;"> </span><span style="color:#cc6600;"><strong><span style="color:#000000;">loop</span></strong></span><span style="color:#000000;">() {</span></p>
<p><span style="color:#000000;">////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////</span><span style="color:#000000;"> </span><span style="color:#000000;">/*</span><span style="color:#000000;"> </span><span style="color:#000000;"> test stuff</span><span style="color:#000000;"> </span><span style="color:#000000;"> </span><span style="color:#000000;"> </span><span style="color:#000000;"><br />
while(digitalRead(3)){}              // wait until I press pin 3 (trigger button)</span><span style="color:#000000;"> </span><span style="color:#000000;"><br />
while(!digitalRead(3)){}</span><span style="color:#000000;"> </span><span style="color:#000000;"><br />
Serial.println("#S|CPTEST|[]#");     // Use the CPTEST copy file command to make a copy of a new empty logfile</span><span style="color:#000000;"> </span><span style="color:#000000;"><br />
while(digitalRead(3)){}              //wait until I press pin 3 (trigger button)</span><span style="color:#000000;"> </span><span style="color:#000000;"><br />
while(!digitalRead(3)){}</span><span style="color:#000000;"> </span><span style="color:#000000;"> </span></p>
<p><span style="color:#000000;"> </span><span style="color:#000000;">digitalWrite</span><span style="color:#000000;">(3, </span><span style="color:#000000;">HIGH</span><span style="color:#000000;">); </span><span style="color:#000000;">// start charging capacitor</span><span style="color:#000000;"> </span><span style="color:#000000;"><br />
delay</span><span style="color:#000000;">(500); </span><span style="color:#000000;">// wait 500 ms for the capacitor to charge</span><span style="color:#000000;"> </span><span style="color:#000000;"><br />
while</span><span style="color:#000000;">(</span><span style="color:#000000;">digitalRead</span><span style="color:#000000;">(2)){ </span><span style="color:#000000;">digitalWrite</span><span style="color:#000000;">(6, </span><span style="color:#000000;">HIGH</span><span style="color:#000000;">);   }<br />
</span><span style="color:#000000;">digitalWrite</span><span style="color:#000000;">(6, </span><span style="color:#000000;">LOW</span><span style="color:#000000;">); </span><span style="color:#000000;"><br />
digitalWrite</span><span style="color:#000000;">(4, </span><span style="color:#000000;">HIGH</span><span style="color:#000000;">); </span><span style="color:#000000;">// LED 1 tells you the capacitor should be charged</span></p>
<p>wait_until_pin_3_is_pressed(); <span style="color:#000000;">// ------------------------------ </span><span style="color:#000000;"><br />
a=0;<br />
startTime = </span><span style="color:#000000;">millis</span><span style="color:#000000;">(); </span><span style="color:#000000;"><br />
digitalWrite</span><span style="color:#000000;">(3, </span><span style="color:#000000;">LOW</span><span style="color:#000000;">); </span><span style="color:#000000;">// discharge capacitor</span><span style="color:#000000;"> </span><span style="color:#000000;"><br />
while</span><span style="color:#000000;">(a &lt;= size )   {<br />
arrayms[a]= </span><span style="color:#000000;">millis</span><span style="color:#000000;">()-startTime; </span><span style="color:#000000;">// record time </span><span style="color:#000000;"><br />
arrayA0[a]= </span><span style="color:#000000;">analogRead</span><span style="color:#000000;">(0); </span><span style="color:#000000;">// record Vcap </span><span style="color:#000000;"><br />
a++;<br />
</span><span style="color:#000000;">delay</span><span style="color:#000000;">(1); </span><span style="color:#000000;">// wait however ms before taking the next reading</span><span style="color:#000000;"> }<br />
</span><span style="color:#000000;">digitalWrite</span><span style="color:#000000;">(4, </span><span style="color:#000000;">LOW</span><span style="color:#000000;">); </span><span style="color:#000000;">// If LED 1 doesn't switch off, there is a problem in stage 1</span><span style="color:#000000;"><br />
</span><span style="color:#000000;">digitalWrite</span><span style="color:#000000;">(5, </span><span style="color:#000000;">HIGH</span><span style="color:#000000;">); </span><span style="color:#000000;">// LED 2 tells you that Stage 2 is ready to start </span><span style="color:#000000;"><br />
wait_until_pin_3_is_pressed(); </span><span style="color:#000000;"><br />
// ----------------------</span><span style="color:#000000;"><br />
a=0; </span><span style="color:#000000;"><br />
while</span><span style="color:#000000;">(a &lt;size){<br />
</span><span style="color:#cc6600;"><strong><span style="color:#000000;">Serial</span></strong></span><span style="color:#000000;">.</span><span style="color:#000000;">print</span><span style="color:#000000;">(</span><span style="color:#000000;">"#S|LOGTEST|["</span><span style="color:#000000;">); </span><span style="color:#000000;"><br />
// #S  -&gt;  tells gobetwino to listen</span><span style="color:#000000;"><br />
</span><span style="color:#000000;">// |LOGTEST|[  -&gt;  Gobetwino runs the LOGTEST command I made, </span><span style="color:#000000;"> </span><span style="color:#000000;"><br />
// which opens data.txt in this app's folder</span><span style="color:#000000;"> </span><span style="color:#000000;"><br />
// NOTE: there must already be a data.txt in the folder</span><span style="color:#000000;"> </span><span style="color:#000000;"><br />
printDouble( </span><span style="color:#000000;">double</span><span style="color:#000000;">(arrayms[a])/1023*Vss, 3); </span><span style="color:#cc6600;"><strong><span style="color:#000000;"><br />
Serial</span></strong></span><span style="color:#000000;">.</span><span style="color:#000000;">print</span><span style="color:#000000;">(</span><span style="color:#000000;">";"</span><span style="color:#000000;">);<br />
printDouble( </span><span style="color:#000000;">double</span><span style="color:#000000;">(arrayA0[a])/1023*Vss, 3);<br />
</span><span style="color:#cc6600;"><strong><span style="color:#000000;">Serial</span></strong></span><span style="color:#000000;">.</span><span style="color:#000000;">println</span><span style="color:#000000;">(</span><span style="color:#000000;">"]#"</span><span style="color:#000000;">);<br />
</span><span style="color:#000000;">// # tells Gobetwino to stop paying attention</span><span style="color:#000000;"><br />
a++;<br />
}<br />
</span><span style="color:#000000;">digitalWrite</span><span style="color:#000000;">(5, </span><span style="color:#000000;">LOW</span><span style="color:#000000;">); </span><span style="color:#000000;">// if LED2 doesn't switch off you're stuck in Stage 2 </span><span style="color:#000000;"><br />
} </span><span style="color:#000000;">// end of void loop() </span><span style="color:#000000;"><br />
</span><span style="color:#000000;">// somebody elses function I found to print doubles</span><span style="color:#000000;"><br />
</span><span style="color:#000000;">void</span><span style="color:#000000;"> printDouble( </span><span style="color:#000000;">double</span><span style="color:#000000;"> val, </span><span style="color:#000000;">byte</span><span style="color:#000000;"> precision){ </span></p>
<p><span style="color:#000000;">// prints val with number of decimal places determine by precision</span><span style="color:#000000;"> </span></p>
<p><span style="color:#000000;">// precision is a number from 0 to 6 indicating the desired decimial places</span><span style="color:#000000;"> </span></p>
<p><span style="color:#000000;">// example: printDouble( 3.1415, 2); </span></p>
<p><span style="color:#000000;">// prints 3.14 (two decimal places)</span><span style="color:#000000;"> </span><span style="color:#cc6600;"><strong><span style="color:#000000;">Serial</span></strong></span><span style="color:#000000;">.</span><span style="color:#000000;">print</span><span style="color:#000000;"> (</span><span style="color:#000000;">int</span><span style="color:#000000;">(val));</span></p>
<p><span style="color:#000000;"> </span><span style="color:#000000;">//prints the int part</span><span style="color:#000000;"> </span><span style="color:#000000;">if</span><span style="color:#000000;">( precision &gt; 0) { </span><span style="color:#cc6600;"><strong><span style="color:#000000;">Serial</span></strong></span><span style="color:#000000;">.</span><span style="color:#000000;">print</span><span style="color:#000000;">(</span><span style="color:#000000;">"."</span><span style="color:#000000;">);</span></p>
<p><span style="color:#000000;"> </span><span style="color:#000000;">// print the decimal point</span><span style="color:#000000;"> </span></p>
<p><span style="color:#000000;">unsigned</span><span style="color:#000000;"> </span><span style="color:#000000;">long</span><span style="color:#000000;"> frac; </span><span style="color:#000000;">unsigned</span><span style="color:#000000;"> </span><span style="color:#000000;">long</span><span style="color:#000000;"> mult = 1; </span></p>
<p><span style="color:#000000;">byte</span><span style="color:#000000;"> padding = precision -1; </span><span style="color:#000000;">while</span><span style="color:#000000;">(precision--)       mult *=10; </span></p>
<p><span style="color:#000000;">if</span><span style="color:#000000;">(val &gt;= 0) </span></p>
<p><span style="color:#000000;"> frac = (val - </span><span style="color:#000000;">int</span><span style="color:#000000;">(val)) * mult;</span></p>
<p><span style="color:#000000;"> </span><span style="color:#000000;">else</span><span style="color:#000000;"> frac = (</span><span style="color:#000000;">int</span><span style="color:#000000;">(val)- val ) * mult;</span></p>
<p><span style="color:#000000;"> </span><span style="color:#000000;">unsigned</span><span style="color:#000000;"> </span><span style="color:#000000;">long</span><span style="color:#000000;"> frac1 = frac;</span></p>
<p><span style="color:#000000;"> </span><span style="color:#000000;">while</span><span style="color:#000000;">( frac1 /= 10 )       padding--; </span></p>
<p><span style="color:#000000;">while</span><span style="color:#000000;">(  padding--) </span><span style="color:#cc6600;"><strong><span style="color:#000000;">Serial</span></strong></span><span style="color:#000000;">.</span><span style="color:#000000;">print</span><span style="color:#000000;">(</span><span style="color:#000000;">"0"</span><span style="color:#000000;">); </span></p>
<p><span style="color:#cc6600;"><strong><span style="color:#000000;">Serial</span></strong></span><span style="color:#000000;">.</span><span style="color:#000000;">print</span><span style="color:#000000;">(frac,</span><span style="color:#000000;">DEC</span><span style="color:#000000;">) ;   } } </span></p>
<p><span style="color:#000000;">void</span><span style="color:#000000;"> wait_until_pin_3_is_pressed() {</span></p>
<p><span style="color:#000000;"> </span><span style="color:#000000;">while</span><span style="color:#000000;">( !</span><span style="color:#000000;">digitalRead</span><span style="color:#000000;">(2) ){   } </span></p>
<p><span style="color:#000000;">while</span><span style="color:#000000;">( </span><span style="color:#000000;">digitalRead</span><span style="color:#000000;">(2) ){   } </span></p>
<p><span style="color:#000000;"> } </span></p>
<p></span></pre>
</div>
<p><strong>How Gobetwino works</strong></p>
<p>Before trying to use this program you should read the Gobetwino pdf. You basically have to open Gobetwino and <strong>create a command</strong> to handle .txt files. I did this by <strong>opening Gobetwino</strong> and creating a LOGTEST <span style="color:#ff0000;"> </span>command to open log.txt</p>
<ol>
<li>Click on the Commands menu</li>
<li>Selecting LGFIL <span style="color:#ff0000;">(Log File command)</span></li>
<li>Select the file location of an existing .txt file<span style="color:#ff0000;"> (data.txt in this case)</span></li>
</ol>
<p>Now when the Arduino serially prints LOGTEST a .txt file is opened.</p>
<pre>   <span style="color:#cc6600;">Serial</span>.<span style="color:#cc6600;">print</span>(<span style="color:#006699;">"#S|LOGTEST|[A,B,C]#"</span>);</pre>
<ul>
<li><span style="color:#3366ff;">#s</span> tells Gobetwino to pay attention</li>
<li><span style="color:#3366ff;">|LOGTEST|</span> is the command I created with Gobetwino to open data.txt</li>
<li><span style="color:#3366ff;">[A,B,C] </span>are variables printed to the file</li>
<li><span style="color:#3366ff;">#</span> tells Gobetwino to stop paying attention</li>
</ul>
<p><strong><br />
</strong></p>
<p><strong>Summary</strong></p>
<ol>
<li>Upload the code to the Arduino</li>
<li>Create the LOGTEST command with Gobetwino</li>
<li>Press the button on your circuit (capacitor discharges)</li>
</ol>
<p>I then import the .txt with excel and create the following graph</p>
<div id="attachment_156" class="wp-caption aligncenter" style="width: 310px"><a href="http://boolscott.files.wordpress.com/2009/12/capacitor-discharge1.jpg"><img class="size-medium wp-image-156" title="Capacitor discharge" src="http://boolscott.files.wordpress.com/2009/12/capacitor-discharge1.jpg?w=300&#038;h=171" alt="" width="300" height="171" /></a><p class="wp-caption-text">The voltage of the discharging capacitor</p></div>
<p>Notice the capacitor doesn&#8217;t fully discharging because I used BJT&#8217;s instead of FET&#8217;s.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/boolscott.wordpress.com/122/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/boolscott.wordpress.com/122/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/boolscott.wordpress.com/122/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/boolscott.wordpress.com/122/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/boolscott.wordpress.com/122/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/boolscott.wordpress.com/122/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/boolscott.wordpress.com/122/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/boolscott.wordpress.com/122/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/boolscott.wordpress.com/122/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/boolscott.wordpress.com/122/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/boolscott.wordpress.com/122/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/boolscott.wordpress.com/122/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/boolscott.wordpress.com/122/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/boolscott.wordpress.com/122/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=boolscott.wordpress.com&amp;blog=10032189&amp;post=122&amp;subd=boolscott&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://boolscott.wordpress.com/2009/12/24/gobetwino-arduino-talking-to-excel/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/5b197bb4594a5aac1556939072bf62de?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">boolscott</media:title>
		</media:content>

		<media:content url="http://boolscott.files.wordpress.com/2009/12/schematic_logger2.png" medium="image">
			<media:title type="html">schematic_logger2</media:title>
		</media:content>

		<media:content url="http://boolscott.files.wordpress.com/2009/12/capacitor-discharge1.jpg?w=300" medium="image">
			<media:title type="html">Capacitor discharge</media:title>
		</media:content>
	</item>
		<item>
		<title>Is this a joke?</title>
		<link>http://boolscott.wordpress.com/2009/12/24/is-this-a-joke/</link>
		<comments>http://boolscott.wordpress.com/2009/12/24/is-this-a-joke/#comments</comments>
		<pubDate>Thu, 24 Dec 2009 10:59:20 +0000</pubDate>
		<dc:creator>boolscott</dc:creator>
				<category><![CDATA[Electronics]]></category>

		<guid isPermaLink="false">http://boolscott.wordpress.com/?p=98</guid>
		<description><![CDATA[I decide to look up the Arduino and see if it&#8217;s for sale in SA yet. This is what I found: I&#8217;ve blurred out the company name to be safe. I ordered mine from china, and it added up to &#8230; <a href="http://boolscott.wordpress.com/2009/12/24/is-this-a-joke/">Continue reading <span class="meta-nav">&#8594;</span></a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=boolscott.wordpress.com&amp;blog=10032189&amp;post=98&amp;subd=boolscott&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>I decide to look up the Arduino and see if it&#8217;s for sale in SA yet. This is what I found:</p>
<div id="attachment_100" class="wp-caption aligncenter" style="width: 310px"><a href="http://boolscott.files.wordpress.com/2009/12/arduino1.jpg"><img class="size-medium wp-image-100" title="arduino" src="http://boolscott.files.wordpress.com/2009/12/arduino1.jpg?w=300&#038;h=172" alt="" width="300" height="172" /></a><p class="wp-caption-text">RIP OFF!</p></div>
<p>I&#8217;ve blurred out the company name to be safe. I ordered mine from china, and it added up to R300, including shipping! If it was R100 more that would be OK, but R700 more is unacceptable.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/boolscott.wordpress.com/98/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/boolscott.wordpress.com/98/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/boolscott.wordpress.com/98/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/boolscott.wordpress.com/98/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/boolscott.wordpress.com/98/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/boolscott.wordpress.com/98/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/boolscott.wordpress.com/98/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/boolscott.wordpress.com/98/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/boolscott.wordpress.com/98/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/boolscott.wordpress.com/98/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/boolscott.wordpress.com/98/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/boolscott.wordpress.com/98/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/boolscott.wordpress.com/98/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/boolscott.wordpress.com/98/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=boolscott.wordpress.com&amp;blog=10032189&amp;post=98&amp;subd=boolscott&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://boolscott.wordpress.com/2009/12/24/is-this-a-joke/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/5b197bb4594a5aac1556939072bf62de?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">boolscott</media:title>
		</media:content>

		<media:content url="http://boolscott.files.wordpress.com/2009/12/arduino1.jpg?w=300" medium="image">
			<media:title type="html">arduino</media:title>
		</media:content>
	</item>
		<item>
		<title>Memristor</title>
		<link>http://boolscott.wordpress.com/2009/12/20/memristor/</link>
		<comments>http://boolscott.wordpress.com/2009/12/20/memristor/#comments</comments>
		<pubDate>Sun, 20 Dec 2009 14:43:52 +0000</pubDate>
		<dc:creator>boolscott</dc:creator>
				<category><![CDATA[Electronics]]></category>

		<guid isPermaLink="false">http://boolscott.wordpress.com/?p=79</guid>
		<description><![CDATA[Resistance, capacitance and inductance are no longer the only basic circuit elements. There is now a fourth one: the memristor. This was predicted about 40 years ago, but only recently discovered by HP Labs. Basically it&#8217;s a resistor with a &#8230; <a href="http://boolscott.wordpress.com/2009/12/20/memristor/">Continue reading <span class="meta-nav">&#8594;</span></a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=boolscott.wordpress.com&amp;blog=10032189&amp;post=79&amp;subd=boolscott&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Resistance, capacitance and inductance are no longer the only basic circuit elements. There is now a fourth one: the <strong>memristor</strong>. This was predicted about 40 years ago, but only recently discovered by HP Labs.</p>
<div id="attachment_80" class="wp-caption aligncenter" style="width: 125px"><a href="http://boolscott.files.wordpress.com/2009/12/memristor.gif"><img class="size-full wp-image-80" title="Memristor" src="http://boolscott.files.wordpress.com/2009/12/memristor.gif?w=115&#038;h=39" alt="" width="115" height="39" /></a><p class="wp-caption-text">The symbol of a memristor</p></div>
<p>Basically it&#8217;s a resistor with a resistance that depends on the number of electrons that have passed through it. BIG discovery. This is like adding new plans to the foundations of electronics.</p>
<p>Here is the New Scientist <a title="Memristor article" href="http://www.newscientist.com/article/mg20327151.600-memristor-minds-the-future-of-artificial-intelligence.html">Article</a> with all the details about the memristor.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/boolscott.wordpress.com/79/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/boolscott.wordpress.com/79/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/boolscott.wordpress.com/79/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/boolscott.wordpress.com/79/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/boolscott.wordpress.com/79/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/boolscott.wordpress.com/79/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/boolscott.wordpress.com/79/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/boolscott.wordpress.com/79/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/boolscott.wordpress.com/79/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/boolscott.wordpress.com/79/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/boolscott.wordpress.com/79/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/boolscott.wordpress.com/79/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/boolscott.wordpress.com/79/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/boolscott.wordpress.com/79/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=boolscott.wordpress.com&amp;blog=10032189&amp;post=79&amp;subd=boolscott&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://boolscott.wordpress.com/2009/12/20/memristor/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/5b197bb4594a5aac1556939072bf62de?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">boolscott</media:title>
		</media:content>

		<media:content url="http://boolscott.files.wordpress.com/2009/12/memristor.gif" medium="image">
			<media:title type="html">Memristor</media:title>
		</media:content>
	</item>
	</channel>
</rss>
