<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss 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:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

<channel>
	<title>Make-a-tronik</title>
	
	<link>http://blog.make-a-tronik.com</link>
	<description />
	<lastBuildDate>Wed, 01 Feb 2012 06:00:27 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/Make-a-tronik" /><feedburner:info uri="make-a-tronik" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><feedburner:emailServiceId>Make-a-tronik</feedburner:emailServiceId><feedburner:feedburnerHostname>http://feedburner.google.com</feedburner:feedburnerHostname><item>
		<title>[Video] Enjambre de nano Quadrotors</title>
		<link>http://feedproxy.google.com/~r/Make-a-tronik/~3/oI5E35TWecM/</link>
		<comments>http://blog.make-a-tronik.com/video-enjambre-de-nano-quadrotors/#comments</comments>
		<pubDate>Wed, 01 Feb 2012 05:31:47 +0000</pubDate>
		<dc:creator>Adrianmb</dc:creator>
				<category><![CDATA[Robotica]]></category>
		<category><![CDATA[enjambre]]></category>
		<category><![CDATA[quadrotor]]></category>
		<category><![CDATA[robot]]></category>
		<category><![CDATA[swarm]]></category>
		<category><![CDATA[volador]]></category>

		<guid isPermaLink="false">http://blog.make-a-tronik.com/?p=2163</guid>
		<description><![CDATA[Otro mas de los experimentos de la gente del GRASP Lab en la universidad de Pennsylvania, en esta ocasión nos presentan su enjambre de robots voladores haciendo figuras con una excelente sincronización, navegar en ambientes con obstaculos e incluso crear un &#8220;8&#8243; en  [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">Otro mas de los experimentos de la gente del <a title='Original Link: https://www.grasp.upenn.edu/'  href="http://blog.make-a-tronik.com/?48yeX0dT" target="_blank">GRASP Lab en la universidad de Pennsylvania</a>, en esta ocasión nos presentan su enjambre de robots voladores haciendo figuras con una excelente sincronización, navegar en ambientes con obstaculos e incluso crear un &#8220;8&#8243; en movimiento.</p>
<p><center>
<p><a title='Original Link: http://www.youtube.com/watch?v=YQIMGV5vtd4'  href="http://blog.make-a-tronik.com/?iNd_D2TI">http://www.youtube.com/watch?v=YQIMGV5vtd4</a></p>
<p><a title='Original Link: http://www.youtube.com/watch?v=YQIMGV5vtd4'  href="http://blog.make-a-tronik.com/?iNd_D2TI"><img src="http://img.youtube.com/vi/YQIMGV5vtd4/default.jpg" width="130" height="97" border=0></a></p>
<p></center></p>
<div class="EMITAB" style="display:none;" ><a title='Original Link: http://arturoemilio.es'  href="http://blog.make-a-tronik.com/?0VJFZfA2" rel="dofollow">EmailtoImage</a></div><img src="http://blog.make-a-tronik.com/?ak_action=api_record_view&id=2163&type=feed" alt="" /><p style="text-align: center;"><script type="text/javascript"><!--
google_ad_client = "ca-pub-2618410966711752";
/* 468x60 */
google_ad_slot = "5729191142";
google_ad_width = 468;
google_ad_height = 60;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script></p>
<p><a href="http://feedads.g.doubleclick.net/~a/ob2smP_rOMUURR_2yXsnCHgSv2w/0/da"><img src="http://feedads.g.doubleclick.net/~a/ob2smP_rOMUURR_2yXsnCHgSv2w/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/ob2smP_rOMUURR_2yXsnCHgSv2w/1/da"><img src="http://feedads.g.doubleclick.net/~a/ob2smP_rOMUURR_2yXsnCHgSv2w/1/di" border="0" ismap="true"></img></a></p><img src="http://feeds.feedburner.com/~r/Make-a-tronik/~4/oI5E35TWecM" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.make-a-tronik.com/video-enjambre-de-nano-quadrotors/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://blog.make-a-tronik.com/video-enjambre-de-nano-quadrotors/</feedburner:origLink></item>
		<item>
		<title>CoolTerm, Terminal de puerto serie multiplataforma</title>
		<link>http://feedproxy.google.com/~r/Make-a-tronik/~3/5JpqF2WKCJk/</link>
		<comments>http://blog.make-a-tronik.com/coolterm-terminal-de-puerto-serie-multiplataforma/#comments</comments>
		<pubDate>Sun, 29 Jan 2012 20:45:21 +0000</pubDate>
		<dc:creator>Adrianmb</dc:creator>
				<category><![CDATA[aplicacion]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[mac]]></category>
		<category><![CDATA[puerto serie]]></category>
		<category><![CDATA[terminal]]></category>
		<category><![CDATA[windows]]></category>

		<guid isPermaLink="false">http://blog.make-a-tronik.com/?p=2157</guid>
		<description><![CDATA[
CoolTerm es una sencilla aplicación creada por Roger Meier que permite tener una terminal para nuestros puertos serie, su menú de configuración esta muy completo, permitiendo elegir desde una lista los puertos disponibles y seleccionar su velocidad y demás parámetros; despliega los datos recibidos  [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">
<a href="http://blog.make-a-tronik.com/wp-content/gallery/otras/coolterm_screenshot_mac.png" title="coolterm screenshot mac"  >
	<img class="ngg-singlepic ngg-center" src="http://blog.make-a-tronik.com/wp-content/gallery/cache/747__320x240_coolterm_screenshot_mac.png" alt="coolterm screenshot mac" title="coolterm screenshot mac" />
</a>
<br />
CoolTerm es una sencilla aplicación creada por<a title='Original Link: http://the-meiers.org'  href="http://blog.make-a-tronik.com/?u7Qm_lTQ" target="_blank"> Roger Meier</a> que permite tener una terminal para nuestros puertos serie, su menú de configuración esta muy completo, permitiendo elegir desde una lista los puertos disponibles y seleccionar su velocidad y demás parámetros; despliega los datos recibidos tanto en ascii como en hexadecimal.</p>
<p style="text-align: justify;">Sin duda una gran aplicación para los que hacemos uso de este protocolo constantemente para conexión del ordenador con microcontroladores, módulos usb-serial, gps, controladores de servos, etc. Lo mejor de todo esta bajo una licencia freeware y es multiplataforma.</p>
<p style="text-align: justify;">Descargar desde la pagina oficial | <a title='Original Link: http://freeware.the-meiers.org/'  href="http://blog.make-a-tronik.com/?4LjqbBcz" target="_blank">freeware.the-meiers.org</a></p>
<div class="EMITAB" style="display:none;" ><a title='Original Link: http://arturoemilio.es'  href="http://blog.make-a-tronik.com/?0VJFZfA2" rel="dofollow">EmailtoImage</a></div><img src="http://blog.make-a-tronik.com/?ak_action=api_record_view&id=2157&type=feed" alt="" /><p style="text-align: center;"><script type="text/javascript"><!--
google_ad_client = "ca-pub-2618410966711752";
/* 468x60 */
google_ad_slot = "5729191142";
google_ad_width = 468;
google_ad_height = 60;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script></p>
<p><a href="http://feedads.g.doubleclick.net/~a/kz9T_YxrHEvYrYwaoXeTSvu3VEc/0/da"><img src="http://feedads.g.doubleclick.net/~a/kz9T_YxrHEvYrYwaoXeTSvu3VEc/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/kz9T_YxrHEvYrYwaoXeTSvu3VEc/1/da"><img src="http://feedads.g.doubleclick.net/~a/kz9T_YxrHEvYrYwaoXeTSvu3VEc/1/di" border="0" ismap="true"></img></a></p><img src="http://feeds.feedburner.com/~r/Make-a-tronik/~4/5JpqF2WKCJk" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.make-a-tronik.com/coolterm-terminal-de-puerto-serie-multiplataforma/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://blog.make-a-tronik.com/coolterm-terminal-de-puerto-serie-multiplataforma/</feedburner:origLink></item>
		<item>
		<title>[STOP SOPA] Que es S.O.P.A??</title>
		<link>http://feedproxy.google.com/~r/Make-a-tronik/~3/qyH9NE1g4Qw/</link>
		<comments>http://blog.make-a-tronik.com/stop-sopa-que-es-s-o-p-a/#comments</comments>
		<pubDate>Wed, 18 Jan 2012 18:35:15 +0000</pubDate>
		<dc:creator>Adrianmb</dc:creator>
				<category><![CDATA[Off Topic]]></category>
		<category><![CDATA[STOP SOPA]]></category>

		<guid isPermaLink="false">http://blog.make-a-tronik.com/?p=2152</guid>
		<description><![CDATA[Por que debemos rechazar la ley SOPA, checa este video:

http://www.youtube.com/watch?v=5fvwoHKj6cs


EmailtoImage]]></description>
			<content:encoded><![CDATA[<p>Por que debemos rechazar la ley SOPA, checa este video:</p>
<p><center>
<p><a title='Original Link: http://www.youtube.com/watch?v=5fvwoHKj6cs'  href="http://blog.make-a-tronik.com/?X7aVHpJ9">http://www.youtube.com/watch?v=5fvwoHKj6cs</a></p>
<p><a title='Original Link: http://www.youtube.com/watch?v=5fvwoHKj6cs'  href="http://blog.make-a-tronik.com/?X7aVHpJ9"><img src="http://img.youtube.com/vi/5fvwoHKj6cs/default.jpg" width="130" height="97" border=0></a></p>
<p></center></p>
<div class="EMITAB" style="display:none;" ><a title='Original Link: http://arturoemilio.es'  href="http://blog.make-a-tronik.com/?0VJFZfA2" rel="dofollow">EmailtoImage</a></div><img src="http://blog.make-a-tronik.com/?ak_action=api_record_view&id=2152&type=feed" alt="" /><p style="text-align: center;"><script type="text/javascript"><!--
google_ad_client = "ca-pub-2618410966711752";
/* 468x60 */
google_ad_slot = "5729191142";
google_ad_width = 468;
google_ad_height = 60;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script></p>
<p><a href="http://feedads.g.doubleclick.net/~a/AKiAyMoCTN0tcx71B19kK1bq3Y0/0/da"><img src="http://feedads.g.doubleclick.net/~a/AKiAyMoCTN0tcx71B19kK1bq3Y0/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/AKiAyMoCTN0tcx71B19kK1bq3Y0/1/da"><img src="http://feedads.g.doubleclick.net/~a/AKiAyMoCTN0tcx71B19kK1bq3Y0/1/di" border="0" ismap="true"></img></a></p><img src="http://feeds.feedburner.com/~r/Make-a-tronik/~4/qyH9NE1g4Qw" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.make-a-tronik.com/stop-sopa-que-es-s-o-p-a/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://blog.make-a-tronik.com/stop-sopa-que-es-s-o-p-a/</feedburner:origLink></item>
		<item>
		<title>[English version] Processing + Arduino + touchOSC</title>
		<link>http://feedproxy.google.com/~r/Make-a-tronik/~3/aP0Xu_hzEHc/</link>
		<comments>http://blog.make-a-tronik.com/english-version-processing-arduino-touchosc/#comments</comments>
		<pubDate>Tue, 10 Jan 2012 01:51:22 +0000</pubDate>
		<dc:creator>Adrianmb</dc:creator>
				<category><![CDATA[Arduino]]></category>
		<category><![CDATA[Processing]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[touchousc]]></category>
		<category><![CDATA[tutorial]]></category>

		<guid isPermaLink="false">http://blog.make-a-tronik.com/?p=2139</guid>
		<description><![CDATA[Today we will see how to communicate your mobile device android / iphone / iphone / iphone with our PC, through a protocol known as OSC (Open Sound Control) , this protocol is commonly used to control luminaires and devices such as strobes, sequencers and other things used in the musical world, one  [...]]]></description>
			<content:encoded><![CDATA[
<a href="http://blog.make-a-tronik.com/wp-content/gallery/tutorialarduino/screen-capture-1.png" title="Programa propuesto para el control con OSC"  >
	<img class="ngg-singlepic ngg-center" src="http://blog.make-a-tronik.com/wp-content/gallery/cache/746__320x240_screen-capture-1.png" alt="OSCgui" title="OSCgui" />
</a>

<p style="text-align: justify;">Today we will see how to communicate your mobile device <strong>android / iphone / iphone / iphone</strong> with our PC, through a protocol known as <a title="Open Sound Control" title='Original Link: http://translate.googleusercontent.com/translate_c?rurl=translate.google.com&amp;tl=en&amp;twu=1&amp;u=http://blog.make-a-tronik.com/%3FPt4xFciI&amp;usg=ALkJrhjHE0ta2o3EtJl7uhBHBd1iNnNqjA'  href="http://blog.make-a-tronik.com/?BMF4e3nu" target="_blank">OSC (Open Sound Control)</a> , this protocol is commonly used to control luminaires and devices such as strobes, sequencers and other things used in the musical world, one could say that is the replacement of the <strong>MIDI. OSC</strong>internet protocol uses <strong>UDP</strong> for communication, which is why we need a requirement that the devices are on the same network, know your <strong>IP</strong> address and <strong>open a communication port.</strong></p>
<p>Need for the next act: <a title="What is Processing?" title='Original Link: http://translate.googleusercontent.com/translate_c?rurl=translate.google.com&amp;tl=en&amp;twu=1&amp;u=http://blog.make-a-tronik.com/que-es-processing/&amp;usg=ALkJrhhXDZ7rcbpT3bYZRNjr6jpC7a-7vw'  href="http://blog.make-a-tronik.com/?jnSLyR2J" target="_blank">processing</a> , <a title="What is Arduino?" title='Original Link: http://translate.googleusercontent.com/translate_c?rurl=translate.google.com&amp;tl=en&amp;twu=1&amp;u=http://blog.make-a-tronik.com/que-es-arduino/&amp;usg=ALkJrhgzuHfa3A0NQCNoQ3AvqgpdwxsuDg'  href="http://blog.make-a-tronik.com/?VzNtJ5vw" target="_blank">arduino</a> , LED RGB device <a title="Original Link: http://hexler.net/software/touchosc" title='Original Link: http://translate.googleusercontent.com/translate_c?rurl=translate.google.com&amp;tl=en&amp;twu=1&amp;u=http://blog.make-a-tronik.com/%3F99V_06x9&amp;usg=ALkJrhgTe00jhMF58iudHktHe-qgFeeqlg'  href="http://blog.make-a-tronik.com/?D5MmlCXN" target="_blank">TouchOSC</a> installed. But we&#8217;ll do exactly?? &#8230; We will create a custom template with TouchOSC editor, which we use as a control to vary the intensity of an RGB LED and color combinations to create, we will open a communication link between processing and TouchOSC, finally send all information received to an Arduino board connected to the serial port and see the result obtained in the RGB LED at the end of all this we have the following result:</p>
<p><center>
<p><a title='Original Link: http://www.youtube.com/watch?v=DcgnNHZA4ic'  href="http://blog.make-a-tronik.com/?wOUI4NEW">http://www.youtube.com/watch?v=DcgnNHZA4ic</a></p>
<p><a title='Original Link: http://www.youtube.com/watch?v=DcgnNHZA4ic'  href="http://blog.make-a-tronik.com/?wOUI4NEW"><img src="http://img.youtube.com/vi/DcgnNHZA4ic/default.jpg" width="130" height="97" border=0></a></p>
<p></center></p>
<p>For start, the first thing to do is create our <strong>template</strong> for the TouchOSC and charge it to the device, for this we use the <strong>TouchOSC</strong> <strong>Editor </strong>a tool created by <strong>Hexl</strong> that <a title="Original Link: http://hexler.net/software/touchosc" title='Original Link: http://translate.googleusercontent.com/translate_c?rurl=translate.google.com&amp;tl=en&amp;twu=1&amp;u=http://blog.make-a-tronik.com/%3F99V_06x9&amp;usg=ALkJrhgTe00jhMF58iudHktHe-qgFeeqlg'  href="http://blog.make-a-tronik.com/?D5MmlCXN" target="_blank">you can download from here</a> , we will use three  <strong>fader</strong> controls with a resolution of one <strong>byte</strong> (0 &#8211; 255) to vary the intensity of the LED, for this follow the next steps in the video tutorial:</p>
<p><center>
<p><a title='Original Link: http://www.youtube.com/watch?v=R3_Q5SJrRfY'  href="http://blog.make-a-tronik.com/?RYISDrKq">http://www.youtube.com/watch?v=R3_Q5SJrRfY</a></p>
<p><a title='Original Link: http://www.youtube.com/watch?v=R3_Q5SJrRfY'  href="http://blog.make-a-tronik.com/?RYISDrKq"><img src="http://img.youtube.com/vi/R3_Q5SJrRfY/default.jpg" width="130" height="97" border=0></a></p>
<p></center></p>
<p>Now it&#8217;s time to open processing, but before you start throwing lines of code you need to install a specific library for communication with OSC, use the library <strong>oscP5</strong> created by <a title="Original Link: http://www.sojamo.de/" title='Original Link: http://translate.googleusercontent.com/translate_c?rurl=translate.google.com&amp;tl=en&amp;twu=1&amp;u=http://blog.make-a-tronik.com/%3FwApDEbzP&amp;usg=ALkJrhi8jURlSSFQw120c9yrTvIaIaKFGw'  href="http://blog.make-a-tronik.com/?0HNAkzOn">Andreas Schlegel</a>, <a href="http://blog.make-a-tronik.com/?99V_06x9" target="_blank">we can download it here</a>, then decompress it and move its contents to <strong>documents / processing / libraries,</strong> once installed now open a new sketch.</p>
<p>We create a <strong>fader</strong> class that will be used as a control and to display the interaction with the mobile device, this control will be the closest thing to fader and with the same properties we use in our template, the final class for the Fader is as follows:</p>
<pre class="brush: java">
class Fader {

  int val, valMap;
  int px, py;
  final int h=300, w=70;
  color[] col;

  color[] red= {
    color(#DE1D2A), color(#131010), color(#501515)
  };
  color[] green= {
    color(#3B811C), color(#111410), color(#25451A)
  };
  color[] blue= {
    color(#1C2D81), color(#0D0D10), color(#0C1233)
  };  

  Fader(int px, int py, char c) {
    this.px=px;
    this.py=py;

    switch(c) {
    case &#039;R&#039;:
      col=red;
      break;
    case &#039;G&#039;:
      col=green;
      break;
    case &#039;B&#039;:
      col=blue;
      break;
    }
    setValue(0);
  }

  void draw() {
    strokeWeight(4);
    strokeJoin(ROUND);
    stroke(col[0]);
    fill(col[1]);
    rect(px, py, w, h);
    fill(col[2]);
    rect(px, py+(h-valMap), w, valMap);

    if (mousePressed &amp;&amp; (mouseX&gt;=px &amp;&amp; mouseX&lt; =px+w) &amp;&amp; (mouseY&gt;=py &amp;&amp; mouseY&lt; =py+h)) {
      setValue((int)map((h-(mouseY-py)), 0, h, 0, 255));
    }
  }

  void setValue(int val) {
    this.val=val;
    valMap=int(map(val, 0, 255, 0, h));
  }

  int getValue() {
    return val;
  }
}
</pre>
<p>After we create our custom template, for this we will use vectors with the addresses of each of our controls, these addresses are url type, we define this addresses in our template with the editor. The class of our template is as follows:</p>
<pre class="brush: java">
class RGBLayout {

  //Define the addresses
  //We defined it before in touchOSC Editor
  //Addresses are url type     /Page/Address
  String[] Addr= {
    &quot;/RGB/fdrRed&quot;,
    &quot;/RGB/fdrGreen&quot;,
    &quot;/RGB/fdrBlue&quot;,
  };

  //create a vector to store recieved data
  //creates as many variables as addresses have our templete
  float[] Data= new float[Addr.length];

  //by default touchOSC use the &quot;f&quot; typetag  as identifier
  String Typetag=&quot;f&quot;;

  //this method check if the received data must be processed
  void check(OscMessage theOscMessage) {

    //for each address in our template
    for (int i = 0; i &lt; Addr.length; i++) {
      //Check if the data sent matches an address
      if (theOscMessage.checkAddrPattern(Addr[i])==true) {
        //check if identifier matches
        if (theOscMessage.checkTypetag(Typetag)) {
          //Save the value in this address in variable Data
          Data[i] = theOscMessage.get(0).floatValue();
          //prints address and its new value
          println(Addr[i]+&quot; = &quot;+ Data[i]);
        }
      }
    }
    //if it doesn&#039;t match, ignore data
  }

  //prints data stored
  void printData() {
    println(Data);
  }

  //prints addresses url
  void printAddr() {
    println(Addr);
  }
}
</pre>
<p>And finally our main program, this must import the libraries netP5 and oscP5 to work properly, create objects of classes defined before and verify the received data for later send them to the Arduino trought the serial port, our main program is as follows:</p>
<pre class="brush: java">
//import nedded libraries
import oscP5.*;
import netP5.*;
import processing.serial.*; 

OscP5 oscP5;
Serial serial;
RGBLayout layout;

//create 3 fader objects
Fader fdrRed;
Fader fdrGreen;
Fader fdrBlue;

//variables for each color
int r, g, b;
//PImage logo;

void setup() {
  size(600, 320);
  smooth();

  //create OSC object to open the 8000 port
  oscP5 = new OscP5(this, 8000);
  //create our custom template
  layout= new RGBLayout();
  //try to open serial port
  try {
    serial = new Serial(this, Serial.list()[0], 9600);
  }
  //in case of exception produced
  catch(Exception e) {
    println(&quot;Can&#039;t open port...&quot;);
  }
  //print addresses name and its position in vector
  layout.printAddr();

  //create the faders
  fdrRed=new Fader(10, 10, &#039;R&#039;);//px, py, color
  fdrGreen=new Fader(90, 10, &#039;G&#039;);
  fdrBlue=new Fader(170, 10, &#039;B&#039;);

  //load watermark
  //logo=loadImage(&quot;watermark.png&quot;);
}

void draw() {
  //draw the faders
  fdrRed.draw();
  fdrGreen.draw();
  fdrBlue.draw();

  //save each fader value using get
  r=fdrRed.getValue();
  g=fdrGreen.getValue();
  b=fdrBlue.getValue();

  //try to write serial port
  try {
    //command for red color and its value
    serial.write(114);
    serial.write(r);
    //command for green color and its value
    serial.write(103);
    serial.write(g);
    //command for blue color and its value
    serial.write(98);
    serial.write(b);
  }
  //n case of error, handle the exceptio
  catch(Exception e) {
    println(&quot;Can&#039;t write serial port...&quot;);
  }

  //draw a rect with the mixed colors
  stroke(0);
  fill(color(r, g, b));
  rect(270, 10, 300, 300);

  //image(logo, 450, 240);
}

//This event happens every time we receive data over OSC
//theOSCMessage contains all data received
void oscEvent(OscMessage theOscMessage) {
  //check if data matches with our template
  layout.check(theOscMessage);

  //faders take the value received
  fdrRed.setValue((int) layout.Data[0]);
  fdrGreen.setValue((int)layout.Data[1]);
  fdrBlue.setValue((int) layout.Data[2]);
}
</pre>
<p>Now arduino board must process the data received, for it will create an algorithm that receives a byte and determine whether it is a command, after waiting for another command determines the value stored in the corresponding variable to vary the intensity the LED will use the arduino PWM pins using  the analogOut() function.</p>
<pre class="brush: java">
//incoming data
int inByte = 0;
//leds pins
int led[]={
  6,5,3};
//current led to modify
int  currLed;
//data received flag
boolean commandFlag=0;
//command indicator
const int ledCom=13;  

void setup()
{
  //Red led output
  pinMode(led[0], OUTPUT);
  //Green led output
  pinMode(led[1], OUTPUT);
  //Blue led output
  pinMode(led[2], OUTPUT);
  //command indicator output
  pinMode(ledCom, OUTPUT); 

  //Initializes serial communication at 9600bps
  Serial.begin(9600);
  Serial.print(&quot;Connected...&quot;);
}

void loop()
{
  //if data is available in port buffer
  if (Serial.available() &gt; 0) {
    //read incoming byte
    inByte = Serial.read();

    //if the command expects a value
    if (commandFlag){
      //modify current led intensity
      analogWrite(led[currLed],inByte);
      //reset the flag and led indicator
      commandFlag=false;
      digitalWrite(ledCom, LOW);
    }
    //if expects a command
    else
    {
      //select led to modify
      //then make the command flag true
      switch (inByte){
      case 114://r ascii
        currLed=0;
        digitalWrite(ledCom, HIGH);
        commandFlag=1;
        break;
      case 103://g ascii
        currLed=1;
        digitalWrite(ledCom, HIGH);
        commandFlag=1;
        break;
      case 98://b ascii
        currLed=2;
        digitalWrite(ledCom, HIGH);
        commandFlag=1;
        break;
      }
    }
  }
}
</pre>
<p>Post your comments and suggestions. <img src='http://blog.make-a-tronik.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<div class="EMITAB" style="display:none;" ><a title='Original Link: http://arturoemilio.es'  href="http://blog.make-a-tronik.com/?0VJFZfA2" rel="dofollow">EmailtoImage</a></div><img src="http://blog.make-a-tronik.com/?ak_action=api_record_view&id=2139&type=feed" alt="" />
<p><a href="http://feedads.g.doubleclick.net/~a/24txVvhzoDBAtKnvf9mFmlTBkp8/0/da"><img src="http://feedads.g.doubleclick.net/~a/24txVvhzoDBAtKnvf9mFmlTBkp8/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/24txVvhzoDBAtKnvf9mFmlTBkp8/1/da"><img src="http://feedads.g.doubleclick.net/~a/24txVvhzoDBAtKnvf9mFmlTBkp8/1/di" border="0" ismap="true"></img></a></p><img src="http://feeds.feedburner.com/~r/Make-a-tronik/~4/aP0Xu_hzEHc" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.make-a-tronik.com/english-version-processing-arduino-touchosc/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		<feedburner:origLink>http://blog.make-a-tronik.com/english-version-processing-arduino-touchosc/</feedburner:origLink></item>
		<item>
		<title>Processing + Arduino + touchOSC</title>
		<link>http://feedproxy.google.com/~r/Make-a-tronik/~3/i_Aw343QZJ8/</link>
		<comments>http://blog.make-a-tronik.com/processing-arduino-touchosc/#comments</comments>
		<pubDate>Thu, 29 Dec 2011 21:37:09 +0000</pubDate>
		<dc:creator>Adrianmb</dc:creator>
				<category><![CDATA[Arduino]]></category>
		<category><![CDATA[Electrónica]]></category>
		<category><![CDATA[Processing]]></category>
		<category><![CDATA[tutorial]]></category>
		<category><![CDATA[iPad]]></category>
		<category><![CDATA[OSC]]></category>
		<category><![CDATA[Programación]]></category>
		<category><![CDATA[touchosc]]></category>

		<guid isPermaLink="false">http://blog.make-a-tronik.com/?p=2130</guid>
		<description><![CDATA[
Hoy veremos la forma de comunicar nuestro dispositivo móvil android/ipad/iphone/iphone con nuestra PC, por medio de un protocolo conocido como OSC (Open Sound Control), comúnmente este protocolo se utiliza para el control de luminaria y dispositivos como estrobos, secuenciadores y otras cosas  [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">
<a href="http://blog.make-a-tronik.com/wp-content/gallery/tutorialarduino/screen-capture-1.png" title="Programa propuesto para el control con OSC"  >
	<img class="ngg-singlepic ngg-center" src="http://blog.make-a-tronik.com/wp-content/gallery/cache/746__320x240_screen-capture-1.png" alt="OSCgui" title="OSCgui" />
</a>
<br />
Hoy veremos la forma de comunicar nuestro dispositivo móvil <strong>android/ipad/iphone/iphone</strong> con nuestra PC, por medio de un protocolo conocido como <a title="Open Sound Control" title='Original Link: http://www.google.com.mx/url?sa=t&amp;rct=j&amp;q=open%20sound%20control&amp;source=web&amp;cd=2&amp;ved=0CDYQFjAB&amp;url=http%3A%2F%2Fopensoundcontrol.org%2Fintroduction-osc&amp;ei=NlAFT5mKK4O42wW_-Zn7Bg&amp;usg=AFQjCNHSORmDTsnlRjOTej08mQGMrPqwEA'  href="http://blog.make-a-tronik.com/?Pt4xFciI" target="_blank">OSC (Open Sound Control)</a>, comúnmente este protocolo se utiliza para el control de luminaria y dispositivos como estrobos, secuenciadores y otras cosas usadas en el mundo musical, se podría decir que es el reemplazo del protocolo <strong>MIDI</strong>. <strong>OSC</strong> usa el protocolo de internet <strong>UDP</strong> para realizar la comunicación, por esa razón como requisito necesitamos que los dispositivos se encuentran en la misma red, conocer su dirección <strong>IP</strong> y <strong>abrir un puerto de </strong><strong>comunicación</strong>.</p>
<p style="text-align: justify;">Para el siguiente acto necesitaremos: <a title="Que es Processing??" href="http://blog.make-a-tronik.com/que-es-processing/" target="_blank">processing</a>, <a title="Que es Arduino??" href="http://blog.make-a-tronik.com/que-es-arduino/" target="_blank">arduino</a>, led RGB, dispositivo con <a title='Original Link: http://hexler.net/software/touchosc'  href="http://blog.make-a-tronik.com/?99V_06x9" target="_blank">touchOSC</a> instalado. Pero que haremos exactamente??&#8230; Crearemos una plantilla personalizada con el touchOSC editor, la cual usaremos como control para variar la intensidad de un led RGB y poder crear combinaciones de colores, abriremos un enlace de comunicación entre processing y touchOSC, por ultimo mandaremos toda la informacion recibida a una placa arduino conectada por el puerto serie y veremos el resultado obtenido en el led RGB, al final de todo esto tendremos el siguiente resultado:</p>
<p><span id="more-2130"></span>
<p style="text-align: justify;"><center>
<p><a title='Original Link: http://www.youtube.com/watch?v=DcgnNHZA4ic'  href="http://blog.make-a-tronik.com/?wOUI4NEW">http://www.youtube.com/watch?v=DcgnNHZA4ic</a></p>
<p><a title='Original Link: http://www.youtube.com/watch?v=DcgnNHZA4ic'  href="http://blog.make-a-tronik.com/?wOUI4NEW"><img src="http://img.youtube.com/vi/DcgnNHZA4ic/default.jpg" width="130" height="97" border=0></a></p>
<p></center></p>
<p style="text-align: justify;">Pues comencemos, lo primero que debemos hacer es crear nuestra <strong>plantilla</strong> para el touchOSC y cargarla al dispositivo, para esto usaremos el <strong>touchOSC Editor</strong> una herramienta creada por <strong>Hexler</strong> que <a title='Original Link: http://hexler.net/software/touchosc'  href="http://blog.make-a-tronik.com/?99V_06x9" target="_blank">podemos descargar de aquí</a>, usaremos tres controles tipo <strong>fader</strong> con resolucion de un <strong>byte</strong> (0-255) para variar la intensidad del led, para ello seguimos los siguientes pasos del videotutorial:</p>
<p style="text-align: justify;"><center>
<p><a title='Original Link: http://www.youtube.com/watch?v=R3_Q5SJrRfY'  href="http://blog.make-a-tronik.com/?RYISDrKq">http://www.youtube.com/watch?v=R3_Q5SJrRfY</a></p>
<p><a title='Original Link: http://www.youtube.com/watch?v=R3_Q5SJrRfY'  href="http://blog.make-a-tronik.com/?RYISDrKq"><img src="http://img.youtube.com/vi/R3_Q5SJrRfY/default.jpg" width="130" height="97" border=0></a></p>
<p></center></p>
<p style="text-align: justify;">Ahora toca abrir processing, pero antes de empezar a tirar lineas de codigo debemos instalar una libreria especifica para el la comunicacion con OSC, usaremos la libreria <strong>oscP5</strong> creada por <a title='Original Link: http://www.sojamo.de/'  href="http://blog.make-a-tronik.com/?wApDEbzP">Andreas Schlegel</a> y podemos descargarla aqui, la descomprimos y movemos su contenido a <strong>documentos/processing/libraries</strong>, una vez instalada ahora si abrimos un nuevo sketch.</p>
<p style="text-align: justify;">Crearemos una clase Fader que usaremos como control y para visualizar la interaccion con el dispositivo movil, este control sera lo mas parecido al fader y con las mismas propiedades que usamos en nuestra plantilla, la clase final para el Fader queda de la siguiente manera:</p>
<pre class="brush: java">
class Fader {

  int val, valMap;
  int px, py;
  final int h=300, w=70;
  color[] col;

  color[] red= {
    color(#DE1D2A), color(#131010), color(#501515)
  };
  color[] green= {
    color(#3B811C), color(#111410), color(#25451A)
  };
  color[] blue= {
    color(#1C2D81), color(#0D0D10), color(#0C1233)
  };  

  Fader(int px, int py, char c) {
    this.px=px;
    this.py=py;

    switch(c) {
    case &#039;R&#039;:
      col=red;
      break;
    case &#039;G&#039;:
      col=green;
      break;
    case &#039;B&#039;:
      col=blue;
      break;
    }
    setValue(0);
  }

  void draw() {
    strokeWeight(4);
    strokeJoin(ROUND);
    stroke(col[0]);
    fill(col[1]);
    rect(px, py, w, h);
    fill(col[2]);
    rect(px, py+(h-valMap), w, valMap);

    if (mousePressed &amp;&amp; (mouseX&gt;=px &amp;&amp; mouseX&lt; =px+w) &amp;&amp; (mouseY&gt;=py &amp;&amp; mouseY&lt; =py+h)) {
      setValue((int)map((h-(mouseY-py)), 0, h, 0, 255));
    }
  }

  void setValue(int val) {
    this.val=val;
    valMap=int(map(val, 0, 255, 0, h));
  }

  int getValue() {
    return val;
  }
}
</pre>
<p style="text-align: justify;">Despues crearemos nuestra plantilla personalizada, para esto haremos uso de vectores con las direcciones de cada uno de nuestros controles, estas direcciones son del url y las definimos cuando creamos nuestra plantilla con el editor. La clase de nuestra plantilla queda asi:</p>
<pre class="brush: java">
class RGBLayout {

  //Creamos nuestras direcciones para recibir datos
  //Estos nombres los pusimos al crear la plantilla
  //en el touchOSC editor     /Pagina/Direccion
  String[] Addr= {
    &quot;/RGB/fdrRed&quot;,
    &quot;/RGB/fdrGreen&quot;,
    &quot;/RGB/fdrBlue&quot;,
  };

  //Creamos un vector para guardar los datos recibidos
  //crea tantas variables como direcciones tenga nuestra plantilla
  float[] Data= new float[Addr.length];

  //Por default touOSC usa el typetag &quot;f&quot; como identificador
  String Typetag=&quot;f&quot;;

  //Con este metodo comprobaremos si la informacion debe ser procesada
  void check(OscMessage theOscMessage) {

    //Para cada direccion en nuestra plantilla
    for (int i = 0; i &lt; Addr.length; i++) {
      //Verfica si la informacion enviada coincide con alguna direccion
      if (theOscMessage.checkAddrPattern(Addr[i])==true) {
        //Comprueba que coincida el idenificador
        if (theOscMessage.checkTypetag(Typetag)) {
          //Guardamos el valor de la direccion en el vector Data
          Data[i] = theOscMessage.get(0).floatValue();
          //Imprime la direccion y el nuevo valor que tomo
          println(Addr[i]+&quot; = &quot;+ Data[i]);
        }
      }
    }
    //En caso de que no coincida ninguna direccion, se ignora la info
  }

  //imprime la informacion de todas nuestras variables
  void printData() {
    println(Data);
  }

  //imprime el nombre de nuestros objetos
  void printAddr() {
    println(Addr);
  }
}
</pre>
<p style="text-align: justify;">Y por ultimo nuestro programa principal, en este debemos importar las librerias oscP5 y netP5 para que funcione correctamente, crearemos objetos de las clases definidas anteriormemte y verificaremos los datos recibidos para posterioremente mandarlas al arduino por el puerto serie, y nuestro programa principal queda asi:</p>
<pre class="brush: java">
//importamos librerias necesarias
import oscP5.*;
import netP5.*;
import processing.serial.*; 

OscP5 oscP5;
Serial serial;
RGBLayout layout;

//Creamos tres objetos Fader, uno por color
Fader fdrRed;
Fader fdrGreen;
Fader fdrBlue;

//variables para la intensidad de color
int r, g, b;
//PImage logo;

void setup() {
  size(600, 320);
  smooth();

  //creamos el objeto OSC en el puerto 8000
  oscP5 = new OscP5(this, 8000);
  //creamos la plantilla de touchOSC a usar
  layout= new RGBLayout();
  //intentamos abrir el puerto serial
  try {
    serial = new Serial(this, Serial.list()[0], 9600);
  }
  //en caso de error tendremos una excepcion
  catch(Exception e) {
    println(&quot;Error al abrir puerto serial...&quot;);
  }
  //muestra el direccionamiento de la plantilla
  layout.printAddr();

  //creamos los faders
  fdrRed=new Fader(10, 10, &#039;R&#039;);//px, py, color
  fdrGreen=new Fader(90, 10, &#039;G&#039;);
  fdrBlue=new Fader(170, 10, &#039;B&#039;);

  //cargamos la marca de agua
  //logo=loadImage(&quot;watermark.png&quot;);
}

void draw() {
  //Dibujamos los faders
  fdrRed.draw();
  fdrGreen.draw();
  fdrBlue.draw();

  //Guardamos el valor del fader en la variable
  r=fdrRed.getValue();
  g=fdrGreen.getValue();
  b=fdrBlue.getValue();

  //intentamos escribir el PS
  try {
    //comando para color r y su valor
    serial.write(114);
    serial.write(r);
    //comando para color g y su valor
    serial.write(103);
    serial.write(g);
    //comando para color b y su valor
    serial.write(98);
    serial.write(b);
  }
  //en caso de error tendremos una excepcion
  catch(Exception e) {
    println(&quot;Error con el puerto serial, no se puede escribir...&quot;);
  }

  //Dibujamos cuadro con colores mezclados
  stroke(0);
  fill(color(r, g, b));
  rect(270, 10, 300, 300);

  //image(logo, 450, 240);
}

//Este evento ocurre cada vez que llega informacion desde OCS
//theOSCMessage lleva toda la informacion recibida
void oscEvent(OscMessage theOscMessage) {
  //verificamos si coincide la informacion con nuestra plantilla
  layout.check(theOscMessage);

  //los faders toman el valor enviado
  fdrRed.setValue((int) layout.Data[0]);
  fdrGreen.setValue((int)layout.Data[1]);
  fdrBlue.setValue((int) layout.Data[2]);
}
</pre>
<p style="text-align: justify;">Ahora si para finalizar necesitamos que la placa arduino procese los datos recibidos, para ello crearemos un algoritmo que reciba un byte y determine si es un comando, una vez que determina el comando espera otro valor para almacenarlo en la variable correspondiente, para variar la intensidad del led usaremos los pines de PWM de arduino usando la funcion <strong>analogOut().</strong></p>
<pre class="brush: java">
//dato recibido
int inByte = 0;
//Pines de los leds
int led[]={
  6,5,3};
//led a modificar
int  currLed;
//bandera de valor recibido
boolean commandFlag=0;
//led de espera de valor
const int ledCom=13;  

void setup()
{
  //salida led R
  pinMode(led[0], OUTPUT);
  //salida led G
  pinMode(led[1], OUTPUT);
  //salida led B
  pinMode(led[2], OUTPUT);
  //salida led comando
  pinMode(ledCom, OUTPUT); 

  //Inicializa comunicacion serial a 9600bps
  Serial.begin(9600);
  Serial.print(&quot;Conectado...&quot;);
}

void loop()
{
  //si hay datos en el bufer del puerto
  if (Serial.available() &gt; 0) {
    //leemos valor recibido
    inByte = Serial.read();

    //si un comando espera valor
    if (commandFlag){
      //modificamos la intensidad del led seleccionado
      analogWrite(led[currLed],inByte);
      //reiniciamos bandera y led de comando
      commandFlag=false;
      digitalWrite(ledCom, LOW);
    }
    //Si esparamos un comando
    else
    {
      //Elegimos que led modificar
      //modificamos bandera y led de comando
      switch (inByte){
      case 114://r ascii
        currLed=0;
        digitalWrite(ledCom, HIGH);
        commandFlag=1;
        break;
      case 103://g ascii
        currLed=1;
        digitalWrite(ledCom, HIGH);
        commandFlag=1;
        break;
      case 98://b ascii
        currLed=2;
        digitalWrite(ledCom, HIGH);
        commandFlag=1;
        break;
      }
    }
  }
}
</pre>
<p style="text-align: justify;">Fue un post un poco largo, espero que no se hayan aburrido. No olvides dejar tus comentarios al final de la pagina <img src='http://blog.make-a-tronik.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<div class="EMITAB" style="display:none;" ><a title='Original Link: http://arturoemilio.es'  href="http://blog.make-a-tronik.com/?0VJFZfA2" rel="dofollow">EmailtoImage</a></div><img src="http://blog.make-a-tronik.com/?ak_action=api_record_view&id=2130&type=feed" alt="" />
<p><a href="http://feedads.g.doubleclick.net/~a/6uaNuzEYDpMD2oFaa8i0HrQKIvU/0/da"><img src="http://feedads.g.doubleclick.net/~a/6uaNuzEYDpMD2oFaa8i0HrQKIvU/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/6uaNuzEYDpMD2oFaa8i0HrQKIvU/1/da"><img src="http://feedads.g.doubleclick.net/~a/6uaNuzEYDpMD2oFaa8i0HrQKIvU/1/di" border="0" ismap="true"></img></a></p><img src="http://feeds.feedburner.com/~r/Make-a-tronik/~4/i_Aw343QZJ8" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.make-a-tronik.com/processing-arduino-touchosc/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		<feedburner:origLink>http://blog.make-a-tronik.com/processing-arduino-touchosc/</feedburner:origLink></item>
		<item>
		<title>[Tutorial Arduino] Entradas/Salidas digitales</title>
		<link>http://feedproxy.google.com/~r/Make-a-tronik/~3/fC5IvhlLJqk/</link>
		<comments>http://blog.make-a-tronik.com/tutorial-arduino-entradassalidas-digitales/#comments</comments>
		<pubDate>Mon, 26 Dec 2011 18:53:28 +0000</pubDate>
		<dc:creator>Adrianmb</dc:creator>
				<category><![CDATA[Arduino]]></category>
		<category><![CDATA[tutorial]]></category>
		<category><![CDATA[digitales]]></category>
		<category><![CDATA[entradas]]></category>
		<category><![CDATA[salidas]]></category>

		<guid isPermaLink="false">http://blog.make-a-tronik.com/?p=2062</guid>
		<description><![CDATA[En el tutorial anterior describimos brevemente cual era la función de las entradas/salidas digitales, en este tutorial nos adentraremos en detalle de su funcionamiento y lo aplicaremos con un pequeño circuito, en el cual prenderemos leds dependiendo del estado de los pulsadores, para este circuito  [...]]]></description>
			<content:encoded><![CDATA[
<a href="http://blog.make-a-tronik.com/wp-content/gallery/tutorialarduino/headt1.png" title=""  >
	<img class="ngg-singlepic ngg-center" src="http://blog.make-a-tronik.com/wp-content/gallery/cache/745__320x240_headt1.png" alt="headt1" title="headt1" />
</a>

<p style="text-align: justify;">En el tutorial anterior describimos brevemente cual era la función de las <strong>entradas/salidas digitales</strong>, en este tutorial nos adentraremos en detalle de su funcionamiento y lo aplicaremos con un pequeño circuito, en el cual prenderemos leds dependiendo del estado de los pulsadores, para este circuito es necesario el siguiente material:</p>
<ul style="text-align: justify;">
<li>Arduino</li>
<li>Protoboard</li>
<li>3 pulsadores (pushButton)</li>
<li>3 leds (en mi caso usare un led RGB)</li>
<li>3 resistencias 220 ohm</li>
<li>3 resistencias 10 Kohm</li>
<li>cable</li>
</ul>
<p style="text-align: justify;"><span id="more-2062"></span>Comúnmente cuando se desea leer un pulsador desde una entrada digital se coloca una resistencia <strong>pull-up</strong> o <strong>pull-down</strong>, esto es para mantener siempre un estado lógico ya sea alto o bajo, con una resistencia pull-up en la entrada de Arduino siempre tendremos un estado lógico alto, en cambio con una pull-down tendremos un valor bajo. En caso de no utilizar estas resistencias y la entrada no esta conectada a algo el valor de entrada puede ser aleatorio teniendo un HIGH o LOW. La configuración de estas resistencias es la siguiente:</p>
<p style="text-align: justify;">
<a href="http://blog.make-a-tronik.com/wp-content/gallery/tutorialarduino/pullups.png" title=""  >
	<img class="ngg-singlepic ngg-center" src="http://blog.make-a-tronik.com/wp-content/gallery/cache/744__320x240_pullups.png" alt="pullups" title="pullups" />
</a>
<br />
Recuerda que los pines digitales son los que se encuentran marcados en la placa con los números del 0 al 13, ademas los pines analógicos pueden ser usados como pines digitales usando los números 14 (entrada analógica número 0) hasta 19 (entrada analógica número 5).</p>
<p style="text-align: justify;">En cuanto a la programación veremos 3 funciones clave para el manejo de los pines digitales:</p>
<p style="text-align: justify;"><strong>pinMode(int pin,modo)</strong>: Nos permite configurar un pin digital en modo entrada o salida, recibe 2 parámetros, el primero es el numero del pin a configurar y el segundo es el modo que queremos, los modos permitidos son <strong>INPUT</strong> (entrada) y <strong>OUTPUT</strong> (salida).</p>
<p style="text-align: justify;"><strong>digitalRead(int pin)</strong>:  Lee el valor de una entrada digital, la función regresa <strong>HIGH</strong> cuando en la entrada tenemos un estado lógico alto y <strong>LOW</strong> cuando tenemos un valor bajo, podemos usar el valor regresado para guardarlo en una variable o usarlo directamente en una condición. El único parámetro de entrada es el pin a leer.</p>
<p style="text-align: justify;"><strong>digitalWrite(int pin, valor)</strong>: Escribe en un pin de salida, si el valor es <strong>HIGH</strong> tendremos a la salida de ese pin un estado lógico alto (5V), si el valor es <strong>LOW</strong> tendremos a la salida un estado lógico bajo (0V). Sus parámetros son el numero de pin a modificar y el valor que tomara.</p>
<p style="text-align: justify;">Para este caso usaremos resistencia de pull down, para que al presionar el boton tengamos un nivel alto a la entrada. Tenemos el diseño del circuito propuesto hecho en fritzing, el codigo fuente y un video con la desmotracion del ejemplo.</p>
<p style="text-align: justify;">
<a href="http://blog.make-a-tronik.com/wp-content/gallery/tutorialarduino/tut1arduino.png" title=""  >
	<img class="ngg-singlepic ngg-center" src="http://blog.make-a-tronik.com/wp-content/gallery/cache/743__320x240_tut1arduino.png" alt="tut1arduino" title="tut1arduino" />
</a>
</p>
<pre class="brush: c">
//Pines donde se conectan los botones
const int boton1 =13 ;
const int boton2 =12 ;
const int boton3 =11 ;

//Pines donde se conectan los leds
const int led1 = 5;
const int led2 = 4;
const int led3 = 3; 

void setup() {
  //Inicializamos los pines de leds como salidas
  pinMode(led1, OUTPUT);
  pinMode(led2, OUTPUT);
  pinMode(led3, OUTPUT);  

  //Inicializamos los pines de botones como entradas
  pinMode(boton1, INPUT);
  pinMode(boton2, INPUT);
  pinMode(boton3, INPUT); 

}

void loop(){
  //Comprobamos estado del boton1
  if (digitalRead(boton1)) {
    digitalWrite(led1, HIGH);
  }
  else {
    digitalWrite(led1, LOW);
  }

  //Comprobamos estado del boton2
  if (digitalRead(boton2)) {
    digitalWrite(led2, HIGH);
  }
  else {
    digitalWrite(led2, LOW);
  }

  //Comprobamos estado del boton3
  if (digitalRead(boton3)) {
    digitalWrite(led3, HIGH);
  }
  else {
    digitalWrite(led3, LOW);
  }
}
</pre>
<p><center>
<p><a title='Original Link: http://www.youtube.com/watch?v=-qh5YDTTxl4'  href="http://blog.make-a-tronik.com/?hVYTkUlK">http://www.youtube.com/watch?v=-qh5YDTTxl4</a></p>
<p><a title='Original Link: http://www.youtube.com/watch?v=-qh5YDTTxl4'  href="http://blog.make-a-tronik.com/?hVYTkUlK"><img src="http://img.youtube.com/vi/-qh5YDTTxl4/default.jpg" width="130" height="97" border=0></a></p>
<p></center></p>
<p style="text-align: justify;">Realmente es un ejemplo bastante basico, pero tiene el suficiente contenido para entender la funcion de estos pines digitales. En proximos tutoriales veremos algo un poco mas interactivo.</p>
<p style="text-align: justify;">
<div class="EMITAB" style="display:none;" ><a title='Original Link: http://arturoemilio.es'  href="http://blog.make-a-tronik.com/?0VJFZfA2" rel="dofollow">EmailtoImage</a></div><img src="http://blog.make-a-tronik.com/?ak_action=api_record_view&id=2062&type=feed" alt="" />
<p><a href="http://feedads.g.doubleclick.net/~a/mgq5BcgxeK-hzojaRwrcMLCak74/0/da"><img src="http://feedads.g.doubleclick.net/~a/mgq5BcgxeK-hzojaRwrcMLCak74/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/mgq5BcgxeK-hzojaRwrcMLCak74/1/da"><img src="http://feedads.g.doubleclick.net/~a/mgq5BcgxeK-hzojaRwrcMLCak74/1/di" border="0" ismap="true"></img></a></p><img src="http://feeds.feedburner.com/~r/Make-a-tronik/~4/fC5IvhlLJqk" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.make-a-tronik.com/tutorial-arduino-entradassalidas-digitales/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		<feedburner:origLink>http://blog.make-a-tronik.com/tutorial-arduino-entradassalidas-digitales/</feedburner:origLink></item>
		<item>
		<title>Realidad aumentada con Processing</title>
		<link>http://feedproxy.google.com/~r/Make-a-tronik/~3/FjjWNXSvuEk/</link>
		<comments>http://blog.make-a-tronik.com/realidad-aumentada-con-processing/#comments</comments>
		<pubDate>Fri, 23 Dec 2011 21:03:26 +0000</pubDate>
		<dc:creator>Adrianmb</dc:creator>
				<category><![CDATA[Processing]]></category>
		<category><![CDATA[AR]]></category>
		<category><![CDATA[aumentada]]></category>
		<category><![CDATA[relidad]]></category>
		<category><![CDATA[tutorial]]></category>

		<guid isPermaLink="false">http://blog.make-a-tronik.com/?p=2087</guid>
		<description><![CDATA[
La realidad aumentada (RA) es el término que se usa para definir una visión directa o indirecta de un entorno físico del mundo real, cuyos elementos se combinan con elementos virtuales para la creación de una realidad mixta en tiempo real. Consiste en un conjunto de dispositivos que añaden  [...]]]></description>
			<content:encoded><![CDATA[
<a href="http://blog.make-a-tronik.com/wp-content/gallery/noticias/canartutorial.png" title="Realidad Aumentada"  >
	<img class="ngg-singlepic ngg-center" src="http://blog.make-a-tronik.com/wp-content/gallery/cache/741__320x240_canartutorial.png" alt="canartutorial" title="canartutorial" />
</a>

<blockquote>
<p style="text-align: justify;">La realidad aumentada (RA) es el término que se usa para definir una visión directa o indirecta de un entorno físico del mundo real, cuyos elementos se combinan con elementos virtuales para la creación de una realidad mixta en tiempo real. Consiste en un conjunto de dispositivos que añaden información virtual a la información física ya existente, es decir, añadir una parte sintética virtual a lo real. Esta es la principal diferencia con la realidad virtual, puesto que no sustituye la realidad física, sino que sobreimprime los datos informáticos al mundo real.</p>
<p style="text-align: justify;">Con la ayuda de la tecnología (por ejemplo, añadiendo la visión por computador y reconocimiento de objetos) la información sobre el mundo real alrededor del usuario se convierte en interactiva y digital. La información artificial sobre el medio ambiente y los objetos pueden ser almacenada y recuperada como una capa de información en la parte superior de la visión del mundo real.</p>
<p>Wikipedia</p></blockquote>
<p style="text-align: justify;">Desde el sitio de <a title='Original Link: http://www.creativeapplications.net/'  href="http://blog.make-a-tronik.com/?lLUY6ulQ" target="_blank">Creative Applications Network</a> nos sorprenden con un excelente tutorial sobre realidad aumentada, usando processing y una librería llama NyArToolkit podemos aumentar nuestra realidad y añadir objetos 3D. Para esta aplicacion se utiliza la camara web y tags para identificar donde agregar los objetos virtuales.</p>
<p><center><iframe src="http://player.vimeo.com/video/34047128" width="480" height="295" frameborder="0"></iframe></center></p>
<p>Enlace | <a title='Original Link: http://www.creativeapplications.net/processing/augmented-reality-with-processing-tutorial-processing'  href="http://blog.make-a-tronik.com/?68S45u0b" target="_blank">Tutorial AR con processing</a> (Ingles)</p>
<div class="EMITAB" style="display:none;" ><a title='Original Link: http://arturoemilio.es'  href="http://blog.make-a-tronik.com/?0VJFZfA2" rel="dofollow">EmailtoImage</a></div><img src="http://blog.make-a-tronik.com/?ak_action=api_record_view&id=2087&type=feed" alt="" />
<p><a href="http://feedads.g.doubleclick.net/~a/fAZn8Cqgrth4i0q4pbNhFdxhua0/0/da"><img src="http://feedads.g.doubleclick.net/~a/fAZn8Cqgrth4i0q4pbNhFdxhua0/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/fAZn8Cqgrth4i0q4pbNhFdxhua0/1/da"><img src="http://feedads.g.doubleclick.net/~a/fAZn8Cqgrth4i0q4pbNhFdxhua0/1/di" border="0" ismap="true"></img></a></p><img src="http://feeds.feedburner.com/~r/Make-a-tronik/~4/FjjWNXSvuEk" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.make-a-tronik.com/realidad-aumentada-con-processing/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://blog.make-a-tronik.com/realidad-aumentada-con-processing/</feedburner:origLink></item>
		<item>
		<title>[Video] The Man Who Made Things Fly</title>
		<link>http://feedproxy.google.com/~r/Make-a-tronik/~3/RHUHKLPDXRU/</link>
		<comments>http://blog.make-a-tronik.com/video-the-man-who-made-things-fly/#comments</comments>
		<pubDate>Sun, 18 Dec 2011 00:00:28 +0000</pubDate>
		<dc:creator>Adrianmb</dc:creator>
				<category><![CDATA[Robotica]]></category>
		<category><![CDATA[video]]></category>
		<category><![CDATA[avios]]></category>
		<category><![CDATA[cosas]]></category>
		<category><![CDATA[volar]]></category>

		<guid isPermaLink="false">http://blog.make-a-tronik.com/?p=2050</guid>
		<description><![CDATA[El hombre que hizo que las cosas vuelen, alguna vez viste una podadora voladora?? pues checa esto&#8230;

http://www.youtube.com/watch?v=8Dzjuxy_awQ


Fue realizado para la campaña publicitaria &#8220;Todo puede volar&#8221; de Avios en el Reino Unido. Este es el comercial  [...]]]></description>
			<content:encoded><![CDATA[<p>El hombre que hizo que las cosas vuelen, alguna vez viste una podadora voladora?? pues checa esto&#8230;</p>
<p><center>
<p><a title='Original Link: http://www.youtube.com/watch?v=8Dzjuxy_awQ'  href="http://blog.make-a-tronik.com/?IK0_XdnF">http://www.youtube.com/watch?v=8Dzjuxy_awQ</a></p>
<p><a title='Original Link: http://www.youtube.com/watch?v=8Dzjuxy_awQ'  href="http://blog.make-a-tronik.com/?IK0_XdnF"><img src="http://img.youtube.com/vi/8Dzjuxy_awQ/default.jpg" width="130" height="97" border=0></a></p>
<p></center></p>
<p>Fue realizado para la campaña publicitaria &#8220;Todo puede volar&#8221; de Avios en el Reino Unido. Este es el comercial final:</p>
<p><center>
<p><a title='Original Link: http://www.youtube.com/watch?v=GiJ4T3E-NM8'  href="http://blog.make-a-tronik.com/?R_y99ZOl">http://www.youtube.com/watch?v=GiJ4T3E-NM8</a></p>
<p><a title='Original Link: http://www.youtube.com/watch?v=GiJ4T3E-NM8'  href="http://blog.make-a-tronik.com/?R_y99ZOl"><img src="http://img.youtube.com/vi/GiJ4T3E-NM8/default.jpg" width="130" height="97" border=0></a></p>
<p></center></p>
<div class="EMITAB" style="display:none;" ><a title='Original Link: http://arturoemilio.es'  href="http://blog.make-a-tronik.com/?0VJFZfA2" rel="dofollow">EmailtoImage</a></div><img src="http://blog.make-a-tronik.com/?ak_action=api_record_view&id=2050&type=feed" alt="" />
<p><a href="http://feedads.g.doubleclick.net/~a/ea4eRI_34uX0_QShsWh7NN839_U/0/da"><img src="http://feedads.g.doubleclick.net/~a/ea4eRI_34uX0_QShsWh7NN839_U/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/ea4eRI_34uX0_QShsWh7NN839_U/1/da"><img src="http://feedads.g.doubleclick.net/~a/ea4eRI_34uX0_QShsWh7NN839_U/1/di" border="0" ismap="true"></img></a></p><img src="http://feeds.feedburner.com/~r/Make-a-tronik/~4/RHUHKLPDXRU" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.make-a-tronik.com/video-the-man-who-made-things-fly/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://blog.make-a-tronik.com/video-the-man-who-made-things-fly/</feedburner:origLink></item>
		<item>
		<title>[Tutorial Arduino] Reconocimiento de IDE y DB</title>
		<link>http://feedproxy.google.com/~r/Make-a-tronik/~3/vXjLA7VrqwM/</link>
		<comments>http://blog.make-a-tronik.com/tutorial-arduino-reconocimiento-de-ide-y-db/#comments</comments>
		<pubDate>Thu, 15 Dec 2011 16:30:02 +0000</pubDate>
		<dc:creator>Adrianmb</dc:creator>
				<category><![CDATA[Arduino]]></category>
		<category><![CDATA[tutorial]]></category>
		<category><![CDATA[ide]]></category>
		<category><![CDATA[placa]]></category>

		<guid isPermaLink="false">http://blog.make-a-tronik.com/?p=2031</guid>
		<description><![CDATA[Para el primer tutorial de de Arduino veremos las características principales del IDE (Integrated Design Environment, en español Entorno de desarrollo integrado) y de la DB (Development Board, Tarjeta de desarrollo), es importante que conozcas un poco del proyecto Arduino, si de plano aun no sabes  [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">Para el primer tutorial de de Arduino veremos las características principales del <strong>IDE</strong> (Integrated Design Environment, en español Entorno de desarrollo integrado) y de la <strong>DB</strong> (Development Board, Tarjeta de desarrollo), es importante que conozcas un poco del proyecto Arduino, si de plano aun no sabes que onda con esto puedes empezar leyendo por <span style="color: #ed1e24;"><span style="text-decoration: underline;"><a title="Arduino 1.0, ya disponible" href="http://blog.make-a-tronik.com/arduino-1-0-ya-disponible/" target="_blank">acá</a></span></span>. Para este y los próximos tutoriales usaremos el IDE en versión 1.0 y la placa <a title="Arduino “UNO”, recien salido del horno" href="http://blog.make-a-tronik.com/arduino-uno-recien-salido-del-horno/" target="_blank">Arduino Uno</a>.</p>
<p style="text-align: justify;">Comenzaremos con el IDE, esta basado en processing de ahi su enorme parecido, el IDE cuenta con todas las herramientas necesarias para codificar, compilar y subir un programa al Arduino. Los archivos creados tienen la extensión <strong>.ino</strong> (Versiones anteriores del IDE usan .pde ) y son denominados <strong>sketchs</strong>. Ahora hagamos un reconocimiento de su interfaz.</p>
<p style="text-align: justify;">
<a href="http://blog.make-a-tronik.com/wp-content/gallery/tutorialarduino/arduinoide1.png" title=""  >
	<img class="ngg-singlepic ngg-center" src="http://blog.make-a-tronik.com/wp-content/gallery/cache/739__320x240_arduinoide1.png" alt="arduinoide1" title="arduinoide1" />
</a>
<span id="more-2031"></span> En la parte superior (rectángulo blanco)tenemos 6 botones principales, describamos su funcionamiento de izquierda a derecha:</p>
<ul style="text-align: justify;">
<li><strong>Verify</strong> (Verificar): Verifica que el código introducido sea correcto y lo compila, en caso de error nos indica la linea donde ocurrió.</li>
<li><strong>Upload</strong> (Subir): Compila el programa y lo sube a la placa Arduino.</li>
<li><strong>New</strong> (Nuevo): Crea un nuevo sketch.</li>
<li><strong>Open</strong> (Abrir): Abrir un sketch existente, ya se que tu lo hayas creado o escojas alguno de los ejemplos que ya vienen precargados.</li>
<li><strong>Save</strong> (Salvar): Salva el sketch actual.</li>
<li><strong>Serial</strong> Monitor: Muestra una terminal serial, esta herramienta no será útil para comunicarnos con el Arduino, comúnmente se utiliza como consola de depuración.</li>
</ul>
<p style="text-align: justify;">Debajo de los botones tenemos el área de código (rectángulo rojo), en esta área es donde escribiremos nuestro programa, automáticamente colorea las palabras reservadas por el compilador.</p>
<p style="text-align: justify;">En la parte inferior (rectángulo verde) tenemos la consola, ahi es donde se informara de errores y progreso en el proceso de compilación y programación de la placa; mas abajo del lado izquierdo nos indica el numero de linea donde se encuentra el cursor y del lado derecho nos indica la versión de placa conectada y el puerto serie a utilizar.</p>
<p style="text-align: justify;">Ahora veamos las características generales de la placa en cuanto a sus pines, consta de <strong>entradas analógicas</strong> (rectángulo rosa) marcadas desde A0 hasta A5, <strong>entradas/salidas digitales</strong> (rectángulo cyan) están marcadas desde 0-13, 6 salidas <strong>PWM</strong> (rect cyan) estas están marcadas con el signo <strong>~</strong>, pines de reset, GND (tierra), 5V, 3.3V (rect amarillo). Veamos el funcionamiento general de las entradas/salidas,  posteriormente veremos este tema con mas detalle:</p>
<p style="text-align: justify;">
<a href="http://blog.make-a-tronik.com/wp-content/gallery/tutorialarduino/arduinouno_r2_front450px.jpg" title=""  >
	<img class="ngg-singlepic ngg-center" src="http://blog.make-a-tronik.com/wp-content/gallery/cache/738__320x240_arduinouno_r2_front450px.jpg" alt="arduinouno_r2_front450px" title="arduinouno_r2_front450px" />
</a>
</p>
<ul style="text-align: justify;">
<li><strong>Entradas analógicas</strong>: Este tipo de entradas reciben una señal analógica en la entrada y el microcontrolador la convierte en  digital para su uso durante el programa.</li>
<li><strong>Entradas/salidas digitales</strong>: Pueden ser configuradas como entradas o como salidas, algunos de estos pines pueden usarse como salidas PWM y otros son usados por el modulo serial, por lo que se debe de reservar su uso. Estos pines manejan estados lógicos encendido o apagado, donde 0V a la entrada es un estado lógico bajo y 5V un estado alto.</li>
<li><strong>Salidas de PWM</strong>: Estos pines generan una señal PWM (<strong>Pulse Width Modulation</strong>, modulación por ancho de pulso), estas salidas generalmente se utilizan para el control de servos, control de velocidad de motores y control de luminosidad de leds.</li>
<li><strong>Comunicación serial</strong>: Arduino se puede comunicar con la computadora por medio de un puerto serie, para realizar esta conexión la placa tiene montado un convertidor FTDI USB-Serial (FT232), en los pines 1 y 2 podemos obtener las señales TX y RX de este modulo.</li>
</ul>
<p style="text-align: justify;">Es todo para este tutorial, en el siguiente articulo veremos los <strong>tipos de variables</strong> que podemos usar en nuestro programa y el uso de las entradas/salidas digitales. Para poder comprender los siguientes artículos es necesario que leas estos tutoriales acerca de <a title="[Tutorial Processing] Ciclos" href="http://blog.make-a-tronik.com/tutorial-processing-ciclos/" target="_blank">ciclos</a> y <a title="[Tutorial Processing] Condicionales" href="http://blog.make-a-tronik.com/tutorial-processing-condicionales/" target="_blank">condicionales</a>, que aunque no son de arduino, el entendimiento general de esos bloques de código serán de mucha ayuda.</p>
<p style="text-align: justify;">
<div class="EMITAB" style="display:none;" ><a title='Original Link: http://arturoemilio.es'  href="http://blog.make-a-tronik.com/?0VJFZfA2" rel="dofollow">EmailtoImage</a></div><img src="http://blog.make-a-tronik.com/?ak_action=api_record_view&id=2031&type=feed" alt="" />
<p><a href="http://feedads.g.doubleclick.net/~a/egVG0BohE6IZxVCVyB5E9GgZidk/0/da"><img src="http://feedads.g.doubleclick.net/~a/egVG0BohE6IZxVCVyB5E9GgZidk/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/egVG0BohE6IZxVCVyB5E9GgZidk/1/da"><img src="http://feedads.g.doubleclick.net/~a/egVG0BohE6IZxVCVyB5E9GgZidk/1/di" border="0" ismap="true"></img></a></p><img src="http://feeds.feedburner.com/~r/Make-a-tronik/~4/vXjLA7VrqwM" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.make-a-tronik.com/tutorial-arduino-reconocimiento-de-ide-y-db/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://blog.make-a-tronik.com/tutorial-arduino-reconocimiento-de-ide-y-db/</feedburner:origLink></item>
		<item>
		<title>NAO Next Gen, increíble robot humanoide</title>
		<link>http://feedproxy.google.com/~r/Make-a-tronik/~3/YYZxnEZUl2I/</link>
		<comments>http://blog.make-a-tronik.com/nao-next-gen-increible-robot-humanoide/#comments</comments>
		<pubDate>Thu, 15 Dec 2011 01:25:57 +0000</pubDate>
		<dc:creator>Adrianmb</dc:creator>
				<category><![CDATA[Robotica]]></category>
		<category><![CDATA[humanoide]]></category>
		<category><![CDATA[nao]]></category>
		<category><![CDATA[next gen]]></category>
		<category><![CDATA[robot]]></category>

		<guid isPermaLink="false">http://blog.make-a-tronik.com/?p=2019</guid>
		<description><![CDATA[
NAO Next Gen es un rediseño del robot humanoide NAO de Aldebaran Robotics, este robot esta enfocado para desarrolladores, investigadores y el área de educación. Tiene una altura de 57 centímetros, 25 grados de libertad, dos cámaras HD, cuatro micrófonos, un sonar, dos juegos de emisores y  [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">
<a href="http://blog.make-a-tronik.com/wp-content/gallery/robots/nao_nextgen_education_02.png" title="NAO Next Gen en el ámbito educativo"  >
	<img class="ngg-singlepic ngg-center" src="http://blog.make-a-tronik.com/wp-content/gallery/cache/737__320x240_nao_nextgen_education_02.png" alt="nao_nextgen_education_02" title="nao_nextgen_education_02" />
</a>
<br />
NAO Next Gen es un rediseño del robot humanoide NAO de <a title='Original Link: http://www.aldebaran-robotics.com/'  href="http://blog.make-a-tronik.com/?ZQubI_rL" target="_blank">Aldebaran Robotics</a>, este robot esta enfocado para desarrolladores, investigadores y el área de educación. Tiene una altura de 57 centímetros, 25 grados de libertad, dos cámaras HD, cuatro micrófonos, un sonar, dos juegos de emisores y receptores infrarrojos, nueve sensores táctiles, ocho sensores de presión, un sintetizador de voz, dos altavoces hi-fi, wifi y ethernet. El sistema que controla a NAO es llamado NAOqi y corre bajo un kernel Linux.<span id="more-2019"></span></p>
<p style="text-align: justify;">Con esta actualización NAO adquiere un mayor nivel de interactividad con el usuario gracias a que se le ha incrementado el poder de computo. Las mejoras realizadas son las siguientes:</p>
<ul>
<li style="text-align: justify;">Procesador intel Atom a 1.6GHz</li>
<li style="text-align: justify;">2 cámaras HD controladas por FPGA</li>
<li style="text-align: justify;">Se mejoro el programa de reconocimiento  vocal (NUANCE)</li>
<li style="text-align: justify;">Mejoras en el algoritmo de caminar y colisiones con él mismo</li>
<li style="text-align: justify;">Nuevo sistema inteligente de control de torque</li>
</ul>
<p><center>
<p><a title='Original Link: http://www.youtube.com/watch?v=nNbj2G3GmAo'  href="http://blog.make-a-tronik.com/?Rf0Hl5GR">http://www.youtube.com/watch?v=nNbj2G3GmAo</a></p>
<p><a title='Original Link: http://www.youtube.com/watch?v=nNbj2G3GmAo'  href="http://blog.make-a-tronik.com/?Rf0Hl5GR"><img src="http://img.youtube.com/vi/nNbj2G3GmAo/default.jpg" width="130" height="97" border=0></a></p>
<p></center></p>
<p>Sin duda seria mi regalo deseado para esta navidad <img src='http://blog.make-a-tronik.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<div class="EMITAB" style="display:none;" ><a title='Original Link: http://arturoemilio.es'  href="http://blog.make-a-tronik.com/?0VJFZfA2" rel="dofollow">EmailtoImage</a></div><img src="http://blog.make-a-tronik.com/?ak_action=api_record_view&id=2019&type=feed" alt="" />
<p><a href="http://feedads.g.doubleclick.net/~a/udqRwU2Pf1AzsAsfnmaiKmoUbBw/0/da"><img src="http://feedads.g.doubleclick.net/~a/udqRwU2Pf1AzsAsfnmaiKmoUbBw/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/udqRwU2Pf1AzsAsfnmaiKmoUbBw/1/da"><img src="http://feedads.g.doubleclick.net/~a/udqRwU2Pf1AzsAsfnmaiKmoUbBw/1/di" border="0" ismap="true"></img></a></p><img src="http://feeds.feedburner.com/~r/Make-a-tronik/~4/YYZxnEZUl2I" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.make-a-tronik.com/nao-next-gen-increible-robot-humanoide/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://blog.make-a-tronik.com/nao-next-gen-increible-robot-humanoide/</feedburner:origLink></item>
	</channel>
</rss>

