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

<channel>
	<title>Pinguino PiC MADRID</title>
	<atom:link href="http://pinguino.walii.es/?feed=rss2" rel="self" type="application/rss+xml" />
	<link>http://pinguino.walii.es</link>
	<description>Proyecto PINGUINO hackingLab</description>
	<lastBuildDate>Thu, 19 Apr 2012 21:20:45 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Control PINGUINO from MACosx</title>
		<link>http://pinguino.walii.es/?p=628</link>
		<comments>http://pinguino.walii.es/?p=628#comments</comments>
		<pubDate>Thu, 19 Apr 2012 21:20:45 +0000</pubDate>
		<dc:creator>walterleonardo</dc:creator>
				<category><![CDATA[Electrónica]]></category>
		<category><![CDATA[GUI]]></category>
		<category><![CDATA[IDE]]></category>
		<category><![CDATA[PINGUINO]]></category>

		<guid isPermaLink="false">http://pinguino.walii.es/?p=628</guid>
		<description><![CDATA[Hi good morning, this is another project involving PINGUINO mac and I understand that this is very restrictive, but today with the Hackintosh anyone can have a MAC OSX, I say this from me experience. This is a very basic application that controls both the digital and the analog gates of a PINGUINO 18fx550, whether we use the serial port option as USB with CDC,and also with the bluetooth module tested in previous posts. Need two parts, a program for MAC, DOWNLOAD LINK and the second a code for the PINGUINO,this code is very [...]]]></description>
			<content:encoded><![CDATA[<!-- Start LikeButtonSetTop --><!-- End LikeButtonSetTop --><p>Hi good morning, this is another project involving PINGUINO mac and I understand that this is very restrictive, but today with the Hackintosh anyone can have a MAC OSX, I say this from me experience.<br />
This is a very basic application that controls both the digital and the analog gates of a PINGUINO 18fx550, whether we use the serial port option as USB with CDC,and also with the bluetooth module tested in previous posts.</p>
<p>Need two parts, a program for MAC,</p>
<p><a href="http://pinguino.walii.es/wp-content/uploads/2012/04/Screen-Shot-2012-04-17-at-10.50.27-PM.png"><img class="aligncenter size-full wp-image-629 dtse-img dtse-post-628" title="Screen Shot 2012-04-17 at 10.50.27 PM" src="http://pinguino.walii.es/wp-content/uploads/2012/04/Screen-Shot-2012-04-17-at-10.50.27-PM.png" alt="" width="471" height="408" /></a></p>
<p><a title="Pinguino SERIAL/BLUETOOTH/USB CONTROL" href="pinguino.walii.es/download/PINGUINOserial_byW.app.zip" target="_blank">DOWNLOAD LINK</a></p>
<p>and the second a code for the PINGUINO,this code is very comprehensive and provides for communications from any platform, works like code, with two digits (by now we do not need more ), the first digit identifies the door and the second the treatment, to the digital port identifies a 0=LOW and 1=HIGH, but for analog ports I have decided that 3 may give the reading order.<br />
So if we want to read analog port 13 which correspond to &#8220;AN0&#8243; and we would execute &#8220;03&#8243; us back the digital value between 0 and 1023 of this port.<br />
In the other hand we want to raise the output of the digital port &#8220;0&#8243; then we send to turn ON &#8220;01&#8243; and &#8220;00&#8243; to turn OFF.<br />
Sounds complicate but it is understood when applied<br />
If you want a help, we will sent &#8220;9&#8243; with any other number, it returns a help.</p>
<pre class="brush: python; title: ; notranslate">
/*Project IPHONE, IPAD &amp; MAC talk with PINGUINO walii.es*/
//You need send number port 0 to 7 and status 0 or 1
//for anoalogic port you will check port an0 to an7 and need set status in 3
//for help you need set 9 in the value0
#define LENGTH 3
#define RUNLED PORTAbits.RA4
int rxBuffer[16];
int rxIndex = 0;
int i,value1,value0,value,value0a;
void setup() {
 Serial.begin(9600);
 for (i=0;i&lt;8;i++) { //servos conections
 pinMode(i,OUTPUT);
 digitalWrite(i,LOW); // fixe un niveau 0 sur les sorties
 }
}

void loop (){
 if (Serial.available() &gt; 0) {
//if(rxIndex==0) Serial.printf(&quot;Captured first value \n\r&quot;);
//if(rxIndex==1) Serial.printf(&quot;Captured Second value \n\r&quot;);
 rxBuffer[rxIndex]=Serial.read();
rxIndex=rxIndex+1;
 if(rxIndex==LENGTH){
 value0=rxBuffer[0]-48;
 value0a=rxBuffer[0]-35;
 value1=rxBuffer[1]-48;
 if(value1&lt;2)
 {
 Serial.printf(&quot;Port: %d,&quot;,value0);
 Serial.printf(&quot;Status: %d\n\r&quot;,value1);
 if( value1==0 ) {
 digitalWrite(value0,LOW);
 } else if (value1==1) {
 digitalWrite(value0,HIGH);
 }
 }
 if(value1==3){
 value=analogRead(value0a);
 Serial.printf(&quot;Reading port %d -&gt; An%d value= %d\n\r&quot;,value0a,value0,value);
 }
 if(value0==9) Serial.printf(&quot;You need send number port 0 to 7 and status 0 or 1\n\r for analogic port you will check port an0 to an7 \n\r and need set status in 3 for help you need set 9 in the value0\r\n&quot;);
 rxIndex = 0;
 //if (rxIndex==0) Serial.printf(&quot;Waiting ...\n\r&quot;);
}

}
 delay(10);
}
</pre>
<p><iframe width="560" height="315" src="http://www.youtube.com/embed/GuhWLdNTDOA" frameborder="0" allowfullscreen></iframe></p>
<div class="shr-publisher-628"></div><!-- Start LikeButtonSetBottom --><!-- End LikeButtonSetBottom -->


		<!-- Added by WP-DragToShare-eXtended Plugin -->
		<script type="text/javascript">
			dtsv.dtse_post_628_permalink = 'http://pinguino.walii.es/?p=628';
			dtsv.dtse_post_628_title = 'Control PINGUINO from MACosx';
		</script>
		<!-- End of WP-DragToShare-eXtended Plugin -->]]></content:encoded>
			<wfw:commentRss>http://pinguino.walii.es/?feed=rss2&#038;p=628</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Como funciona Pinguino en MAC osx LION</title>
		<link>http://pinguino.walii.es/?p=624</link>
		<comments>http://pinguino.walii.es/?p=624#comments</comments>
		<pubDate>Sat, 31 Mar 2012 16:31:01 +0000</pubDate>
		<dc:creator>walterleonardo</dc:creator>
				<category><![CDATA[PINGUINO]]></category>

		<guid isPermaLink="false">http://pinguino.walii.es/?p=624</guid>
		<description><![CDATA[Este video es solo una explicación de como debería funcionar PINGUINO en LION, ya que existen diferencias entre la versión de windows y la de mAC.]]></description>
			<content:encoded><![CDATA[<!-- Start LikeButtonSetTop --><!-- End LikeButtonSetTop --><p>Este video es solo una explicación de como debería funcionar PINGUINO en LION, ya que existen diferencias entre la versión de windows y la de mAC.<br />
<iframe src="http://www.youtube.com/embed/CHypZ6nl870" frameborder="0" width="560" height="315"></iframe></p>
<div class="shr-publisher-624"></div><!-- Start LikeButtonSetBottom --><!-- End LikeButtonSetBottom -->


		<!-- Added by WP-DragToShare-eXtended Plugin -->
		<script type="text/javascript">
			dtsv.dtse_post_624_permalink = 'http://pinguino.walii.es/?p=624';
			dtsv.dtse_post_624_title = 'Como funciona Pinguino en MAC osx LION';
		</script>
		<!-- End of WP-DragToShare-eXtended Plugin -->]]></content:encoded>
			<wfw:commentRss>http://pinguino.walii.es/?feed=rss2&#038;p=624</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Pinguino en MAC 10.7 LION</title>
		<link>http://pinguino.walii.es/?p=617</link>
		<comments>http://pinguino.walii.es/?p=617#comments</comments>
		<pubDate>Sat, 31 Mar 2012 11:40:11 +0000</pubDate>
		<dc:creator>walterleonardo</dc:creator>
				<category><![CDATA[PINGUINO]]></category>
		<category><![CDATA[9.05]]></category>
		<category><![CDATA[funciona]]></category>
		<category><![CDATA[gui]]></category>
		<category><![CDATA[interfaz]]></category>
		<category><![CDATA[lion]]></category>
		<category><![CDATA[macosx]]></category>
		<category><![CDATA[Open]]></category>
		<category><![CDATA[pinguino]]></category>
		<category><![CDATA[pinguino.walii.es]]></category>
		<category><![CDATA[pinguinogui]]></category>
		<category><![CDATA[pinguinopic]]></category>
		<category><![CDATA[walii]]></category>
		<category><![CDATA[walii.es]]></category>

		<guid isPermaLink="false">http://pinguino.walii.es/?p=617</guid>
		<description><![CDATA[Tras un largo tiempo de inactividad por diversos proyectos externos a PINGUINO, vuelvo a escribir y ofrecer un aporte que creo puede ayudar a mas de uno&#8230; lo que tengo para ofrecer para el bolso de la dama y el bolsillo del caballero es: La versión modificada de PINGUINO GUI 9.05 para ser usada en [...]]]></description>
			<content:encoded><![CDATA[<!-- Start LikeButtonSetTop --><!-- End LikeButtonSetTop --><p>Tras un largo tiempo de inactividad por diversos proyectos externos a PINGUINO, vuelvo a escribir y ofrecer un aporte que creo puede ayudar a mas de uno&#8230; lo que tengo para ofrecer para el bolso de la dama y el bolsillo del caballero es: La versión modificada de PINGUINO GUI 9.05 para ser usada en LION sin necesidad de VMware o Parallel (emuladores de windows).</p>
<p>Esta versión tiene unas librerías nuevas, compiladas  y modificadas para esta versión de LION sin soporte para POWER PC que era en esencia el problema que aparecia en la versión anterior, solo tienen que</p>
<p>1º Crear un nuevo directorio.</p>
<p>2ºPoner el archivo ZIP</p>
<p>3º Descomprimirlo</p>
<p>Luego ya pueden traer sus proyectos a esta nueva versión, cuidado cuando lo descompriman recuerden que MAC sobreescribe las carpeta, asi que si tienen algo debajo seguro se sobre escriba asi que hagan backup de sus proyectos.</p>
<p>el archivo está compartido en fileserver.</p>
<p><del>LINK    <a href="http://www.fileserve.com/file/9jGaMjU/PinguinoBeta905MacLion.zip ">http://www.fileserve.com/file/9jGaMjU/PinguinoBeta905MacLion.zip</a></del></p>
<p>Nuevo LINK<a title="PINGUINO 9.05 MAC LION" href="http://pinguino.walii.es/download/PinguinoBeta905MacLion.zip"> http://pinguino.walii.es/download/PinguinoBeta905MacLion.zip</a></p>
<p>&nbsp;</p>
<p>Os pongo una captura de mi version funcional.</p>
<p><img class="dtse-img dtse-post-617" style="margin: 5px;" src="http://pinguino.walii.es/wp-content/uploads/2012/03/Screen-Shot-2012-03-31-at-1.38.55-PM.png" alt="" width="640" height="400" /></p>
<p>Cualquier problema me lo dicen y lo vemos puntualmente lo he probado con PYTHON 2.5.4, 2.5.5, 2.6.6 y 2.6.7. Aun no lo he probado en 2.7, pero siempre os recomiendo tener la version ante ultima de cualquier software&#8230;</p>
<p>saludos.</p>
<div class="shr-publisher-617"></div><!-- Start LikeButtonSetBottom --><!-- End LikeButtonSetBottom -->


		<!-- Added by WP-DragToShare-eXtended Plugin -->
		<script type="text/javascript">
			dtsv.dtse_post_617_permalink = 'http://pinguino.walii.es/?p=617';
			dtsv.dtse_post_617_title = 'Pinguino en MAC 10.7 LION';
		</script>
		<!-- End of WP-DragToShare-eXtended Plugin -->]]></content:encoded>
			<wfw:commentRss>http://pinguino.walii.es/?feed=rss2&#038;p=617</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Pinguino PIC</title>
		<link>http://pinguino.walii.es/?p=604</link>
		<comments>http://pinguino.walii.es/?p=604#comments</comments>
		<pubDate>Wed, 20 Jul 2011 12:35:39 +0000</pubDate>
		<dc:creator>walterleonardo</dc:creator>
				<category><![CDATA[Compras]]></category>

		<guid isPermaLink="false">http://pinguino.walii.es/?p=604</guid>
		<description><![CDATA[&#160; Esta es una entrada de pruebas para verificar el funcionamiento del carro de compras recién implantado. El producto puede ser un microcontrolador PIC 18f4550 programado con el firmware pinguino.]]></description>
			<content:encoded><![CDATA[<!-- Start LikeButtonSetTop --><!-- End LikeButtonSetTop --><p>&nbsp;</p>
<p>Esta es una entrada de pruebas para verificar el funcionamiento del carro de compras recién implantado.</p>
<p>El producto puede ser un microcontrolador PIC 18f4550 programado con el firmware pinguino.</p>
<p><a href="http://pinguino.walii.es/wp-content/uploads/2011/07/PIC18F4550.png"><img class="aligncenter size-medium wp-image-605 dtse-img dtse-post-604" title="PIC18F4550" src="http://pinguino.walii.es/wp-content/uploads/2011/07/PIC18F4550-300x300.png" alt="" width="300" height="300" /></a></p>
<p><object><form method="post" class="wp-cart-button-form" action="" style="display:inline" onsubmit="return ReadForm(this, true);"><input type="submit" value="Add to Cart" /><input type="hidden" name="product" value="PINGUINO PIC microcontrolador 18F4550" /><input type="hidden" name="price" value="8" /><input type="hidden" name="product_tmp" value="PINGUINO PIC microcontrolador 18F4550" /><input type="hidden" name="shipping" value="5" /><input type="hidden" name="cartLink" value="http://pinguino.walii.es/?feed=rss2" /><input type="hidden" name="addcart" value="1" /></form></object></p>
<div class="shr-publisher-604"></div><!-- Start LikeButtonSetBottom --><!-- End LikeButtonSetBottom -->


		<!-- Added by WP-DragToShare-eXtended Plugin -->
		<script type="text/javascript">
			dtsv.dtse_post_604_permalink = 'http://pinguino.walii.es/?p=604';
			dtsv.dtse_post_604_title = 'Pinguino PIC';
		</script>
		<!-- End of WP-DragToShare-eXtended Plugin -->]]></content:encoded>
			<wfw:commentRss>http://pinguino.walii.es/?feed=rss2&#038;p=604</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PCBC v1 &#8211; PINGUINO CAR Bluetooth Control</title>
		<link>http://pinguino.walii.es/?p=597</link>
		<comments>http://pinguino.walii.es/?p=597#comments</comments>
		<pubDate>Sat, 09 Jul 2011 14:02:08 +0000</pubDate>
		<dc:creator>walterleonardo</dc:creator>
				<category><![CDATA[Electrónica]]></category>
		<category><![CDATA[PINGUINO]]></category>
		<category><![CDATA[PROCESSING]]></category>

		<guid isPermaLink="false">http://pinguino.walii.es/?p=597</guid>
		<description><![CDATA[Hoy os mostrare como controlar un coche a radio control pero via bluetooth y ayudando me con PINGUINO. La idea viene a rais de un MINI controlado por Android que venden en algunas tiendas y pensé, que sería facil de reproducir. &#160; &#160; El control es basico pero he puesto un detalle muy interesante, ya [...]]]></description>
			<content:encoded><![CDATA[<!-- Start LikeButtonSetTop --><!-- End LikeButtonSetTop --><p style="clear: both;"><a class="image-link" href="http://pinguino.walii.es/wp-content/uploads/2011/07/P7090033.jpg"><img class="linked-to-original dtse-img dtse-post-597 dtse-img dtse-post-597 dtse-img dtse-post-597" style="text-align: center; display: block; margin: 0 auto 10px;" src="http://pinguino.walii.es/wp-content/uploads/2011/07/P7090033-thumb.jpg" alt="" width="380" height="285" /></a> Hoy os mostrare como controlar un coche a radio control pero via bluetooth y ayudando me con PINGUINO.<br />
La idea viene a rais de un MINI controlado por Android que venden en algunas tiendas y pensé, que sería facil de reproducir.</p>
<p style="clear: both;">&nbsp;</p>
<p style="clear: both;">&nbsp;</p>
<p style="clear: both;">El control es basico pero he puesto un detalle muy interesante, ya que la dirección de este vehículo es exponencial ya que puedes indicarle que gire X grados (a diferencia de los coches de radio control tradicionales que son TOPE IZQUIERDA o TOPE DERECHA), para poder controlarlo finamente he puesto un servo para dirigirlo como si de un conductor se tratase, este puede girar la dirección tantos grados como le indiquemos, ahora en el ejemplo lo he puesto en máximos de ambos extremos, pero fácilmente puede indicarse que gire a la izquierda X grados.</p>
<p style="clear: both;">El motor principal es controlado por un PUENTE H basico con BC548, y el pinguino es el tradicional 8bits 18f4550, el modulo bluetooth es el mismo que vengo utilizando en anteriores circuitos y facilmente comprable a traves de EBAY.</p>
<p style="clear: both;">La comunicación bluetooth la realizo con un ordenador MAC, pero puede realizarse con cualquier equipo o distribución ya que utiliza los protocolos RS232 sobre Bluetooth, generando una interfaz serie virtual en el equipo cliente.</p>
<p style="clear: both;">Tambien el código de PROCESSING es muy fácil y conciso, exportable a java para ser reproducido en cualquier ordenador.<br />
Dejo el código fuente para que cada uno lo reproduzca en su PC de casa sea cual sea la distribución.</p>
<p style="clear: both;">Este es el código de PINGUINO</p>
<p style="clear: both;">&nbsp;</p>
<pre class="brush: python; title: ; notranslate">
// PCBC v1
// Pinguino Car Bluetooth Control v1
// Walii.es 2011
// pinguino.walii.es
#define RUNLED PORTAbits.RA4
#define PIC18F4550                // control pin of servo
int counter;                    // counter used for interrupt
int position0=50;                //pin0 servo vertical
int previous;
int i;
int key;
int pulseWidth = 20;
void setup()
{
T1CON=0x01;                    // configure timer 1
PIE1bits.TMR1IE=1;                // set interrupt for timer 1
INTCON|=0xA0;                    // enable GIE and PEIE
for (i=1;i&lt;8;i++)     {             //servos conections
pinMode(i,OUTPUT);
digitalWrite(i,LOW);			// fixe un niveau 0 sur les sorties

}
pinMode(0,OUTPUT);
Serial.begin(9600);
}
void UserInterrupt()
{
if (PIR1bits.TMR1IF)
{
TMR1H=0xFF;                // reload value timer 1
TMR1L=0x9C;
PIR1bits.TMR1IF=0;            // clear interrupt flag
if (counter&gt;position0+51) PORTBbits.RB0=0; // position
else PORTBbits.RB0=1;
if (counter==1500) counter=0;    // value for ~20 mS
counter++;
}
}

void stop()
{
	digitalWrite(2,LOW);
	digitalWrite(1,LOW);
	delay(10);
}
void stoptotal()
{
	digitalWrite(2,LOW);
	digitalWrite(1,LOW);
	position0=50;
	delay(10);
}
void w()
{
	digitalWrite(2,HIGH);
	digitalWrite(1,LOW);
}
void s()
{
	digitalWrite(2,LOW);
	digitalWrite(1,HIGH);
}
void a()
{
position0=10;
}
void d()
{
position0=80;
}
void q()
{
position0=10;
digitalWrite(2,HIGH);
digitalWrite(1,LOW);
}
void e()
{
position0=80;
digitalWrite(2,HIGH);
digitalWrite(1,LOW);
}
void z()
{
position0=80;
digitalWrite(2,LOW);
digitalWrite(1,HIGH);
}
void c()
{
position0=10;
digitalWrite(2,LOW);
digitalWrite(1,HIGH);
}

void loop()
{
if (Serial.available())
    {
key=Serial.read();
if (key=='w' &amp;&amp; previous!='w') stop(),w();
if (key=='s' &amp;&amp; previous!='s') stop(),s();
if (key=='a' &amp;&amp; previous!='a') stop(),a();
if (key=='d' &amp;&amp; previous!='d') stop(),d();
if (key=='q' &amp;&amp; previous!='q') stop(),q();
if (key=='e' &amp;&amp; previous!='e') stop(),e();
if (key=='z' &amp;&amp; previous!='z') stop(),z();
if (key=='c' &amp;&amp; previous!='c') stop(),c();
previous=key;
} else; stoptotal();
Serial.printf(&quot; %d&quot;, position0);
}
</pre>
<p>&nbsp;</p>
<p style="clear: both;">y Este es el código de processing</p>
<pre class="brush: python; title: ; notranslate">
/**
PINGUINO CAR CONTROL via BLUETOOTH
Walii &amp; walterleonardo
Pinguino.walii.es
*/
import processing.serial.*;
Serial myPort;
String port[];
int i;

final static int NORTH = 1;
final static int EAST = 2;
final static int SOUTH = 4;
final static int WEST = 8;
final static int STOP = 16;
int result;
float x,y;

void setup() {
  size(512,400);
  frameRate(30);
  result = 0;
  x = width/2;
  y = height/2;
 port=Serial.list();
println(port);
myPort=new Serial(this,port[10],9600);
}

void draw() {
  background(0);
  switch(result) {
    case NORTH: myPort.write(&quot;w&quot;); break;
    case EAST: myPort.write(&quot;d&quot;); break;
    case SOUTH: myPort.write(&quot;s&quot;); break;
    case WEST: myPort.write(&quot;a&quot;); break;
    case NORTH|EAST: myPort.write(&quot;e&quot;); break;
    case NORTH|WEST: myPort.write(&quot;q&quot;); break;
    case SOUTH|EAST: myPort.write(&quot;c&quot;); break;
    case SOUTH|WEST: myPort.write(&quot;z&quot;); break;
    case STOP: myPort.write(&quot;x&quot;); break;
  }
  fill(255);
  rect(x,y,10,10);
}

void keyPressed(){
  switch(key) {
    case('w'):case('W'):result |=NORTH;break;
    case('d'):case('D'):result |=EAST;break;
    case('s'):case('S'):result |=SOUTH;break;
    case('a'):case('A'):result |=WEST;break;
    case('x'):case('X'):result |=STOP;break;
  }
}

void keyReleased(){
  switch(key) {
    case('w'):case('W'):result ^=NORTH;break;
    case('d'):case('D'):result ^=EAST;break;
    case('s'):case('S'):result ^=SOUTH;break;
    case('a'):case('A'):result ^=WEST;break;
    case('x'):case('X'):result ^=STOP;break;
//    case('w'):case('W'):result |=STOP;break;
//    case('d'):case('D'):result |=STOP;break;
//    case('s'):case('S'):result |=STOP;break;
//    case('a'):case('A'):result |=STOP;break;
  }
}
</pre>
<p>&nbsp;</p>
<p style="clear: both;">&nbsp;</p>
<p style="clear: both;"><span style="text-align: center; display: block; margin: 0 auto 10px;"></span></p>
<p style="clear: both;"><a class="image-link" href="http://pinguino.walii.es/wp-content/uploads/2011/07/P7090035.jpg"><img class="linked-to-original dtse-img dtse-post-597 dtse-img dtse-post-597 dtse-img dtse-post-597" style="text-align: center; display: block; margin: 0 auto 10px;" src="http://pinguino.walii.es/wp-content/uploads/2011/07/P7090035-thumb.jpg" alt="" width="349" height="268" /></a></p>
<p style="clear: both;"><span style="text-align: center; display: block; margin: 0 auto 10px;"></span></p>
<p style="clear: both;"><a class="image-link" href="http://pinguino.walii.es/wp-content/uploads/2011/07/Screen_shot_2011-07-09_at_12.55.44_PM.png"><img class="linked-to-original dtse-img dtse-post-597 dtse-img dtse-post-597 dtse-img dtse-post-597" style="text-align: center; display: block; margin: 0 auto 10px;" src="http://pinguino.walii.es/wp-content/uploads/2011/07/Screen_shot_2011-07-09_at_12-thumb.55.44_PM.png" alt="" width="380" height="237" /></a></p>
<p><br class="final-break" style="clear: both;" /></p>
<div class="shr-publisher-597"></div><!-- Start LikeButtonSetBottom --><!-- End LikeButtonSetBottom -->


		<!-- Added by WP-DragToShare-eXtended Plugin -->
		<script type="text/javascript">
			dtsv.dtse_post_597_permalink = 'http://pinguino.walii.es/?p=597';
			dtsv.dtse_post_597_title = 'PCBC v1 – PINGUINO CAR Bluetooth Control';
		</script>
		<!-- End of WP-DragToShare-eXtended Plugin -->]]></content:encoded>
			<wfw:commentRss>http://pinguino.walii.es/?feed=rss2&#038;p=597</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Pinguino grabador de Pinguinos</title>
		<link>http://pinguino.walii.es/?p=589</link>
		<comments>http://pinguino.walii.es/?p=589#comments</comments>
		<pubDate>Wed, 06 Jul 2011 21:23:06 +0000</pubDate>
		<dc:creator>walterleonardo</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[PINGUINO]]></category>
		<category><![CDATA[Tutoriales & Manuales]]></category>

		<guid isPermaLink="false">http://pinguino.walii.es/?p=589</guid>
		<description><![CDATA[Gracias a la idea de JEAN, y tras el pedido de varias personas que dicen que no entienden el post en ingles&#8230; intentaré poner todos los datos para que se puedan seguir y llegar a buen puerto de una forma amena y simple. lo primero que debemos tener en cuenta es que yo trabajo principalmente [...]]]></description>
			<content:encoded><![CDATA[<!-- Start LikeButtonSetTop --><!-- End LikeButtonSetTop --><p style="clear: both;">Gracias a la idea de JEAN, y tras el pedido de varias personas que dicen que no entienden el post en ingles&#8230; intentaré poner todos los datos para que se puedan seguir y llegar a buen puerto de una forma amena y simple.</p>
<p style="clear: both;">lo primero que debemos tener en cuenta es que yo trabajo principalmente con el pic 18f4550&#8230; pero tiene que funcionar con el 18f2550.</p>
<p style="clear: both;">Teniendo en cuenta que el circuito utilizado y la identificación de PINES es la siguiente.</p>
<p style="clear: both;">Equipo grabador, un Pinguino estandart.</p>
<p style="clear: both;"><a class="image-link" href="http://pinguino.walii.es/wp-content/uploads/2011/07/pin_pinguino_18F4550.png"><img class="linked-to-original dtse-img dtse-post-589 dtse-img dtse-post-589" style="text-align: center; display: block; margin: 0 auto 10px;" src="http://pinguino.walii.es/wp-content/uploads/2011/07/pin_pinguino_18F4550-thumb.png" alt="" width="380" height="219" /></a>el segundo es el circuito del pinguino a grabar, obviamente puede ser un zocalo de, quita y pon, así podremos programar muchos pics.</p>
<p style="clear: both;"><a class="image-link" href="http://pinguino.walii.es/wp-content/uploads/2011/07/selfprogrammer.png"><img class="linked-to-original dtse-img dtse-post-589 dtse-img dtse-post-589" style="text-align: center; display: block; margin-top: 0px; margin-right: auto; margin-bottom: 10px; margin-left: auto; border: 0px initial initial;" src="http://pinguino.walii.es/wp-content/uploads/2011/07/selfprogrammer-thumb.png" alt="" width="380" height="255" /></a></p>
<p style="clear: both;">Los números de pines concuerdan con la imagen superior, dirán ¿porque este orden? y tiene una respuesta muy simple, ya que todo el proyecto viene de mucho mas atrás, y para una consistencia en la identificación de puertas, el PIN1 es por defecto el RB0 sin importar el pin físico donde se encuentre.</p>
<p style="clear: both;">El programa que utilizaremos es el siguiente, compilado en la version de IDE 9.05, no muestra indicios de errores y funciona muy bien, digo esto porque si lo compilamos en otra versión de IDE pueden aparecernos problemas.</p>
<p style="clear: both;">&nbsp;</p>
<pre class="brush: python; title: ; notranslate">
// This is a tool to program the pinguino bootloader in a new chip
// with your Pinguino, the self replicating machine !!
// Jean-Pierre MANDON 2010
// Fixed bug 02/07/2011 PGM pin is no longer used

#define PGC 1		// connected to the PGC pin of the blank chip
#define PGD 2		// connected to the PGD pin of the blank chip
#define VPP 3		// connected to the VPP pin of the blank chip
#define VCC 6		// connected to the power on transistor
#define redled	 5

uchar bulkerase[48] ={0x00,0x3C,0x0E,0x00,0xF8,0x6E,0x00,0x00,0x0E,0x00,0xF7,0x6E,0x00,0x05,0x0E,0x00,
                      0xF6,0x6E,0x0C,0x3F,0x3F,0x00,0x3C,0x0E,0x00,0xF8,0x6E,0x00,0x00,0x0E,0x00,0xF7,
		              0x6E,0x00,0x04,0x0E,0x00,0xF6,0x6E,0x0C,0x8F,0x8F,0x00,0x00,0x00,0x00,0x00,0x00};

uchar startwrite[24]={0x00,0xA6,0x8E,0x00,0xA6,0x9C,0x00,0x00,0x0E,0x00,0xF8,0x6E,0x00,0x00,0x0E,0x00,
					  0xF7,0x6E,0x00,0x00,0x0E,0x00,0xF6,0x6E};

uchar startwrid[24] ={0x00,0xA6,0x8E,0x00,0xA6,0x8C,0x00,0x30,0x0E,0x00,0xF8,0x6E,0x00,0x00,0x0E,0x00,
					  0xF7,0x6E,0x00,0x00,0x0E,0x00,0xF6,0x6E};
uchar checkmem[32];
uint address=0;

#define pic_on()  digitalWrite(VCC,LOW)
#define pic_off() digitalWrite(VCC,HIGH)

// begin programming mode
// power is on ( VCC and Programing voltage )

void start_pgm()
{
	digitalWrite(VPP,HIGH);
	delayMicroseconds(4);
}

// end programming mode
// power is on ( VCC and Programing voltage )

void stop_pgm()
{
	digitalWrite(PGD,LOW);
	digitalWrite(PGC,LOW);
	digitalWrite(VPP,LOW);
}

// send a command to the chip
// SPI soft

void send_command(uchar command,uchar lowbyte,uchar highbyte)
{
	unsigned char i;
	for (i=0;i&lt;4;i++)
		{
		digitalWrite(PGC,HIGH);
		if ((command&amp;1)==1) digitalWrite(PGD,HIGH);
		else digitalWrite(PGD,LOW);
		digitalWrite(PGC,LOW);
		command=command&gt;&gt;1;
		}
	for (i=0;i&lt;8;i++)
		{
		digitalWrite(PGC,HIGH);
		if ((lowbyte&amp;1)==1) digitalWrite(PGD,HIGH);
		else digitalWrite(PGD,LOW);
		digitalWrite(PGC,LOW);
		lowbyte=lowbyte&gt;&gt;1;
		}
	for (i=0;i&lt;8;i++)
		{
		digitalWrite(PGC,HIGH);
		if ((highbyte&amp;1)==1) digitalWrite(PGD,HIGH);
		else digitalWrite(PGD,LOW);
		digitalWrite(PGC,LOW);
		highbyte=highbyte&gt;&gt;1;
		}
digitalWrite(PGC,LOW);
digitalWrite(PGD,LOW);
}

// special end of command write
// DS39622K Page 20 figure 3.5 (Flash Microcontroller Programming Specification)

void end_writecmd()
{
unsigned char i;
digitalWrite(PGD,LOW);
for (i=0;i&lt;3;i++)
	{
	digitalWrite(PGC,HIGH);
	digitalWrite(PGC,LOW);
	}
digitalWrite(PGC,HIGH);
delay(6);
digitalWrite(PGC,LOW);
delayMicroseconds(500);
for (i=0;i&lt;8;i++)
	{
	digitalWrite(PGC,HIGH);
	digitalWrite(PGC,LOW);
	}
for (i=0;i&lt;8;i++)
	{
	digitalWrite(PGC,HIGH);
	digitalWrite(PGC,LOW);
	}
}	

// Read Flash memory
// Pinguino examples Flash folder

uint ReadFlash(uint address)
{
uchar high8,low8;
TBLPTRU=0;
TBLPTRH=address&gt;&gt;8;
TBLPTRL=address;
__asm tblrd*+ __endasm;
low8=TABLAT;
__asm tblrd*+ __endasm;
high8=TABLAT;
return((high8&lt;&lt;8)+low8);
}

//-----------------------------------------------------------
// begining of the main loop
//-----------------------------------------------------------

void setup()
{
pinMode(PGC,OUTPUT);
digitalWrite(PGC,LOW);
pinMode(PGD,OUTPUT);
digitalWrite(PGD,LOW);
pinMode(VPP,OUTPUT);
digitalWrite(VPP,LOW);
pinMode(redled,OUTPUT);
digitalWrite(redled,LOW);
pinMode(VCC,OUTPUT);
digitalWrite(VCC,HIGH);
}

void loop()
{
int i;

// erase chip

pic_on();
delay(20);
start_pgm();
digitalWrite(redled,HIGH);
delay(10);
for (i=0;i&lt;48;i+=3) send_command(bulkerase[i],bulkerase[i+1],bulkerase[i+2]);
delay(100);
stop_pgm();
delay(20);
pic_off();
delay(1000);

// read bootloader and write it

pic_on();
delay(1000);
start_pgm();
delay(10);
for (i=0;i&lt;24;i+=3) send_command(startwrite[i],startwrite[i+1],startwrite[i+2]);
while (address&lt;0x1FDF)
	{
	for (i=0;i&lt;32;i++) checkmem[i]=ReadFlash(address+i);
	for (i=0;i&lt;30;i+=2) send_command(0b00001101,checkmem[i],checkmem[i+1]);
	send_command(0b00001110,checkmem[30],checkmem[31]);
	end_writecmd();
	address+=32;
	digitalWrite(redled,digitalRead(redled)^1);
	delay(4);
	}
digitalWrite(redled,HIGH);
for (i=0;i&lt;32;i++) checkmem[i]=ReadFlash(address+i);
for (i=0;i&lt;48;i+=3) send_command(startwrite[i],startwrite[i+1],startwrite[i+2]);
for (i=0;i&lt;30;i+=2) send_command(0b00001101,checkmem[i],checkmem[i+1]);
send_command(0b00001111,checkmem[30],checkmem[31]);
end_writecmd();

// ---------- end copying bootloader

// programing configuration bits

for (i=0;i&lt;24;i+=3) send_command(startwrid[i],startwrid[i+1],startwrid[i+2]);
send_command(0b00001111,0x24,0x24);
end_writecmd();
send_command(0,0x01,0x0E);
send_command(0,0xF6,0x6E);
send_command(0b00001111,0x0E,0x0E);
end_writecmd();
send_command(0,0x02,0x0E);
send_command(0,0xF6,0x6E);
send_command(0b00001111,0x3F,0x3F);
end_writecmd();
send_command(0,0x03,0x0E);
send_command(0,0xF6,0x6E);
send_command(0b00001111,0x1E,0x1E);
end_writecmd();
send_command(0,0x05,0x0E);
send_command(0,0xF6,0x6E);
send_command(0b00001111,0x81,0x81);
end_writecmd();
send_command(0,0x06,0x0E);
send_command(0,0xF6,0x6E);
send_command(0b00001111,0x81,0x81);
end_writecmd();
send_command(0,0x08,0x0E);
send_command(0,0xF6,0x6E);
send_command(0b00001111,0x0F,0x0F);
end_writecmd();
send_command(0,0x09,0x0E);
send_command(0,0xF6,0x6E);
send_command(0b00001111,0xC0,0xC0);
end_writecmd();
send_command(0,0x0A,0x0E);
send_command(0,0xF6,0x6E);
send_command(0b00001111,0x0F,0x0F);
end_writecmd();
send_command(0,0x0B,0x0E);
send_command(0,0xF6,0x6E);
send_command(0b00001111,0xA0,0xA0);
end_writecmd();
send_command(0,0x0C,0x0E);
send_command(0,0xF6,0x6E);
send_command(0b00001111,0x0F,0x0F);
end_writecmd();
send_command(0,0x0D,0x0E);
send_command(0,0xF6,0x6E);
send_command(0b00001111,0x40,0x40);
end_writecmd();

// ---------- end configuration bits

stop_pgm();
pic_off();

digitalWrite(redled,LOW);

while(1);
}
</pre>
<p style="clear: both;">&nbsp;</p>
<p style="clear: both;">y lo siguiente es fácil, programaremos el PIC grabador, la imagen nº1, el chip a programar no necesita tener nada&#8230; puede ser tal cual viene de fabrica.</p>
<p style="clear: both;">&nbsp;</p>
<p><br class="final-break" style="clear: both;" /></p>
<div class="shr-publisher-589"></div><!-- Start LikeButtonSetBottom --><!-- End LikeButtonSetBottom -->


		<!-- Added by WP-DragToShare-eXtended Plugin -->
		<script type="text/javascript">
			dtsv.dtse_post_589_permalink = 'http://pinguino.walii.es/?p=589';
			dtsv.dtse_post_589_title = 'Pinguino grabador de Pinguinos';
		</script>
		<!-- End of WP-DragToShare-eXtended Plugin -->]]></content:encoded>
			<wfw:commentRss>http://pinguino.walii.es/?feed=rss2&#038;p=589</wfw:commentRss>
		<slash:comments>13</slash:comments>
		</item>
		<item>
		<title>Control y verificación de Servo</title>
		<link>http://pinguino.walii.es/?p=581</link>
		<comments>http://pinguino.walii.es/?p=581#comments</comments>
		<pubDate>Tue, 21 Jun 2011 11:48:58 +0000</pubDate>
		<dc:creator>walterleonardo</dc:creator>
				<category><![CDATA[Electrónica]]></category>
		<category><![CDATA[PINGUINO]]></category>
		<category><![CDATA[SERVOS]]></category>
		<category><![CDATA[UTILIDADES]]></category>
		<category><![CDATA[check]]></category>
		<category><![CDATA[control]]></category>
		<category><![CDATA[pinguino]]></category>
		<category><![CDATA[servo]]></category>

		<guid isPermaLink="false">http://pinguino.walii.es/?p=581</guid>
		<description><![CDATA[Un diseño facil pero muy útil, para probar nuestros servos, y verificar el recorrido de cada uno. Las conexiones son simples: el servo conectado a la salida 0(cero) RB0 Y el potenciometro de mas de 47k entre positivo y negativo y el centro a la puerta 13&#8230; &#160; &#160; He incluido dos codigos, uno con la [...]]]></description>
			<content:encoded><![CDATA[<!-- Start LikeButtonSetTop --><!-- End LikeButtonSetTop --><p>Un diseño facil pero muy útil, para probar nuestros servos, y verificar el recorrido de cada uno.</p>
<p>Las conexiones son simples: el servo conectado a la salida 0(cero) RB0</p>
<p>Y el potenciometro de mas de 47k entre positivo y negativo y el centro a la puerta 13&#8230;</p>
<p>&nbsp;</p>
<p><iframe width="560" height="349" src="http://www.youtube.com/embed/k7lg3m24fQk" frameborder="0" allowfullscreen></iframe></p>
<p>&nbsp;</p>
<p>He incluido dos codigos, uno con la libreria de servo, y otro de la forma tradicional sin libreria.</p>
<pre>Con libreria de servos
<pre class="brush: python; title: ; notranslate">
// Control de servo tradicional con libreria
// Walii.es 2011
//Pinguino.walii.es
//   +-----+
//   |servo|--------- PWM Servo control ---&gt; to pinguino pin.
//   |     |--------- +5V
//   |  o  |--------- GND
//   |     |
//   +-----+

uchar position=1;
int i;
void setup(void)
{
servo.attach(0);
}

void loop(void)
{
i=analogRead(13);
position=i/4;
servo.write(0,position);
delay(100);
}
</pre>
<p> Sin libreria de servo, pueden observar que el recorrido es mucho mayor que con la librería, esto es porque de esta forma no tenemos un limite preestablecido en él tamaño de pulso. Y si nos pasamos con esto, puede generar un reset por consumo elevado en el PINGUINO.
<pre class="brush: python; title: ; notranslate">
// Control de servo tradicional sin libreria
// Walii.es 2011
//Pinguino.walii.es
#define RUNLED PORTAbits.RA4
#define PIC18F4550                // control pin of servo
int counter;                    // counter used for interrupt
int position0;                //pin0 servo vertical
int ir0;//pin 13
int i;
int pulseWidth = 20;
void setup()
{
T1CON=0x01;                    // configure timer 1
PIE1bits.TMR1IE=1;                // set interrupt for timer 1
INTCON|=0xA0;                    // enable GIE and PEIE
pinMode(0,OUTPUT);
Serial.begin(9600);
}
//Con la siguiente rutina controlamos la señal al servo RB0.
//Leemos en cada pasada el valor de position0
void UserInterrupt()
{
if (PIR1bits.TMR1IF)
{
TMR1H=0xFF;                // reload value timer 1
TMR1L=0x9C;
PIR1bits.TMR1IF=0;            // clear interrupt flag
if (counter&gt;position0+51) PORTBbits.RB0=0; // position
else PORTBbits.RB0=1;
if (counter==1500) counter=0;    // value for ~20 mS
counter++;
}
}

void loop()
{
ir0=analogRead(13);
position0=ir0/6;
if (position0&lt;1) position0=1; if (position0&gt;151) position0=151;

}
</pre>
</pre>
<div class="shr-publisher-581"></div><!-- Start LikeButtonSetBottom --><!-- End LikeButtonSetBottom -->


		<!-- Added by WP-DragToShare-eXtended Plugin -->
		<script type="text/javascript">
			dtsv.dtse_post_581_permalink = 'http://pinguino.walii.es/?p=581';
			dtsv.dtse_post_581_title = 'Control y verificación de Servo';
		</script>
		<!-- End of WP-DragToShare-eXtended Plugin -->]]></content:encoded>
			<wfw:commentRss>http://pinguino.walii.es/?feed=rss2&#038;p=581</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>Update de pruebas realizadas con el INTERVALOMETRO pinguino.</title>
		<link>http://pinguino.walii.es/?p=575</link>
		<comments>http://pinguino.walii.es/?p=575#comments</comments>
		<pubDate>Wed, 08 Jun 2011 20:37:24 +0000</pubDate>
		<dc:creator>walterleonardo</dc:creator>
				<category><![CDATA[PINGUINO]]></category>
		<category><![CDATA[SENSORES]]></category>
		<category><![CDATA[UTILIDADES]]></category>

		<guid isPermaLink="false">http://pinguino.walii.es/?p=575</guid>
		<description><![CDATA[Aqui algunas capturas mas con relación al funcionamiento del intervalometro. Hace un par de noches hemos gozado de unas muy bonitas tormentas eléctricas, y he intentado capturar algunas fotos con el invento hecho algunos post detras. POST INTERVALOMETRO PINGUINO Capturas: &#160; &#160;]]></description>
			<content:encoded><![CDATA[<!-- Start LikeButtonSetTop --><!-- End LikeButtonSetTop --><p>Aqui algunas capturas mas con relación al funcionamiento del intervalometro.</p>
<p>Hace un par de noches hemos gozado de unas muy bonitas tormentas eléctricas, y he intentado capturar algunas fotos con el invento hecho algunos post detras.<br />
<a title="INTERVALOMETRO PINGUINO" href="http://pinguino.walii.es/?p=518" target="_blank"> POST INTERVALOMETRO PINGUINO</a></p>
<p>Capturas:</p>
<p><a href="http://pinguino.walii.es/wp-content/uploads/2011/06/1.jpg"><img class="aligncenter size-medium wp-image-576 dtse-img dtse-post-575" title="1" src="http://pinguino.walii.es/wp-content/uploads/2011/06/1-300x167.jpg" alt="" width="300" height="167" /></a></p>
<p><a href="http://pinguino.walii.es/wp-content/uploads/2011/06/2.jpg"><img class="aligncenter size-medium wp-image-577 dtse-img dtse-post-575" title="2" src="http://pinguino.walii.es/wp-content/uploads/2011/06/2-300x189.jpg" alt="" width="300" height="189" /></a></p>
<p><a href="http://pinguino.walii.es/wp-content/uploads/2011/06/2.jpg"></a><a href="http://pinguino.walii.es/wp-content/uploads/2011/06/3.jpg"><img class="aligncenter size-medium wp-image-578 dtse-img dtse-post-575" title="3" src="http://pinguino.walii.es/wp-content/uploads/2011/06/3-194x300.jpg" alt="" width="194" height="300" /></a></p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<div class="shr-publisher-575"></div><!-- Start LikeButtonSetBottom --><!-- End LikeButtonSetBottom -->


		<!-- Added by WP-DragToShare-eXtended Plugin -->
		<script type="text/javascript">
			dtsv.dtse_post_575_permalink = 'http://pinguino.walii.es/?p=575';
			dtsv.dtse_post_575_title = 'Update de pruebas realizadas con el INTERVALOMETRO pinguino.';
		</script>
		<!-- End of WP-DragToShare-eXtended Plugin -->]]></content:encoded>
			<wfw:commentRss>http://pinguino.walii.es/?feed=rss2&#038;p=575</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Sensor de Apertura de Frigorifico &amp; Open Refrigerator Sensor</title>
		<link>http://pinguino.walii.es/?p=569</link>
		<comments>http://pinguino.walii.es/?p=569#comments</comments>
		<pubDate>Thu, 26 May 2011 09:58:02 +0000</pubDate>
		<dc:creator>walterleonardo</dc:creator>
				<category><![CDATA[Electrónica]]></category>
		<category><![CDATA[PINGUINO]]></category>
		<category><![CDATA[SENSORES]]></category>
		<category><![CDATA[Apertura]]></category>
		<category><![CDATA[Frigorifico]]></category>
		<category><![CDATA[Open]]></category>
		<category><![CDATA[Refrigerator]]></category>
		<category><![CDATA[Sensor]]></category>

		<guid isPermaLink="false">http://pinguino.walii.es/?p=569</guid>
		<description><![CDATA[Hoy les traigo el ultimo artilugio que se me ha ocurrido, ya que ayer mi mujer ha retado a mi niña por dejar la puerta abierta de la nevera, y se me paso por la cabeza &#8220;porque nadie ha hecho algo tan practico como un avisador de puerta abierta?&#8221; quizas ya lo hay pero la [...]]]></description>
			<content:encoded><![CDATA[<!-- Start LikeButtonSetTop --><!-- End LikeButtonSetTop --><p>Hoy les traigo el ultimo artilugio que se me ha ocurrido, ya que ayer mi mujer ha retado a mi niña por dejar la puerta abierta de la nevera, y se me paso por la cabeza &#8220;porque nadie ha hecho algo tan practico como un avisador de puerta abierta?&#8221; quizas ya lo hay pero la version de frigo que tengo doy gracias que aun enfria&#8230; <img src='http://pinguino.walii.es/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>Y basicamente el cacharro es esto:</p>
<p>un sensor de luz que detecta y promedia el primer valor que coje, y lo guarda como referencia, entonces cuando abrimos la puerta detecta que la incidencia de luz es mayor y comienza el juego, dejando un tiempo prudencial de espera (en este caso 10 segundos me pareció correcto) si la puerta no se ha cerrado dispara una alarma sonora  hasta que dicha puerta no es cerrada, comenzando nuevamente el ciclo.</p>
<p>algo basico pero que no tengo entendido que existiese.</p>
<p>aqui os dejo unas fotos, videos y el código, no he pensado poner el circuito ya que tiene muy poco, creado a partir del 18f2550, y con un buzz conectado al sensor 12 y un LDR en el 13&#8230; no tiene mas que eso.</p>
<p><a href="http://pinguino.walii.es/wp-content/uploads/2011/05/Untitled.jpg"></a><a href="http://pinguino.walii.es/wp-content/uploads/2011/05/DSC_2573.jpg"><img class="aligncenter size-medium wp-image-571 dtse-img dtse-post-569" title="DSC_2573" src="http://pinguino.walii.es/wp-content/uploads/2011/05/DSC_2573-300x200.jpg" alt="" width="300" height="200" /></a><img class="aligncenter size-medium wp-image-570 dtse-img dtse-post-569" title="Untitled" src="http://pinguino.walii.es/wp-content/uploads/2011/05/Untitled-300x145.jpg" alt="" width="300" height="145" /></p>
<p>&nbsp;</p>
<p><iframe width="560" height="349" src="http://www.youtube.com/embed/w60p8L1W1Y8" frameborder="0" allowfullscreen></iframe></p>
<p>&nbsp;</p>
<p>El codigo:</p>
<pre class="brush: python; title: ; notranslate">
// Alarma de Nevera
// Walter López Pascual (Walii &amp; Walterleonardo) 2011 walii.es

int led1,LDR,MLDR,valor,ovalor;			// Values like integers ( Pin )
int mldr[];						// Array for measures
int debug=0;						// Only with debug &quot;1&quot; we´ll see printed values in serial
int wait=10000;						// Time to wait before BUZZ in MS

promedioldr ()
{
int i;
MLDR=0;
for (i=0;i&lt;9;i++){
mldr[i]=analogRead(LDR);
MLDR=MLDR+mldr[i];
}
MLDR=MLDR/10;
return MLDR;
}

void setup()
{
	led1=11;					// led 1 is connected on pin 1
	LDR=13;
	pinMode(led1,OUTPUT);		// BUZZ &amp; LED
	ovalor=promedioldr();		// Capture initial value to measure
	Serial.begin(9600);
}

void encenderledbuzz ()				//BUZZ &amp; LED active action
{
digitalWrite(led1,HIGH);
delay(250);
digitalWrite(led1,LOW);
delay(250);
}

void esperar ()					//wait time before BUZZ
{
if (debug==1){
	delay(wait/10);
	Serial.printf(&quot;Wait...\r\n&quot;);
	delay(wait/10);
	Serial.printf(&quot;Wait...\r\n&quot;);
	delay(wait/10);
	Serial.printf(&quot;Wait...\r\n&quot;);
	delay(wait/10);
	Serial.printf(&quot;Wait...\r\n&quot;);
	delay(wait/10);
	Serial.printf(&quot;Wait...\r\n&quot;);
	delay(wait/10);
	Serial.printf(&quot;Wait...\r\n&quot;);
	delay(wait/10);
	Serial.printf(&quot;Wait...\r\n&quot;);
	delay(wait/10);
	Serial.printf(&quot;Wait...\r\n&quot;);
	delay(wait/10);
	Serial.printf(&quot;Wait...BUZZ\r\n&quot;);
}
else delay(wait);
}

void loop()
{
valor=promedioldr();
if (valor&gt;=ovalor+100){
	esperar();
	while (analogRead(LDR)&gt;=ovalor+100){
	encenderledbuzz();
	if (debug==1) Serial.printf(&quot;Analog Value = %d \r\n&quot;, analogRead(LDR));
	}
}
if (debug==1) Serial.printf(&quot;Actual LDR value= %d / Previous LDR value= %u\r\n&quot;, valor, ovalor);
digitalWrite(led1,LOW);
}
</pre>
<div class="shr-publisher-569"></div><!-- Start LikeButtonSetBottom --><!-- End LikeButtonSetBottom -->


		<!-- Added by WP-DragToShare-eXtended Plugin -->
		<script type="text/javascript">
			dtsv.dtse_post_569_permalink = 'http://pinguino.walii.es/?p=569';
			dtsv.dtse_post_569_title = 'Sensor de Apertura de Frigorifico & Open Refrigerator Sensor';
		</script>
		<!-- End of WP-DragToShare-eXtended Plugin -->]]></content:encoded>
			<wfw:commentRss>http://pinguino.walii.es/?feed=rss2&#038;p=569</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Gracias al blog &#8220;Padel Barcelona&#8221; por publicar uno de mis proyectos.</title>
		<link>http://pinguino.walii.es/?p=565</link>
		<comments>http://pinguino.walii.es/?p=565#comments</comments>
		<pubDate>Mon, 16 May 2011 13:19:59 +0000</pubDate>
		<dc:creator>walterleonardo</dc:creator>
				<category><![CDATA[PINGUINO]]></category>

		<guid isPermaLink="false">http://pinguino.walii.es/?p=565</guid>
		<description><![CDATA[Ya existe un sistema para medir la aceleración y movimiento que tienen las palas de pádel. He encontrado un curioso video donde nos explican cómo han implementado el sistema y en qué consiste.!!! http://www.padelbarcelona.es/padel/sensor-de-aceleracion-y-movimiento-de-palas-de-padel.html]]></description>
			<content:encoded><![CDATA[<!-- Start LikeButtonSetTop --><!-- End LikeButtonSetTop --><p>Ya existe un <strong>sistema para medir la aceleración y movimiento que tienen las palas de pádel</strong>. He encontrado un curioso video donde nos explican cómo han implementado el sistema y en qué consiste.!!!</p>
<p><a href="http://www.padelbarcelona.es/padel/sensor-de-aceleracion-y-movimiento-de-palas-de-padel.html">http://www.padelbarcelona.es/padel/sensor-de-aceleracion-y-movimiento-de-palas-de-padel.html</a></p>
<div class="shr-publisher-565"></div><!-- Start LikeButtonSetBottom --><!-- End LikeButtonSetBottom -->


		<!-- Added by WP-DragToShare-eXtended Plugin -->
		<script type="text/javascript">
			dtsv.dtse_post_565_permalink = 'http://pinguino.walii.es/?p=565';
			dtsv.dtse_post_565_title = 'Gracias al blog “Padel Barcelona” por publicar uno de mis proyectos.';
		</script>
		<!-- End of WP-DragToShare-eXtended Plugin -->]]></content:encoded>
			<wfw:commentRss>http://pinguino.walii.es/?feed=rss2&#038;p=565</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Jornada de Robotica ARDE &#8220;Charla de PINGUINO&#8221;</title>
		<link>http://pinguino.walii.es/?p=563</link>
		<comments>http://pinguino.walii.es/?p=563#comments</comments>
		<pubDate>Mon, 16 May 2011 13:06:13 +0000</pubDate>
		<dc:creator>walterleonardo</dc:creator>
				<category><![CDATA[PINGUINO]]></category>

		<guid isPermaLink="false">http://pinguino.walii.es/?p=563</guid>
		<description><![CDATA[]]></description>
			<content:encoded><![CDATA[<!-- Start LikeButtonSetTop --><!-- End LikeButtonSetTop --><p><iframe width="480" height="390" src="http://www.youtube.com/embed/LE7tRvUzgXM" frameborder="0" allowfullscreen></iframe></p>
<div class="shr-publisher-563"></div><!-- Start LikeButtonSetBottom --><!-- End LikeButtonSetBottom -->


		<!-- Added by WP-DragToShare-eXtended Plugin -->
		<script type="text/javascript">
			dtsv.dtse_post_563_permalink = 'http://pinguino.walii.es/?p=563';
			dtsv.dtse_post_563_title = 'Jornada de Robotica ARDE “Charla de PINGUINO”';
		</script>
		<!-- End of WP-DragToShare-eXtended Plugin -->]]></content:encoded>
			<wfw:commentRss>http://pinguino.walii.es/?feed=rss2&#038;p=563</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PINGUINO BLUETOOTH</title>
		<link>http://pinguino.walii.es/?p=551</link>
		<comments>http://pinguino.walii.es/?p=551#comments</comments>
		<pubDate>Sat, 07 May 2011 22:47:23 +0000</pubDate>
		<dc:creator>walterleonardo</dc:creator>
				<category><![CDATA[Electrónica]]></category>
		<category><![CDATA[PINGUINO]]></category>
		<category><![CDATA[RED]]></category>
		<category><![CDATA[SENSORES]]></category>

		<guid isPermaLink="false">http://pinguino.walii.es/?p=551</guid>
		<description><![CDATA[Bueno hoy al fin pude terminar el proyecto bluetooth, lo tengo parado hace un par de semanas porque estoy en medio de un curso de Manager de Proyectos y otro de Ingles&#8230; pero al fin, he podido&#8230; Basicamente estaba intentando dejar de lado XBEE para la comunicación in-alambrica, ya que esos módulos son un poco [...]]]></description>
			<content:encoded><![CDATA[<!-- Start LikeButtonSetTop --><!-- End LikeButtonSetTop --><p>Bueno hoy al fin pude terminar el proyecto bluetooth, lo tengo parado hace un par de semanas porque estoy en medio de un curso de Manager de Proyectos y otro de Ingles&#8230; pero al fin, he podido&#8230;</p>
<p>Basicamente estaba intentando dejar de lado XBEE para la comunicación in-alambrica, ya que esos módulos son un poco caros&#8230;entre 40 y 60 euros&#8230; ahora con los módulos bluetooth que se pueden conseguir por 20euros&#8230; puedo hacer todas los proyectos que quiera, además de no necesitar un receptor especial, ya que con cualquier ordenador o PDA con bluetooth, puedo comunicarme tranquilamente.</p>
<p>Aquí un video del funcionamiento.</p>
<p><iframe width="640" height="390" src="http://www.youtube.com/embed/uIbKSIRmGfY" frameborder="0" allowfullscreen></iframe></p>
<p>La idea principal es modificar el Paddle Sensor con uno de estos modulos así consume memos, entre unos 50 a 100mA, a maxima potencia. Adicionalmente otra de las ventajas es la comunicación RS232 UART bi direccional, la cual puede llegar a casi un Mega de transferencia. Aunque la distancia se reduce a 20 metros sin obstáculos y 5 con obstáculos.</p>
<p><a href="http://pinguino.walii.es/wp-content/uploads/2011/05/P5070008.jpg"><img class="aligncenter size-medium wp-image-557 dtse-img dtse-post-551" title="OLYMPUS DIGITAL CAMERA" src="http://pinguino.walii.es/wp-content/uploads/2011/05/P5070008-300x225.jpg" alt="" width="300" height="225" /></a></p>
<p><a href="http://pinguino.walii.es/wp-content/uploads/2011/05/BOARD.jpg"><img class="aligncenter size-medium wp-image-558 dtse-img dtse-post-551" title="BOARD" src="http://pinguino.walii.es/wp-content/uploads/2011/05/BOARD-300x124.jpg" alt="" width="300" height="124" /></a></p>
<p>Lo primero es el esquema de este adaptador bluetooth.</p>
<p style="text-align: center;"><a href="http://pinguino.walii.es/wp-content/uploads/2011/05/sch_blue.jpg" target="_blank"><img class="aligncenter size-full wp-image-552 dtse-img dtse-post-551" title="sch_blue" src="http://pinguino.walii.es/wp-content/uploads/2011/05/sch_blue.jpg" alt="" width="432" height="261" /></a></p>
<p>Con un simple LM 317 y un preset de 5K en su Adj puedes tener un regulador de 3.3Volts 1 Amp&#8230;</p>
<p>Básicamente conectamos directamente el módulo BLUETOOTH en nuestra placa PINGUINO&#8230; sin nada de intermediario y se entenderán perfectamente, ya que la placa PINGUINO posee unas resistencias de acople que ayudan al dialogo correcto.</p>
<p>El codigo es simple. Escribo como si fuese un puerto serie normalito&#8230; y espero respuestas&#8230; en este caso, mido la temperatura y la luminosidad mediante entradas analógicas, y como punto adicional, controlo un LED colocado en el puerto 0. Todo esto con retroalimentación a la consola serie.</p>
<pre class="brush: python; title: ; notranslate">
// Bluetooth comunication v 1
// Walter López (walterleonardo &amp; walii) 2011 pinguino.walii.es

char *string = &quot;Hola mundo bluetooth!!! estoy vivo... soy pinguino&quot;;
#define LM35 18
#define LDR 17
#define LED 0

int i=0;

temp(){
int aux=0,buffer[10];
for (i=0;i&lt;9;i++){
buffer[i]=analogRead(LM35);
aux = aux + buffer[i];
}
aux = (aux / 10);
aux = aux/2;
return aux;
}

light(){
int aux=0,buffer[10];
for (i=0;i&lt;9;i++){
buffer[i]=analogRead(LDR);
aux = aux + buffer[i];
}
aux = (aux / 10);
aux = (aux-23)/10;
aux = 100-aux;
return aux;
}

void setup()
{
	Serial.begin(9600);
	pinMode(LED,OUTPUT);
	digitalWrite(LED,LOW);
	Serial.printf(&quot;\r\n&quot;);
	Serial.printf(&quot;****************************************\r\n&quot;);
	Serial.printf(&quot;*** PRUEBA de comunicacion BLUETOOTH ***\r\n&quot;);
	Serial.printf(&quot;****************************************\r\n&quot;);
	Serial.printf(&quot;\r\n&quot;);
}
void loop()
{
u8 c;
	Serial.printf(&quot;****** %s\r\n&quot;, string);
		Serial.printf(&quot;\r\n&quot;);
			Serial.printf(&quot;\r\n&quot;);
	Serial.printf(&quot;Press t key to receive the temperature ...\r\n&quot;);
	Serial.printf(&quot;Press l key to receive the Light level ...\r\n&quot;);
	Serial.printf(&quot;Press x key to change the LED status ...\r\n&quot;);
c = Serial.getkey();
Serial.printf(&quot;=========================================\r\n&quot;);
if (c == 116) Serial.printf(&quot;Temperature = %u degrees Celsius\n\r&quot; , temp());
if (c == 108) Serial.printf(&quot;Light = %u Percentage\n\r&quot; , light());
if (c == 120) digitalWrite(LED,(digitalRead(LED)^1)), Serial.printf(&quot;Changed LED Status \n\r&quot;);
Serial.printf(&quot;=========================================\r\n&quot;);
	Serial.printf(&quot;\r\n&quot;);

}
</pre>
<div class="shr-publisher-551"></div><!-- Start LikeButtonSetBottom --><!-- End LikeButtonSetBottom -->


		<!-- Added by WP-DragToShare-eXtended Plugin -->
		<script type="text/javascript">
			dtsv.dtse_post_551_permalink = 'http://pinguino.walii.es/?p=551';
			dtsv.dtse_post_551_title = 'PINGUINO BLUETOOTH';
		</script>
		<!-- End of WP-DragToShare-eXtended Plugin -->]]></content:encoded>
			<wfw:commentRss>http://pinguino.walii.es/?feed=rss2&#038;p=551</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Circuitos Básicos y Numeros de PINES.</title>
		<link>http://pinguino.walii.es/?p=546</link>
		<comments>http://pinguino.walii.es/?p=546#comments</comments>
		<pubDate>Sat, 07 May 2011 22:28:51 +0000</pubDate>
		<dc:creator>walterleonardo</dc:creator>
				<category><![CDATA[Electrónica]]></category>
		<category><![CDATA[PINGUINO]]></category>
		<category><![CDATA[UTILIDADES]]></category>

		<guid isPermaLink="false">http://pinguino.walii.es/?p=546</guid>
		<description><![CDATA[Aquí dejo los planos minimos de los dos modelos actuales de PINGUINO&#8230; 18f2550 y 18f4550&#8230; como verán no necesitan de mucho para funcionar. Pero es necesario saber siempre el numero de PIN a configurar. 18f2550 (si le dan click se hace mas grande) 18f4550 (lo mismo, si le hacen click se hace mas grande)]]></description>
			<content:encoded><![CDATA[<!-- Start LikeButtonSetTop --><!-- End LikeButtonSetTop --><p>Aquí dejo los planos minimos de los dos modelos actuales de PINGUINO&#8230; 18f2550 y 18f4550&#8230; como verán no necesitan de mucho para funcionar. Pero es necesario saber siempre el numero de PIN a configurar.</p>
<p>18f2550 (si le dan click se hace mas grande)</p>
<p style="text-align: center;"><a href="http://pinguino.walii.es/wp-content/uploads/2011/05/pinguino.jpg" target="_blank"><img class="aligncenter size-full wp-image-547 dtse-img dtse-post-546" title="pinguino" src="http://pinguino.walii.es/wp-content/uploads/2011/05/pinguino.jpg" alt="" width="559" height="346" /></a></p>
<p>18f4550 (lo mismo, si le hacen click se hace mas grande)</p>
<p style="text-align: center;"><a href="http://pinguino.walii.es/wp-content/uploads/2011/05/pin-pinguino-18F4550.png" target="_blank"><img class="aligncenter size-full wp-image-548 dtse-img dtse-post-546" title="pin pinguino 18F4550" src="http://pinguino.walii.es/wp-content/uploads/2011/05/pin-pinguino-18F4550.png" alt="" width="492" height="284" /></a></p>
<div class="shr-publisher-546"></div><!-- Start LikeButtonSetBottom --><!-- End LikeButtonSetBottom -->


		<!-- Added by WP-DragToShare-eXtended Plugin -->
		<script type="text/javascript">
			dtsv.dtse_post_546_permalink = 'http://pinguino.walii.es/?p=546';
			dtsv.dtse_post_546_title = 'Circuitos Básicos y Numeros de PINES.';
		</script>
		<!-- End of WP-DragToShare-eXtended Plugin -->]]></content:encoded>
			<wfw:commentRss>http://pinguino.walii.es/?feed=rss2&#038;p=546</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Tabla de códigos ASCII</title>
		<link>http://pinguino.walii.es/?p=543</link>
		<comments>http://pinguino.walii.es/?p=543#comments</comments>
		<pubDate>Sat, 07 May 2011 22:22:09 +0000</pubDate>
		<dc:creator>walterleonardo</dc:creator>
				<category><![CDATA[IDE]]></category>
		<category><![CDATA[PROCESSING]]></category>
		<category><![CDATA[UTILIDADES]]></category>

		<guid isPermaLink="false">http://pinguino.walii.es/?p=543</guid>
		<description><![CDATA[Siempre me vuelvo loco buscando&#8230; y siempre termino con el oraculo (google) por eso he decidido poner aquí las cosas necesarias, siempre que necesiten algo de info, busquen en la Categoría de UTILIDADES. Tabla de conversión de caracteres ASCII]]></description>
			<content:encoded><![CDATA[<!-- Start LikeButtonSetTop --><!-- End LikeButtonSetTop --><p>Siempre me vuelvo loco buscando&#8230; y siempre termino con el oraculo (google) por eso he decidido poner aquí las cosas necesarias, siempre que necesiten algo de info, busquen en la Categoría de UTILIDADES.</p>
<p>Tabla de conversión de caracteres ASCII<br />
<a href="http://pinguino.walii.es/wp-content/uploads/2011/05/ASCII1.gif"><img class="aligncenter size-full wp-image-544 dtse-img dtse-post-543" title="ASCII1" src="http://pinguino.walii.es/wp-content/uploads/2011/05/ASCII1.gif" alt="" width="560" height="600" /></a></p>
<div class="shr-publisher-543"></div><!-- Start LikeButtonSetBottom --><!-- End LikeButtonSetBottom -->


		<!-- Added by WP-DragToShare-eXtended Plugin -->
		<script type="text/javascript">
			dtsv.dtse_post_543_permalink = 'http://pinguino.walii.es/?p=543';
			dtsv.dtse_post_543_title = 'Tabla de códigos ASCII';
		</script>
		<!-- End of WP-DragToShare-eXtended Plugin -->]]></content:encoded>
			<wfw:commentRss>http://pinguino.walii.es/?feed=rss2&#038;p=543</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Paddle Sensor   PINGUINO+XBEE+PROCESSING</title>
		<link>http://pinguino.walii.es/?p=526</link>
		<comments>http://pinguino.walii.es/?p=526#comments</comments>
		<pubDate>Wed, 27 Apr 2011 12:49:51 +0000</pubDate>
		<dc:creator>walterleonardo</dc:creator>
				<category><![CDATA[Electrónica]]></category>
		<category><![CDATA[PINGUINO]]></category>
		<category><![CDATA[PROCESSING]]></category>
		<category><![CDATA[SENSORES]]></category>

		<guid isPermaLink="false">http://pinguino.walii.es/?p=526</guid>
		<description><![CDATA[Hola nuevamente, aunque este es un proyecto vendido a un cliente, por eso no puedo poner los archivos fuente, me interesa compartirlo con vosotros ya que lleva la tecnología pinguino dentro. Utilizando un sensor de aceleración y movimiento de 5Gs y colocando este en una pala, he podido crear todo el entorno para poder visualizar [...]]]></description>
			<content:encoded><![CDATA[<!-- Start LikeButtonSetTop --><!-- End LikeButtonSetTop --><p>Hola nuevamente, aunque este es un proyecto vendido a un cliente, por eso no puedo poner los archivos fuente, me interesa compartirlo con vosotros ya que lleva la tecnología pinguino dentro.</p>
<p style="text-align: center;"><a href="http://pinguino.walii.es/wp-content/uploads/2011/04/Untitled.jpg"><img class="size-full wp-image-529 aligncenter dtse-img dtse-post-526" style="margin-top: 0px; margin-bottom: 0px;" title="PALA" src="http://pinguino.walii.es/wp-content/uploads/2011/04/Untitled.jpg" alt="" width="372" height="283" /></a></p>
<p>Utilizando un sensor de aceleración y movimiento de 5Gs y colocando este en una pala, he podido crear todo el entorno para poder visualizar y grabar (para un posterior análisis) todas los datos de un jugador de padel, fuerza, direccionalidad, firmeza, etc. Capturando toda la información con pinguino, y transfiriendo a un ordenador con un sistema creado con processing&#8230;(java en sus entrañas)&#8230; y así poder analizar y realizar un TUNNING mas exacto en el tipo de juego de una persona. Algo así como llevar un juego analógico al ámbito digital.</p>
<p style="text-align: center;">Aqui está el video donde explico que hace el cacharro&#8230;</p>
<p><iframe title="YouTube video player" width="640" height="390" src="http://www.youtube.com/embed/pmJWNCvm7vE" frameborder="0" allowfullscreen></iframe><br />
Saludos.</p>
<div class="shr-publisher-526"></div><!-- Start LikeButtonSetBottom --><!-- End LikeButtonSetBottom -->


		<!-- Added by WP-DragToShare-eXtended Plugin -->
		<script type="text/javascript">
			dtsv.dtse_post_526_permalink = 'http://pinguino.walii.es/?p=526';
			dtsv.dtse_post_526_title = 'Paddle Sensor   PINGUINO+XBEE+PROCESSING';
		</script>
		<!-- End of WP-DragToShare-eXtended Plugin -->]]></content:encoded>
			<wfw:commentRss>http://pinguino.walii.es/?feed=rss2&#038;p=526</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Reflex Control &#8220;TimeLapse &amp; Long Exposure&#8221; with PINGUINO.</title>
		<link>http://pinguino.walii.es/?p=518</link>
		<comments>http://pinguino.walii.es/?p=518#comments</comments>
		<pubDate>Wed, 27 Apr 2011 09:16:41 +0000</pubDate>
		<dc:creator>walterleonardo</dc:creator>
				<category><![CDATA[Electrónica]]></category>
		<category><![CDATA[PINGUINO]]></category>
		<category><![CDATA[SENSORES]]></category>

		<guid isPermaLink="false">http://pinguino.walii.es/?p=518</guid>
		<description><![CDATA[Hola a todos&#8230; perdón el titulo en ingles&#8230; pero suena como mas importante&#8230; ya que para mi este es un invento muy útil&#8230; porque ultima-mente estuve tonteando con la reflex y quería hacer un poco de timelapse&#8230; y la cámara por si sola no lo hace&#8230; necesitando un ordenador conectado&#8230; entonces me puse a pensar &#8220;pero [...]]]></description>
			<content:encoded><![CDATA[<!-- Start LikeButtonSetTop --><!-- End LikeButtonSetTop --><p>Hola a todos&#8230; perdón el titulo en ingles&#8230; pero suena como mas importante&#8230; ya que para mi este es un invento muy útil&#8230; porque ultima-mente estuve tonteando con la reflex y quería hacer un poco de timelapse&#8230; y la cámara por si sola no lo hace&#8230; necesitando un ordenador conectado&#8230; entonces me puse a pensar &#8220;pero solo un poquito porque el medico me dijo que no hiciese esfuerzos&#8230;  :-) &#8220;, y se me ocurrió reutilizar un par de cosillas que tenia en el cajon de los inventos viejos&#8230; y me hice este invento&#8230; bueno invento no es&#8230; porque ya existen&#8230; pero por lo menos me he ahorrado unas cuantas pelas.</p>
<address>El cacharro tiene cosas de todos los mundos y colores&#8230;</address>
<address>puedo indicarle cantidad de cosas insalubres:</address>
<address>1º Cantidad de tomas (fotogramas) &#8220;ShotN&#8221;</address>
<address>2º Espacio de tiempo entre tomas &#8220;Pause&#8221;</address>
<address>3º Tiempo de exposición (por si acaso queremos hacerlo desde fuera de la cámara) &#8220;Time&#8221;</address>
<address>4º Cambia de modo entre TIMELAPSE y LONGEXPOSURE</address>
<address>5º Activar el modo LDR (con un detector LDR puede detectar si cae un rayo&#8230; y fotografiarlo) en cuanto tenga una tormenta os muestro el ejemplo</address>
<address>6º Activar o desactivar el BUZZER (tiene un pequeño buzzer que indica las tomas y diferencias</address>
<address>7º Activar o desactivar la iluminación del LCD</address>
<address>8º Un modo de lectura, en donde veo el nivel de luminosidad del LDR y el nivel de Bateria&#8230;</address>
<address>9º El modo de disparo que nos indica un resumen de todos los detalles&#8230; y en donde nos permite disparar en modo automatico.</address>
<address>10º Un botón de modo manual, para no perder esta características y poder incluir en el futuro un control remoto inalámbrico. (para el paso siguiente)</address>
<address>Se ha medido un consumo de 70mA, así que con un pack de baterias AAx4 puede funcionar por 20hrs&#8230; pero si apagamos la iluminación del LCD el consumo cae a 40mA lo cual no s deja una duración de batería de unas 50hrs.</address>
<p>Este es un prototipo, pero ya estoy construyendo para vender, si alguien esta interesado, solo tiene que contactarme.</p>
<p style="text-align: center;"><a href="http://pinguino.walii.es/wp-content/uploads/2011/04/ReflexControl.jpg"><img class="aligncenter size-large wp-image-519 dtse-img dtse-post-518" title="ReflexControl" src="http://pinguino.walii.es/wp-content/uploads/2011/04/ReflexControl-1024x812.jpg" alt="" width="614" height="487" /></a></p>
<p style="text-align: center;">&nbsp;</p>
<p style="text-align: center;"><iframe width="480" height="390" src="http://www.youtube.com/embed/bhqyjR72H5c" frameborder="0" allowfullscreen></iframe></p>
<p style="text-align: center;">&nbsp;</p>
<p style="text-align: center;">&nbsp;</p>
<p style="text-align: center;"><a href="http://pinguino.walii.es/wp-content/uploads/2011/04/DSC_2338.jpg"></a><a href="http://pinguino.walii.es/wp-content/uploads/2011/04/DSC_2275.jpg"><img class="size-medium wp-image-541 alignnone dtse-img dtse-post-518" title="DSC_2275" src="http://pinguino.walii.es/wp-content/uploads/2011/04/DSC_2275-300x200.jpg" alt="" width="300" height="200" /></a><img class="size-medium wp-image-540 alignnone dtse-img dtse-post-518" title="DSC_2338" src="http://pinguino.walii.es/wp-content/uploads/2011/04/DSC_2338-300x200.jpg" alt="" width="300" height="200" /></p>
<p style="text-align: center;"><span id="more-518"></span></p>
<p style="text-align: center;"><a href="http://pinguino.walii.es/wp-content/uploads/2011/04/DSC_2093.jpg"><img class="aligncenter size-large wp-image-520 dtse-img dtse-post-518" title="DSC_2093" src="http://pinguino.walii.es/wp-content/uploads/2011/04/DSC_2093-1024x682.jpg" alt="" width="614" height="409" /></a></p>
<p style="text-align: center;"><a href="http://pinguino.walii.es/wp-content/uploads/2011/04/DSC_2098.jpg"><img class="aligncenter size-large wp-image-522 dtse-img dtse-post-518" title="DSC_2098" src="http://pinguino.walii.es/wp-content/uploads/2011/04/DSC_2098-1024x682.jpg" alt="" width="614" height="409" /></a></p>
<p>El diseño electrónico es simple&#8230; por eso solo me decantaré por mostrar el programa.</p>
<pre class="brush: python; title: ; notranslate">
/*
 * Reflex control timelapse &amp;  long exposure.
 * By Walter López Pascual (Walii &amp; walterleonardo)
 * Pins, Schematics and more info:
 * http://pinguino.walii.es
 */

// Comment line above if you using a pinguino with PIC18F2550.
#define PIC18F4550

#define BOTON1 4
#define BOTON2 5
#define BOTON3 6
#define BOTON4 7
#define BOTON5 10
#define SHOT 28
#define LDR 13
#define VREF 14
#define VMON 15
#define LED 23
#define BUZZ 22
#define LCD 21

//global vars
uchar counter = 0;
int tiempo=0;
int segundos=0;
int i;
int cantidad=1;
int contador=0;
float num;
int pausa;
int cuenta;
int encendida=0;
float oldr,ldr;
float intermedio[];
int ldractivado=0;

void lecturaoldr()
{
for (i=0;i&lt;10;i++)
{
intermedio[i]=analogRead(LDR);
oldr=oldr+intermedio[i];
}
oldr=oldr/10;
}

void lecturaldr()
{
for (i=0;i&lt;10;i++)
{
intermedio[i]=analogRead(LDR);
ldr=ldr+intermedio[i];
}
ldr=ldr/10;
}

void setup(){
	//8 bits mode
	//lcd(8, 9, 0, 1, 2, 3, 4, 5, 6, 7); // RS, E, D0 ~ D7

	//4 bits mode, dont use last four pins ...
	lcd(8, 9, 0, 1, 2, 3, 0, 0, 0, 0); // RS, E, D4 ~ D8

	//LCD format
	lcd.begin(3, 0);

	/* Debug */
	pinMode(BOTON1, INPUT);		// LED on pin 13
	digitalWrite( BOTON1,LOW);
	pinMode(BOTON2, INPUT);		// LED on pin 13
	digitalWrite( BOTON2,LOW);
	pinMode(BOTON3, INPUT);		// LED on pin 13
	digitalWrite( BOTON3,LOW);
	pinMode(BOTON4, INPUT);		// LED on pin 13
	digitalWrite( BOTON4,LOW);
	pinMode(BOTON5, INPUT);		// LED on pin 13
	digitalWrite( BOTON5,LOW);
	pinMode(SHOT, INPUT);		// LED on pin 13
	digitalWrite( SHOT,LOW);
	pinMode(LED,OUTPUT);		// LED on pin 13
	digitalWrite( LED,LOW);
	pinMode(BUZZ,OUTPUT);		// LED on pin 13
	digitalWrite( BUZZ,LOW);
	pinMode(LCD,OUTPUT);		// LED on pin 13
	digitalWrite( LCD,LOW);
	lecturaoldr();
}

void dispara(int pausa)
{
tono1();
digitalWrite(LED,HIGH);
delay(pausa);
digitalWrite(LED,LOW);
}

void longexpo()
{
_millis = 0;
while (millis()&lt;=5000)
{
segundos=millis()/1000;
lcd.setCursor(0, 2);
lcd.print(&quot;Start-time in  &quot;);
lcd.printNumber(5-segundos,10);
lcd.print(&quot;   &quot;);
lcd.setCursor(0, 3);
lcd.print(&quot;                    &quot;);
}

contador=1;
while (contador&lt;=cantidad)
{
_millis = 0;
tono2();
	while (millis()&lt;=tiempo*1000)
	{
	digitalWrite(LED,HIGH);
lcd.setCursor(0, 2);
lcd.print(&quot;Time to End &quot;);
segundos=millis()/1000;
lcd.printNumber(tiempo-segundos,10);
lcd.print(&quot;   &quot;);
lcd.setCursor(0, 3);
lcd.print(&quot;Shot to End &quot;);
lcd.printNumber(cantidad-contador,10);
	}
digitalWrite(LED,LOW);
lcd.setCursor(0, 2);
lcd.print(&quot;Time to End &quot;);
lcd.printNumber(0,10);
lcd.print(&quot;   &quot;);
lcd.setCursor(0, 3);
lcd.print(&quot;Shot to End &quot;);
lcd.printNumber(cantidad-contador,10);
delay(2000);
contador++;
}

}

void timelapse()
{
_millis = 0;
contador=1;
while (contador&lt;=cantidad)
{
lcd.setCursor(0, 2);
lcd.print(&quot;ShotN &quot;);
lcd.printNumber(cantidad-contador+1,10);
lcd.print(&quot; Wtime &quot;);
lcd.printNumber(tiempo,10);
lcd.setCursor(0, 3);
segundos=millis()/1000;
lcd.print(&quot;   Working ...      &quot;);

while (segundos!=tiempo)
{
segundos=millis()/1000;
digitalWrite(LED,LOW);
}
dispara(1000);
_millis = 0;
contador++;

}

}

void tono1()
{
digitalWrite(BUZZ,HIGH);
delay(200);
digitalWrite(BUZZ,LOW);
}

void tono2()
{
digitalWrite(BUZZ,HIGH);
delay(50);
digitalWrite(BUZZ,LOW);
delay(50);
digitalWrite(BUZZ,HIGH);
delay(50);
digitalWrite(BUZZ,LOW);
}

void loop()
{
	lecturaldr();
	lcd.home();
	lcd.print(&quot;ShotControl&quot;);	// Output char
	lcd.print(&quot; ldr &quot;);	// Output char
	lcd.printNumber(ldr,10);	// Output char
		lcd.print(&quot;    &quot;);	// Output char
	lcd.setCursor(0, 1);
if (digitalRead(BOTON4)) lcd.print(&quot;Long exposure       &quot;);
else lcd.print(&quot;Time Lapse     &quot;);
if(digitalRead(BOTON1) &amp;&amp; digitalRead(BOTON4)) longexpo();
else if(digitalRead(BOTON1) &amp;&amp; digitalRead(BOTON4)==0) timelapse();
if(digitalRead(BOTON5))
{
if (encendida) encendida=0;
else encendida=1;
delay(200);
}
if(digitalRead(BOTON2)) delay(200), tiempo++;
if(digitalRead(BOTON3)) delay(200), cantidad++;
if(digitalRead(SHOT)) dispara(200);
if(ldr&lt;=oldr-10 &amp;&amp; ldractivado==1) dispara(200); if (tiempo &gt;= 1000) tiempo = 1000;
if (tiempo &lt;= 1) tiempo = 1;
if (encendida) digitalWrite(LCD,HIGH);
if (!encendida) digitalWrite(LCD,LOW);
lcd.setCursor(0, 2);
lcd.print(&quot;ShotN &quot;);
lcd.printNumber(cantidad,10);
lcd.print(&quot; Wtime &quot;);
lcd.printNumber(tiempo,10);
lcd.print(&quot;     &quot;);
lcd.setCursor(0, 3);
segundos=millis()/1000;
lcd.print(&quot; -Esperando comando-&quot;);
}
</pre>
<div class="shr-publisher-518"></div><!-- Start LikeButtonSetBottom --><!-- End LikeButtonSetBottom -->


		<!-- Added by WP-DragToShare-eXtended Plugin -->
		<script type="text/javascript">
			dtsv.dtse_post_518_permalink = 'http://pinguino.walii.es/?p=518';
			dtsv.dtse_post_518_title = 'Reflex Control “TimeLapse & Long Exposure” with PINGUINO.';
		</script>
		<!-- End of WP-DragToShare-eXtended Plugin -->]]></content:encoded>
			<wfw:commentRss>http://pinguino.walii.es/?feed=rss2&#038;p=518</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PINGUINO IDE THEME</title>
		<link>http://pinguino.walii.es/?p=513</link>
		<comments>http://pinguino.walii.es/?p=513#comments</comments>
		<pubDate>Fri, 22 Apr 2011 20:56:32 +0000</pubDate>
		<dc:creator>walterleonardo</dc:creator>
				<category><![CDATA[GUI]]></category>
		<category><![CDATA[IDE]]></category>
		<category><![CDATA[PINGUINO]]></category>

		<guid isPermaLink="false">http://pinguino.walii.es/?p=513</guid>
		<description><![CDATA[Gracias a la aportación de la gente de PINGUINO Venezuela&#8230; que me ha inspirado y me he puesto a realizar un theme a mi gusto y piachere&#8230; para los que quieran ver el IDE un poco más &#8220;MAC&#8221;&#8230; os dejo el theme creado en el siguiente link&#8230; https://rapidshare.com/files/458709102/walii.zip hay que descomprimir la carpeta en el directorio [...]]]></description>
			<content:encoded><![CDATA[<!-- Start LikeButtonSetTop --><!-- End LikeButtonSetTop --><p>Gracias a la aportación de la gente de PINGUINO Venezuela&#8230; que me ha inspirado y me he puesto a realizar un theme a mi gusto y piachere&#8230; para los que quieran ver el IDE un poco más &#8220;MAC&#8221;&#8230; os dejo el theme creado en el siguiente link&#8230; <a title="PINGUINO WALII THEME" href="https://rapidshare.com/files/458709102/walii.zip" target="_blank">https://rapidshare.com/files/458709102/walii.zip</a></p>
<p>hay que descomprimir la carpeta en el directorio THEME dentro de PINGUINO IDE&#8230; y luego iniciar el IDE y buscarlo en la opción &#8220;Preferences&#8221; y &#8220;themes&#8221;.</p>
<p style="text-align: center;"><a href="http://pinguino.walii.es/wp-content/uploads/2011/04/PINGUINO-WALIITHEME.png"><img class="aligncenter size-full wp-image-514 dtse-img dtse-post-513" title="PINGUINO-WALIITHEME" src="http://pinguino.walii.es/wp-content/uploads/2011/04/PINGUINO-WALIITHEME.png" alt="" width="608" height="391" /></a></p>
<p style="text-align: center;">Saludos&#8230; y nuevamente gracias a Juan Espinoza por la idea.</p>
<div class="shr-publisher-513"></div><!-- Start LikeButtonSetBottom --><!-- End LikeButtonSetBottom -->


		<!-- Added by WP-DragToShare-eXtended Plugin -->
		<script type="text/javascript">
			dtsv.dtse_post_513_permalink = 'http://pinguino.walii.es/?p=513';
			dtsv.dtse_post_513_title = 'PINGUINO IDE THEME';
		</script>
		<!-- End of WP-DragToShare-eXtended Plugin -->]]></content:encoded>
			<wfw:commentRss>http://pinguino.walii.es/?feed=rss2&#038;p=513</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Mascota AirWick</title>
		<link>http://pinguino.walii.es/?p=501</link>
		<comments>http://pinguino.walii.es/?p=501#comments</comments>
		<pubDate>Fri, 15 Apr 2011 23:10:23 +0000</pubDate>
		<dc:creator>walterleonardo</dc:creator>
				<category><![CDATA[PINGUINO]]></category>

		<guid isPermaLink="false">http://pinguino.walii.es/?p=501</guid>
		<description><![CDATA[Como hace tiempo que mi nena me incha con el tema de tener una mascota&#8230; y como yo no le pienso cumplir el capricho&#8230; se me ocurrió aunar un poco mis conocimientos y hacerle algo para que se distraiga entre tanto. Este artilugio basicamente hace lo siguiente: 1º No se cae de las mesas 2º [...]]]></description>
			<content:encoded><![CDATA[<!-- Start LikeButtonSetTop --><!-- End LikeButtonSetTop --><p>Como hace tiempo que mi nena me incha con el tema de tener una mascota&#8230; y como yo no le pienso cumplir el capricho&#8230; se me ocurrió aunar un poco mis conocimientos y hacerle algo para que se distraiga entre tanto.</p>
<p>Este artilugio basicamente hace lo siguiente:</p>
<p>1º No se cae de las mesas</p>
<p>2º Si dibuja un circulo en el suelo no sale de él (utilizando cinta aisladora negra y siendo el suelo de un color claro)</p>
<p>3º Si se encuentra con un objeto en frente retrocede y lo esquiva</p>
<p>4º Si le pasa la mano por el lomo&#8230; este se detiene&#8230;(mas que nada para mantenerlo controlado, porque he visto que la nena tiene miedo del ruido que hace y no lo toca si escucha algo)</p>
<p>Basado en un PINGUINO &#8220;pequeño&#8221; 18f2550 ya que me sobrava y tenia poco espacio dentro&#8230; además utilizo varios sensores infrarrojos&#8230; y no se asusten los que parecen cartuchos de dinamita son baterias de LIPO (extraídas de una bateria de portátil) poseen un rendimiento inmejorable&#8230; puede durar varias horas funcionando el bicho.</p>
<p style="text-align: center;">&nbsp;</p>
<p style="text-align: center;"><img class="aligncenter size-large wp-image-505 dtse-img dtse-post-501" title="DSC_1765a" src="http://pinguino.walii.es/wp-content/uploads/2011/04/DSC_1765a-1024x682.jpg" alt="" width="614" height="409" /></p>
<p style="text-align: center;">&nbsp;</p>
<p style="text-align: center;"><span id="more-501"></span></p>
<p style="text-align: center;"><a href="http://pinguino.walii.es/wp-content/uploads/2011/04/DSC_1766a.jpg"><img class="aligncenter size-large wp-image-504 dtse-img dtse-post-501" title="DSC_1766a" src="http://pinguino.walii.es/wp-content/uploads/2011/04/DSC_1766a-1024x682.jpg" alt="" width="614" height="409" /></a></p>
<p style="text-align: center;"><a href="http://pinguino.walii.es/wp-content/uploads/2011/04/DSC_1768a.jpg"><img class="aligncenter size-large wp-image-503 dtse-img dtse-post-501" title="DSC_1768a" src="http://pinguino.walii.es/wp-content/uploads/2011/04/DSC_1768a-1024x682.jpg" alt="" width="614" height="409" /></a></p>
<p style="text-align: center;"><a href="http://pinguino.walii.es/wp-content/uploads/2011/04/DSC_1769a.jpg"><img class="aligncenter size-large wp-image-502 dtse-img dtse-post-501" title="DSC_1769a" src="http://pinguino.walii.es/wp-content/uploads/2011/04/DSC_1769a-1024x682.jpg" alt="" width="614" height="409" /></a></p>
<p style="text-align: center;">&nbsp;</p>
<p style="text-align: left;">El código fuente es:</p>
<pre class="brush: python; title: ; notranslate">
/*
Tema: mascota para la niña
Acciones: detector de objetos y diferencias en el terreno, con sensor de apagado en el lomo.
Autor: walterleonardo
Partes: PINGUINO 18f2550, sensores infrarrojos, servo motores modificados

*/

int stopd=74;//punto quieto de servo modificado
int stopi=72;//punto quieto de servo modificado
int adelantei=250;
int adelanted=1;
int atrasi=1;
int atrasd=250;
int topirdata,frontirdata,bottonirdata,topirdatai,frontirdatai,bottonirdatai;
#define topir 15
#define bottonir 14
#define frontir 13
#define izquierdo 0
#define derecho 1

void lectura() //lectora de sensores
{
topirdata=analogRead(topir);
bottonirdata=analogRead(bottonir);
frontirdata=analogRead(frontir);

}

void caida() //accion ante posible caida o modificacion del terreno
{
//detiene marcha
servo.write(izquierdo,stopi);
servo.write(derecho,stopd);
delay(500);
//atras
servo.write(izquierdo,atrasi);
servo.write(derecho,atrasd);
delay(1000);
//gira derecha
servo.write(izquierdo,adelantei);
servo.write(derecho,atrasd);
delay(1000);
//arranca
lectura();
if (bottonirdatai&lt;=bottonirdata-100) caida(); servo.write(izquierdo,adelantei); servo.write(derecho,adelanted); } void atras() //accion ante obstaculo { //detiene marcha servo.write(izquierdo,stopi); servo.write(derecho,stopd); delay(200); //atras servo.write(izquierdo,atrasi); servo.write(derecho,atrasd); delay(500); //gira derecha servo.write(izquierdo,adelantei); servo.write(derecho,atrasd); delay(1000); //arranca lectura(); if (frontirdatai&gt;=frontirdata+50) atras();
servo.write(izquierdo,adelantei);
servo.write(derecho,adelanted);

}

void detiene() //accion de detenerse
{
//detiene marcha
servo.write(izquierdo,stopi);
servo.write(derecho,stopd);
delay(2000);
lectura();
if (topirdatai&gt;=topirdata+50) detiene();
servo.write(izquierdo,adelantei);
servo.write(derecho,adelanted);

}

void setup()
{
Serial.begin(9600); //serial para debug, puede quitarse
//pero deben quitarse todo lo relacionado
servo.attach(0); //servo izquierdo
servo.attach(1); //servo derecho
//leemos los valores y los guardamos en variables iniciales
//para poder comparar y ademas tener un rendimiento optimo
//en todas las condiciones de luz.
//ya que permite medir la diferencia y no solo una medida x
lectura();
topirdatai=topirdata;
bottonirdatai=bottonirdata;
frontirdatai=frontirdata;
}

void loop()
{
//para debug imprimimos los valores en el serial
Serial.printf(&quot;topirdata = %d &quot;, topirdata);
Serial.printf(&quot;bottonirdata = %d &quot;, bottonirdata);
Serial.printf(&quot;frontirdata = %d\r\n&quot;, frontirdata);
//verificamos que las diferencias no sean muy grandes
//para asi evitar que este cambiando de direccion con cualquier
//minima variación.
if (topirdatai&gt;=topirdata+50) detiene(); //detiene si detecta diferencias en el sensor superior
if (frontirdatai&gt;=frontirdata+50) atras(); //atras y cambia de sentido si detecta diferencias en el sensor frontal
if (bottonirdatai&lt;=bottonirdata-100) caida(); //atras y cambia de sentido si detecta diferencias en el sensor de terreno
delay(100);
lectura(); //ordena leer nuevamente los sensores
}
</pre>
<p style="text-align: left;">&nbsp;</p>
<p style="text-align: left;">&nbsp;</p>
<div class="shr-publisher-501"></div><!-- Start LikeButtonSetBottom --><!-- End LikeButtonSetBottom -->


		<!-- Added by WP-DragToShare-eXtended Plugin -->
		<script type="text/javascript">
			dtsv.dtse_post_501_permalink = 'http://pinguino.walii.es/?p=501';
			dtsv.dtse_post_501_title = 'Mascota AirWick';
		</script>
		<!-- End of WP-DragToShare-eXtended Plugin -->]]></content:encoded>
			<wfw:commentRss>http://pinguino.walii.es/?feed=rss2&#038;p=501</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>BarCamp ARDE</title>
		<link>http://pinguino.walii.es/?p=494</link>
		<comments>http://pinguino.walii.es/?p=494#comments</comments>
		<pubDate>Sun, 27 Mar 2011 19:19:25 +0000</pubDate>
		<dc:creator>walterleonardo</dc:creator>
				<category><![CDATA[PINGUINO]]></category>
		<category><![CDATA[Varios]]></category>

		<guid isPermaLink="false">http://pinguino.walii.es/?p=494</guid>
		<description><![CDATA[Bueno al final me he presentado en la BarCamp&#8230; y la verdad que estuvo muy interesante y he sacado en claro que no soy el unico trastornado de Madrid que le gustan estas cosas&#8230; Edificio del UNED en las Tablas (Madrid) Mi ponencia sobre pinguino. Uno de los proyectos mas bonitos que he visto&#8230; una [...]]]></description>
			<content:encoded><![CDATA[<!-- Start LikeButtonSetTop --><!-- End LikeButtonSetTop --><p>Bueno al final me he presentado en la BarCamp&#8230; y la verdad que estuvo muy interesante y he sacado en claro que no soy el unico trastornado de Madrid que le gustan estas cosas&#8230; <img src='http://pinguino.walii.es/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>Edificio del UNED en las Tablas (Madrid)</p>
<p style="text-align: center;"><a href="http://pinguino.walii.es/wp-content/uploads/2011/03/uned.jpg"><img class="aligncenter size-large wp-image-495 dtse-img dtse-post-494" title="uned" src="http://pinguino.walii.es/wp-content/uploads/2011/03/uned-1024x682.jpg" alt="" width="614" height="409" /></a></p>
<p>Mi ponencia sobre pinguino.</p>
<p style="text-align: center;"><a href="http://pinguino.walii.es/wp-content/uploads/2011/03/Ponencia.jpg"><img class="aligncenter size-large wp-image-496 dtse-img dtse-post-494" title="Ponencia" src="http://pinguino.walii.es/wp-content/uploads/2011/03/Ponencia-1024x682.jpg" alt="" width="614" height="409" /></a></p>
<p>Uno de los proyectos mas bonitos que he visto&#8230; una bestia!</p>
<p style="text-align: center;"><a href="http://pinguino.walii.es/wp-content/uploads/2011/03/robot.jpg"><img class="aligncenter size-large wp-image-497 dtse-img dtse-post-494" title="robot" src="http://pinguino.walii.es/wp-content/uploads/2011/03/robot-1024x682.jpg" alt="" width="614" height="409" /></a></p>
<p>Uno de los proyectos basados en PINGUINO, muy bonito&#8230; inspirador&#8230;</p>
<p style="text-align: center;"><a href="http://pinguino.walii.es/wp-content/uploads/2011/03/Robot-PINGUINO.jpg"><img class="aligncenter size-large wp-image-498 dtse-img dtse-post-494" title="Robot PINGUINO" src="http://pinguino.walii.es/wp-content/uploads/2011/03/Robot-PINGUINO-1024x950.jpg" alt="" width="368" height="342" /></a></p>
<p>Pero sinceramente la he pasado muy bien&#8230; y hemos hecho durar la charla mas alla de las 19hrs. He aprendido mucho y me he empapado de toda la info interesante que han hablado los ponentes.</p>
<p>Tambien he realizado una charla de PINGUINO aunque la gente que estaba ya tenia muchos conocimientos se han sorprendido con las peculiaridades de PINGUINO.</p>
<p>La gente de ARDE ha filmado el evento para poder colgarlo de su WEB&#8230; y compartir con mucha mas gente esta información.</p>
<p style="text-align: center;"><a href="http://pinguino.walii.es/wp-content/uploads/2011/03/arde-grabando.jpg"><img class="aligncenter size-large wp-image-499 dtse-img dtse-post-494" title="arde-grabando" src="http://pinguino.walii.es/wp-content/uploads/2011/03/arde-grabando-1024x682.jpg" alt="" width="614" height="409" /></a></p>
<p>También he sacado en claro que necesitamos unirnos para poder hacer cosas interesantes&#8230; cada uno aporta lo suyo&#8230; pero unidos creo que puede salir algo muy importante&#8230;</p>
<p>Espero volver a verlos en la proxima reunion&#8230;</p>
<div class="shr-publisher-494"></div><!-- Start LikeButtonSetBottom --><!-- End LikeButtonSetBottom -->


		<!-- Added by WP-DragToShare-eXtended Plugin -->
		<script type="text/javascript">
			dtsv.dtse_post_494_permalink = 'http://pinguino.walii.es/?p=494';
			dtsv.dtse_post_494_title = 'BarCamp ARDE';
		</script>
		<!-- End of WP-DragToShare-eXtended Plugin -->]]></content:encoded>
			<wfw:commentRss>http://pinguino.walii.es/?feed=rss2&#038;p=494</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>BarCamp ARDE (PINGUINO entre otras cosas)</title>
		<link>http://pinguino.walii.es/?p=489</link>
		<comments>http://pinguino.walii.es/?p=489#comments</comments>
		<pubDate>Tue, 22 Mar 2011 12:56:05 +0000</pubDate>
		<dc:creator>walterleonardo</dc:creator>
				<category><![CDATA[PINGUINO]]></category>

		<guid isPermaLink="false">http://pinguino.walii.es/?p=489</guid>
		<description><![CDATA[Este sabado 26 de Marzo se organizará una reunión tipo BARCAMP en el UNED (de las Tablas, Madrid), para los que quieran participar, visitarnos o solo pasarse un rato. Aquí estan los datos. Intentaré hablar sobre PINGUINO y ayudar a los principiantes a entrar en este mundo. http://barcamp.org/w/page/38043852/V-Jornadas-Robóticas Saludos los esperamos.]]></description>
			<content:encoded><![CDATA[<!-- Start LikeButtonSetTop --><!-- End LikeButtonSetTop --><p>Este sabado 26 de Marzo se organizará una reunión tipo BARCAMP en el UNED (de las Tablas, Madrid), para los que quieran participar, visitarnos o solo pasarse un rato. Aquí estan los datos.</p>
<p>Intentaré hablar sobre PINGUINO y ayudar a los principiantes a entrar en este mundo.</p>
<p>http://barcamp.org/w/page/38043852/V-Jornadas-Robóticas</p>
<p><a href="http://barcamp.org/w/page/38043852/V-Jornadas-Robóticas"><img class="aligncenter size-full wp-image-490 dtse-img dtse-post-489" title="jornadas2011" src="http://pinguino.walii.es/wp-content/uploads/2011/03/jornadas2011.jpg" alt="" width="510" height="140" /></a></p>
<p>Saludos los esperamos.</p>
<div class="shr-publisher-489"></div><!-- Start LikeButtonSetBottom --><!-- End LikeButtonSetBottom -->


		<!-- Added by WP-DragToShare-eXtended Plugin -->
		<script type="text/javascript">
			dtsv.dtse_post_489_permalink = 'http://pinguino.walii.es/?p=489';
			dtsv.dtse_post_489_title = 'BarCamp ARDE (PINGUINO entre otras cosas)';
		</script>
		<!-- End of WP-DragToShare-eXtended Plugin -->]]></content:encoded>
			<wfw:commentRss>http://pinguino.walii.es/?feed=rss2&#038;p=489</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>DIGITAL CODE LOCK</title>
		<link>http://pinguino.walii.es/?p=485</link>
		<comments>http://pinguino.walii.es/?p=485#comments</comments>
		<pubDate>Sat, 05 Mar 2011 09:53:03 +0000</pubDate>
		<dc:creator>walterleonardo</dc:creator>
				<category><![CDATA[PINGUINO]]></category>

		<guid isPermaLink="false">http://pinguino.walii.es/?p=485</guid>
		<description><![CDATA[Aquí, algo que he querido publicar hace tiempo… y por eso lo verán instalado ya en mi coche… ya lleva algún tiempo de pruebas y ha salido victorioso. Siempre me preguntaba porque un Mercedes CLK puede tener un arranque con código y yo en mi Korando no??? J Por eso me puse manos a la [...]]]></description>
			<content:encoded><![CDATA[<!-- Start LikeButtonSetTop --><!-- End LikeButtonSetTop --><p>Aquí, algo que he querido publicar hace tiempo… y por eso lo verán instalado ya en mi coche… ya lleva algún tiempo de pruebas y ha salido victorioso.</p>
<p>Siempre me preguntaba porque un Mercedes CLK puede tener un arranque con código y yo en mi Korando no??? <span style="font-family: Wingdings;">J</span> Por eso me puse manos a la obra y he realizado este proyecto.</p>
<p>Básicamente funciona así: si uno no introduce el código correcto no cierra el circuito y no alimenta al circuito de arranque… algo como un corte de arranque pero en forma de código…</p>
<p>Con un cable muy largo e instalado separadamente el PINGÜINO y el teclado, y así poder tener el teclado en una posición disimulada, por sobre el parasol, entonces si no se baja el parasol es imposible ver la modificación… también he incluido un  procedimiento para modificar el código para poder cambiarlo por ejemplo cuando lo dejamos en el taller de reparaciones o cuando lo dejamos en los lava coches. Y así no descubren nuestro verdadero código.</p>
<p>El código funciona utilizando la memoria EEPROM del PINGÜINO para poder grabar de forma permanente el número secreto, y que este no se modifique o se pierda con una falta de energía. Por tal motivo podremos conectarlo en la conexión de contacto de nuestro coche… y así alimentarlo solo mientras se necesite.</p>
<p style="text-align: center;"><img class="dtse-img dtse-post-485" src="http://pinguino.walii.es/wp-content/uploads/2011/03/030511_0951_DIGITALCODE1.jpg" alt="" /><img class="dtse-img dtse-post-485" src="http://pinguino.walii.es/wp-content/uploads/2011/03/030511_0951_DIGITALCODE2.jpg" alt="" /></p>
<p style="text-align: center;"><img class="dtse-img dtse-post-485" src="http://pinguino.walii.es/wp-content/uploads/2011/03/030511_0951_DIGITALCODE3.jpg" alt="" /><img class="dtse-img dtse-post-485" src="http://pinguino.walii.es/wp-content/uploads/2011/03/030511_0951_DIGITALCODE4.jpg" alt="" /></p>
<p style="text-align: center;"><span id="more-485"></span></p>
<p>El circuito de pruebas fue algo muy básico con dos leds, uno para testigo de cuando presionábamos las teclas y otro led para reemplazar el rele.</p>
<p style="text-align: center;"><img class="dtse-img dtse-post-485" src="http://pinguino.walii.es/wp-content/uploads/2011/03/030511_0951_DIGITALCODE5.jpg" alt="" /></p>
<p>El código  es algo complicado porque actualmente no poseemos librerías para teclado, pero me las he ingeniado para hacer un ROUNDROBIN para detectar las pulsaciones, quizás no es tan sensible como quisiera, pero manteniendo el botón presionado por medio segundo y verificando que el LED enciende, estamos seguros que detecto la acción.</p>
<p>El código por defecto y luego de restaurar es &#8220;1234&#8243;, para restaurar un código olvidado o erróneo tenemos la opción de &#8220;RESTAURAR&#8221; en este punto colocando el valor a 1 limpiaremos la memoria, podremos poner un botón secreto para esto, o el puerto USB accesible y escribir el código nuevo vía USB.(creo que esta es la mejor forma… por eso lo tengo así)</p>
<p>En este caso, cuando presionamos el código y la tecla &#8220;E&#8221;, estamos intentando &#8220;cerrar el rele&#8221;, si lo tipeamos mal no nos dejará y por puerto serie aparecerá el mensaje de &#8220;error en el código&#8221;</p>
<p>Para el caso de cambiar la clave deberemos estar primero ingresados, &#8220;con el rele cerrado&#8221;, habiendo puesto el código correcto. Luego de esto hay que ingresar el nuevo código y presionar &#8220;F&#8221; para grabarlo.</p>
<p>Para el caso que no estuviésemos ya registrados con el código correcto e intentemos modificarlo, en el puerto serie obtendremos un mensaje de error.</p>
<p>El código es este:</p>
<pre class="brush: python; title: ; notranslate">

// KEY LOCK

// Walii 2011

/*teclado conectado al puerto RB, pines pinguino 0 al 7

del 0-3 producen nivel alto en las columnas

del 4-7 hacen el control de activacion de las filas

por ejemplo si tenemos el nivel 3 alto, y detectamos un nivel alto

en el teminal 5, estaremos viendo un nuevo 7 del teclado

para cada caso es diferente.

NOTA: recordemos que aunque el PINGUINO se quede sin energia

guarda en su memoria el codigo. Ya que es guardado en la EEPROM

Todos los PRINT son para debug, pueden quitarse.

*/

//esto es una aplicacion completa y la tengo funcionando en mi auto.

#include &lt;eepromlib.c&gt;

#define PIC18F4550

unsigned char i=0;

unsigned char x=1;

unsigned char c=0;

unsigned char val,result,suma;

unsigned int key[4]={1,2,3,4};//valor de ejemplo

unsigned char verificado=0;//valor de autenticado

unsigned char restaurar=0;//valor para restaurar la config

void setup()

{

   for (i=0;i&lt;4;i++)

{

pinMode(i,OUTPUT);

digitalWrite(i,LOW);

}

pinMode(28,OUTPUT);//rele de apertura de puerta, o en mi caso de arranque del auto.

digitalWrite(28,LOW);

pinMode(27,OUTPUT);//Buzzer para testificar las acciones

Serial.begin(115200);

}

void loop()

{

if (restaurar==1) limpiar();//limpiamos la memoria si restaurar esta en 1

//comenzamos el trabajo

//aqui hacemos rotar el valor X para poder

//realizar ROUNDROBIN en las columnas del teclado.

digitalWrite(x,HIGH);

//delay(200);

if (digitalRead(x)==1)

{

//escuchamos las filas para cada columna activada

if (digitalRead(7)) key1=3-x+1,c=c+1,ping();

if (digitalRead(6)) key1=6-x+1,c=c+1,ping();

if (digitalRead(5)) key1=9-x+1,c=c+1,ping();

//en este ultimo caso es especial, porque tenemos las teclas F/0/E

//y queremos usar F para grabar el codigo y E para entrar el codigo

if (digitalRead(4))

{

result=12-x+1;

if (result==10) formatear();

if (result==11) key1=0,c=c+1,ping();

if (result==12) entrar();

}

delay(100);

}

digitalWrite(x,LOW);

x=x+1;

if (x==4) x=1;

if (c==4) c=0;

//Imprimimos el valor del array de clave (key)

//esta es la clave predeterminada pero NO la guardada en memoria

Serial.print(&quot;\n\rLa clave es&quot;);

Serial.print(&quot;\n\r&quot;);

Serial.print(&quot;\n\r&quot;);

Serial.print(key[0],DEC);

Serial.print(key[1],DEC);

Serial.print(key[2],DEC);

Serial.print(key[3],DEC);

//delay(500);

}

//Aqui tenemos el modulo para grabar una nueva clave...

//deberia estar autenticado para poder modificarla

void formatear()

{

if (verificado==1)

{

  for (i = 0; i &lt; 4; i++){

  val=key[i];

    ee_write(i, val);

    delay(100);

    if (i==3) Serial.print(&quot;grabado...\n\r&quot;);

    }

}

else

{

Serial.print(&quot;NO puede cambiar la clave&quot;);

}

}

//este es el modulo de entrada, verifica que el array sea identico

//a los datos grabados en la EEPROM

void entrar()

{

suma=0;

  for (i = 0; i &lt; 4; i++){

    if (ee_read(i)==key[i]) suma++;//verifica con una suma, que todos los valores esten bien.

    //delay(100);

    }

if (suma==4)

{

Serial.print(&quot;Codigo correcto --- puedes entrar...\n\r&quot;);

digitalWrite(27,HIGH),delay(100),digitalWrite(27,LOW);

verificado=1;//modifica el valor de verificado, permitiendo modificar la clave

activaRele();//si es correcto cambia el valor de verificado y activa el rele.

c=0;//vuelve a cero el contador de array

}

else

{

Serial.print(&quot;error en el codigo...\n\r&quot;);

digitalWrite(27,HIGH),delay(100),digitalWrite(27,LOW);

digitalWrite(28,LOW);

verificado=0;//quita la marca a verificado

c=0;//vuelve a cero el contador de array

}

}

//Activa el rele, subiendo el estado del pin 28

//no me interesa bajar el estado, ya que solo

//se desconectará cuando pierda energia, de la alimentacion el auto

//cuando quite la llave.

void activaRele()

{

beep();

digitalWrite(28,HIGH);

}

//esto restaura los valores a 1,2,3,4 solo si se compila con

//el valor restaurar en 1 (por seguridad lo dejo fuera del acceso del teclado)

//pero se puede poner un boton secreto en algun lado...

void limpiar()

{

for (i = 0; i &lt; 4; i++){

    ee_write(i, i+1);

    delay(100);

    if (i==3) Serial.print(&quot;restaurado...\n\r&quot;);

    }

restaurar=0;

}

//parpadeo de un ciclo, mejor que sea un LED.

void ping()

{

digitalWrite(27,HIGH),delay(100),digitalWrite(27,LOW);

}

//parpadeo de 3 ciclos, puede ser un LED o un BUZZER

void beep()

{

digitalWrite(27,HIGH),delay(100),digitalWrite(27,LOW),delay(100);

digitalWrite(27,HIGH),delay(100),digitalWrite(27,LOW),delay(100);

digitalWrite(27,HIGH),delay(100),digitalWrite(27,LOW);

}
</pre>
<p style="text-align: center;">Nota: estoy muy contento con mi proyecto y  sé que puede usarse para infinidad de distintos y nuevos proyectos.</p>
<p style="text-align: center;">Espero que os agrade.</p>
<div class="shr-publisher-485"></div><!-- Start LikeButtonSetBottom --><!-- End LikeButtonSetBottom -->


		<!-- Added by WP-DragToShare-eXtended Plugin -->
		<script type="text/javascript">
			dtsv.dtse_post_485_permalink = 'http://pinguino.walii.es/?p=485';
			dtsv.dtse_post_485_title = 'DIGITAL CODE LOCK';
		</script>
		<!-- End of WP-DragToShare-eXtended Plugin -->]]></content:encoded>
			<wfw:commentRss>http://pinguino.walii.es/?feed=rss2&#038;p=485</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Código de lectura y escritura en la EEPROM del PINGUINO</title>
		<link>http://pinguino.walii.es/?p=476</link>
		<comments>http://pinguino.walii.es/?p=476#comments</comments>
		<pubDate>Thu, 17 Feb 2011 17:10:25 +0000</pubDate>
		<dc:creator>walterleonardo</dc:creator>
				<category><![CDATA[PINGUINO]]></category>

		<guid isPermaLink="false">http://pinguino.walii.es/?p=476</guid>
		<description><![CDATA[Esto se me ocurrió tras hablas con JEAN, porque no he encontrado un ejemplo de tal uso, ya que PINGÜINO tiene 250 posiciones de memoria para utilizarlas en lo que uno quiera recordar, aunque nuestro pingüino se quede sin energía. Ya que es una memoria EEPROM puede recordar lo que escribamos en ella por siempre… [...]]]></description>
			<content:encoded><![CDATA[<!-- Start LikeButtonSetTop --><!-- End LikeButtonSetTop --><p>Esto se me ocurrió tras hablas con JEAN, porque no he encontrado un ejemplo de tal uso, ya que PINGÜINO tiene 250 posiciones de memoria para utilizarlas en lo que uno quiera recordar, aunque nuestro pingüino se quede sin energía. Ya que es una memoria EEPROM puede recordar lo que escribamos en ella por siempre… y ser borradas y re-escritas las veces que necesitemos.</p>
<p>He intentado hacer dos ejemplos muy fáciles y prácticos… uno escribe las 250 posiciones, y el otro las lee… para que veamos que después de apagar y reprogramar nuestro PINGÜINO, esta información sigue estando, ya que utiliza espacios de memoria que no se sobre-escriben si escribimos un nuevo código.</p>
<p><strong>Escritura:<br />
</strong></p>
<pre class="brush: python; title: ; notranslate">
#include &lt;eepromlib.c&gt;
#include 18f4550
int i;

void setup()
{
  for (i = 0; i &lt; 250; i++){
    ee_write(i, i);
    delay(100);
    if (i==250) Serial.print(&quot;grabado...\n\r&quot;);
    }
}

void loop()
{
}
</pre>
<p><strong>Y el código de lectura<br />
</strong></p>
<pre class="brush: python; title: ; notranslate">
#include &lt;eepromlib.c&gt;
#include 18f4550
unsigned char answer;
int i;
int a = 0;
int value;

void setup()
{
Serial.begin(9600);
}

void loop()
{
 value = ee_read(a);
  Serial.print(a,DEC);
  Serial.print(&quot;\t&quot;);
  Serial.print(value,DEC);
  Serial.print(&quot;\n\r&quot;);

  a = a + 1;

  if (a == 250)
    a = 0;

  delay(100);

}
</pre>
<div class="shr-publisher-476"></div><!-- Start LikeButtonSetBottom --><!-- End LikeButtonSetBottom -->


		<!-- Added by WP-DragToShare-eXtended Plugin -->
		<script type="text/javascript">
			dtsv.dtse_post_476_permalink = 'http://pinguino.walii.es/?p=476';
			dtsv.dtse_post_476_title = 'Código de lectura y escritura en la EEPROM del PINGUINO';
		</script>
		<!-- End of WP-DragToShare-eXtended Plugin -->]]></content:encoded>
			<wfw:commentRss>http://pinguino.walii.es/?feed=rss2&#038;p=476</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Problemas para detectar PINGÜINO en Windows XP</title>
		<link>http://pinguino.walii.es/?p=473</link>
		<comments>http://pinguino.walii.es/?p=473#comments</comments>
		<pubDate>Thu, 17 Feb 2011 14:55:10 +0000</pubDate>
		<dc:creator>walterleonardo</dc:creator>
				<category><![CDATA[PINGUINO]]></category>

		<guid isPermaLink="false">http://pinguino.walii.es/?p=473</guid>
		<description><![CDATA[Hoy me ha ocurrido algo que antes nunca… e instalado una maquina nueva con window xp y he intentado conectar un PINGÜINO, era muy extraño me lo detectaba correctamente como &#8220;Microchip Custom USB DEVICE&#8221; pero en el programa que trae el LIBUSB no aparecía y si no aparece en el listado el PINGÜINO GUI no [...]]]></description>
			<content:encoded><![CDATA[<!-- Start LikeButtonSetTop --><!-- End LikeButtonSetTop --><p>Hoy me ha ocurrido algo que antes nunca… e instalado una maquina nueva con window xp y he intentado conectar un PINGÜINO, era muy extraño me lo detectaba correctamente como &#8220;Microchip Custom USB DEVICE&#8221; pero en el programa que trae el LIBUSB no aparecía y si no aparece en el listado el PINGÜINO GUI no lo reconoce tampoco y no podemos escribir en él, recuerden que tenemos que buscar por &#8220;04D8 FEAA&#8221;, tras dar muchas vueltas por las entrañas de WINDOWS, instalar el LIBUSB varias veces, y reiniciar otras tantas, e buscado en el ORACULO, y encontré que hay una nueva versión de LIBUSB con una interfaz mas manual… ¿Qué quiero decir con manual?&#8230; ya lo verán.</p>
<p>Si os ocurre esto, descarguen de la web de LIBUSB o de mi pagina, aquí en la columna de la derecha de la página principal verán la descarga (recuerden que deben estar registrados para descargarla), lo instalan sin quitar nada, así nomas, encima del resto de instalaciones del LIBUSB…</p>
<p>El archivo se llama. <strong>libusb-win32-devel-filter-1.2.2.0.exe</strong></p>
<p><a href="http://sourceforge.net/projects/libusb-win32/files/libusb-win32-releases/1.2.2.0/">http://sourceforge.net/projects/libusb-win32/files/libusb-win32-releases/1.2.2.0/</a></p>
<p><span id="more-473"></span></p>
<p>Cuando termina de instalar, les aparece una opción.</p>
<p><img class="alignleft dtse-img dtse-post-473 dtse-img dtse-post-473" src="http://pinguino.walii.es/wp-content/uploads/2011/02/021711_1421_Problemaspa2.png" alt="" width="282" height="220" /><img src="http://pinguino.walii.es/wp-content/uploads/2011/02/021711_1421_Problemaspa3.png" alt="" width="283" height="219" /></p>
<p style="text-align: center;">Aquí la opcion nueva es el instalador de filtros manual… le decimos que queremos instalar un nuevo &#8220;device filter&#8221; y seguimos.</p>
<p><img class="alignleft dtse-img dtse-post-473 dtse-img dtse-post-473" src="http://pinguino.walii.es/wp-content/uploads/2011/02/021711_1421_Problemaspa5.png" alt="" /><img src="http://pinguino.walii.es/wp-content/uploads/2011/02/021711_1421_Problemaspa6.png" alt="" /></p>
<p style="text-align: center;">Aquí veremos el listado de dispositivos USB con su código de fabricante… buscaremos el antes mencionado. 04D8 FEAA y</p>
<p style="text-align: center;">Presionando el botón de INSTALL… &#8220;tenemos listo el pollo&#8221;</p>
<p style="text-align: center;"><img src="http://pinguino.walii.es/wp-content/uploads/2011/02/021711_1421_Problemaspa7.png" alt="" /></p>
<p style="text-align: center;">Ahora por seguridad, desenchufen el PINGÜINO y vuelvan a conectarlo… LISTO aunque sigue sin aparecer en el listado del TESTLIBUSB,</p>
<p style="text-align: center;">Aparece correctamente en la nueva aplicación del LIBUSB  &#8220;INF WIZARD&#8221; y es reconocido bien por el PINGÜINO GUI</p>
<p style="text-align: center;"><img src="http://pinguino.walii.es/wp-content/uploads/2011/02/021711_1421_Problemaspa8.png" alt="" /><img src="http://pinguino.walii.es/wp-content/uploads/2011/02/021711_1421_Problemaspa9.png" alt="" /></p>
<p style="text-align: center;"><img src="http://pinguino.walii.es/wp-content/uploads/2011/02/021711_1421_Problemaspa10.png" alt="" /></p>
<div class="shr-publisher-473"></div><!-- Start LikeButtonSetBottom --><!-- End LikeButtonSetBottom -->


		<!-- Added by WP-DragToShare-eXtended Plugin -->
		<script type="text/javascript">
			dtsv.dtse_post_473_permalink = 'http://pinguino.walii.es/?p=473';
			dtsv.dtse_post_473_title = 'Problemas para detectar PINGÜINO en Windows XP';
		</script>
		<!-- End of WP-DragToShare-eXtended Plugin -->]]></content:encoded>
			<wfw:commentRss>http://pinguino.walii.es/?feed=rss2&#038;p=473</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>IGLU CONTROL</title>
		<link>http://pinguino.walii.es/?p=458</link>
		<comments>http://pinguino.walii.es/?p=458#comments</comments>
		<pubDate>Wed, 16 Feb 2011 09:42:18 +0000</pubDate>
		<dc:creator>walterleonardo</dc:creator>
				<category><![CDATA[PINGUINO]]></category>

		<guid isPermaLink="false">http://pinguino.walii.es/?p=458</guid>
		<description><![CDATA[En principio quería explicar el nombre… porque se me ocurrió exactamente haciendo eso, buscando un nombre… ya que este proyecto se inicia como un control domótico utilizando PINGÜINO para comandar todos los artefactos y censar temperatura y humedad de todos los puntos de la casa. Entonces aunando PINGÜINO y CASA, se me ocurrió el nombre [...]]]></description>
			<content:encoded><![CDATA[<!-- Start LikeButtonSetTop --><!-- End LikeButtonSetTop --><p>En principio quería explicar el nombre… porque se me ocurrió exactamente haciendo eso, buscando un nombre… ya que este proyecto se inicia como un control domótico utilizando PINGÜINO para comandar todos los artefactos y censar temperatura y humedad de todos los puntos de la casa. Entonces aunando PINGÜINO y CASA, se me ocurrió el nombre de PROYECTO IGLU CONTROL.</p>
<p>Me he basado en la mezcla de varias tecnologías, como suelo hacer siempre:</p>
<ol style="margin-left: 38pt;">
<li>Cliente grafico (un ordenador o teléfono inteligente con un browser) y conexión a Internet.</li>
<li>Un router de borde con Linux &#8220;OPENWRT&#8221; y un túnel seguro (OPENVPN/PPTP) para recibir la conexión y dejar entrar en mi red privada desde cualquier parte del mundo.</li>
<li>Un servidor Linux, para centralizar toda la información recibida de los PINGUINOS, procesarla y presentarla en pantalla, a la vez también es el encargado de enviar las ordenes a cada una de los PINGUINOS (control de domótico de electrodomésticos)</li>
<li>Varios módulos XBEE, para la comunicación entre el servidor y los PINGUINOS</li>
<li>Algunos routers con Linux &#8220;OPENWRT&#8221; y puertos USB para la monitorización de la actividad mediante cámaras WEB.</li>
<li>Y muchos PINGUINOS con controles de potencia, relés eléctricos y sensores de temperatura, iluminación y humedad.</li>
</ol>
<p><strong>NOTA: el punto &#8220;2&#8243; se puede obviar si solo queremos conectarnos desde nuestra misma red.</strong></p>
<p><strong> </strong></p>
<p><img class="alignleft dtse-img dtse-post-458 dtse-img dtse-post-458" style="border: 0pt none;" src="http://pinguino.walii.es/wp-content/uploads/2011/02/021611_0940_IGLUCONTROL1.png" alt="" width="187" height="545" /><img style="border: 0pt none;" src="http://pinguino.walii.es/wp-content/uploads/2011/02/021611_0940_IGLUCONTROL2.png" alt="" width="186" height="541" /><img class="alignleft dtse-img dtse-post-458 dtse-img dtse-post-458" style="border: 0pt none;" src="http://pinguino.walii.es/wp-content/uploads/2011/02/021611_0940_IGLUCONTROL3.png" alt="" width="187" height="545" /><strong><br />
<span id="more-458"></span><br />
</strong></p>
<p>COMENZAMOS EL PROYECTO:</p>
<p>Utilizando un cliente grafico (Un teléfono inteligente o un ordenador con WIFI) nos conectamos a nuestro router de borde, este no hace mucho más que recibir la conexión, una vez conectado, el cliente abre una sesión con un servidor WEB, que es el encargado de centralizar toda la información enviada por los PINGUINOS que se sitúan en puntos estratégicos de mi casa, también se encarga de enviar a cada uno las órdenes dictadas por cada cliente conectado al servidor.</p>
<p style="text-align: center;"><img src="http://pinguino.walii.es/wp-content/uploads/2011/02/021611_0940_IGLUCONTROL4.png" alt="" /></p>
<p>*Imagen del control via un browser en WINDOWS.</p>
<p style="text-align: center;"><img src="http://pinguino.walii.es/wp-content/uploads/2011/02/021611_0940_IGLUCONTROL5.png" alt="" /></p>
<p>En este punto nos aparece en el cliente una pantalla de bienvenida que nos ofrece las opciones:</p>
<div style="text-align: center; margin-left: 56pt;">
<table style="border-collapse: collapse;" border="0">
<colgroup>
<col style="width: 251px;"></col>
<col style="width: 277px;"></col>
</colgroup>
<tbody>
<tr>
<td style="padding-left: 7px; padding-right: 7px; border: solid black 0.5pt;" colspan="2">
<ul style="margin-left: 56pt;">
<li><strong>Control de iluminación </strong><strong> </strong></li>
</ul>
<p>Mediante la utilización de RELES y transistores de potencia, por ejemplo TIC 226, se pueden controlar los electrodomésticos y la iluminación de toda la casa. (se recomienda separar eléctricamente el microcontrolador de la corriente alterna, utilizando optoacopladores)</td>
<td style="padding-left: 7px; padding-right: 7px; border-top: solid black 0.5pt; border-left: none; border-bottom: solid black 0.5pt; border-right: solid black 0.5pt;">
<p style="margin-left: 20pt;"><img style="border: 0pt none;" src="http://pinguino.walii.es/wp-content/uploads/2011/02/021611_0940_IGLUCONTROL6.png" alt="" width="181" height="527" /></p>
</td>
</tr>
<tr>
<td style="padding-left: 7px; padding-right: 7px; border-top: none; border-left: solid black 0.5pt; border-bottom: solid black 0.5pt; border-right: solid black 0.5pt;" colspan="2">
<ul style="margin-left: 56pt;">
<li><strong>Control de temperaturas </strong><strong> </strong></li>
</ul>
<p>Mediante la utilización de sensores LM35, puedo monitorizar la temperatura en la casa, la caldera de agua caliente y el acuario.</td>
<td style="padding-left: 7px; padding-right: 7px; border-top: none; border-left: none; border-bottom: solid black 0.5pt; border-right: solid black 0.5pt;">
<p style="margin-left: 20pt;"><img style="border: 0pt none;" src="http://pinguino.walii.es/wp-content/uploads/2011/02/021611_0940_IGLUCONTROL7.png" alt="" width="178" height="266" /></p>
</td>
</tr>
<tr>
<td style="padding-left: 7px; padding-right: 7px; border-top: none; border-left: solid black 0.5pt; border-bottom: solid black 0.5pt; border-right: solid black 0.5pt;" colspan="2">
<ul style="margin-left: 56pt;">
<li><strong>Monitorización de cámaras </strong><strong> </strong></li>
</ul>
<p>El sistema se compone también de cámaras para monitorizar cada punto en donde poseo un router con puerto USB o un servidor LINUX. En total activas siempre tengo un mínimo de 4 cámaras.</td>
<td style="padding-left: 7px; padding-right: 7px; border-top: none; border-left: none; border-bottom: solid black 0.5pt; border-right: solid black 0.5pt;">
<p style="margin-left: 20pt;"><img style="border: 0pt none;" src="http://pinguino.walii.es/wp-content/uploads/2011/02/021611_0940_IGLUCONTROL8.png" alt="" width="182" height="529" /><img style="border: 0pt none;" src="http://pinguino.walii.es/wp-content/uploads/2011/02/021611_0940_IGLUCONTROL9.png" alt="" width="183" height="531" /></p>
</td>
</tr>
<tr>
<td style="padding-left: 7px; padding-right: 7px; border-top: none; border-left: solid black 0.5pt; border-bottom: solid black 0.5pt; border-right: solid black 0.5pt;" colspan="2">
<ul style="margin-left: 56pt;">
<li><strong>Control de cortinas </strong><strong> </strong></li>
</ul>
<p>Subir y bajar las cortinas, utilizando un motor eléctrico (algunas cortinas lo traen), y sensores infrarrojos para detectar la altura de la cortina.</p>
<p>Se puede medir la incidencia solar en la habitación y la temperatura y regular la altura de las cortinas.</td>
<td style="padding-left: 7px; padding-right: 7px; border-top: none; border-left: none; border-bottom: solid black 0.5pt; border-right: solid black 0.5pt;">
<p style="margin-left: 20pt;"><img style="border: 0pt none;" src="http://pinguino.walii.es/wp-content/uploads/2011/02/021611_0940_IGLUCONTROL10.png" alt="" width="180" height="525" /></p>
</td>
</tr>
<tr>
<td style="padding-left: 7px; padding-right: 7px; border-top: none; border-left: solid black 0.5pt; border-bottom: solid black 0.5pt; border-right: solid black 0.5pt;">
<ul style="margin-left: 56pt;">
<li>
<div><strong>Controles predeterminados</strong></p>
<p><strong> </strong></p>
</div>
</li>
</ul>
<p>Casos de emergencia, activa la alarma y desconecta servicios*.</p>
<p>Vacaciones, desconecta servicios.</p>
<p>Cerraduras, bloquea puertas y ventanas.</p>
<p>*Algunos de estos controles no los tengo implementado, más que nada porque vivo de alquiler y para realizar estas modificaciones necesito hacer reformas en la vivienda… lo dejare para más adelante. (Cerraduras)</p>
<p>*SERVICIOS: se refiere a los servicios de usos generales; agua, luz y gas. (con una simple electroválvula se controla  el suministro)</td>
<td style="padding-left: 7px; padding-right: 7px; border-top: none; border-left: none; border-bottom: solid black 0.5pt; border-right: solid black 0.5pt;">
<p style="margin-left: 20pt;"><img style="border: 0pt none;" src="http://pinguino.walii.es/wp-content/uploads/2011/02/021611_0940_IGLUCONTROL11.png" alt="" width="179" height="519" /></p>
</td>
</tr>
<tr>
<td style="padding-left: 7px; padding-right: 7px; border-top: none; border-left: solid black 0.5pt; border-bottom: solid black 0.5pt; border-right: solid black 0.5pt;">
<ul style="margin-left: 56pt;">
<li><strong>Control del acuario </strong><strong> </strong></li>
</ul>
<p>Control de iluminación (horas y potencia)</p>
<p>Regulación de cantidad y frecuencia de la Alimentación (alimentador electrónico, conectado a PINGÜINO)</p>
<p>Temperatura, mediante un rele, conectado a PINGÜINO y alimentado el calefactor eléctrico.(al mismo tiempo censando la temperatura con un LM35 impermeabilizado.)</td>
<td style="padding-left: 7px; padding-right: 7px; border-top: none; border-left: none; border-bottom: solid black 0.5pt; border-right: solid black 0.5pt;">
<p style="text-align: center; margin-left: 20pt;">En cuanto tenga la captura lo posteo, se me paso por alto guarda esta imagen</p>
</td>
</tr>
</tbody>
</table>
</div>
<p style="margin-left: 38pt;">
<p style="margin-left: 38pt;">Además he incluido algún detalle personal, por presumir un poco de equipamiento.</p>
<div style="text-align: center; margin-left: 54pt;">
<table style="border-collapse: collapse;" border="0">
<colgroup>
<col style="width: 220px;"></col>
<col style="width: 312px;"></col>
</colgroup>
<tbody>
<tr>
<td style="padding-left: 7px; padding-right: 7px; border: solid black 0.5pt;">
<ul style="margin-left: 54pt;">
<li><strong>Mediante &#8220;MRTG&#8221; </strong><strong> </strong></li>
</ul>
<p>Monitorización de estado de la red</p>
<p>Velocidades de transferencias de cada puerto del router de borde</p>
<p>Temperaturas de los CPU de todos los involucrados (Servidor Linux, FONERAS y router de borde)</td>
<td style="padding-left: 7px; padding-right: 7px; border-top: solid black 0.5pt; border-left: none; border-bottom: solid black 0.5pt; border-right: solid black 0.5pt;">
<p style="margin-left: 54pt;"><img style="border: 0pt none;" src="http://pinguino.walii.es/wp-content/uploads/2011/02/021611_0940_IGLUCONTROL12.png" alt="" width="181" height="527" /><img style="border: 0pt none;" src="http://pinguino.walii.es/wp-content/uploads/2011/02/021611_0940_IGLUCONTROL13.png" alt="" width="181" height="525" /></p>
</td>
</tr>
<tr>
<td style="padding-left: 7px; padding-right: 7px; border-top: none; border-left: solid black 0.5pt; border-bottom: solid black 0.5pt; border-right: solid black 0.5pt;">
<ul style="margin-left: 54pt;">
<li><strong>Control del TDT </strong><strong> </strong></li>
</ul>
<p>Voy a presumir un poquito &#8220;nomas&#8221; (ya que poseo un GIGASET con Linux modificado), se pueden:</p>
<p>Programar grabaciones</p>
<p>Ver transmisiones broadcast de televisión en la red</p>
<p>Visualizar las grabaciones realizadas a través de la red y muchas cosas mas</p>
<p>AUN ME QUEDA PENDIENTE CUSTOMIZAR EL CSS PARA COMPATIBILIZARLO AL IPHONE</td>
<td style="padding-left: 7px; padding-right: 7px; border-top: none; border-left: none; border-bottom: solid black 0.5pt; border-right: solid black 0.5pt;"></td>
</tr>
</tbody>
</table>
</div>
<p><strong>Una vez aquí solo tenemos que controlar, las luces, temperatura, censar la humedad, algún que otro electrodomésticos, cortinas, el acuario, seleccionar las configuraciones predeterminadas para la iluminación y las luces, como por ejemplo la configuración CINE, la cual apaga las luces enciende el proyector y baja la pantalla de proyección. Inclusive podríamos controlar la frecuencia de comida de los peces del acuario como su temperatura y configuración diaria de iluminación. También tenemos las opciones de monitorizar el consumo de CPU, las descargar y el trafico en general de la red. Y adicionalmente verificar que canal se está visionando en el televisor y programar cualquier grabación, todo desde fuera de casa, y pudiendo utilizar cualquier dispositivo que posea navegador y conexión a internet.</strong></p>
<p><strong> </strong></p>
<p><span style="font-size: 12pt; text-decoration: underline;"><strong>PROYECTO:</strong></span></p>
<p><strong> </strong></p>
<p>Básicamente utilizo UNIX SHELL, PHP, LUA y JavaScript, no es que sea un bocho (GURU) en todos estos lenguajes, pero en internet hay mucho tutorial y manual que ayuda mucho.</p>
<p>La información de los PINGÜINO las recibo por XBEE, y cada uno informa cada minuto su identificación, la información de todos sus sensores y las puertas activas.</p>
<p>Por ejemplo puedo recibir este mensaje: <span style="font-size: 14pt;"><strong>habitación,1,temp,20,hum,60,luz,12,puertas,00000100</strong></span>.</p>
<p>Nota: los mensajes de sensores se entienden, por eso explico el último dato (00000100) indica que posee la puerta 6 activa, pudiendo referirse a una luz en especial. Para estos casos he resuelto una disposición especial para cada control. Las primeras 3 puertas controlan los electrodomésticos o luces del lado norte de la habitación, los siguiente del lado central y los últimos tres del sur de la habitación. Indicando este mensaje que una luz o electrodoméstico del suroeste de la habitación, se encuentra activo.</p>
<p><strong><em>Para el caso de corte de luz, guardo esta info en el servidor, para ser enviada al PINGÜINO y restablecer el estado anterior de este controlador.</em></strong></p>
<p><strong><em> </em></strong></p>
<p><span style="font-size: 12pt; text-decoration: underline;"><strong>SCRIPT DE EJECUCION DE COMANDOS VIA SERIE</strong></span></p>
<p><strong> </strong></p>
<p>Esto son algunos de los scripts usados. Los cuales he copiado de mi propio proyecto RGB PINGÜINO <a href="http://pinguino.walii.es/?p=18">http://pinguino.walii.es/?p=18</a></p>
<p>Con un poco de imaginación y esmero se pueden hacer maravillas.</p>
<p><strong>Por ejemplo este es un script en LUA que envía un carácter &#8220;R&#8221; por puerto serie.</strong></p>
<p><strong> </strong></p>
<pre class="brush: python; title: ; notranslate">
---# //para rojo envía por puerto serie el carácter &quot;r&quot;
---#! /usr/bin/lua
caracter=&quot;echo r &gt; /dev/tts/1&quot;;
os.execute(caracter);
</pre>
<p><strong>Y esta la pagina web que posee el botón para ejecutar el script:</strong></p>
<p><strong> </strong></p>
<pre class="brush: python; title: ; notranslate">
&lt;html&gt;
&lt;head&gt;
&lt;title&gt;control de RGB via web   walii.es&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;
&lt;h2&gt;Control remoto RGB via web (&lt;a href=&quot;http://blog.walii.es/&quot; target=&quot;_new&quot;&gt;blog de Walii.es&lt;/a&gt;)&lt;/h2&gt;
&lt;p&gt;
&lt;b&gt;Presionando el boton activamos la salida para el color ROJO &lt;/b&gt;
&lt;/p&gt;
&lt;table border=&quot;0&quot; cellpadding=&quot;0&quot;&gt;
&lt;tr&gt;
&lt;td valign=&quot;top&quot; width=&quot;50%&quot;&gt;
&lt;p&gt;
&lt;b&gt;Este es solo para un color, necesita un poco de imaginación y diseño web para hacer el resto&lt;/b&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;/cgi-bin/rojo.lua&quot; target=&quot;_new&quot;&gt;ROJO&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/body&gt;
&lt;/html&gt;
</pre>
<p><strong><em>Con esto se supone que ustedes son capaces de hacer la web que quieran… pero para comenzar es más que suficiente, recuerden que el tipo de orden es la misma para PINGUINOS conectados vía serie directo que a través de XBEE.</em></strong></p>
<p><strong><em> </em></strong></p>
<p><span style="font-size: 12pt; text-decoration: underline;"><strong>CIRCUITOS:</strong></span></p>
<p><strong> </strong></p>
<p>No voy a poner todos los circuitos y diagramas de cada punto de control, solo indicare en detalle uno, e incluiré los diferentes controles.</p>
<p>CONTROL ILUMINACION</p>
<p style="text-align: center;"><img class="aligncenter dtse-img dtse-post-458 dtse-img dtse-post-458 dtse-img dtse-post-458" style="border: 0pt none;" src="http://pinguino.walii.es/wp-content/uploads/2011/02/021611_0940_IGLUCONTROL14.jpg" alt="" width="410" height="263" /></p>
<p>CONTROL DE CORTINAS</p>
<p style="text-align: center;"><img class="aligncenter dtse-img dtse-post-458 dtse-img dtse-post-458 dtse-img dtse-post-458" style="border: 0pt none;" src="http://pinguino.walii.es/wp-content/uploads/2011/02/021611_0940_IGLUCONTROL15.jpg" alt="" width="440" height="388" /></p>
<p>CONTROL DE TEMPERATURA  (Hogar)</p>
<p>El tema del control de temperatura, lo resolví más fácilmente, controlando toda la temperatura de la casa, como tengo una caldera electrónica, y utilizando un poco de ingeniería inversa, pude encontrar el control electrónico por PWM que regula la temperatura. Y enviando info desde un PINGÜINO, puedo controlar la temperatura general. (mas adelante y con algunos aditamentos veré si puedo diferencia las temperaturas por zonas).</p>
<p>Utilizo el puerto 16 del PIC, serían el 11 y 12 del pingüino 18f4550, los cuales son PWM.</p>
<p style="text-align: center;"><img class="aligncenter dtse-img dtse-post-458 dtse-img dtse-post-458 dtse-img dtse-post-458" style="border: 0pt none;" src="http://pinguino.walii.es/wp-content/uploads/2011/02/021611_0940_IGLUCONTROL16.jpg" alt="" width="314" height="139" /></p>
<p>CONTROL TEMPERATURA ACUARIO</p>
<p>Para esto utilizo el mismo circuito que de iluminación, combinado con un sensor de temperatura, ya que el termostato es puramente eléctrico.</p>
<p>SENSORES DE TEMPERATURA, ILUMINACION Y HUMEDAD</p>
<p><img style="border: 0pt none;" src="http://pinguino.walii.es/wp-content/uploads/2011/02/021611_0940_IGLUCONTROL17.jpg" alt="" width="328" height="314" /><img style="border: 0pt none;" src="http://pinguino.walii.es/wp-content/uploads/2011/02/021611_0940_IGLUCONTROL18.jpg" alt="" width="346" height="305" /><img style="border: 0pt none;" src="http://pinguino.walii.es/wp-content/uploads/2011/02/021611_0940_IGLUCONTROL19.jpg" alt="" width="322" height="315" /></p>
<p><span style="font-size: 12pt; text-decoration: underline;"><strong>PROGRAMA PINGÜINO:</strong></span></p>
<p><strong> </strong></p>
<p>El programa básico de los pingüinos es algo general, realizando todos más o menos la misma tarea.</p>
<pre class="brush: python; title: ; notranslate">
/*
*
* IGLU CONTROL PROJECT
*
* Example to home remote control
* With PINGUINO PIC
* And received all the control information
* From a XBEE and WIFI
*/

int key;
int volts=5; //alimentación del micro, o tension de referencia si tendriamos.
int name=1; //nombre del pinguino
int samples[10];
int tempc=0;
int luzc=0;
int humedadc=0;
int i,x,port0,port1,port2,port3,port4,port5,port6,port7;
float val1;

void setup()
{
for ( i=0 ; i &lt;8; i++){
pinMode(i,OUTPUT);
digitalWrite(i,LOW);
}
Serial.begin(9600);
}

void loop  ()
{
//controlamos temperatura, luz y humedad
//Temperatura
for (i=0;i&lt;=9;i++){
val1=analogRead(13);
samples[i]=(volts*val1*100)/1024.0;
tempc=tempc+samples[i];
}
//Dividimos por la misma cantidad de lecturas
tempc=tempc/10.0;

//Humedad
for (i=0;i&lt;=9;i++){
val1=analogRead(14);
samples[i]=val1/10.0;
humedadc=humedadc+samples[i];
}
//Obtenemos el promedio de valores
humedadc=humedadc/10.0;

//Iluminacion
for (i=0;i&lt;=9;i++){
val1=analogRead(15);
samples[i]=val1/10.0;
luzc= luzc+samples[i];
}
//Obtenemos el promedio de valores
luzc=luzc/10.0;

//Ahora vamos a escuchar el puerto serie
if (Serial.available()&gt;0){
key=Serial.read();//leemos la entrada del serie
if (key=='a') digitalWrite(0,digitalRead(0)^1); //Cambia el estado del Puerto 0 por su valor inverso
if (key=='b') digitalWrite(1,digitalRead(1)^1); //Cambia el estado del Puerto 1 por su valor inverso
if (key=='c') digitalWrite(2,digitalRead(2)^1); //Cambia el estado del Puerto 2 por su valor inverso
if (key=='d') digitalWrite(3,digitalRead(3)^1); //Cambia el estado del Puerto 3 por su valor inverso
if (key=='e') digitalWrite(4,digitalRead(4)^1); //Cambia el estado del Puerto 4 por su valor inverso
if (key=='f') digitalWrite(5,digitalRead(5)^1); //Cambia el estado del Puerto 5 por su valor inverso
if (key=='g') digitalWrite(6,digitalRead(6)^1); //Cambia el estado del Puerto 6 por su valor inverso
if (key=='h') digitalWrite(7,digitalRead(7)^1); //Cambia el estado del Puerto 7 por su valor inverso
port0=digitalRead(0);
port1=digitalRead(1);
port2=digitalRead(2);
port3=digitalRead(3);
port4=digitalRead(4);
port5=digitalRead(5);
port6=digitalRead(6);
port7=digitalRead(7);
Serial.print(&quot;received... OK!!!&quot;); //debug la respuesta y recepción del mensaje
Serial.print(&quot;\n\r&quot;);
Serial.print(&quot;habitacion,&quot;,name,&quot;, temp,&quot;,tempc,&quot;, hum,&quot;,humedadc,&quot;, luz,&quot;,luzc,&quot;, puertas,&quot;,port0,port1,port2,port3,port4,port5,port6,port7);
Serial.print(&quot;\n\r&quot;);
Serial.flush();//clear the serial buffer }
}
}
</pre>
<p><span style="font-size: 12pt; text-decoration: underline;"><strong>ROUTERs OPENWRT y SERVIDOR LINUX UBUNTU</strong></span></p>
<p><strong> </strong></p>
<p>Básicamente estos tienen varios tipos de Scripts y programas para realizar las tareas correspondientes:</p>
<ul style="margin-left: 72pt;">
<li>Los routers están customizados con la última versión &#8220;a día de hoy&#8221; del <strong>OPENWRT</strong> Backfire (10.03.1-rc4, r24045), en mi caso utilizo router compatibles con este sistema operativo, varias <strong>FONERAS</strong> y un router <strong>TP_LINK</strong>.</li>
<li>El servidor LINUX, es un UBUNTU versión 10.10, con un servidor web <strong>APACHE</strong>, <strong>PHP</strong> y <strong>MYSQL</strong>, además posee el programa <strong>MOTION</strong> porque también le he incorporado alguna cámara para monitorizar su zona.</li>
<li>Publicación de las imágenes vía WEBCAM, utilizo &#8220;<strong>MOTION</strong>&#8220;, que funciona muy bien, y tiene infinidad de opciones, como enviar un correo con la fotografía tomada si se detecta movimiento, guardar en un servidor remoto las imágenes para no dejarlas en la red privada, orientación de las imágenes, compresiones, etc.</li>
<li>La información de consumo de CPU, temperatura de CPU, utilización de la red, etc, la obtengo con el programa <strong>MRTG</strong>, el cual vía el protocolo SNMP recopila toda la información necesaria para realizar los reportes gráficos que se ven en las capturas.</li>
<li>Comunicación con PINGÜINO, mediante el puerto serie de estos dispositivos y utilizando algunos script de <strong>LUA</strong> y <strong>LINUX SHELL</strong>, también pueden utilizar los programas, MICROCOM y PICOCOM, son muy útiles en el caso de querer debugear un problema.</li>
<li>Para la comunicación con la red XBEE, es fácil, porque hay en el mercado un adaptador USBtoXBEE (se llama Xbee EXPLORER), y cuando se conecta al ordenador, este lo reconoce como un puerto serie, y utilizando los programas mencionados en el punto anterior, es fácil la comunicación.</li>
</ul>
<p><span style="font-size: 12pt; text-decoration: underline;"><strong>APLICACIÓN IPHONE:</strong></span></p>
<p><strong> </strong></p>
<p>Para más complicaciones he realizado una aplicación web (tradicionalmente llamada WEBAPPLICATION) para poder tener el control directo y acceso al servidor, sin tener que buscar el vinculo en el browser, y poder hacerlo todo más fluido. Son las imágenes mostradas en los ejemplos. Este es el acceso desde la propia aplicación.</p>
<p><img style="border: 0pt none;" src="http://pinguino.walii.es/wp-content/uploads/2011/02/021611_0940_IGLUCONTROL20.png" alt="" width="213" height="623" /><img style="border: 0pt none;" src="http://pinguino.walii.es/wp-content/uploads/2011/02/021611_0940_IGLUCONTROL21.png" alt="" width="214" height="625" /></p>
<p><img style="border: 0pt none;" src="http://pinguino.walii.es/wp-content/uploads/2011/02/021611_0940_IGLUCONTROL22.png" alt="" width="215" height="629" /><img style="border: 0pt none;" src="http://pinguino.walii.es/wp-content/uploads/2011/02/021611_0940_IGLUCONTROL23.png" alt="" width="215" height="629" /></p>
<p style="text-align: center;">
<p style="text-align: center;">Esto último se hace muy fácil, luego os indico en otro POST como, así no mesclamos las cosas.</p>
<p style="text-align: center;">Igual para los que quieran investigar, he utilizado un FRAMEWORK llamado IUI, aquí pueden descargarlo. Una recomendación: para sacarle todo el poder al framework utilizar el navegador de Apple, SAFARI.</p>
<p style="text-align: center;"><a href="http://iui.googlecode.com/files/iui-0.31.tar.gz">http://iui.googlecode.com/files/iui-0.31.tar.gz</a></p>
<p style="text-align: center;">
<p style="text-align: center;">Saludos y no duden en consultar lo que deseen.</p>
<div class="shr-publisher-458"></div><!-- Start LikeButtonSetBottom --><!-- End LikeButtonSetBottom -->


		<!-- Added by WP-DragToShare-eXtended Plugin -->
		<script type="text/javascript">
			dtsv.dtse_post_458_permalink = 'http://pinguino.walii.es/?p=458';
			dtsv.dtse_post_458_title = 'IGLU CONTROL';
		</script>
		<!-- End of WP-DragToShare-eXtended Plugin -->]]></content:encoded>
			<wfw:commentRss>http://pinguino.walii.es/?feed=rss2&#038;p=458</wfw:commentRss>
		<slash:comments>24</slash:comments>
		</item>
		<item>
		<title>Proyecto Cardrone Con PINGUINO</title>
		<link>http://pinguino.walii.es/?p=397</link>
		<comments>http://pinguino.walii.es/?p=397#comments</comments>
		<pubDate>Fri, 21 Jan 2011 10:39:50 +0000</pubDate>
		<dc:creator>walterleonardo</dc:creator>
				<category><![CDATA[PINGUINO]]></category>

		<guid isPermaLink="false">http://pinguino.walii.es/?p=397</guid>
		<description><![CDATA[Este proyecto intenta la reutilización de un vehículo radio controlado, reemplazando toda la electrónica con un micro-controlador PINGUINO, y el medio de transmisión, reemplazarlo con el protocolo de comunicación 802.15.4 ( XBEE/ZigBee), ofreciendo la capacidad de control a una distancia mayor a un kilometro. Adicionando a esta mejora, y entendiendo que a esta altura se [...]]]></description>
			<content:encoded><![CDATA[<!-- Start LikeButtonSetTop --><!-- End LikeButtonSetTop --><p class="MsoNormal"><span style="font-family: 'Myriad Pro', sans-serif;"> </span></p>
<p class="MsoNormal"><span style="font-family: &amp;amp;amp;">Este proyecto intenta la reutilización de un vehículo radio controlado, reemplazando toda la electrónica con un micro-controlador <strong>PINGUINO</strong>, y el medio de transmisión, reemplazarlo con el protocolo de comunicación 802.15.4 <strong>( XBEE/ZigBee), </strong>ofreciendo la capacidad de control a una distancia mayor a un kilometro.</span></p>
<p class="MsoNormal"><span style="font-family: &amp;amp;amp;"><span style="mso-tab-count: 1;"> </span>Adicionando a esta mejora, y entendiendo que a esta altura se podría controlar el vehículo con cualquier ordenador con un módulo XBEE conectado por USB… podríamos agregar la facilidad de controlarlo mediante un teléfono móvil o ipad<span style="mso-spacerun: yes;"> </span>“<strong>IPHONE/ANDROID”</strong>, mediante la utilización de <strong>PROCESSING</strong> y con la librería de comunicación <strong>OSCnet</strong> (para el caso de los dispositivos móviles se utiliza el programa <strong>TouchOSC</strong>).</span></p>
<p class="MsoNoSpacing"><strong><span style="mso-ansi-language: ES;">Nota: la versión de touchOSC para ANDROID es 100% gratis y de libre distribución.</span></strong></p>
<p class="MsoNoSpacing"><strong><span style="mso-ansi-language: ES;">La de IPHONE tiene un precio de $5.- dólares por única vez en la tienda de APPELSTORE</span></strong></p>
<p class="MsoNormal" style="text-align: center;"><a href="http://pinguino.walii.es/wp-content/uploads/2011/01/clip_image0011.jpg"><img class="aligncenter size-full wp-image-401 dtse-img dtse-post-397" title="clip_image001" src="http://pinguino.walii.es/wp-content/uploads/2011/01/clip_image0011.jpg" alt="" width="384" height="288" /></a></p>
<p class="MsoNormal">
<p class="MsoNormal" style="text-align: center;"><span style="mso-no-proof: yes;"> </span></p>
<p class="MsoNormal" style="text-align: center;"><strong><span style="font-size: 16.0pt; mso-bidi-font-size: 10.0pt;"> </span></strong></p>
<p class="MsoNormal" style="text-align: center;"><strong><span style="font-size: 16.0pt; mso-bidi-font-size: 10.0pt; mso-ansi-language: EN-US;" lang="EN-US">Video del proyecto finalizado.</span></strong></p>
<p class="MsoNormal" style="text-align: center;"><a href="http://www.youtube.com/watch?v=2ja9bCb-puU" target="_blank">Video de funcionamiento</a></p>
<p class="MsoNormal" style="text-align: center;">
<p class="MsoNormal" style="text-align: center;">
<p class="MsoNormal" style="text-align: center;"><strong><span style="font-size: 16.0pt; mso-bidi-font-size: 10.0pt; mso-ansi-language: EN-US;" lang="EN-US">.</span></strong></p>
<p style="text-align: center;">
<p><iframe title="YouTube video player" class="youtube-player" type="text/html" width="400" height="300" src="http://www.youtube.com/embed/2ja9bCb-puU?rel=0" frameborder="0" allowFullScreen></iframe></p>
<p class="MsoNormal" style="text-align: center;">
<p class="MsoNormal" style="text-align: center;">
<p class="MsoNormal" style="text-align: center;"><span id="more-397"></span></p>
<p class="MsoNormal" style="text-align: center;">
<p class="MsoNormal" style="text-align: center;"><span style="mso-ansi-language: EN-US;" lang="EN-US"> </span></p>
<p class="MsoNormal" style="text-align: center;"><span style="mso-ansi-language: EN-US;" lang="EN-US"> </span></p>
<p class="MsoNormal" style="text-align: center;"><span style="mso-ansi-language: EN-US;" lang="EN-US"> </span></p>
<p class="MsoNormal"><span style="mso-ansi-language: EN-US;" lang="EN-US"> </span></p>
<p class="MsoNoSpacing"><strong><span style="font-size: 14.0pt; mso-bidi-font-size: 11.0pt; mso-ansi-language: ES;">HERRAMIENTAS NECESARIAS PARA ESTA APLICACIÓN:</span></strong></p>
<p class="MsoNoSpacing"><strong><span style="text-decoration: underline;"><span style="mso-ansi-language: ES;"><span style="text-decoration: none;"> </span></span></span></strong></p>
<p class="MsoNoSpacing"><strong><span lang="EN-US">PROCESSING</span></strong><span lang="EN-US"> _ link general <a href="http://processing.org/">http://processing.org/</a></span></p>
<p class="MsoNoSpacing"><span style="mso-ansi-language: ES;">Link de descarga </span><span lang="EN-US"><a href="http://processing.org/download/"><span style="mso-ansi-language: ES;" lang="ES">http://processing.org/download/</span></a></span></p>
<p class="MsoNoSpacing"><span style="mso-ansi-language: ES;"> </span></p>
<p class="MsoNoSpacing"><span style="mso-ansi-language: ES;"><span style="mso-spacerun: yes;"> </span>LIBRERÍA OSC incluida en el paquete original (OSC OpenSoundControl)</span></p>
<p class="MsoNoSpacing"><span style="mso-ansi-language: ES;">Pensada principalmente para controlar equipos de música profesionales de forma remota.</span></p>
<p class="MsoNoSpacing"><span style="mso-ansi-language: ES;">LIBRERÍA SERIAL incluida en el paquete original</span></p>
<p class="MsoNoSpacing"><span style="mso-ansi-language: ES;"> </span></p>
<p class="MsoNoSpacing"><strong><span style="mso-ansi-language: ES;">TOUCH OSC</span></strong><span style="mso-ansi-language: ES;"> _ link general<span style="mso-spacerun: yes;"> </span>y link de descarga </span><span lang="EN-US"><a href="http://hexler.net/software/touchosc"><span style="mso-ansi-language: ES;" lang="ES">http://hexler.net/software/touchosc</span></a></span></p>
<p class="MsoNoSpacing"><span style="mso-ansi-language: ES;">Touch OSC versión de prueba para IPHONE desde el APPLE STORE ($5 dolares)</span></p>
<p class="MsoNoSpacing"><span lang="EN-US"><a href="http://itunes.apple.com/us/app/touchosc/id288120394?mt=8"><span style="mso-ansi-language: ES;" lang="ES">http://itunes.apple.com/us/app/touchosc/id288120394?mt=8</span></a></span></p>
<p class="MsoNoSpacing"><span style="mso-ansi-language: ES;"> </span></p>
<p class="MsoNoSpacing"><span style="mso-ansi-language: ES;">Touch OSC versión para ANDROID <span style="mso-spacerun: yes;"> </span>(totalmente gratis)</span></p>
<p class="MsoNoSpacing"><span lang="EN-US"><a href="http://hexler.net/software/touchosc-android"><span style="mso-ansi-language: ES;" lang="ES">http://hexler.net/software/touchosc-android</span></a></span></p>
<p class="MsoNoSpacing"><span style="mso-ansi-language: ES;"> </span></p>
<p class="MsoNoSpacing"><strong><span style="mso-ansi-language: ES;">PINGUINOPIC</span></strong></p>
<p class="MsoNoSpacing"><span style="mso-ansi-language: ES;">Se utiliza un pingüino modelo 18f4550 adquirido en el KIT armado de la web </span><span lang="EN-US"><a href="http://pinguino.walii.es/"><span style="font-family: &amp;amp;amp; mso-ansi-language: ES;" lang="ES">http://pinguino.walii.es</span></a></span></p>
<p class="MsoNoSpacing"><span style="mso-ansi-language: ES;"> </span></p>
<p class="MsoNoSpacing"><strong><span style="mso-ansi-language: ES;">GUI PINGUINO PIC</span></strong></p>
<p class="MsoNoSpacing"><span style="mso-ansi-language: ES;">Utilizamos la versión de PINGÜINO en este momento la 9.04</span></p>
<p class="MsoNoSpacing"><span lang="EN-US"><a href="http://www.hackinglab.org/pinguino/download/latestpinguino/"><span style="mso-ansi-language: ES;" lang="ES">http://www.hackinglab.org/pinguino/download/latestpinguino/</span></a></span></p>
<p class="MsoNoSpacing"><span style="mso-ansi-language: ES;"> </span></p>
<p class="MsoNoSpacing"><strong><span style="mso-ansi-language: ES;">XBEE pro &amp; XBEE explorer USB</span></strong></p>
<p class="MsoNoSpacing"><span style="mso-ansi-language: ES;">Se utilizan dos XBEEs PRO de 60mW y un adaptador USB “XBEE Explorer” adquiridos en sparkfun.com</span></p>
<p class="MsoNoSpacing"><span lang="EN-US"><a href="http://www.sparkfun.com/products/8742"><span style="mso-ansi-language: ES;" lang="ES">http://www.sparkfun.com/products/8742</span></a></span></p>
<p class="MsoNoSpacing"><span lang="EN-US"><a href="http://www.sparkfun.com/products/8687"><span style="mso-ansi-language: ES;" lang="ES">http://www.sparkfun.com/products/8687</span></a></span></p>
<p class="MsoNoSpacing"><span style="mso-ansi-language: ES;"> </span></p>
<p class="MsoNormal"><strong><span style="font-size: 14.0pt;"> </span></strong></p>
<p class="MsoNoSpacing"><strong><span style="font-size: 14.0pt; mso-ansi-language: ES;">IDEA DEL PROYECTO:</span></strong></p>
<p class="MsoNoSpacing"><span style="mso-ansi-language: ES;"><span style="mso-tab-count: 1;"> </span>Lo primero que debemos tener en cuenta es: <strong>¿qué es lo que queremos controlar?…</strong></span></p>
<p class="MsoNoSpacing"><span style="mso-ansi-language: ES;">En principio son dos motores uno de dirección izquierda/derecha <span style="mso-spacerun: yes;"> </span>y otro de movimiento delante/atrás. Ambos necesitan una inversión de tensión en sus extremos y encontrarse sin energía en su punto de reposo. <span style="mso-spacerun: yes;"> </span>Al mismo tiempo necesitamos 2 tipos de luces, una blanca para la iluminación general y otra infrarroja para la adición futura de una cámara wifi.</span></p>
<p class="MsoNoSpacing"><span style="mso-ansi-language: ES;"><span style="mso-tab-count: 1;"> </span>También se nos ocurrió agregarle un Buzzer tipo bocina o alarma…</span></p>
<p class="MsoNoSpacing"><span style="mso-ansi-language: ES;"><span style="mso-tab-count: 1;"> </span></span></p>
<p class="MsoNoSpacing"><span style="mso-ansi-language: ES;"><span style="mso-tab-count: 1;"> </span>En total deberíamos tener 2 puertos digitales para los motores, más otros 3 para luces y buzzer.</span></p>
<p class="MsoNoSpacing"><span style="mso-ansi-language: ES;">5 puertas digitales comandadas vía serie. Por ejemplo con teclas identificadas para cada acción.</span></p>
<p class="MsoNoSpacing"><span style="mso-ansi-language: ES;"> </span></p>
<p class="MsoNoSpacing"><span style="mso-ansi-language: ES;"> </span></p>
<p class="MsoNoSpacing"><strong><span style="mso-ansi-language: ES;">NOTA: también es posible reenviar vía serie, parámetros como temperatura, posición GPS, nivel de señal wifi, iluminación y humedad. Para esto utilizaríamos los puertos analógicos, esto lo he dejado para más adelante…<span style="mso-spacerun: yes;"> </span></span></strong></p>
<p class="MsoNoSpacing"><span style="mso-ansi-language: ES;"> </span></p>
<p><span style="font-size: 11.0pt; font-family: &amp;amp;amp; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: Calibri; mso-fareast-theme-font: minor-latin; mso-hansi-theme-font: minor-latin; mso-bidi-font-family: &amp;amp;amp; mso-bidi-theme-font: minor-bidi; mso-ansi-language: ES; mso-fareast-language: EN-US; mso-bidi-language: AR-SA;"><br style="mso-special-character: line-break; page-break-before: always;" /> </span></p>
<p class="MsoNoSpacing"><span style="mso-ansi-language: ES;"> </span></p>
<p class="MsoNoSpacing"><strong><span style="font-size: 14.0pt; mso-bidi-font-size: 11.0pt; mso-ansi-language: ES;">INICIO PROYECTO (COMUNICACIÓN SERIE)</span></strong></p>
<p class="MsoNoSpacing"><span style="mso-ansi-language: ES;"> </span></p>
<p class="MsoNoSpacing"><span style="mso-ansi-language: ES;"><span style="mso-tab-count: 1;"> </span>El proyecto comienza con el kit PINGUINO programándolo para ser controlado vía Puerto serie, esto se genera fácilmente, utilizando el siguiente código. En modo de prueba puede ser comandado con un adaptador RS232 a TTL conectado en nuestro ordenador y con cualquier programa de consola… para verificar que enviamos y recibimos los datos.</span></p>
<p class="MsoNoSpacing" style="text-align: center;"><span style="mso-ansi-language: ES; mso-fareast-language: ES; mso-no-proof: yes;"> </span></p>
<p class="MsoNoSpacing"><strong><span style="mso-ansi-language: ES;">Nota: cabe la aclaración que esto no funciona con un adaptador USB/SERIE, necesitamos un puerto serie propietario para que funcione… si no poseemos un puerto serie propietario deberíamos tener un adaptador directo USB/TTL</span></strong></p>
<p class="MsoNoSpacing"><a href="http://pinguino.walii.es/wp-content/uploads/2011/01/clip_image004.gif"><img class="aligncenter size-full wp-image-402 dtse-img dtse-post-397" title="clip_image004" src="http://pinguino.walii.es/wp-content/uploads/2011/01/clip_image004.gif" alt="" width="589" height="222" /></a></p>
<p class="MsoNoSpacing">
<p class="MsoNoSpacing"><strong><span style="mso-ansi-language: ES;"> </span></strong></p>
<p><strong> </strong></p>
<p><strong> </strong></p>
<p class="MsoNoSpacing"><span style="mso-ansi-language: ES;"> </span></p>
<p class="MsoNoSpacing"><span style="mso-ansi-language: ES;">El programa de PINGÜINO que creamos a tal efecto es el siguiente:</span></p>
<p class="MsoNormal" style="margin-bottom: .0001pt; line-height: 13.5pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;"><span style="font-size: 9.0pt; font-family: Consolas; mso-fareast-font-family: &amp;amp;amp; mso-bidi-font-family: &amp;amp;amp; color: black;"> </span></p>
<pre class="brush: python; title: ; notranslate">

/*
*
* IPHONE+TouchOSC+PROCESSING+XBEE+PINGUINO
*
* Example to control a remote control card
* with all the PINGUINO PIC electronic
* And received all the control information
* from a XBEE
*/

uchar key;
int i;
void setup()
{
for ( i=0 ; i &lt;8; i++){
pinMode(i,OUTPUT);
digitalWrite(i,LOW);
}
Serial.begin(9600);
}

void loop()
{
if (Serial.available()&gt;0) //only apply if we have information into the serial port { key=Serial.read();
if (key=='l') digitalWrite(4,digitalRead(4)^1);//change the status of port 4 to invert value
if (key=='i') digitalWrite(5,digitalRead(5)^1);//change the status of port 4 to invert value
if (key=='b') digitalWrite(7,digitalRead(7)^1);//change the status of port 4 to invert value
if (key=='a') digitalWrite(0,HIGH); //go a head
if (key=='s') digitalWrite(1,HIGH); //go back
if (key=='d') digitalWrite(2,HIGH); //left
if (key=='f') digitalWrite(3,HIGH); //right
if (key=='z') digitalWrite(0,LOW);  //stop move a head
if (key=='x') digitalWrite(1,LOW);  //stop move back
if (key=='c') digitalWrite(2,LOW);  //stop turn left
if (key=='v') digitalWrite(3,LOW);  //stop turn right

Serial.print(&quot;received... OK!!!&quot;); //debug serial answer
Serial.print(&quot;\n\r&quot;);
Serial.flush();//clear the serial buffer }

}
</pre>
<p><span style="mso-ansi-language: ES;"> </span></p>
<p><strong><span style="mso-ansi-language: ES;"> </span></strong></p>
<p><strong><span style="mso-ansi-language: ES;"> </span></strong></p>
<p><strong><span style="mso-ansi-language: ES;">NOTA: AL ser una comunicación serie, tenemos que entender que recibiríamos carácter tras carácter a una velocidad de 9600, para convertir esta comunicación en multitarea para nuestro pinguino, entonces se nos ocurrió cambiar el estado de las puertas digitales con diferentes teclas, por tal motivo si presionamos la tecla “a” elevaríamos el estado de la puerta “0”, y este no bajaría hasta no recibir un carácter “x”.</span></strong></p>
<p><strong><span style="mso-ansi-language: ES;"> </span></strong></p>
<p><strong><span style="mso-ansi-language: ES;"> </span></strong></p>
<p><span style="mso-ansi-language: ES;"><span style="mso-tab-count: 1;"> </span><em><span style="text-decoration: underline;">¿Por qué hacemos esto? </span>Básicamente si elevaríamos el estado de alguna puerta “solo al recibir un carácter “a” ”, cuando querremos ir recto y girar al mismo tiempo<strong>, no podríamos</strong>, ya que cuando recibimos el carácter “a” el vehículo circularía hacia delante, pero en el siguiente siclo si recibiéramos un carácter “d” (para girar la dirección), al no recibir más el carácter “a” el motor se detendría y no giraríamos.<span style="mso-spacerun: yes;"> </span></em></span></p>
<p><em><span style="mso-ansi-language: ES;"><span style="mso-tab-count: 1;"> </span>Esto lo podremos probar mediante una consola serie (RS232 to TTL) conectada directamente con el pingüino.</span></em></p>
<p><em><span style="mso-ansi-language: ES;">Verificando que cada vez que enviamos un comando, nos responde la consola con el mensaje “received…OK!!!”, y al mismo tiempo verificamos la activación de las salidas digitales, esto se puede hacer con LEDs colocados en cada puerta.</span></em></p>
<p><a href="http://pinguino.walii.es/wp-content/uploads/2011/01/clip_image007.jpg"><img class="aligncenter size-full wp-image-403 dtse-img dtse-post-397" title="clip_image007" src="http://pinguino.walii.es/wp-content/uploads/2011/01/clip_image007.jpg" alt="" width="640" height="339" /></a></p>
<p><a href="http://pinguino.walii.es/wp-content/uploads/2011/01/clip_image009.jpg"><img class="aligncenter size-full wp-image-404 dtse-img dtse-post-397" title="clip_image009" src="http://pinguino.walii.es/wp-content/uploads/2011/01/clip_image009.jpg" alt="" width="640" height="490" /></a></p>
<p><em><span style="mso-ansi-language: ES;"><br />
</span></em></p>
<p><span style="mso-ansi-language: ES; mso-fareast-language: ES; mso-no-proof: yes;"> </span></p>
<p><span style="mso-ansi-language: ES; mso-fareast-language: ES; mso-no-proof: yes;"> </span></p>
<p><span style="mso-ansi-language: ES;"> </span></p>
<p><span style="mso-ansi-language: ES;"><span style="mso-tab-count: 1;"> </span>Tras verificar que todo funciona utilizando la comunicación serie tradicional, pasaremos a transformar esta comunicación a protocolo 802.15.4, para convertir la comunicación serie vía cable, en una conexión inalámbrica.</span></p>
<p><span style="mso-ansi-language: ES;"> </span></p>
<p><strong><span style="font-size: 14.0pt; mso-bidi-font-size: 10.0pt; font-family: &amp;amp;amp; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: &amp;amp;amp; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin; mso-bidi-font-family: &amp;amp;amp; mso-bidi-theme-font: minor-bidi; mso-ansi-language: ES; mso-fareast-language: ES; mso-bidi-language: AR-SA;"><br style="mso-special-character: line-break; page-break-before: always;" /> </span></strong></p>
<p><strong><span style="font-size: 14.0pt; mso-bidi-font-size: 10.0pt;"> </span></strong></p>
<p><strong><span style="font-size: 14.0pt; mso-bidi-font-size: 11.0pt; mso-ansi-language: ES;">¿COMO PROGRAMAMOS LOS MÓDULOS XBEE?</span></strong></p>
<p><span style="mso-ansi-language: ES;"><span style="mso-tab-count: 1;"> </span>Cuando reseteamos o conectamos un modulo XBEE, si dentro de los primeros 10 segundos este reciben por su RX tres signos de sumar “+++” ingresaremos en el modo de configuración, y podremos escribir lo que deseemos en nuestro modulo.</span></p>
<p><span style="mso-ansi-language: ES;"><span style="mso-tab-count: 1;"> </span>Básicamente el único parámetro que necesitamos configurar es el PAN ID, ya que todos los módulos dentro del mismo PanID se hablaría y escucharían, sin necesidad de hacer nada mas, quizás más adelante podríamos configurarlo con mayor seguridad, indicando las direcciones MAC para los interlocutores, pero con esta modificación ya tendríamos funcionando nuestros módulos.</span></p>
<p><span style="mso-ansi-language: ES;"> </span></p>
<p><strong><span style="mso-ansi-language: ES;">NOTA: también existe una opción de configurarlos en Windows con el programa XCTU, el cual es gratuito y se descarga del siguiente vínculo. </span></strong><span lang="EN-US"><a href="http://www.digi.com/support/productdetl.jsp?pid=3352&amp;osvid=57&amp;s=316&amp;tp=5&amp;tp2=0"><strong>http://www.digi.com/support/productdetl.jsp?pid=3352&amp;osvid=57&amp;s=316&amp;tp=5&amp;tp2=0</strong></a></span></p>
<p><span lang="EN-US"> </span></p>
<p><span lang="EN-US"><span style="mso-tab-count: 1;"> </span></span><span style="mso-ansi-language: ES;">Hay que escribirle el mismo PanID a los dos módulos, y automáticamente funcionarían como un BRIDGE (PUENTE) <strong>“todo lo que recibo en el puerto serie lo envío por mi conexión inalámbrica, y de la forma inversa, todo lo que recibo en la conexión inalámbrica lo transmito a mi puerto serie”.</strong></span></p>
<p><span style="mso-ansi-language: ES;"><span style="mso-tab-count: 1;"> </span>Para escribir la configuración deberemos conectar cada modulo al adaptador serie (Xbee Explorer USB), en la consola serie configuraremos el puerto en cuestión… y antes que pasen los 10 segundos presionaremos tres veces seguidas el signo de sumar “+++”</span></p>
<p><span style="mso-ansi-language: ES;"> </span></p>
<p><strong><span style="text-decoration: underline;"><span style="mso-ansi-language: ES;">Entrando en el modo de configuración.</span></span></strong></p>
<p><span style="text-decoration: underline;"><span style="mso-ansi-language: ES;"><span style="text-decoration: none;"> </span></span></span></p>
<p><span style="mso-ansi-language: ES;">Para ver el PanID actualmente configurado haremos lo siguiente.</span></p>
<p><strong><span style="mso-ansi-language: ES;">“ATID<span style="mso-spacerun: yes;"> </span>[enter]”</span></strong><span style="mso-ansi-language: ES;"> lo que nos devolverá el PanID original de fabrica siempre es “<strong>1111</strong>”</span></p>
<p><span style="mso-ansi-language: ES;"> </span></p>
<p><span style="mso-ansi-language: ES;">Para modificar el PanID:</span></p>
<p><strong><span style="mso-ansi-language: ES;">“ATID1234 [enter]”</span></strong><span style="mso-ansi-language: ES;"><span style="mso-spacerun: yes;"> </span>por ejemplo en este caso el PanID será “<strong>1234</strong>”</span></p>
<p><span style="mso-ansi-language: ES;"> </span></p>
<p><span style="mso-ansi-language: ES;">Para verificar que lo ha cogido deberemos hacer nuevamente:</span></p>
<p><strong><span style="mso-ansi-language: ES;">“ATID”</span></strong><span style="mso-ansi-language: ES;"><span style="mso-spacerun: yes;"> </span>con resultado “<strong>1234</strong>”, si lo ha configurado correctamente.</span></p>
<p><span style="mso-ansi-language: ES;"> </span></p>
<p><span style="mso-ansi-language: ES;">Para finalmente escribir la configuración en la memoria del modulo haremos:</span></p>
<p><strong><span style="mso-ansi-language: ES;">“ATWR” </span></strong></p>
<p><span style="mso-ansi-language: ES;"> </span></p>
<p><span style="mso-ansi-language: ES;">Y por último para salir del modo de configuración, podremos esperar 10 segundos o escribir:</span></p>
<p><strong><span style="mso-ansi-language: ES;">“ATCN”</span></strong></p>
<p><span style="mso-ansi-language: ES;"> </span></p>
<p><span style="font-size: 11.0pt; font-family: &amp;amp;amp; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: Calibri; mso-fareast-theme-font: minor-latin; mso-hansi-theme-font: minor-latin; mso-bidi-font-family: &amp;amp;amp; mso-bidi-theme-font: minor-bidi; mso-ansi-language: ES; mso-fareast-language: EN-US; mso-bidi-language: AR-SA;"><br style="mso-special-character: line-break; page-break-before: always;" /> </span></p>
<p><span style="mso-ansi-language: ES;"> </span></p>
<p><strong><span style="text-decoration: underline;"><span style="mso-ansi-language: ES;">Comandos de consola del modulo XBEE</span></span></strong></p>
<p><strong><span style="text-decoration: underline;"><span style="mso-ansi-language: ES;"><span style="text-decoration: none;"> </span></span></span></strong></p>
<table class="MsoNormalTable" style="width: 100.0%; mso-cellspacing: 1.5pt; border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; mso-yfti-tbllook: 1184; mso-border-insideh: .5pt solid windowtext; mso-border-insidev: .5pt solid windowtext;" border="1" cellpadding="0" width="100%">
<tbody>
<tr style="mso-yfti-irow: 0; mso-yfti-firstrow: yes;">
<td style="width: 9.86%; border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; padding: .75pt .75pt .75pt .75pt;" width="9%" valign="top"><em><span style="font-size: 12.0pt; font-family: &amp;amp;amp; mso-fareast-font-family: &amp;amp;amp;" lang="EN-US">Command</span></em><span style="font-size: 12.0pt; font-family: &amp;amp;amp; mso-fareast-font-family: &amp;amp;amp;" lang="EN-US"> </span></td>
<td style="width: 49.3%; border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; padding: .75pt .75pt .75pt .75pt;" width="49%" valign="top"><em><span style="font-size: 12.0pt; font-family: &amp;amp;amp; mso-fareast-font-family: &amp;amp;amp;" lang="EN-US">Description</span></em><span style="font-size: 12.0pt; font-family: &amp;amp;amp; mso-fareast-font-family: &amp;amp;amp;" lang="EN-US"> </span></td>
<td style="width: 19.72%; border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; padding: .75pt .75pt .75pt .75pt;" width="19%" valign="top"><em><span style="font-size: 12.0pt; font-family: &amp;amp;amp; mso-fareast-font-family: &amp;amp;amp;" lang="EN-US">Valid   Values</span></em><span style="font-size: 12.0pt; font-family: &amp;amp;amp; mso-fareast-font-family: &amp;amp;amp;" lang="EN-US"> </span></td>
<td style="width: 19.72%; border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; padding: .75pt .75pt .75pt .75pt;" width="19%" valign="top"><em><span style="font-size: 12.0pt; font-family: &amp;amp;amp; mso-fareast-font-family: &amp;amp;amp;" lang="EN-US">Default   Value</span></em><span style="font-size: 12.0pt; font-family: &amp;amp;amp; mso-fareast-font-family: &amp;amp;amp;" lang="EN-US"> </span></td>
</tr>
<tr style="mso-yfti-irow: 1;">
<td style="border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; padding: .75pt .75pt .75pt .75pt;" valign="top"><span style="font-size: 10.0pt; mso-bidi-font-size: 11.0pt; font-family: &amp;amp;amp; mso-fareast-font-family: &amp;amp;amp;" lang="EN-US">ID</span><span style="font-size: 12.0pt; font-family: &amp;amp;amp; mso-fareast-font-family: &amp;amp;amp;" lang="EN-US"> </span></td>
<td style="border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; padding: .75pt .75pt .75pt .75pt;" valign="top"><span style="font-size: 12.0pt; font-family: &amp;amp;amp; mso-fareast-font-family: &amp;amp;amp;" lang="EN-US">The   network ID of the Xbee module.</span></td>
<td style="border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; padding: .75pt .75pt .75pt .75pt;" valign="top"><span style="font-size: 12.0pt; font-family: &amp;amp;amp; mso-fareast-font-family: &amp;amp;amp;" lang="EN-US">0 &#8211;   0xFFFF</span></td>
<td style="border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; padding: .75pt .75pt .75pt .75pt;" valign="top"><span style="font-size: 12.0pt; font-family: &amp;amp;amp; mso-fareast-font-family: &amp;amp;amp;" lang="EN-US">3332</span></td>
</tr>
<tr style="mso-yfti-irow: 2;">
<td style="border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; padding: .75pt .75pt .75pt .75pt;" valign="top"><span style="font-size: 10.0pt; mso-bidi-font-size: 11.0pt; font-family: &amp;amp;amp; mso-fareast-font-family: &amp;amp;amp;" lang="EN-US">CH</span><span style="font-size: 12.0pt; font-family: &amp;amp;amp; mso-fareast-font-family: &amp;amp;amp;" lang="EN-US"> </span></td>
<td style="border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; padding: .75pt .75pt .75pt .75pt;" valign="top"><span style="font-size: 12.0pt; font-family: &amp;amp;amp; mso-fareast-font-family: &amp;amp;amp;" lang="EN-US">The   channel of the Xbee module.</span></td>
<td style="border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; padding: .75pt .75pt .75pt .75pt;" valign="top"><span style="font-size: 12.0pt; font-family: &amp;amp;amp; mso-fareast-font-family: &amp;amp;amp;" lang="EN-US">0x0B &#8211;   0x1A</span></td>
<td style="border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; padding: .75pt .75pt .75pt .75pt;" valign="top"><span style="font-size: 12.0pt; font-family: &amp;amp;amp; mso-fareast-font-family: &amp;amp;amp;" lang="EN-US">0X0C</span></td>
</tr>
<tr style="mso-yfti-irow: 3;">
<td style="border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; padding: .75pt .75pt .75pt .75pt;" valign="top"><span style="font-size: 10.0pt; mso-bidi-font-size: 11.0pt; font-family: &amp;amp;amp; mso-fareast-font-family: &amp;amp;amp;" lang="EN-US">SH</span><span style="font-size: 12.0pt; font-family: &amp;amp;amp; mso-fareast-font-family: &amp;amp;amp;" lang="EN-US"> and </span><span style="font-size: 10.0pt; mso-bidi-font-size: 11.0pt; font-family: &amp;amp;amp; mso-fareast-font-family: &amp;amp;amp;" lang="EN-US">SL</span><span style="font-size: 12.0pt; font-family: &amp;amp;amp; mso-fareast-font-family: &amp;amp;amp;" lang="EN-US"> </span></td>
<td style="border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; padding: .75pt .75pt .75pt .75pt;" valign="top"><span style="font-size: 12.0pt; font-family: &amp;amp;amp; mso-fareast-font-family: &amp;amp;amp;" lang="EN-US">The   serial number of the Xbee module (</span><span style="font-size: 10.0pt; mso-bidi-font-size: 11.0pt; font-family: &amp;amp;amp; mso-fareast-font-family: &amp;amp;amp;" lang="EN-US">SH</span><span style="font-size: 12.0pt; font-family: &amp;amp;amp; mso-fareast-font-family: &amp;amp;amp;" lang="EN-US"> gives   the high 32 bits, </span><span style="font-size: 10.0pt; mso-bidi-font-size: 11.0pt; font-family: &amp;amp;amp; mso-fareast-font-family: &amp;amp;amp;" lang="EN-US">SL</span><span style="font-size: 12.0pt; font-family: &amp;amp;amp; mso-fareast-font-family: &amp;amp;amp;" lang="EN-US"> the   low 32 bits). Read-only.</span></td>
<td style="border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; padding: .75pt .75pt .75pt .75pt;" valign="top"><span style="font-size: 12.0pt; font-family: &amp;amp;amp; mso-fareast-font-family: &amp;amp;amp;" lang="EN-US">0 &#8211;   0xFFFFFFFF<br />
(for both </span><span style="font-size: 10.0pt; mso-bidi-font-size: 11.0pt; font-family: &amp;amp;amp; mso-fareast-font-family: &amp;amp;amp;" lang="EN-US">SH</span><span style="font-size: 12.0pt; font-family: &amp;amp;amp; mso-fareast-font-family: &amp;amp;amp;" lang="EN-US"> and </span><span style="font-size: 10.0pt; mso-bidi-font-size: 11.0pt; font-family: &amp;amp;amp; mso-fareast-font-family: &amp;amp;amp;" lang="EN-US">SL</span><span style="font-size: 12.0pt; font-family: &amp;amp;amp; mso-fareast-font-family: &amp;amp;amp;" lang="EN-US">)</span></td>
<td style="border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; padding: .75pt .75pt .75pt .75pt;" valign="top"><span style="font-size: 12.0pt; font-family: &amp;amp;amp; mso-fareast-font-family: &amp;amp;amp;" lang="EN-US">different   for each module</span></td>
</tr>
<tr style="mso-yfti-irow: 4;">
<td style="border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; padding: .75pt .75pt .75pt .75pt;" valign="top"><span style="font-size: 10.0pt; mso-bidi-font-size: 11.0pt; font-family: &amp;amp;amp; mso-fareast-font-family: &amp;amp;amp;" lang="EN-US">MY</span><span style="font-size: 12.0pt; font-family: &amp;amp;amp; mso-fareast-font-family: &amp;amp;amp;" lang="EN-US"> </span></td>
<td style="border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; padding: .75pt .75pt .75pt .75pt;" valign="top"><span style="font-size: 12.0pt; font-family: &amp;amp;amp; mso-fareast-font-family: &amp;amp;amp;" lang="EN-US">The   16-bit address of the module.</span></td>
<td style="border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; padding: .75pt .75pt .75pt .75pt;" valign="top"><span style="font-size: 12.0pt; font-family: &amp;amp;amp; mso-fareast-font-family: &amp;amp;amp;" lang="EN-US">0 &#8211;   0xFFFF</span></td>
<td style="border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; padding: .75pt .75pt .75pt .75pt;" valign="top"><span style="font-size: 12.0pt; font-family: &amp;amp;amp; mso-fareast-font-family: &amp;amp;amp;" lang="EN-US">0</span></td>
</tr>
<tr style="mso-yfti-irow: 5;">
<td style="border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; padding: .75pt .75pt .75pt .75pt;" valign="top"><span style="font-size: 10.0pt; mso-bidi-font-size: 11.0pt; font-family: &amp;amp;amp; mso-fareast-font-family: &amp;amp;amp;" lang="EN-US">DH</span><span style="font-size: 12.0pt; font-family: &amp;amp;amp; mso-fareast-font-family: &amp;amp;amp;" lang="EN-US"> and </span><span style="font-size: 10.0pt; mso-bidi-font-size: 11.0pt; font-family: &amp;amp;amp; mso-fareast-font-family: &amp;amp;amp;" lang="EN-US">DL</span><span style="font-size: 12.0pt; font-family: &amp;amp;amp; mso-fareast-font-family: &amp;amp;amp;" lang="EN-US"> </span></td>
<td style="border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; padding: .75pt .75pt .75pt .75pt;" valign="top"><span style="font-size: 12.0pt; font-family: &amp;amp;amp; mso-fareast-font-family: &amp;amp;amp;" lang="EN-US">The   destination address for wireless communication (</span><span style="font-size: 10.0pt; mso-bidi-font-size: 11.0pt; font-family: &amp;amp;amp; mso-fareast-font-family: &amp;amp;amp;" lang="EN-US">DH</span><span style="font-size: 12.0pt; font-family: &amp;amp;amp; mso-fareast-font-family: &amp;amp;amp;" lang="EN-US"> is the high 32 bits, </span><span style="font-size: 10.0pt; mso-bidi-font-size: 11.0pt; font-family: &amp;amp;amp; mso-fareast-font-family: &amp;amp;amp;" lang="EN-US">DL</span><span style="font-size: 12.0pt; font-family: &amp;amp;amp; mso-fareast-font-family: &amp;amp;amp;" lang="EN-US"> the low 32).</span></td>
<td style="border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; padding: .75pt .75pt .75pt .75pt;" valign="top"><span style="font-size: 12.0pt; font-family: &amp;amp;amp; mso-fareast-font-family: &amp;amp;amp;" lang="EN-US">0 &#8211;   0xFFFFFFFF<br />
(for both </span><span style="font-size: 10.0pt; mso-bidi-font-size: 11.0pt; font-family: &amp;amp;amp; mso-fareast-font-family: &amp;amp;amp;" lang="EN-US">DH</span><span style="font-size: 12.0pt; font-family: &amp;amp;amp; mso-fareast-font-family: &amp;amp;amp;" lang="EN-US"> and </span><span style="font-size: 10.0pt; mso-bidi-font-size: 11.0pt; font-family: &amp;amp;amp; mso-fareast-font-family: &amp;amp;amp;" lang="EN-US">DL</span><span style="font-size: 12.0pt; font-family: &amp;amp;amp; mso-fareast-font-family: &amp;amp;amp;" lang="EN-US">)</span></td>
<td style="border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; padding: .75pt .75pt .75pt .75pt;" valign="top"><span style="font-size: 12.0pt; font-family: &amp;amp;amp; mso-fareast-font-family: &amp;amp;amp;" lang="EN-US">0 (for   both </span><span style="font-size: 10.0pt; mso-bidi-font-size: 11.0pt; font-family: &amp;amp;amp; mso-fareast-font-family: &amp;amp;amp;" lang="EN-US">DH</span><span style="font-size: 12.0pt; font-family: &amp;amp;amp; mso-fareast-font-family: &amp;amp;amp;" lang="EN-US"> and </span><span style="font-size: 10.0pt; mso-bidi-font-size: 11.0pt; font-family: &amp;amp;amp; mso-fareast-font-family: &amp;amp;amp;" lang="EN-US">DL</span><span style="font-size: 12.0pt; font-family: &amp;amp;amp; mso-fareast-font-family: &amp;amp;amp;" lang="EN-US">)</span></td>
</tr>
<tr style="mso-yfti-irow: 6;">
<td style="border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; padding: .75pt .75pt .75pt .75pt;" valign="top"><span style="font-size: 10.0pt; mso-bidi-font-size: 11.0pt; font-family: &amp;amp;amp; mso-fareast-font-family: &amp;amp;amp;" lang="EN-US">BD</span><span style="font-size: 12.0pt; font-family: &amp;amp;amp; mso-fareast-font-family: &amp;amp;amp;" lang="EN-US"> </span></td>
<td style="border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; padding: .75pt .75pt .75pt .75pt;" valign="top"><span style="font-size: 12.0pt; font-family: &amp;amp;amp; mso-fareast-font-family: &amp;amp;amp;" lang="EN-US">The baud   rate used for serial communication with the Arduino board or computer.</span></td>
<td style="border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; padding: .75pt .75pt .75pt .75pt;" valign="top"><span style="font-size: 12.0pt; font-family: &amp;amp;amp; mso-fareast-font-family: &amp;amp;amp;" lang="EN-US">0 (1200   bps)<br />
1 (2400 bps)<br />
2 (4800 bps)<br />
3 (9600 bps)<br />
4 (19200 bps)<br />
5 (38400 bps)<br />
6 (57600 bps)<br />
7 (115200 bps)</span></td>
<td style="border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; padding: .75pt .75pt .75pt .75pt;"></td>
</tr>
<tr style="mso-yfti-irow: 7;">
<td style="border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; padding: .75pt .75pt .75pt .75pt;" valign="top"></td>
<td style="border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; padding: .75pt .75pt .75pt .75pt;" valign="top"></td>
<td style="border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; padding: .75pt .75pt .75pt .75pt;" valign="top"></td>
<td style="border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; padding: .75pt .75pt .75pt .75pt;"></td>
</tr>
<tr style="mso-yfti-irow: 8;">
<td style="border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; padding: .75pt .75pt .75pt .75pt;" valign="top"><span style="font-size: 10.0pt; mso-bidi-font-size: 11.0pt; font-family: &amp;amp;amp; mso-fareast-font-family: &amp;amp;amp;" lang="EN-US">RE</span></td>
<td style="border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; padding: .75pt .75pt .75pt .75pt;" valign="top"><span style="font-size: 12.0pt; font-family: &amp;amp;amp; mso-fareast-font-family: &amp;amp;amp;" lang="EN-US">Restore   factory default settings (note that like parameter changes, this is not   permanent unless followed by the WRcommand).</span></td>
<td style="border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; padding: .75pt .75pt .75pt .75pt;" valign="top"></td>
<td style="border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; padding: .75pt .75pt .75pt .75pt;"></td>
</tr>
<tr style="mso-yfti-irow: 9;">
<td style="border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; padding: .75pt .75pt .75pt .75pt;" valign="top"><span style="font-size: 10.0pt; mso-bidi-font-size: 11.0pt; font-family: &amp;amp;amp; mso-fareast-font-family: &amp;amp;amp;" lang="EN-US">WR</span></td>
<td style="border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; padding: .75pt .75pt .75pt .75pt;" valign="top"><span style="font-size: 12.0pt; font-family: &amp;amp;amp; mso-fareast-font-family: &amp;amp;amp;" lang="EN-US">Write   newly configured parameter values to non-volatile (long-term) storage.   Otherwise, they will only last until the module loses power.</span></td>
<td style="border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; padding: .75pt .75pt .75pt .75pt;" valign="top"></td>
<td style="border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; padding: .75pt .75pt .75pt .75pt;"></td>
</tr>
<tr style="mso-yfti-irow: 10; mso-yfti-lastrow: yes;">
<td style="border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; padding: .75pt .75pt .75pt .75pt;" valign="top"><span style="font-size: 10.0pt; mso-bidi-font-size: 11.0pt; font-family: &amp;amp;amp; mso-fareast-font-family: &amp;amp;amp;" lang="EN-US">CN</span></td>
<td style="border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; padding: .75pt .75pt .75pt .75pt;" valign="top"><span style="font-size: 12.0pt; font-family: &amp;amp;amp; mso-fareast-font-family: &amp;amp;amp;" lang="EN-US">Exit   command mode now. (If you don&#8217;t send any commands to the module for a few   seconds, command mode will timeout and exit even without   a CN command.)</span></td>
<td style="border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; padding: .75pt .75pt .75pt .75pt;" valign="top"></td>
<td style="border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; padding: .75pt .75pt .75pt .75pt;"></td>
</tr>
</tbody>
</table>
<p><span style="font-family: 'Myriad Pro', sans-serif;"> </span></p>
<p><span lang="EN-US"> </span></p>
<p><span lang="EN-US"> </span></p>
<p><span lang="EN-US"> </span></p>
<p><span lang="EN-US"> </span></p>
<p><span lang="EN-US"><span style="mso-tab-count: 1;"> </span></span><span style="mso-ansi-language: ES;">Ahora conectaremos ambos módulos, uno en el pinguino y otro en el ordenador mediante el adaptador “XBEE EXPLORER USB”</span></p>
<p><span style="font-size: 11.0pt; font-family: &amp;amp;amp; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: Calibri; mso-fareast-theme-font: minor-latin; mso-hansi-theme-font: minor-latin; mso-bidi-font-family: &amp;amp;amp; mso-bidi-theme-font: minor-bidi; mso-ansi-language: ES; mso-fareast-language: EN-US; mso-bidi-language: AR-SA;"><br style="mso-special-character: line-break; page-break-before: always;" /> </span></p>
<p><span style="mso-ansi-language: ES;"> </span></p>
<p><span style="mso-ansi-language: ES;"><span style="mso-tab-count: 1;"> </span>Procederemos a verifica la comunicación, con un programa de consola y pulsando caracteres en la consola, deberíamos recibir el mensaje de respuesta <strong>“received… OK”</strong></span></p>
<p><span style="mso-ansi-language: ES;">Imagen ilustrativa.</span></p>
<p><span style="mso-ansi-language: ES;"><a href="http://pinguino.walii.es/wp-content/uploads/2011/01/clip_image011.jpg"><img class="aligncenter size-full wp-image-405 dtse-img dtse-post-397" title="clip_image011" src="http://pinguino.walii.es/wp-content/uploads/2011/01/clip_image011.jpg" alt="" width="640" height="480" /></a><br />
</span></p>
<p><span style="mso-ansi-language: ES; mso-fareast-language: ES; mso-no-proof: yes;"> </span></p>
<p><span style="mso-ansi-language: ES;"> </span></p>
<p><span style="mso-ansi-language: ES;"> </span></p>
<p><span style="mso-ansi-language: ES;"><span style="mso-tab-count: 1;"> </span><strong>En este momento tenemos una comunicación inalámbrica entre el ordenador y el PINGÜINO, lo bueno de esta comunicación es su distancia de alcance y su fiabilidad a la hora de interrupciones e interferencias, ya que es un protocolo de comunicación.</strong></span></p>
<p><span style="mso-ansi-language: ES;"> </span></p>
<p><span style="mso-ansi-language: ES;"><span style="mso-tab-count: 1;"> </span><strong>Llegados a este punto podríamos encender LEDs remotamente desde un ordenador hasta un PINGÜINO a casi un kilometro de distancia</strong>, en este momento continuaremos realizando el nivel de electrónica de potencia para poder comandar los motores y luces en cuestión.</span></p>
<p><span style="mso-ansi-language: ES;"><br style="mso-special-character: line-break;" /> <br style="mso-special-character: line-break;" /> </span></p>
<p><span style="font-size: 11.0pt; font-family: &amp;amp;amp; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: Calibri; mso-fareast-theme-font: minor-latin; mso-hansi-theme-font: minor-latin; mso-bidi-font-family: &amp;amp;amp; mso-bidi-theme-font: minor-bidi; mso-ansi-language: ES; mso-fareast-language: EN-US; mso-bidi-language: AR-SA;"><br style="mso-special-character: line-break; page-break-before: always;" /> </span></p>
<p><span style="mso-ansi-language: ES;"> </span></p>
<p><strong><span style="font-size: 14.0pt; mso-bidi-font-size: 11.0pt; mso-ansi-language: ES;">CIRCUITOS ELECTRÓNICOS DE POTENCIA</span></strong></p>
<p><span style="mso-ansi-language: ES;"><span style="mso-tab-count: 1;"> </span>Los siguientes circuitos pueden ayudarnos a realizar la tarea. Ya sea para comandar RELES como para encender luces y buzzer, sin exceder el nivel de potencia de salida del micro controlador.</span></p>
<p><span style="mso-ansi-language: ES;"> </span></p>
<p><strong><span style="text-decoration: underline;"><span style="mso-ansi-language: ES;">Circuito para comandar RELES</span></span></strong></p>
<p><strong><span style="text-decoration: underline;"><span style="mso-ansi-language: ES;"><a href="http://pinguino.walii.es/wp-content/uploads/2011/01/clip_image013.jpg"><img class="aligncenter size-full wp-image-406 dtse-img dtse-post-397" title="clip_image013" src="http://pinguino.walii.es/wp-content/uploads/2011/01/clip_image013.jpg" alt="" width="291" height="254" /></a><br />
</span></span></strong></p>
<p><span style="mso-ansi-language: ES; mso-fareast-language: ES; mso-no-proof: yes;"> </span></p>
<p><strong><span style="text-decoration: underline;"><span style="mso-ansi-language: ES;">Circuito para encender LUCES y el BUZZ</span></span></strong></p>
<p><strong><span style="text-decoration: underline;"><span style="mso-ansi-language: ES;"><a href="http://pinguino.walii.es/wp-content/uploads/2011/01/clip_image015.jpg"><img class="size-full wp-image-408 alignnone dtse-img dtse-post-397" title="clip_image015" src="http://pinguino.walii.es/wp-content/uploads/2011/01/clip_image015.jpg" alt="" width="262" height="272" /></a><a href="http://pinguino.walii.es/wp-content/uploads/2011/01/clip_image014.jpg"><img class="size-full wp-image-407 alignnone dtse-img dtse-post-397" title="clip_image014" src="http://pinguino.walii.es/wp-content/uploads/2011/01/clip_image014.jpg" alt="" width="202" height="254" /></a><br />
</span></span></strong></p>
<p><span style="mso-ansi-language: ES; mso-fareast-language: ES; mso-no-proof: yes;"> </span></p>
<p><span style="mso-ansi-language: ES;"> </span></p>
<p><span style="mso-ansi-language: ES;"><span style="mso-tab-count: 1;"> </span><strong>Tras construir el circuito propuesto, podremos comandar a distancia las funciones de nuestro vehículo remoto.</strong></span></p>
<p><strong><span style="mso-ansi-language: ES;">Esto con solo presionar unas teclas en una consola serie en nuestro ordenador, y sin ningún cable de por medio, gracias a XBEE.</span></strong></p>
<p><span style="mso-ansi-language: ES;"> </span></p>
<p><span style="mso-ansi-language: ES;"><br />
<br style="mso-special-character: line-break;" /> <br style="mso-special-character: line-break;" /> </span></p>
<p><span style="font-size: 11.0pt; font-family: &amp;amp;amp; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: Calibri; mso-fareast-theme-font: minor-latin; mso-hansi-theme-font: minor-latin; mso-bidi-font-family: &amp;amp;amp; mso-bidi-theme-font: minor-bidi; mso-ansi-language: ES; mso-fareast-language: EN-US; mso-bidi-language: AR-SA;"><br style="mso-special-character: line-break; page-break-before: always;" /> </span></p>
<p><span style="mso-ansi-language: ES;"> </span></p>
<p><strong><span style="font-size: 14.0pt; mso-ansi-language: ES;">TOUCHOSC</span></strong></p>
<p><span style="mso-ansi-language: ES;"><span style="mso-tab-count: 1;"> </span>Ahora vamos un paso más allá, intentando controlar el vehículo mediante un teléfono o tablet (<strong>IPHONE o ANDROID</strong>), conectada en la misma red WIFI en la cual tendremos nuestro ordenador con el XBEE conectado.</span></p>
<p><span style="mso-ansi-language: ES;">Lo primero será crear una plantilla para controlar nuestro vehículo en formato táctil. Esto lo hacemos con el programa TouchOSC editor.</span></p>
<p><span style="mso-ansi-language: ES;"> </span></p>
<p><span style="mso-ansi-language: ES;">Se descargar desde el siguiente link.<span style="mso-spacerun: yes;"> </span></span><span lang="EN-US"><a href="http://hexler.net/software/touchosc">http://hexler.net/software/touchosc</a></span></p>
<p><span lang="EN-US"><a href="http://pinguino.walii.es/wp-content/uploads/2011/01/clip_image017.jpg"><img class="aligncenter size-full wp-image-409 dtse-img dtse-post-397" title="clip_image017" src="http://pinguino.walii.es/wp-content/uploads/2011/01/clip_image017.jpg" alt="" width="393" height="249" /></a><br />
</span></p>
<p><span style="mso-ansi-language: ES;"> </span></p>
<p><span style="mso-ansi-language: ES; mso-fareast-language: ES; mso-no-proof: yes;"> </span></p>
<p><span style="mso-ansi-language: ES;"> </span></p>
<p><span style="mso-ansi-language: ES;"><span style="mso-tab-count: 1;"> </span>Configurando en cada caso, que es lo que necesitaríamos recibir en cada botón y plantilla.</span></p>
<p><span style="mso-ansi-language: ES;">El archivo de configuración de TouchOSC que hemos creado se puede descargar del siguiente vínculo. (Hay que estar registrado y logeado)</span></p>
<p><span lang="EN-US"><a href="http://pinguino.walii.es/download/TouchOSC-CAR-drone.touchosc"><span style="mso-ansi-language: ES;" lang="ES">http://pinguino.walii.es/download/TouchOSC-CAR-drone.touchosc</span></a></span></p>
<p><span style="mso-ansi-language: ES;"> </span></p>
<p><span style="mso-ansi-language: ES;">Con esto obtendremos las siguientes plantillas en el teléfono.<span style="mso-no-proof: yes;"> </span></span></p>
<p><span style="mso-ansi-language: ES; mso-no-proof: yes;">Una para el control via teclado y </span><span style="mso-ansi-language: ES;"><span style="mso-spacerun: yes;"> </span>para el control vía acelerómetros.</span></p>
<p><span style="mso-ansi-language: ES;"><br />
<a href="http://pinguino.walii.es/wp-content/uploads/2011/01/clip_image021.gif"><img class="aligncenter size-full wp-image-412 dtse-img dtse-post-397" title="clip_image021" src="http://pinguino.walii.es/wp-content/uploads/2011/01/clip_image021.gif" alt="" width="271" height="181" /></a><br />
<a href="http://pinguino.walii.es/wp-content/uploads/2011/01/clip_image019.gif"><img class="aligncenter size-full wp-image-410 dtse-img dtse-post-397" title="clip_image019" src="http://pinguino.walii.es/wp-content/uploads/2011/01/clip_image019.gif" alt="" width="269" height="180" /></a><br />
</span></p>
<p><span style="mso-ansi-language: ES; mso-fareast-language: ES; mso-no-proof: yes;"> </span></p>
<p><span style="mso-ansi-language: ES; mso-fareast-language: ES; mso-no-proof: yes;"> </span></p>
<p><span style="mso-ansi-language: ES;"><span style="mso-tab-count: 1;"> </span>Con esto ya instalado en el teléfono, procederemos a realizar la interfaz de enlace entre TouchOSC (el teléfono o IPAD) con el ordenador, esto lo hacemos con PROCESSING, ya que actualmente posee las librerías necesarias para realizar el trabajo, por un lado posee las librerías de OSC (<strong>OpenSoundControl</strong>), la cual interpreta los mensajes del TouchOSC enviados al puerto <strong>TCP 8000</strong> de nuestro ordenador, y por otro lado la librería de comunicación SERIE “librería ProcessingSerial” para convertir los datos recibidos en el puerto 8000 en información entendible por el puerto serie, en este caso el modulo XBEE (que más tarde transmitirá esta información al PINGÜINO).</span></p>
<p><span style="mso-ansi-language: ES;"> </span></p>
<p><strong><span style="font-size: 14.0pt; mso-bidi-font-size: 11.0pt; mso-ansi-language: ES;">PROCESSING</span></strong></p>
<p><span style="mso-ansi-language: ES;">Código de Processing para realizar la interlocución de la información.</span></p>
<p><span style="font-size: 8.0pt; font-family: &amp;amp;amp;" lang="EN-US"> </span></p>
<pre style="line-height: 13.5pt;"><span style="font-size: 9.0pt; font-family: Consolas; color: black;">
<pre class="brush: python; title: ; notranslate">

/**
 * IPHONE+TouchOSC+PROCESSING+XBEE+PINGUINO
 *
 * Example displaying a way to modify a remote toy
 * and used it with IPHONE
 * http://pinguino.walii.es
 * pinguino@walii.es  walii@walii.es walterleonardo@gmail.com
 */

import oscP5.*;
import netP5.*;
OscP5 oscP5;
import processing.serial.*;
Serial port; // The serial port object

float xrot = 0;
float zrot = 0;
float xrot_targ = 0;
float zrot_targ = 0;
float orientation = 0;
float v_up = 0.0f;
float v_down = 0.0f;
float v_left = 0.0f;
float v_right = 0.0f;
float v_light = 0.0f;
float v_ir = 0.0f;
float v_buzz = 0.0f;
float vl_up = 0.0f;
float vl_down = 0.0f;
float vl_left = 0.0f;
float vl_right = 0.0f;
float vl_light = 0.0f;
float vl_ir = 0.0f;
float vl_buzz = 0.0f;
float valor= 0.0f;
float calx;
float calz;
String serial;

void setup() {
  size(500,500);
  frameRate(25);
  /* start oscP5, listening for incoming messages at port 8000 */
  oscP5 = new OscP5(this,8000);
  /* start Serial, sending messages to PINGUINO port via XBEE */
  port = new Serial(this, Serial.list()[2], 9600);
  serial = Serial.list()[2];//force to connect with XBEE
  println(Serial.list()); //debug serial ports
  println(serial);//serial port selected
}
//Messages from OSCTOUCH=IPHONE
void oscEvent(OscMessage theOscMessage) {

    String addr = theOscMessage.addrPattern();
    float  val  = theOscMessage.get(0).floatValue();

//detect buttons from screen &quot;CONTROL TACTIL&quot; value /1
if(addr.equals(&quot;/1/up&quot;))  { v_up = val; }
    else if(addr.equals(&quot;/1/down&quot;))  { v_down = val; }
    else if(addr.equals(&quot;/1/left&quot;))  { v_left = val; }
    else if(addr.equals(&quot;/1/rigth&quot;))  { v_right = val; }
    else if(addr.equals(&quot;/1/ligth&quot;))  { v_light = val; }
    else if(addr.equals(&quot;/1/ir&quot;))  { v_ir = val; }
    else if(addr.equals(&quot;/1/buzz&quot;))  { v_buzz = val; }

//data from IPHONE's accelerometer screen &quot;Accelerometro&quot; velue /2
//only receive data if press the button into this screen
if(addr.equals(&quot;/2/activate&quot;)){ valor = val;}
if(valor==1.0f){
  if(theOscMessage.checkAddrPattern(&quot;/accxyz&quot;)==true) {
      xrot_targ = (theOscMessage.get(0).floatValue()*90)-calx;
      zrot_targ = ((theOscMessage.get(1).floatValue()*90)*-1)-calz;
      orientation = theOscMessage.get(2).floatValue();
  print(&quot;x= &quot; + xrot_targ + &quot; z= &quot; + zrot_targ + &quot; Rot= &quot; + orientation +&quot;\n\r&quot;);
  }
}
//calibration button for accelerometer
if(addr.equals(&quot;/1/info&quot;)){calx=xrot_targ;calz=zrot_targ;}

//debug for accelerometer from IPHONE
//if (addr==&quot;/accxyz&quot;){}else{print(addr);print(&quot; &quot;+ val);print(&quot;\n\r&quot;);}
//debug for buttons of the IPHONE
print(&quot;val_up&quot; + v_up + &quot; val_down&quot; + v_down + &quot; val_left&quot; + v_left + &quot; val_right&quot; + v_right + &quot;\n\r&quot;);
print(&quot;val_light&quot; + v_light + &quot; val_ir&quot; + v_ir + &quot; val_buzz&quot; + v_buzz + &quot;\n\r&quot;);
}

//paint
void draw() {
    background(0);
    fill(0, 196, 168);
    stroke(0, 196, 250);
    //up arrow
    if(v_up == 1.0f) {triangle(200,100,250,50,300,100);rect(225,100,50,50);}
    fill(168);
    //down arrow
    if(v_down == 1.0f) {triangle(200,150,250,200,300,150);rect(225,100,50,50);}
    fill(0,0,255);
    //left arrow
    if(v_left == 1.0f) {triangle(175,125,225,75,225,175);rect(225,100,50,50);}
    fill(255,0,0);
    //right arrow
    if(v_right == 1.0f) {triangle(275,75,325,125,275,175);rect(225,100,50,50);}
    fill(0,168,0);
    //buzz indicator
    if(v_buzz == 1.0f) {
    triangle(250,300,270,345,250,390);
    triangle(260,290,300,345,260,400);
    rect(225,300,20,5);
    rect(225,320,20,5);
    rect(225,340,20,5);
    rect(225,360,20,5);
    rect(225,380,20,5);
    }
    fill(0,0,255);
    stroke(255,0,0);
    //ir light indicator
    if(v_ir == 1.0f) {
    line(110,400,170,350);
    line(170,350,160,340);
    line(160,340,220,300);
    line(220,300,190,340);
    line(190,340,200,350);
    line(200,350,110,400);
    }
    fill(0,0,0);
    stroke(0,0,255);
    //light indicator
    if(v_light == 1.0f) {
    line(10,400,70,350);
    line(70,350,60,340);
    line(60,340,120,300);
    line(120,300,90,340);
    line(90,340,100,350);
    line(100,350,10,400);
    }
    //paint with accelerometers's values
    stroke(0);
    fill(0);
    if(valor==1.0f){
    if(xrot_targ&gt;=40) {
    v_up=1.0f;
    }else{
    v_up=0.0f;
    };
    if(xrot_targ&lt;=-40) {
    v_down=1.0f;
    }else{
    v_down=0.0f;
    };
    if(zrot_targ&lt;=-20) {
    v_left=1.0f;
    }else{
    v_left=0.0f;
    };
    if(zrot_targ&gt;=20) {
    v_right=1.0f;
    }else{
    v_right=0.0f;
    };
    if(zrot_targ&lt;=20 &amp;&amp; zrot_targ&gt;=-20) {
    v_right=0.0f;
    v_left=0.0f;
    };
    if(xrot_targ&lt;=20 &amp;&amp; xrot_targ&gt;=-20) {
    v_up=0.0f;
    v_down=0.0f;
    };
    }
 //write serial port from the information obtain with TOUCHOSC
  if(v_up==1.0f &amp;&amp; vl_up==0.0f){port.write(&quot;a&quot;);delay(100);port.write(&quot;a&quot;);vl_up=1.0f;}
  if(v_up==0.0f &amp;&amp; vl_up==1.0f){port.write(&quot;z&quot;);delay(100);port.write(&quot;z&quot;);vl_up=0.0f;}
  if(v_down==1.0f &amp;&amp; vl_down==0.0f){port.write(&quot;s&quot;);delay(100);port.write(&quot;s&quot;);vl_down=1.0f;}
  if(v_down==0.0f &amp;&amp; vl_down==1.0f){port.write(&quot;x&quot;);delay(100);port.write(&quot;x&quot;);vl_down=0.0f;}
  if(v_left==1.0f &amp;&amp; vl_left==0.0f){port.write(&quot;f&quot;);delay(100);port.write(&quot;f&quot;);vl_left=1.0f;}
  if(v_left==0.0f &amp;&amp; vl_left==1.0f){port.write(&quot;v&quot;);delay(100);port.write(&quot;v&quot;);vl_left=0.0f;}
  if(v_right==1.0f &amp;&amp; vl_right==0.0f){port.write(&quot;d&quot;);delay(100);port.write(&quot;d&quot;);vl_right=1.0f;}
  if(v_right==0.0f &amp;&amp; vl_right==1.0f){port.write(&quot;c&quot;);delay(100);port.write(&quot;c&quot;);vl_right=0.0f;}

  if(v_light==1.0f &amp;&amp; vl_light==0.0f){port.write(&quot;l&quot;);delay(100);vl_light=1.0f;}
  if(v_light==0.0f &amp;&amp; vl_light==1.0f){port.write(&quot;l&quot;);delay(100);vl_light=0.0f;}
  if(v_ir==1.0f &amp;&amp; vl_ir==0.0f){port.write(&quot;i&quot;);delay(100);vl_ir=1.0f;}
  if(v_ir==0.0f &amp;&amp; vl_ir==1.0f){port.write(&quot;i&quot;);delay(100);vl_ir=0.0f;}
  if(v_buzz==1.0f &amp;&amp; vl_buzz==0.0f){port.write(&quot;b&quot;);delay(100);vl_buzz=1.0f;}
  if(v_buzz==0.0f &amp;&amp; vl_buzz==1.0f){port.write(&quot;b&quot;);delay(100);vl_buzz=0.0f;}
port.clear();//clear serial port, to clean the buffer.
}
</pre>
<p> </span></pre>
<p class="MsoNoSpacing"><span style="font-size: 8.0pt; font-family: &amp;amp;amp; mso-ansi-language: ES-TRAD;" lang="ES-TRAD"> </span></p>
<p class="MsoNoSpacing"><span style="font-size: 8.0pt; font-family: &amp;amp;amp; mso-ansi-language: ES-TRAD;" lang="ES-TRAD"> </span></p>
<p class="MsoNoSpacing"><strong><em><span style="mso-ansi-language: ES;"><span style="mso-tab-count: 1;"> </span>He agregado un poco de grafica al interlocutor, en este caso PROCESSING, para indicarnos que es lo que recibe y como lo interpreta, esto es más que nada como debug, no es necesario ni siquiera mirarlo…</span></em></strong></p>
<p class="MsoNoSpacing"><strong><em><span style="mso-ansi-language: ES;"> </span></em></strong></p>
<p class="MsoNoSpacing"><span style="mso-ansi-language: ES;">En donde observaremos las flechas de dirección, y el encendido de las luces y el buzzer.</span></p>
<p class="MsoNoSpacing" style="text-align: center;"><span style="mso-ansi-language: ES; mso-fareast-language: ES; mso-no-proof: yes;"> </span></p>
<p class="MsoNoSpacing"><span style="mso-ansi-language: ES;"> </span></p>
<p><span style="font-size: 11.0pt; mso-bidi-font-size: 10.0pt; font-family: &amp;amp;amp; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: &amp;amp;amp; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin; mso-bidi-font-family: &amp;amp;amp; mso-bidi-theme-font: minor-bidi; mso-ansi-language: ES; mso-fareast-language: ES; mso-bidi-language: AR-SA;"><a href="http://pinguino.walii.es/wp-content/uploads/2011/01/clip_image023.jpg"><img class="aligncenter size-full wp-image-413 dtse-img dtse-post-397" title="clip_image023" src="http://pinguino.walii.es/wp-content/uploads/2011/01/clip_image023.jpg" alt="" width="279" height="292" /></a></span></p>
<p class="MsoNormal">
<p class="MsoNoSpacing"><span style="mso-ansi-language: ES;">Identificando delante y atrás.</span></p>
<p class="MsoNoSpacing"><span style="mso-ansi-language: ES;"><a href="http://pinguino.walii.es/wp-content/uploads/2011/01/clip_image025.jpg"><img class="aligncenter size-full wp-image-417 dtse-img dtse-post-397" title="clip_image025" src="http://pinguino.walii.es/wp-content/uploads/2011/01/clip_image025.jpg" alt="" width="190" height="198" /></a><a href="http://pinguino.walii.es/wp-content/uploads/2011/01/clip_image027.jpg"><img class="aligncenter size-full wp-image-418 dtse-img dtse-post-397" title="clip_image027" src="http://pinguino.walii.es/wp-content/uploads/2011/01/clip_image027.jpg" alt="" width="192" height="199" /></a><br />
</span></p>
<p class="MsoNoSpacing" style="text-align: center;"><span style="mso-ansi-language: ES; mso-fareast-language: ES; mso-no-proof: yes;"> </span></p>
<p class="MsoNoSpacing"><span style="mso-ansi-language: ES;"> </span></p>
<p class="MsoNoSpacing"><span style="mso-ansi-language: ES;">Izquierda y derecha</span></p>
<p class="MsoNoSpacing"><span style="mso-ansi-language: ES;"><a href="http://pinguino.walii.es/wp-content/uploads/2011/01/clip_image031.jpg"><img class="aligncenter size-full wp-image-420 dtse-img dtse-post-397" title="clip_image031" src="http://pinguino.walii.es/wp-content/uploads/2011/01/clip_image031.jpg" alt="" width="191" height="198" /></a><br />
<a href="http://pinguino.walii.es/wp-content/uploads/2011/01/clip_image029.jpg"><img class="aligncenter size-full wp-image-419 dtse-img dtse-post-397" title="clip_image029" src="http://pinguino.walii.es/wp-content/uploads/2011/01/clip_image029.jpg" alt="" width="191" height="199" /></a><br />
</span></p>
<p class="MsoNoSpacing" style="text-align: center;"><span style="mso-ansi-language: ES; mso-fareast-language: ES; mso-no-proof: yes;"> </span></p>
<p class="MsoNoSpacing"><span style="mso-ansi-language: ES;"> </span></p>
<p class="MsoNoSpacing"><span style="mso-ansi-language: ES;"><span style="mso-tab-count: 1;"> </span>Bueno, con esto ya tendríamos control de nuestro vehículo remoto. Y lo bueno es que no necesitamos estar delante del ordenador para controlarlo, aunque sí con el teléfono dentro del rango del WIFI.</span></p>
<p class="MsoNoSpacing"><span style="mso-ansi-language: ES;">Video demostrativo.</span></p>
<p class="MsoNoSpacing"><span style="mso-ansi-language: ES;"> </span></p>
<p class="MsoNoSpacing"><span style="mso-ansi-language: ES;"> </span></p>
<p class="MsoNoSpacing"><span lang="EN-US"><a href="http://www.youtube.com/watch?v=2ja9bCb-puU"><span style="mso-ansi-language: ES;" lang="ES">http://www.youtube.com/watch?v=2ja9bCb-puU</span></a></span></p>
<p class="MsoNoSpacing"><span style="mso-ansi-language: ES;"> </span></p>
<p class="MsoNoSpacing"><span style="mso-ansi-language: ES;"> </span></p>
<p class="MsoNoSpacing"><span style="mso-ansi-language: ES;"> </span></p>
<p class="MsoNoSpacing"><span style="mso-ansi-language: ES;"> </span></p>
<p class="MsoNoSpacing"><span style="mso-ansi-language: ES;"> </span></p>
<p class="MsoNoSpacing"><strong><span style="font-size: 14.0pt; mso-bidi-font-size: 11.0pt; mso-ansi-language: ES;">FUTURO</span></strong></p>
<p class="MsoNoSpacing"><span style="mso-ansi-language: ES;"><span style="mso-tab-count: 1;"> </span>Más adelante procederemos a instalarle algunos sensores y una cámara wifi, lo cual nos reduce el rango de distancia a una red WIFI tradicional, pero nos otorga una característica muy particular a nuestro invento.</span></p>
<p class="MsoNoSpacing"><span style="background: lime; mso-highlight: lime; mso-ansi-language: ES;"> </span></p>
<p class="MsoNoSpacing"><span style="background: lime; mso-highlight: lime; mso-ansi-language: ES;"> </span></p>
<p class="MsoNoSpacing"><span style="background: lime; mso-highlight: lime; mso-ansi-language: ES;"> </span></p>
<p class="MsoNoSpacing"><span style="background: lime; mso-highlight: lime; mso-ansi-language: ES;"><span style="mso-tab-count: 1;"> </span>Nota: para mantener el rango de distancia de nuestro vehículo (mayor a 1 kilómetros), podríamos colocarle en vez de una cámara wifi, un teléfono móvil con cámara y realizando en tiempo real una video conferencia 3g.</span></p>
<p class="MsoNoSpacing"><span style="mso-ansi-language: ES;"> </span></p>
<p class="MsoNoSpacing"><span style="mso-ansi-language: ES;"> </span></p>
<p><strong><span style="font-size: 14.0pt; mso-bidi-font-size: 10.0pt; font-family: &amp;amp;amp; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: &amp;amp;amp; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin; mso-bidi-font-family: &amp;amp;amp; mso-bidi-theme-font: minor-bidi; mso-ansi-language: ES; mso-fareast-language: ES; mso-bidi-language: AR-SA;"><br style="mso-special-character: line-break; page-break-before: always;" /> </span></strong></p>
<p class="MsoNormal"><strong><span style="font-size: 14.0pt; mso-bidi-font-size: 10.0pt;"> </span></strong></p>
<p class="MsoNoSpacing"><strong><span style="font-size: 14.0pt; mso-bidi-font-size: 11.0pt; mso-ansi-language: ES;">DIAGRAMA COMPLETO DEL CIRCUITO PROPUESTO</span></strong></p>
<p class="MsoNoSpacing">
<p class="MsoNoSpacing"><strong><span style="font-size: 14.0pt; mso-bidi-font-size: 11.0pt; mso-ansi-language: ES;"><a href="http://pinguino.walii.es/wp-content/uploads/2011/01/circuito.png"><img class="aligncenter size-full wp-image-421 dtse-img dtse-post-397" title="circuito" src="http://pinguino.walii.es/wp-content/uploads/2011/01/circuito.png" alt="" width="409" height="570" /></a></span></strong></p>
<p class="MsoNoSpacing"><strong><span style="font-size: 14.0pt; mso-bidi-font-size: 11.0pt; mso-ansi-language: ES;"><a href="http://pinguino.walii.es/wp-content/uploads/2011/01/IMGP0233.jpg"><img class="aligncenter size-full wp-image-428 dtse-img dtse-post-397" title="IMGP0233" src="http://pinguino.walii.es/wp-content/uploads/2011/01/IMGP0233.jpg" alt="" width="640" height="425" /></a><a href="http://pinguino.walii.es/wp-content/uploads/2011/01/IMGP0234.jpg"><img class="aligncenter size-full wp-image-429 dtse-img dtse-post-397" title="IMGP0234" src="http://pinguino.walii.es/wp-content/uploads/2011/01/IMGP0234.jpg" alt="" width="640" height="425" /></a><a href="http://pinguino.walii.es/wp-content/uploads/2011/01/IMGP0235.jpg"><img class="aligncenter size-full wp-image-430 dtse-img dtse-post-397" title="IMGP0235" src="http://pinguino.walii.es/wp-content/uploads/2011/01/IMGP0235.jpg" alt="" width="640" height="425" /></a><br />
</span></strong></p>
<p class="MsoNoSpacing"><strong><span style="font-size: 14.0pt; mso-bidi-font-size: 11.0pt; mso-ansi-language: ES;"><br />
</span></strong></p>
<p class="MsoNoSpacing"><strong><span style="font-size: 14.0pt; mso-bidi-font-size: 11.0pt; mso-ansi-language: ES;"> </span></strong></p>
<p class="MsoNoSpacing"><strong><span style="font-size: 14.0pt; mso-bidi-font-size: 11.0pt; mso-ansi-language: ES;"> </span></strong></p>
<p class="MsoNoSpacing"><strong><span style="font-size: 14.0pt; mso-bidi-font-size: 11.0pt; mso-ansi-language: ES;"> </span></strong></p>
<div class="shr-publisher-397"></div><!-- Start LikeButtonSetBottom --><!-- End LikeButtonSetBottom -->


		<!-- Added by WP-DragToShare-eXtended Plugin -->
		<script type="text/javascript">
			dtsv.dtse_post_397_permalink = 'http://pinguino.walii.es/?p=397';
			dtsv.dtse_post_397_title = 'Proyecto Cardrone Con PINGUINO';
		</script>
		<!-- End of WP-DragToShare-eXtended Plugin -->]]></content:encoded>
			<wfw:commentRss>http://pinguino.walii.es/?feed=rss2&#038;p=397</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Proyecto de FURRI con PINGUINO WALII</title>
		<link>http://pinguino.walii.es/?p=385</link>
		<comments>http://pinguino.walii.es/?p=385#comments</comments>
		<pubDate>Thu, 13 Jan 2011 11:34:20 +0000</pubDate>
		<dc:creator>walterleonardo</dc:creator>
				<category><![CDATA[PINGUINO]]></category>
		<category><![CDATA[WEB]]></category>

		<guid isPermaLink="false">http://pinguino.walii.es/?p=385</guid>
		<description><![CDATA[Con este post quiero agradecer a FURRI por incluir uno de nuestros KITS en su proyecto tan interesante de comunicacion via laser, me parecio algo muy practico y con muchas aplicaciones en el futuro&#8230; Este es el link a la WEB de FURRI&#8230; http://www.tarribot.com/tallerdunas/ Saludos y a seguir en el tema.]]></description>
			<content:encoded><![CDATA[<!-- Start LikeButtonSetTop --><!-- End LikeButtonSetTop --><p>Con este post quiero agradecer a FURRI por incluir uno de nuestros KITS en su proyecto tan interesante de comunicacion via laser, me parecio algo muy practico y con muchas aplicaciones en el futuro&#8230;</p>
<p style="text-align: center;"><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="480" height="385" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://www.youtube.com/v/KriA84Bz2ZI?fs=1&amp;hl=en_US" /><param name="allowfullscreen" value="true" /><embed type="application/x-shockwave-flash" width="480" height="385" src="http://www.youtube.com/v/KriA84Bz2ZI?fs=1&amp;hl=en_US" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<p>Este es el link a la WEB de FURRI&#8230;<br />
<a href="http://www.tarribot.com/tallerdunas/" target="_blank"> http://www.tarribot.com/tallerdunas/</a></p>
<p>Saludos y a seguir en el tema.</p>
<div class="shr-publisher-385"></div><!-- Start LikeButtonSetBottom --><!-- End LikeButtonSetBottom -->


		<!-- Added by WP-DragToShare-eXtended Plugin -->
		<script type="text/javascript">
			dtsv.dtse_post_385_permalink = 'http://pinguino.walii.es/?p=385';
			dtsv.dtse_post_385_title = 'Proyecto de FURRI con PINGUINO WALII';
		</script>
		<!-- End of WP-DragToShare-eXtended Plugin -->]]></content:encoded>
			<wfw:commentRss>http://pinguino.walii.es/?feed=rss2&#038;p=385</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Feliz Año a todos&#8230;</title>
		<link>http://pinguino.walii.es/?p=384</link>
		<comments>http://pinguino.walii.es/?p=384#comments</comments>
		<pubDate>Sat, 01 Jan 2011 15:04:47 +0000</pubDate>
		<dc:creator>walterleonardo</dc:creator>
				<category><![CDATA[PINGUINO]]></category>
		<category><![CDATA[Varios]]></category>

		<guid isPermaLink="false">http://pinguino.walii.es/?p=384</guid>
		<description><![CDATA[]]></description>
			<content:encoded><![CDATA[<!-- Start LikeButtonSetTop --><!-- End LikeButtonSetTop --><p style="color:#008;text-align:right;" align="center"><img class="dtse-img dtse-post-384" height="480" style="margin: 5px" width="640" alt="" src="http://pinguino.walii.es/wp-content/uploads/2011/01/findeao.png" /></p>
<div class="shr-publisher-384"></div><!-- Start LikeButtonSetBottom --><!-- End LikeButtonSetBottom -->


		<!-- Added by WP-DragToShare-eXtended Plugin -->
		<script type="text/javascript">
			dtsv.dtse_post_384_permalink = 'http://pinguino.walii.es/?p=384';
			dtsv.dtse_post_384_title = 'Feliz Año a todos…';
		</script>
		<!-- End of WP-DragToShare-eXtended Plugin -->]]></content:encoded>
			<wfw:commentRss>http://pinguino.walii.es/?feed=rss2&#038;p=384</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PINGUINO 9.05 para MAC &#8220;PERFECTA&#8221;</title>
		<link>http://pinguino.walii.es/?p=381</link>
		<comments>http://pinguino.walii.es/?p=381#comments</comments>
		<pubDate>Mon, 06 Dec 2010 15:53:24 +0000</pubDate>
		<dc:creator>walterleonardo</dc:creator>
				<category><![CDATA[PINGUINO]]></category>

		<guid isPermaLink="false">http://pinguino.walii.es/?p=381</guid>
		<description><![CDATA[Ya en mis manos, la ultima version de GUI de PINGUINO la version 9.05 para MAC, tambien he descargado la version para linux, y estoy en proceso de prueba, una genialidad y un look muy diferente&#8230;ya lo verán&#8230;Por lo que puede probar, funciona perfectamente, aunque en la versión de PYTHON 2.5.2 no inicia&#8230; pero en [...]]]></description>
			<content:encoded><![CDATA[<!-- Start LikeButtonSetTop --><!-- End LikeButtonSetTop --><p style="clear: both">Ya en mis manos, la ultima version de GUI de PINGUINO la version 9.05 para MAC, tambien he descargado la version para linux, y estoy en proceso de prueba, una genialidad y un look muy diferente&#8230;ya lo verán&#8230;<br />Por lo que puede probar, funciona perfectamente, aunque en la versión de PYTHON 2.5.2 no inicia&#8230; pero en cualquier otra 2.5.4 y 2.6.0 funciona al 100%.</p>
<p style="clear: both"><a href="http://pinguino.walii.es/wp-content/uploads/2010/12/screen-capture-4.png" class="image-link"><img class="linked-to-original dtse-img dtse-post-381" src="http://pinguino.walii.es/wp-content/uploads/2010/12/screen-capture-4-thumb.png" height="237" width="380" style=" text-align: center; display: block; margin: 0 auto 10px;" /></a>gracias JEAN.</p>
<p><br class="final-break" style="clear: both" /></p>
<div class="shr-publisher-381"></div><!-- Start LikeButtonSetBottom --><!-- End LikeButtonSetBottom -->


		<!-- Added by WP-DragToShare-eXtended Plugin -->
		<script type="text/javascript">
			dtsv.dtse_post_381_permalink = 'http://pinguino.walii.es/?p=381';
			dtsv.dtse_post_381_title = 'PINGUINO 9.05 para MAC “PERFECTA”';
		</script>
		<!-- End of WP-DragToShare-eXtended Plugin -->]]></content:encoded>
			<wfw:commentRss>http://pinguino.walii.es/?feed=rss2&#038;p=381</wfw:commentRss>
		<slash:comments>12</slash:comments>
		</item>
		<item>
		<title>Automatismo de luz navideña&#8230;con PINGUINO</title>
		<link>http://pinguino.walii.es/?p=370</link>
		<comments>http://pinguino.walii.es/?p=370#comments</comments>
		<pubDate>Sat, 04 Dec 2010 22:47:49 +0000</pubDate>
		<dc:creator>walterleonardo</dc:creator>
				<category><![CDATA[PINGUINO]]></category>
		<category><![CDATA[Varios]]></category>

		<guid isPermaLink="false">http://pinguino.walii.es/?p=370</guid>
		<description><![CDATA[Bueno siguiendo el tema de chorradas, y luego del burbujometro se me ocurrió montar el belén navideño, pero al terminarlo lo vi medio fofo&#8230; y pensé que quedaria bonito si automatizamos un poco la cosa y ponemos alguna que otra luz. El tema de tener que darle a un interruptor me molestaba, así que he [...]]]></description>
			<content:encoded><![CDATA[<!-- Start LikeButtonSetTop --><!-- End LikeButtonSetTop --><p style="clear: both;"><a class="image-link" href="http://pinguino.walii.es/wp-content/uploads/2010/12/IMG_2665.jpg"><img class="linked-to-original dtse-img dtse-post-370 dtse-img dtse-post-370 dtse-img dtse-post-370" style="display: inline; float: left; margin: 0 10px 10px 0;" src="http://pinguino.walii.es/wp-content/uploads/2010/12/IMG_2665-thumb.jpg" alt="" width="380" height="334" align="left" /></a>Bueno siguiendo el tema de chorradas, y luego del burbujometro <img src='http://pinguino.walii.es/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' />  se me ocurrió montar el belén navideño, pero al terminarlo lo vi medio fofo&#8230; y pensé que quedaria bonito si automatizamos un poco la cosa y ponemos alguna que otra luz.<br />
El tema de tener que darle a un interruptor me molestaba, así que he realizado una especie de interruptor infrarrojo, para activar con solo pasar la mano delante de la estrella, y durante un tiempo de cerca de un minuto las luces y algunos cambios de color&#8230;<br />
Espero os guste, es una tontería pero facil de hacer y de replicar.</p>
<p style="clear: both;"><span style="text-align: center; display: block; margin: 0 auto 10px;"><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="640" height="385" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://www.youtube.com/v/229G_nOcmHI?fs=1&amp;hl=es_ES" /><param name="allowfullscreen" value="true" /><embed type="application/x-shockwave-flash" width="640" height="385" src="http://www.youtube.com/v/229G_nOcmHI?fs=1&amp;hl=es_ES" allowscriptaccess="always" allowfullscreen="true"></embed></object></span></p>
<p style="clear: both;">
<p style="text-align: center;"><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="640" height="385" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://www.youtube.com/v/GdjtENpvZQE?fs=1&amp;hl=en_US" /><param name="allowfullscreen" value="true" /><embed type="application/x-shockwave-flash" width="640" height="385" src="http://www.youtube.com/v/GdjtENpvZQE?fs=1&amp;hl=en_US" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<p style="clear: both;">
<p style="clear: both;"><span style="text-align: center; display: block; margin: 0 auto 10px;"><br />
</span></p>
<p style="clear: both;"><a class="image-link" href="http://pinguino.walii.es/wp-content/uploads/2010/12/IMG_2667.jpg"><img class="linked-to-original dtse-img dtse-post-370 dtse-img dtse-post-370 dtse-img dtse-post-370" style="text-align: center; display: block; margin: 0 auto 10px;" src="http://pinguino.walii.es/wp-content/uploads/2010/12/IMG_2667-thumb.jpg" alt="" width="380" height="398" /></a></p>
<p style="clear: both;"><a class="image-link" href="http://pinguino.walii.es/wp-content/uploads/2010/12/IMG_2666.jpg"><img class="linked-to-original dtse-img dtse-post-370 dtse-img dtse-post-370 dtse-img dtse-post-370" style="text-align: center; display: block; margin: 0 auto 10px;" src="http://pinguino.walii.es/wp-content/uploads/2010/12/IMG_2666-thumb.jpg" alt="" width="380" height="349" /></a>Las lineas marcadas con //debug son para ir corrigiendo en tiempo real la respuesta del PINGUINO.</p>
<p style="clear: both;">
<pre class="brush: python; title: ; notranslate">

/*
 * Walii PINGUINO PIC
 * http://pinguino.walii.es
*
*Español
* Un sensor para el BELEN, para que cuando pasas la mano por delante
* se enciendan las luces de decoración, durante un minuto aproximadamente
*English
* A sensor for BELEN, so that when you pass your hand in front of this
* the lights decoration ON, these for about a minute.
 */

int redPin = 2; 	// R petal on RGB LED module connected to digital pin 2
int greenPin = 1; 	// G petal on RGB LED module connected to digital pin 1
int bluePin = 0; 	// B petal on RGB LED module connected to digital pin 0
int valueir;		//IR SENSOR
int i;
int timer=0;

void setup()
{
   for (i=0;i&lt;8;i++)
	{
	pinMode(i,OUTPUT);		// Config all the port like OUTPUT
	digitalWrite(i,LOW);		// fixed all exit to LOW
	}
Serial.begin(9600);		//debug
}
void color (uchar red, uchar green, uchar blue)     // the color generating function
{
          digitalWrite(redPin,red);
          digitalWrite(bluePin,blue);
          digitalWrite(greenPin,green);
}

void loop() 	// run over and over again
{
valueir=analogRead(13); //Read analog port
//Serial.print(&quot;valor ir &quot;);	//debug
//Serial.print(valueir,DEC);	//debug
//Serial.print(&quot;\n\r&quot;);		//debug
if (valueir&lt;100) timer=50;		//Control IR SENSOR
//Serial.print(&quot;valor timer &quot;);	//debug
//Serial.print(timer,DEC);		//debug
//Serial.print(&quot;\n\r&quot;);		//debug

while (timer&gt;1) //Make this only if timer is &gt; 1
{
//Serial.print(&quot;valor timer &quot;);	//debug
//Serial.print(timer,DEC); 	//debug
//Serial.print(&quot;\n\r&quot;); 		//debug
analogWrite(11,1000);	// 99% pwm 11
color(HIGH, LOW, LOW); 	// turn the RGB LED red
		delay(500); 	// delay for 1/2 second
analogWrite(11,500);		// 50% pwm 11
color(LOW, HIGH, LOW); 	// turn the RGB LED green
		delay(500);	// delay for 1/2 second
analogWrite(11,1000);	// 99% pwm 11
color(LOW, LOW, HIGH); 	// turn the RGB LED blue
		delay(500); 	// delay for 1/2 second
analogWrite(11,800);		// 80% pwm 11
timer--;
}
analogWrite(11,0);		//Off the PWM pin
color(LOW, LOW, LOW); 	//Off all the ligths
delay(100);			// Wait 100ms
}
</pre>
<div class="shr-publisher-370"></div><!-- Start LikeButtonSetBottom --><!-- End LikeButtonSetBottom -->


		<!-- Added by WP-DragToShare-eXtended Plugin -->
		<script type="text/javascript">
			dtsv.dtse_post_370_permalink = 'http://pinguino.walii.es/?p=370';
			dtsv.dtse_post_370_title = 'Automatismo de luz navideña…con PINGUINO';
		</script>
		<!-- End of WP-DragToShare-eXtended Plugin -->]]></content:encoded>
			<wfw:commentRss>http://pinguino.walii.es/?feed=rss2&#038;p=370</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Burbujometro con PINGUINO</title>
		<link>http://pinguino.walii.es/?p=356</link>
		<comments>http://pinguino.walii.es/?p=356#comments</comments>
		<pubDate>Wed, 01 Dec 2010 22:32:53 +0000</pubDate>
		<dc:creator>walterleonardo</dc:creator>
				<category><![CDATA[PINGUINO]]></category>

		<guid isPermaLink="false">http://pinguino.walii.es/?p=356</guid>
		<description><![CDATA[Hola&#8230; buenas, hoy con una tontería que se me ocurrió hace tiempo y nunca tuve el tiempo para hacerlo, hoy dedique un ratillo a ello, aunque hecho con prisas y con poca paciencia. Pero funciona&#8230; Quizas mi mezcla no sea la ideal, por eso las burbujas no salen como debería. El programa es basico, controlando [...]]]></description>
			<content:encoded><![CDATA[<!-- Start LikeButtonSetTop --><!-- End LikeButtonSetTop --><p style="clear: both;">
<p style="clear: both;">Hola&#8230; buenas, hoy con una tontería que se me ocurrió hace tiempo y nunca tuve el tiempo para hacerlo, hoy dedique un ratillo a ello, aunque hecho con prisas y con poca paciencia. Pero funciona&#8230;</p>
<p style="text-align: center;"><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="640" height="385" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://www.youtube.com/v/FuQGVi0cdkc?fs=1&amp;hl=en_US" /><param name="allowfullscreen" value="true" /><embed type="application/x-shockwave-flash" width="640" height="385" src="http://www.youtube.com/v/FuQGVi0cdkc?fs=1&amp;hl=en_US" allowscriptaccess="always" allowfullscreen="true"></embed></object><br />
Quizas mi mezcla no sea la ideal, por eso las burbujas no salen como debería.</p>
<p style="clear: both;">El programa es basico, controlando el servo y deteniendo un segundo arriba para poder soplar y medio segundo abajo para poder humectar bien el aro.</p>
<p style="clear: both;"><a class="image-link" href="http://pinguino.walii.es/wp-content/uploads/2010/12/pompero.jpg"><img class="linked-to-original dtse-img dtse-post-356 dtse-img dtse-post-356" style="text-align: center; display: block; margin: 0 auto 10px;" src="http://pinguino.walii.es/wp-content/uploads/2010/12/pompero-thumb.jpg" alt="" width="380" height="347" /></a>También el ventilador se controla con una salida PWM y controlando esta con dos botones&#8230; para subir y bajar la velocidad, ya que las burbujas necesitan un viento de velocidad &#8220;X&#8221; para hacerse, si es muy débil el viento, no se hace la burbuja y si este es muy fuerte la rompe.</p>
<p style="clear: both;">El control del ventilador es un transistor BC337 corto circuitando la tierra del cooler.</p>
<p style="clear: both;"><a class="image-link" href="http://pinguino.walii.es/wp-content/uploads/2010/12/pompero2.jpg"><img class="linked-to-original dtse-img dtse-post-356 dtse-img dtse-post-356" style="text-align: center; display: block; margin: 0 auto 10px;" src="http://pinguino.walii.es/wp-content/uploads/2010/12/pompero2-thumb.jpg" alt="" width="380" height="281" /></a>EL código es:</p>
<pre class="brush: python; title: ; notranslate">
int value;
int i;
int valueservo;
int valuemotor=2;
uchar position=1;

void setup(void)
{
servo.attach(0);
pinMode(1,INPUT);
pinMode(2,INPUT);

}

void loop(void)
{
servo.write(0,230);
delay(500);
servo.write(0,90);
delay(1000);
analogWrite(11,valuemotor);	// 50% square wave on output 11
//analogWrite(12,102);	// 10% square wave on output 12
if (digitalRead(1)==LOW) valuemotor=valuemotor+10;
if (digitalRead(2)==LOW) valuemotor=valuemotor-10;
if (valuemotor&gt;=1023) valuemotor=1023;
if (valuemotor&lt;=2) valuemotor=2;

}
</pre>
<div class="shr-publisher-356"></div><!-- Start LikeButtonSetBottom --><!-- End LikeButtonSetBottom -->


		<!-- Added by WP-DragToShare-eXtended Plugin -->
		<script type="text/javascript">
			dtsv.dtse_post_356_permalink = 'http://pinguino.walii.es/?p=356';
			dtsv.dtse_post_356_title = 'Burbujometro con PINGUINO';
		</script>
		<!-- End of WP-DragToShare-eXtended Plugin -->]]></content:encoded>
			<wfw:commentRss>http://pinguino.walii.es/?feed=rss2&#038;p=356</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>MARKETING PINGUINO HACKINGLAB</title>
		<link>http://pinguino.walii.es/?p=351</link>
		<comments>http://pinguino.walii.es/?p=351#comments</comments>
		<pubDate>Wed, 24 Nov 2010 12:38:17 +0000</pubDate>
		<dc:creator>walterleonardo</dc:creator>
				<category><![CDATA[PINGUINO]]></category>

		<guid isPermaLink="false">http://pinguino.walii.es/?p=351</guid>
		<description><![CDATA[    Se me ocurrió hacer un par de pedidos de gorras, tazas y camisetas con un logo que he creado de PINGUINO… con el permiso de JEAN, me gustaría ofrecerlas por si alguien más quiere… Por ahora quise hacer solo estos diseños… pero cualquiera puede pedirme alguno especial… de otro color o tamaños, estos son para [...]]]></description>
			<content:encoded><![CDATA[<!-- Start LikeButtonSetTop --><!-- End LikeButtonSetTop --><p>    Se me ocurrió hacer un  par de pedidos de gorras, tazas y camisetas con un logo que he creado de PINGUINO… con el permiso de JEAN, me gustaría ofrecerlas por si alguien más quiere…
</p>
<p>Por ahora quise hacer solo estos diseños… pero cualquiera puede pedirme alguno especial… de otro color o tamaños, estos son para mí… y me gusta el blanco&#8230;
</p>
<p>
 </p>
<p style="text-align: center"><strong>Las Camisetas mangas cortas salen por €19 euros<br />
</strong></p>
<p style="text-align: center"><strong>Las Camisetas mangas largas salen por €30 euros<br />
</strong></p>
<p style="text-align: center"><strong>Las tazas salen por €19 euros<br />
</strong></p>
<p style="text-align: center"><strong>Las gorras salen por €26 euros<br />
</strong></p>
<p style="text-align: center"><strong>Estos precios son más el envió… que es €6 euros nacional o €12 euros internacional.<br />
</strong></p>
<p style="text-align: center"><strong><span style="background-color:red">Si pedimos más de 5 unidades el envío es gratis, y si piden más de 10, un descuento en el total de 10%.</span><br />
		</strong></p>
<div style="text-align: center">
<table style="border-collapse:collapse" border="0">
<colgroup>
<col style="width:270px"/>
<col style="width:260px"/></colgroup>
<tbody valign="top">
<tr>
<td style="padding-left: 7px; padding-right: 7px">
<p>Taza térmica de cerámica</p>
</td>
<td style="padding-left: 7px; padding-right: 7px">
<p>Gorra talle único</p>
</td>
</tr>
<tr>
<td style="padding-left: 7px; padding-right: 7px">
<p><img class="dtse-img dtse-post-351" src="http://pinguino.walii.es/wp-content/uploads/2010/11/112410_1230_MARKETINGPI1.png" alt=""/></p>
</td>
<td style="padding-left: 7px; padding-right: 7px">
<p><img class="dtse-img dtse-post-351" src="http://pinguino.walii.es/wp-content/uploads/2010/11/112410_1230_MARKETINGPI2.jpg" alt=""/></p>
</td>
</tr>
<tr>
<td style="padding-left: 7px; padding-right: 7px"> </td>
<td style="padding-left: 7px; padding-right: 7px"> </td>
</tr>
<tr>
<td style="padding-left: 7px; padding-right: 7px">
<p>Camiseta manga corta talle L</p>
</td>
<td style="padding-left: 7px; padding-right: 7px">
<p>Camiseta manga larga talle L</p>
</td>
</tr>
<tr>
<td style="padding-left: 7px; padding-right: 7px">
<p><img class="dtse-img dtse-post-351" src="http://pinguino.walii.es/wp-content/uploads/2010/11/112410_1230_MARKETINGPI3.jpg" alt=""/></p>
</td>
<td style="padding-left: 7px; padding-right: 7px">
<p><img class="dtse-img dtse-post-351" src="http://pinguino.walii.es/wp-content/uploads/2010/11/112410_1230_MARKETINGPI4.jpg" alt=""/></p>
</td>
</tr>
</tbody>
</table>
</div>
<p>
 </p>
<div class="shr-publisher-351"></div><!-- Start LikeButtonSetBottom --><!-- End LikeButtonSetBottom -->


		<!-- Added by WP-DragToShare-eXtended Plugin -->
		<script type="text/javascript">
			dtsv.dtse_post_351_permalink = 'http://pinguino.walii.es/?p=351';
			dtsv.dtse_post_351_title = 'MARKETING PINGUINO HACKINGLAB';
		</script>
		<!-- End of WP-DragToShare-eXtended Plugin -->]]></content:encoded>
			<wfw:commentRss>http://pinguino.walii.es/?feed=rss2&#038;p=351</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Instalador de Windows para PINGUINO GUI PIC 9.04</title>
		<link>http://pinguino.walii.es/?p=346</link>
		<comments>http://pinguino.walii.es/?p=346#comments</comments>
		<pubDate>Wed, 24 Nov 2010 11:13:01 +0000</pubDate>
		<dc:creator>walterleonardo</dc:creator>
				<category><![CDATA[Varios]]></category>

		<guid isPermaLink="false">http://pinguino.walii.es/?p=346</guid>
		<description><![CDATA[    Estuve esperando a que JEAN me pasara la ultima versión de PINGUINO… pero parece que lleva mucho más trabajo de lo que pensábamos… así que mientras, os ofrezco la versión 9.04… hasta que tenga en mis manos la 9.05…     Jean me ha ofrecido la BETA…BETA del 9. 05… pero prefiero que este bien [...]]]></description>
			<content:encoded><![CDATA[<!-- Start LikeButtonSetTop --><!-- End LikeButtonSetTop --><p>    Estuve esperando a que JEAN me pasara la ultima versión de PINGUINO… pero parece que lleva mucho más trabajo de lo que pensábamos… así que mientras, os ofrezco la versión 9.04… hasta que tenga en mis manos la 9.05…
</p>
<p>
 </p>
<p>
 </p>
<p style="text-align: center"><img class="dtse-img dtse-post-346" src="http://pinguino.walii.es/wp-content/uploads/2010/11/112410_1112_Instaladord1.png" alt=""/>
	</p>
<p style="text-align: center"><img class="dtse-img dtse-post-346" src="http://pinguino.walii.es/wp-content/uploads/2010/11/112410_1112_Instaladord2.png" alt=""/>
	</p>
<p>Jean me ha ofrecido la BETA…BETA del 9. 05… pero prefiero que este bien fina antes de ponerme a hacer el paquete…
</p>
<p>Ahora he refinado un poco más el paquete de instalación… y tienen de donde elegir…
</p>
<p>Para quienes nunca han instalado PINGÜINO y necesitan todas las aplicaciones previas… tenemos la versión &#8220;A&#8221; la cual trae he instala todo lo necesario para hacer funcionar PINGÜINO en una maquina nueva… o a la que nunca se le ha instalado esta aplicación… trae PYTHON, WXPYTHON, LibUSB y PyUSB.
</p>
<p><a href="http://rapidshare.com/files/432813687/Pinguino_Setup_9.04_A.exe">http://rapidshare.com/files/432813687/Pinguino_Setup_9.04_A.exe</a>
	</p>
<p>
 </p>
<p>Para la gente que ya tiene instalado y funcionando cualquier versión previa de pingüino… y solo necesita instalar la nueva versión… para ello es el paquete &#8220;B&#8221;, con tamaño reducido y sin paquetes extras.
</p>
<p><a href="http://rapidshare.com/files/432812456/Pinguino_Setup_9.04_B.exe">http://rapidshare.com/files/432812456/Pinguino_Setup_9.04_B.exe</a>
	</p>
<p>
 </p>
<p>Saludos.</p>
<div class="shr-publisher-346"></div><!-- Start LikeButtonSetBottom --><!-- End LikeButtonSetBottom -->


		<!-- Added by WP-DragToShare-eXtended Plugin -->
		<script type="text/javascript">
			dtsv.dtse_post_346_permalink = 'http://pinguino.walii.es/?p=346';
			dtsv.dtse_post_346_title = 'Instalador de Windows para PINGUINO GUI PIC 9.04';
		</script>
		<!-- End of WP-DragToShare-eXtended Plugin -->]]></content:encoded>
			<wfw:commentRss>http://pinguino.walii.es/?feed=rss2&#038;p=346</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>PINGUINO 9.04  CDC compiler problem</title>
		<link>http://pinguino.walii.es/?p=341</link>
		<comments>http://pinguino.walii.es/?p=341#comments</comments>
		<pubDate>Sun, 21 Nov 2010 16:52:17 +0000</pubDate>
		<dc:creator>walterleonardo</dc:creator>
				<category><![CDATA[PINGUINO]]></category>

		<guid isPermaLink="false">http://pinguino.walii.es/?p=341</guid>
		<description><![CDATA[Hola buenos dias, esta es una solucion rapida a un probelma de compilación en la version 9.04 de MAC OSX, cuando queremos complilar el modulo de ejemplo de CDC en una MAC&#8230; nos aparecen muchos errores&#8230; existe un error en el codigo del archivo usb_config.h y el .c, gracias JEAN Al final de este documento pongo un [...]]]></description>
			<content:encoded><![CDATA[<!-- Start LikeButtonSetTop --><!-- End LikeButtonSetTop --><p>Hola buenos dias, esta es una solucion rapida a un probelma de compilación en la version 9.04 de MAC OSX, cuando queremos complilar el modulo de ejemplo de CDC en una MAC&#8230; nos aparecen muchos errores&#8230; existe un error en el codigo del archivo usb_config.h y el .c, gracias JEAN</p>
<p>Al final de este documento pongo un enlace a dichos archivos que deberán ser copiados a la carpeta</p>
<p><!-- p.p1 {margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px Helvetica} -->/tools/share/sdcc/include/pic16/usb    reemplazando los existentes&#8230; esta solucion tambien es factible para la nueva version 9.05</p>
<p>El error visto es algo asi:</p>
<p>__CODE</p>
<p>__DATA</p>
<p>El link de descarga es el siguiente.</p>
<p><a href="http://rapidshare.com/files/432256020/uso_CONFIG.zip">http://rapidshare.com/files/432256020/uso_CONFIG.zip</a></p>
<p><span style="color: #ff6600;">Para los que usen la version de macOSX existe tambien un problema con la version del teclado de ESPAÑOL ISO que hace que no aparezcan la llave abierta y el corchete abierto&#8230; eso no pasa si tenemos la configuración del teclado en ingles&#8230; según lo comentado con JEAN lo solucionara en la version 9.05</span></p>
<p>saludos.</p>
<div class="shr-publisher-341"></div><!-- Start LikeButtonSetBottom --><!-- End LikeButtonSetBottom -->


		<!-- Added by WP-DragToShare-eXtended Plugin -->
		<script type="text/javascript">
			dtsv.dtse_post_341_permalink = 'http://pinguino.walii.es/?p=341';
			dtsv.dtse_post_341_title = 'PINGUINO 9.04  CDC compiler problem';
		</script>
		<!-- End of WP-DragToShare-eXtended Plugin -->]]></content:encoded>
			<wfw:commentRss>http://pinguino.walii.es/?feed=rss2&#038;p=341</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Processing + touchOSC + PINGUINO + Brushless</title>
		<link>http://pinguino.walii.es/?p=336</link>
		<comments>http://pinguino.walii.es/?p=336#comments</comments>
		<pubDate>Thu, 18 Nov 2010 08:58:43 +0000</pubDate>
		<dc:creator>walterleonardo</dc:creator>
				<category><![CDATA[PINGUINO]]></category>
		<category><![CDATA[RED]]></category>

		<guid isPermaLink="false">http://pinguino.walii.es/?p=336</guid>
		<description><![CDATA[Aqui os enseño el ultimo proyecto que he creado, basandome en el famoso ARDRONE, quice intentar reproducir el control utilizando un IPHONE, conectado por WIFI, y asi dar ordenes via TOUCHOSC al PROCESSING y este via puerto USB enviar la informacion recibida a un PINGUINO el cual tiene como tarea mover el motor BRUSHLESS&#8230; La [...]]]></description>
			<content:encoded><![CDATA[<!-- Start LikeButtonSetTop --><!-- End LikeButtonSetTop --><p>Aqui os enseño el ultimo proyecto que he creado, basandome en el famoso ARDRONE, quice intentar reproducir el control utilizando un IPHONE, conectado por WIFI, y asi dar ordenes via TOUCHOSC al PROCESSING y este via puerto USB  enviar la informacion recibida a un PINGUINO el cual tiene como tarea mover el motor BRUSHLESS&#8230;</p>
<p>La tarea es sensilla.</p>
<p>[IPHONE (+TouchOSC)]&#8212;wifi&#8212;&gt;[OSx(+PROCESSING)]&#8212;usb&#8212;&gt;[PINGUINO(+brushless)]</p>
<p>Siento lo del audio, pero sin querer capture el video con el microfono de la webcam, por ende &#8220;Horrible&#8221;</p>
<p style="text-align: center;"><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="640" height="385" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://www.youtube.com/v/b9DeM-cbJaQ?fs=1&amp;hl=es_ES" /><param name="allowfullscreen" value="true" /><embed type="application/x-shockwave-flash" width="640" height="385" src="http://www.youtube.com/v/b9DeM-cbJaQ?fs=1&amp;hl=es_ES" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<p style="text-align: center;">
<p style="text-align: left;">Esto es una muestra de lo que podemos hacer con las herramientas y el tiempo necesario.</p>
<p style="text-align: left;">En cuanto tenga un segundo, subo el perfil de TOUCHOSC, el codigo del PROCESSING y el de PINGUINO.</p>
<p style="text-align: left;">Saludos.</p>
<div class="shr-publisher-336"></div><!-- Start LikeButtonSetBottom --><!-- End LikeButtonSetBottom -->


		<!-- Added by WP-DragToShare-eXtended Plugin -->
		<script type="text/javascript">
			dtsv.dtse_post_336_permalink = 'http://pinguino.walii.es/?p=336';
			dtsv.dtse_post_336_title = 'Processing + touchOSC + PINGUINO + Brushless';
		</script>
		<!-- End of WP-DragToShare-eXtended Plugin -->]]></content:encoded>
			<wfw:commentRss>http://pinguino.walii.es/?feed=rss2&#038;p=336</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Tienda de compras</title>
		<link>http://pinguino.walii.es/?p=331</link>
		<comments>http://pinguino.walii.es/?p=331#comments</comments>
		<pubDate>Mon, 11 Oct 2010 19:15:47 +0000</pubDate>
		<dc:creator>walterleonardo</dc:creator>
				<category><![CDATA[PINGUINO]]></category>
		<category><![CDATA[RED]]></category>
		<category><![CDATA[Sin categoría]]></category>
		<category><![CDATA[Varios]]></category>
		<category><![CDATA[WEB]]></category>

		<guid isPermaLink="false">http://pinguino.walii.es/2010/10/tienda-de-compras/</guid>
		<description><![CDATA[Gracias el consejo de varias personas que han utilizado la tienda, he visto que tiene problemas de visualizacion en OPERA y CHROME&#8230; Se recomienda el uso de Internet Explorer y Safari. Igualmente he incluido los productos en una nueva web que tengo ONline&#8230; la cual para quien quiera visitarla ya estan activos los productos PINGUINO&#8230; [...]]]></description>
			<content:encoded><![CDATA[<!-- Start LikeButtonSetTop --><!-- End LikeButtonSetTop --><p>Gracias el consejo de varias personas que han utilizado la tienda, he visto que tiene problemas de visualizacion en OPERA y CHROME&#8230; </p>
<p>Se recomienda el uso de Internet Explorer y Safari.</p>
<p>Igualmente he incluido los productos en una nueva web que tengo ONline&#8230; la cual para quien quiera visitarla ya estan activos los productos PINGUINO&#8230;</p>
<p>el link es:<br />
<a href="http://echollos.com/category.php?id_category=7">http://echollos.com/category.php?id_category=7</a></p>
<p>Basicamente son los mismos productos pero esta web es compatible con todos los Exploradores.Pronto incluire el link en la propia pagina.<br />
  <a title="logo" href="http://echollos.com/category.php?id_category=7">  <img class="dtse-img dtse-post-331" src="http://static.flickr.com/4085/5072789054_fc61a8cabc_m.jpg" border="0" /> </a></p>
<div class="shr-publisher-331"></div><!-- Start LikeButtonSetBottom --><!-- End LikeButtonSetBottom -->


		<!-- Added by WP-DragToShare-eXtended Plugin -->
		<script type="text/javascript">
			dtsv.dtse_post_331_permalink = 'http://pinguino.walii.es/?p=331';
			dtsv.dtse_post_331_title = 'Tienda de compras';
		</script>
		<!-- End of WP-DragToShare-eXtended Plugin -->]]></content:encoded>
			<wfw:commentRss>http://pinguino.walii.es/?feed=rss2&#038;p=331</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Circuitos de sensores y entradas para PIC</title>
		<link>http://pinguino.walii.es/?p=281</link>
		<comments>http://pinguino.walii.es/?p=281#comments</comments>
		<pubDate>Sat, 09 Oct 2010 17:03:00 +0000</pubDate>
		<dc:creator>walterleonardo</dc:creator>
				<category><![CDATA[PINGUINO]]></category>

		<guid isPermaLink="false">http://pinguino.walii.es/archives/281</guid>
		<description><![CDATA[    Esto es más que nada una ayuda memoria, para no tener que buscar en internet o en el oráculo. Estos circuitos están probados y si se sigue el esquema correctamente se obtienen buenos resultados. Aquí vemos como conectar pulsadores o botones, ya sea para obtener una rampa positiva o negativa. También vemos como conectar un [...]]]></description>
			<content:encoded><![CDATA[<!-- Start LikeButtonSetTop --><!-- End LikeButtonSetTop --><p>    Esto es más que nada una ayuda memoria, para no tener que buscar en internet o en el oráculo. Estos circuitos están probados y si se sigue el esquema correctamente se obtienen buenos resultados.
</p>
<p style="text-align: center">Aquí vemos como conectar pulsadores o botones, ya sea para obtener una rampa positiva o negativa.
</p>
<p style="text-align: center">También vemos como conectar un termostato LM35.
</p>
<p style="text-align: center">Recordemos que este transistor posee un rango de medición muy grande, con una definición de 10mVolts por grado.
</p>
<p style="text-align: center">Pudiendo medir desde los -55º a los 150ºC operando en tensiones de 4 a 30Volts. Con solo 4 Volts puede medir su máximo que sería 150ºC.
</p>
<p style="text-align: center">Si obtenemos por ejemplo:
</p>
<p style="text-align: center">En la salida 1,5volts nuestra lectura es de +150ºC
</p>
<p style="text-align: center">Si tenemos 0,25Volts la lectura seria de +25ºC
</p>
<p style="text-align: center">Y el siguiente extremo es del -0,55Volts que representaría a -55ºC
</p>
<p style="text-align: center"><img class="dtse-img dtse-post-281" src="http://pinguino.walii.es/wp-content/uploads/2010/10/100910_1702_Circuitosde1.png" alt=""/>
	</p>
<p style="text-align: center">
 </p>
<p style="text-align: center">Aquí vemos un sensor infrarrojo, el cual funciona a la perfección.
</p>
<p style="text-align: center">Verifiquen en su construcción que el diodo de receptor tiene que tener la patilla negativa hacia el positivo, o sea, conectada al resistor de 47K.
</p>
<p style="text-align: center"><img class="dtse-img dtse-post-281" src="http://pinguino.walii.es/wp-content/uploads/2010/10/100910_1702_Circuitosde2.png" alt=""/>
	</p>
<p style="text-align: center">
 </p>
<p style="text-align: center">Por último tenemos como conectar un simple LED (pensando en una alimentación de 5 Volts).
</p>
<p style="text-align: center">También un LDR el cual nos ofrece una salida con positiva con pulsos invertidos, o rampa negativa.
</p>
<p style="text-align: center"><img class="dtse-img dtse-post-281" src="http://pinguino.walii.es/wp-content/uploads/2010/10/100910_1702_Circuitosde3.png" alt=""/>
	</p>
<p style="text-align: center">Más adelante pondré los programas para utilizar cada uno.</p>
<div class="shr-publisher-281"></div><!-- Start LikeButtonSetBottom --><!-- End LikeButtonSetBottom -->


		<!-- Added by WP-DragToShare-eXtended Plugin -->
		<script type="text/javascript">
			dtsv.dtse_post_281_permalink = 'http://pinguino.walii.es/?p=281';
			dtsv.dtse_post_281_title = 'Circuitos de sensores y entradas para PIC';
		</script>
		<!-- End of WP-DragToShare-eXtended Plugin -->]]></content:encoded>
			<wfw:commentRss>http://pinguino.walii.es/?feed=rss2&#038;p=281</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Nuevo precio del PIC programado y KITs</title>
		<link>http://pinguino.walii.es/?p=276</link>
		<comments>http://pinguino.walii.es/?p=276#comments</comments>
		<pubDate>Fri, 08 Oct 2010 23:25:39 +0000</pubDate>
		<dc:creator>walterleonardo</dc:creator>
				<category><![CDATA[PINGUINO]]></category>

		<guid isPermaLink="false">http://pinguino.walii.es/archives/276</guid>
		<description><![CDATA[    Gracias a muchas recomendaciones y búsquedas, he podido reducir el coste de producción del PIC y su programación. Así que lo tenemos con nuevo precio… ahora 14euros programado con la última versión del firmware. También he conseguido precios orientativos para los kits completos (sin soldar), con el PCB, MICROCONTROLADOR y componentes básicos, por 39euros. Comparado [...]]]></description>
			<content:encoded><![CDATA[<!-- Start LikeButtonSetTop --><!-- End LikeButtonSetTop --><blockquote><p><span style="font-size:10pt">    Gracias a muchas recomendaciones y búsquedas, he podido reducir el coste de producción del PIC y su programación. Así que lo tenemos con nuevo precio… ahora 14euros programado con la última versión del firmware.<br />
</span></p>
</blockquote>
<blockquote><p><span style="font-size:10pt">También he conseguido precios orientativos para  los kits completos (sin soldar), con el PCB, MICROCONTROLADOR y componentes básicos, por 39euros. Comparado con el precio de productos similares ARDUINOS, creo que estamos en el rango normal de precios.<br />
</span></p>
</blockquote>
<blockquote><p><span style="font-size:10pt">Para los que quieran el PINGÜINO armado y soldado, listo para funcionar, creo que el precio orientativo puede ser de 50euros.<br />
</span></p>
</blockquote>
<blockquote><p><span style="font-size:10pt">Actualmente con el número de ventas <strong>no es factible</strong> bajar el coste, mas adelante si el volumen de ventas aumenta, quizás podríamos reducir en 10 o 15% el valor de kits y componentes.<br />
</span></p>
</blockquote>
<blockquote><p><span style="font-size:10pt">También para los que quieran comprar cantidad ( +5 kits, PICs o PCB), os recuerdo que tienen un descuento de un 5%.<br />
</span></p>
</blockquote>
<blockquote><p>
 </p>
</blockquote>
<blockquote><p><span style="font-size:10pt">Saludos.</span></p>
</blockquote>
<div class="shr-publisher-276"></div><!-- Start LikeButtonSetBottom --><!-- End LikeButtonSetBottom -->


		<!-- Added by WP-DragToShare-eXtended Plugin -->
		<script type="text/javascript">
			dtsv.dtse_post_276_permalink = 'http://pinguino.walii.es/?p=276';
			dtsv.dtse_post_276_title = 'Nuevo precio del PIC programado y KITs';
		</script>
		<!-- End of WP-DragToShare-eXtended Plugin -->]]></content:encoded>
			<wfw:commentRss>http://pinguino.walii.es/?feed=rss2&#038;p=276</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>PINGÜINO PIC  sensor de temperatura e Iluminación</title>
		<link>http://pinguino.walii.es/?p=275</link>
		<comments>http://pinguino.walii.es/?p=275#comments</comments>
		<pubDate>Fri, 08 Oct 2010 22:47:47 +0000</pubDate>
		<dc:creator>walterleonardo</dc:creator>
				<category><![CDATA[PINGUINO]]></category>

		<guid isPermaLink="false">http://pinguino.walii.es/archives/275</guid>
		<description><![CDATA[Bueno hoy estoy con un proyecto fácil, pero que al principio de mis tiempos con PICs, me costó su trabajo. Básicamente el proyecto toma 10 lecturas de temperatura con el sensor LM35 y 10 lecturas del LDR, luego realizamos el promedio de estas y lo imprimimos por el puerto serie, para más tarde hacer lo [...]]]></description>
			<content:encoded><![CDATA[<!-- Start LikeButtonSetTop --><!-- End LikeButtonSetTop --><p>Bueno hoy estoy con un proyecto fácil, pero que al principio de mis tiempos con PICs, me costó su trabajo.</p>
<p>Básicamente el proyecto toma 10 lecturas de temperatura con el sensor LM35 y 10 lecturas del LDR, luego realizamos el promedio de estas y lo imprimimos por el puerto serie, para más tarde hacer lo que queramos con estos valores. Graficarlos en una página web o simplemente en PROCESSING</p>
<p style="text-align: center;"><img class="dtse-img dtse-post-275" src="http://pinguino.walii.es/wp-content/uploads/2010/10/100810_2247_PINGINOPICs1.png" alt="" /></p>
<p style="text-align: center;"><img class="dtse-img dtse-post-275" src="http://pinguino.walii.es/wp-content/uploads/2010/10/100810_2247_PINGINOPICs2.png" alt="" /></p>
<p style="text-align: center;">
<p>El código es simple.</p>
<pre class="brush: python; title: ; notranslate">
&lt;blockquote&gt;
/*
=============
Sensor de temperatura y luz
walii
Octubre 2010
*/
#define PIC18F4550
#define RUNLED PORTAbits.RA4
int samples[10];
int max=0;
int min=100;
int tempc=0;
int tempf=0;
int lux=0;
int i,x;
float val1;
float val2;

void setup() {
//Solo el serial es necesario para enviar los datos.
Serial.begin(9600);
}
void loop() {
//Realizamos un ARRAY para hacer un promedio de 10 mediciones
for (i=0;i&lt;=9;i++){
val1=analogRead(13);
samples[i]=(4.65*val1*100)/1024.0;
tempc=tempc+samples[i];
delay(100);
}
//Dividimos por la misma cantidad de lecturas
tempc=tempc/10.0;
//Convertimos en Farhenheit
tempf=(tempc*9)/5+32;
//Capturamos los valores de minimos y maximos.
if(tempc&gt;max){max=tempc;}
if(tempc&lt;min){min=tempc;}

//Ahora le toca el turno a la luz, tomamos 10 lecturas
for (x=0;x&lt;=9;x++){
val2=analogRead(16);
samples[x]=val2*100/1024.0;
lux=lux+samples[x];
delay(100);
}
//Dividimos el resultado por el mismo numero de lecturas
lux=100-(lux/10.0);
//Controlamos que las lecturas no sobrepasen los valores de 0-100.
if(lux&gt;=100)lux=100;
if(lux&lt;=0)lux=0;
//Imprimimos todo en el serial
Serial.print(&quot;Pinguino.walii.es&quot;);
Serial.print(&quot;\n\r&quot;);
Serial.print(&quot;#####################&quot;);
Serial.print(&quot;\n\r&quot;);
Serial.print(&quot;Temperatura: &quot;);
Serial.print(tempc,DEC);
Serial.print(&quot; C&quot;);
Serial.print(&quot;\n\r&quot;);
Serial.print(&quot;#####################&quot;);
Serial.print(&quot;\n\r&quot;);
Serial.print(&quot;Temp maxima: &quot;);
Serial.print(max,DEC);
Serial.print(&quot; C&quot;);
Serial.print(&quot;\n\r&quot;);
Serial.print(&quot;Temp minima: &quot;);
Serial.print(min,DEC);
Serial.print(&quot; C&quot;);
Serial.print(&quot;\n\r&quot;);
Serial.print(&quot;Temp fahrenheit: &quot;);
Serial.print(tempf,DEC);
Serial.print(&quot; F&quot;);
Serial.print(&quot;\n\r&quot;);
Serial.print(&quot;#####################&quot;);
Serial.print(&quot;\n\r&quot;);
Serial.print(&quot;Nivel de Luz: &quot;);
Serial.print(lux,DEC);
Serial.print(&quot;%&quot;);
Serial.print(&quot;\n\r&quot;);
Serial.print(&quot;#####################&quot;);
Serial.print(&quot;\n\r&quot;);
Serial.print(&quot;\n\r&quot;);
Serial.print(&quot;\n\r&quot;);
Serial.print(&quot;\n\r&quot;);
Serial.print(&quot;\n\r&quot;);
Serial.print(&quot;\n\r&quot;);
Serial.print(&quot;\n\r&quot;);
Serial.print(&quot;\n\r&quot;);
Serial.print(&quot;\n\r&quot;);
Serial.print(&quot;\n\r&quot;);
Serial.print(&quot;\n\r&quot;);
//indentificacion que todo funciona bien, el runled parpadea.
RUNLED=1;
delay(50);
RUNLED=0;
delay(50);
}
</pre>
<blockquote><p>El sensor LM35 lo conectaremos en la puerta AN0, patilla numero2 o puerta 13 de nuestro PINGUINO 18f4550 (recordemos que por algún motivo JeanPear a cambiado los números de las patillas, pero viendo el diagrama nos ubicamos bien.)</p>
<p>El LDR para medir la incidencia de luz lo conectaremos en la puerta AN3, patilla numero 5 o puerta 16 de nuestro PINGÜINO 18f4550</p></blockquote>
</blockquote>
<div class="shr-publisher-275"></div><!-- Start LikeButtonSetBottom --><!-- End LikeButtonSetBottom -->


		<!-- Added by WP-DragToShare-eXtended Plugin -->
		<script type="text/javascript">
			dtsv.dtse_post_275_permalink = 'http://pinguino.walii.es/?p=275';
			dtsv.dtse_post_275_title = 'PINGÜINO PIC  sensor de temperatura e Iluminación';
		</script>
		<!-- End of WP-DragToShare-eXtended Plugin -->]]></content:encoded>
			<wfw:commentRss>http://pinguino.walii.es/?feed=rss2&#038;p=275</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Un juego de colorines y sensores de infrarrojo… claro… con PINGÜINO.</title>
		<link>http://pinguino.walii.es/?p=267</link>
		<comments>http://pinguino.walii.es/?p=267#comments</comments>
		<pubDate>Wed, 29 Sep 2010 21:28:10 +0000</pubDate>
		<dc:creator>walterleonardo</dc:creator>
				<category><![CDATA[PINGUINO]]></category>

		<guid isPermaLink="false">http://pinguino.walii.es/archives/267</guid>
		<description><![CDATA[Hola buenos días… hoy cumplo con una de las promesas y proyectos de mi tintero… un juego con detección de infrarrojos en los 360grados… con 4 sectores y uno adicional arriba. Básicamente se compone de 5 sensores de infrarrojo que detectan cualquier obstáculo a menos de 30 centímetros, y lo traduce en un color diferente [...]]]></description>
			<content:encoded><![CDATA[<!-- Start LikeButtonSetTop --><!-- End LikeButtonSetTop --><p>Hola buenos días… hoy cumplo con una de las promesas y proyectos de mi tintero… un juego con detección de infrarrojos en los 360grados… con 4 sectores y uno adicional arriba.</p>
<p>Básicamente se compone de 5 sensores de infrarrojo que detectan cualquier obstáculo a menos de 30 centímetros, y lo traduce en un color diferente dependiendo de donde provenga el objeto… por ejemplo si ponemos un objeto o interceptamos el as del norte… el cubo cambiaría a rojo… si incidimos desde arriba cambiaría a blanco… y si incidimos desde cualquier otro lado, el cubo cambiaría de color.</p>
<p style="text-align: center;">Un ejemplo fotográfico de lo que he realizado… aunque no es un cubo en cuanto pueda conseguir un tooper que se adecue a las dimensiones… lo clono.</p>
<p style="text-align: center;"><img class="dtse-img dtse-post-267" src="http://pinguino.walii.es/wp-content/uploads/2010/09/092910_2128_Unjuegodeco1.jpg" alt="" /><img class="dtse-img dtse-post-267" src="http://pinguino.walii.es/wp-content/uploads/2010/09/092910_2128_Unjuegodeco2.jpg" alt="" /></p>
<p style="text-align: center;"><img class="dtse-img dtse-post-267" src="http://pinguino.walii.es/wp-content/uploads/2010/09/092910_2128_Unjuegodeco3.jpg" alt="" /><img class="dtse-img dtse-post-267" src="http://pinguino.walii.es/wp-content/uploads/2010/09/092910_2128_Unjuegodeco4.jpg" alt="" /></p>
<p style="text-align: center;">Un vídeo al respecto para que se entienda un poco más.</p>
<p style="text-align: center;"><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="640" height="385" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://www.youtube.com/v/laXumMazPF0?fs=1&amp;hl=en_US" /><param name="allowfullscreen" value="true" /><embed type="application/x-shockwave-flash" width="640" height="385" src="http://www.youtube.com/v/laXumMazPF0?fs=1&amp;hl=en_US" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<p style="text-align: center;"><span id="more-267"></span></p>
<p style="text-align: center;">
<p>El circuito es fácil.</p>
<p>Los cuatro sensores infrarrojos se conectan en las 4 entradas analógicas 13, 14, 15 y 16, y las salidas digitales se conectan en los puertos 0, 1 y 2.</p>
<p>NOTA a mi: PONER CIRCUITO&#8230; <img class="dtse-img dtse-post-267" src='http://pinguino.walii.es/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>Un poco de código para condimentar y listo.</p>
<pre class="brush: python; title: ; notranslate">
// Infrared sensors and RGB pinguino.walii.es
/** Vamos a tomar dos lecturas de cada infrarrojo, guardando la anterior en proxSenlast
para asi comparar luego cual es la diferencia, y si esta es mayor al diferencial es que
un objeto se interpuso en dicho sensor. Y ordena encender el color correspondiente.
**/
#define 18f4550
unsigned  int i;
// aqui configuramos cuanta es la diferencia de valores
unsigned int diferencial=20;
unsigned int finalproxSen;
unsigned int proxSenlast;
unsigned int proxSen1;
unsigned int finalproxSen1;
unsigned int proxSenlast1;
unsigned int proxSen2;
unsigned int finalproxSen2;
unsigned int proxSenlast2;
unsigned int proxSen3;
unsigned int finalproxSen3;
unsigned int proxSenlast3;
unsigned int proxSen4;
unsigned int finalproxSen4;
unsigned int proxSenlast4;
unsigned int proxSen;

void setup()
{
for (i=0;i&lt;4;i++)     {
 pinMode(i,OUTPUT);
 digitalWrite(i,LOW);
 }
Serial.begin(9600); //opcional
}

void loop()
{
//tomamos la primer lectura
 proxSen=analogRead(13);
 proxSen1=analogRead(14);
 proxSen2=analogRead(15);
 proxSen3=analogRead(16);
 proxSen4=analogRead(17);
//si desean pueden excluir del codigo lo referente al serial.
//yo uso para debug.
/**
if (Serial.available())
 {
Serial.print(&quot;\n\r&quot;);
Serial.print(&quot;Distancia en digital: &quot;);
Serial.print(&quot;\n\r&quot;);
Serial.print(proxSen,DEC);
Serial.print(&quot;\n\r&quot;);
Serial.print(proxSen1,DEC);
Serial.print(&quot;\n\r&quot;);
Serial.print(proxSen2,DEC);
Serial.print(&quot;\n\r&quot;);
Serial.print(proxSen3,DEC);
Serial.print(&quot;\n\r&quot;);
Serial.print(proxSen4,DEC);
Serial.print(&quot;\n\r&quot;);
 }
**/
//guardamos la lectura en &quot;LAST&quot; y esperamos 10 milisegundos
// para volver a leer la puerta
proxSenlast=proxSen;
delay(10);
proxSen=analogRead(13);
proxSenlast1=proxSen1;
delay(10);
proxSen1=analogRead(14);
proxSenlast2=proxSen2;
delay(10);
proxSen2=analogRead(15);
proxSenlast3=proxSen3;
delay(10);
proxSen3=analogRead(16);
proxSenlast4=proxSen4;
delay(10);
proxSen4=analogRead(17);

//restamos los valores obtenidos y obtenemos el diferencial en cada caso
if (proxSen&gt;=proxSenlast) {
finalproxSen=proxSen-proxSenlast;
}else{
finalproxSen=proxSenlast-proxSen;
}
if (proxSen1&gt;=proxSenlast1) {
finalproxSen1=proxSen1-proxSenlast1;
}else{
finalproxSen1=proxSenlast1-proxSen1;
}
if (proxSen2&gt;=proxSenlast2) {
finalproxSen2=proxSen2-proxSenlast2;
}else{
finalproxSen2=proxSenlast2-proxSen2;
}
if (proxSen3&gt;=proxSenlast3) {
finalproxSen3=proxSen3-proxSenlast3;
}else{
finalproxSen3=proxSenlast3-proxSen3;
}
if (proxSen4&gt;=proxSenlast4) {
finalproxSen4=proxSen4-proxSenlast4;
}else{
finalproxSen4=proxSenlast4-proxSen4;
}

//Con el diferencia u la lectura sabemos si un objeto se interpuso.
if(finalproxSen&gt;diferencial) {
digitalWrite(0,HIGH);
digitalWrite(1,HIGH);
digitalWrite(2,HIGH);
};
if(finalproxSen1&gt;diferencial) {
digitalWrite(0,LOW);
digitalWrite(1,HIGH);
digitalWrite(2,LOW);
};
if(finalproxSen2&gt;diferencial) {
digitalWrite(0,LOW);
digitalWrite(1,LOW);
digitalWrite(2,HIGH);
};
if(finalproxSen3&gt;diferencial) {
digitalWrite(0,HIGH);
digitalWrite(1,LOW);
digitalWrite(2,HIGH);
};
if(finalproxSen4&gt;diferencial) {
digitalWrite(0,HIGH);
digitalWrite(1,LOW);
digitalWrite(2,LOW);
};
}
</pre>
<p style="text-align: center;">Aquí el invento por dentro.</p>
<p style="text-align: center;">Izquierda los 3 leds RGB con tres transistores para descargar de trabajo al PIC, y a la derecha el cacharo con los sensores infrarrojos.</p>
<p style="text-align: center;"><img class="dtse-img dtse-post-267" src="http://pinguino.walii.es/wp-content/uploads/2010/09/092910_2128_Unjuegodeco5.jpg" alt="" /><img class="dtse-img dtse-post-267" src="http://pinguino.walii.es/wp-content/uploads/2010/09/092910_2128_Unjuegodeco6.jpg" alt="" /></p>
<p style="text-align: center;">aquí se pueden observar los sensores infrarrojos.</p>
<p style="text-align: center;"><img class="dtse-img dtse-post-267" src="http://pinguino.walii.es/wp-content/uploads/2010/09/092910_2128_Unjuegodeco7.jpg" alt="" /><img class="dtse-img dtse-post-267" src="http://pinguino.walii.es/wp-content/uploads/2010/09/092910_2128_Unjuegodeco8.jpg" alt="" /></p>
<p style="text-align: center;">
<p style="text-align: center;">En cuanto pueda os subo los circuitos, porque siempre es bueno tener circuito de sensores y fase de potencia RGB</p>
<div class="shr-publisher-267"></div><!-- Start LikeButtonSetBottom --><!-- End LikeButtonSetBottom -->


		<!-- Added by WP-DragToShare-eXtended Plugin -->
		<script type="text/javascript">
			dtsv.dtse_post_267_permalink = 'http://pinguino.walii.es/?p=267';
			dtsv.dtse_post_267_title = 'Un juego de colorines y sensores de infrarrojo… claro… con PINGÜINO.';
		</script>
		<!-- End of WP-DragToShare-eXtended Plugin -->]]></content:encoded>
			<wfw:commentRss>http://pinguino.walii.es/?feed=rss2&#038;p=267</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Componentes de un PINGUINO</title>
		<link>http://pinguino.walii.es/?p=258</link>
		<comments>http://pinguino.walii.es/?p=258#comments</comments>
		<pubDate>Fri, 24 Sep 2010 08:09:39 +0000</pubDate>
		<dc:creator>walterleonardo</dc:creator>
				<category><![CDATA[PINGUINO]]></category>

		<guid isPermaLink="false">http://pinguino.walii.es/archives/258</guid>
		<description><![CDATA[Como mucha gente me lo ha solicitado, dispongo una lista de los componentes necesarios para hacernos una placa de PINGUINO… Obviamente no incluyo el programador o los cables… pero son cosas que se necesitan… por lo menos la primera vez… También os dejo a su gusto la elección, ya que cada uno puede hacerlo como [...]]]></description>
			<content:encoded><![CDATA[<!-- Start LikeButtonSetTop --><!-- End LikeButtonSetTop --><p>Como mucha gente me lo ha solicitado, dispongo una lista de los componentes necesarios para hacernos una placa de PINGUINO… Obviamente no incluyo el programador o los cables… pero son cosas que se necesitan… por lo menos la primera vez…
</p>
<p>También os dejo a su gusto la elección, ya que cada uno puede hacerlo como más os guste, en su propia PCB o en un PROTOBOARD, o en el aire… como quieran… por ejemplo en un PROTOBOARD ya no necesitarían el conector USB, ya que con un cable viejo de un RATON USB, podrían construirse el adaptador a tal efecto. Fuente en realidad no se necesita, porque sacamos la energía del puerto USB, pero recordar que los puertos USB de ordenadores ofrecen solo una corriente de 500mA y esto puede no ser suficiente para algunos casos.
</p>
<p>
 </p>
<p>    <strong><span style="text-decoration:underline">Los componentes necesarios son:</span><br />
		</strong></p>
<p><strong>    </strong>1x Placa PCB (preferiblemente la comprada en PINGÜINO.WALII.ES ) <span style="font-family:Wingdings">J</span>
	</p>
<p style="margin-left: 36pt">1x PIC 18f4550*(Programado, la mejor forma comprarlo en PINGÜINO.walii.es) <span style="font-family:Wingdings">J</span>
	</p>
<p style="margin-left: 36pt">1x Zócalo 40 pines para PIC*
</p>
<p style="margin-left: 36pt">1x Cristal 20Mhz*
</p>
<p style="margin-left: 36pt">1x Capacitor 470nf tantalio (tiene que ser lo más exacto y estable posible)*
</p>
<p style="margin-left: 36pt">2x Capacitor de 22pf cerámico para el oscilador*
</p>
<p style="margin-left: 36pt">2x Capacitor de 100nf para el filtrado de la fuente*
</p>
<p style="margin-left: 36pt">1x Capacitor de 10uf para el botón de reset*
</p>
<p style="margin-left: 36pt">2x Leds del color que queramos
</p>
<p style="margin-left: 36pt">2x Resistencia de 470ohm 1/4watts*
</p>
<p style="margin-left: 36pt">2x Resistencia de 330ohm 1/4watts*
</p>
<p style="margin-left: 36pt">1x Resistencia de 10Kohm 1/4watts*
</p>
<p style="margin-left: 36pt">1x Conector USB Hembra clase B (el de las impresoras)*
</p>
<p style="margin-left: 36pt">1x Botón pulsador para el reset, recordar que tiene que ser de dos patillas, para que encastre perfectamente en el diseño del PCB*
</p>
<p style="margin-left: 36pt">Y todos los conectores y pines que queramos poner, según gustos, hay gente que no pone nada y suelda los cables directamente al PCB.
</p>
<p style="margin-left: 36pt">(120 pines machos, para la imagen de la web, para por ejemplo, control de sensores o servomotores)
</p>
<p style="margin-left: 36pt">(60 pines hembras, si queremos utilizar nuestro pingüino como si fuese de un protoboard, recomendado para pruebas y comenzar)
</p>
<p style="margin-left: 36pt">(sin pines, para el que desee soldar los cables directamente en la placa, y dejar nuestro PINGÜINO definitivo en su sitio)
</p>
<p>
 </p>
<p><span style="text-decoration:underline"><strong>Componentes opcionales:</strong></span>
	</p>
<p><span style="text-decoration:underline"><strong>Si utilizaremos fuente de alimentación de 12 volts:</strong></span>
	</p>
<p style="margin-left: 36pt">1x 7805 (regulador de 5volts 1Amp)
</p>
<p style="margin-left: 36pt">1x diodo de 1Amp por ejemplo 1n4001
</p>
<p style="margin-left: 36pt">1x capacitor de 10uf de 5 volts o más, solo para estabilizar la salida del 7805.
</p>
<p><span style="text-decoration:underline"><strong>Si queremos utilizar el puerto serie con un router tipo fonera:</strong></span>
	</p>
<p>2x diodos zener 3,3volts 1/4watts
</p>
<p><span style="text-decoration:underline"><strong>Si utilizaremos panel solar para alimentar el PINGÜINO:</strong></span>
	</p>
<p>1x diodo de 1Amp por ejemplo 1n4001
</p>
<p>
 </p>
<p>
 </p>
<p>Saludos.</p>
<div class="shr-publisher-258"></div><!-- Start LikeButtonSetBottom --><!-- End LikeButtonSetBottom -->


		<!-- Added by WP-DragToShare-eXtended Plugin -->
		<script type="text/javascript">
			dtsv.dtse_post_258_permalink = 'http://pinguino.walii.es/?p=258';
			dtsv.dtse_post_258_title = 'Componentes de un PINGUINO';
		</script>
		<!-- End of WP-DragToShare-eXtended Plugin -->]]></content:encoded>
			<wfw:commentRss>http://pinguino.walii.es/?feed=rss2&#038;p=258</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PINGUINO IDE Instalador versión 9.02</title>
		<link>http://pinguino.walii.es/?p=257</link>
		<comments>http://pinguino.walii.es/?p=257#comments</comments>
		<pubDate>Tue, 21 Sep 2010 12:00:48 +0000</pubDate>
		<dc:creator>walterleonardo</dc:creator>
				<category><![CDATA[PINGUINO]]></category>

		<guid isPermaLink="false">http://pinguino.walii.es/archives/257</guid>
		<description><![CDATA[Hola Buenos días a todos, hoy tras una promesa a RAFAEL, os traigo la nueva versión del instalador de pingüino. No solo he incluido todo el materia nuevo desde la versión 9.02 con todo lo nuevo que trae consigo, sino también el ultimo MAIN.C el cual soluciona un problema con el puerto serie (fresquito fresquito, [...]]]></description>
			<content:encoded><![CDATA[<!-- Start LikeButtonSetTop --><!-- End LikeButtonSetTop --><p>Hola Buenos días a todos, hoy tras una promesa a <strong>RAFAEL</strong>, os traigo la nueva versión del instalador de pingüino.</p>
<p>No solo he incluido todo el materia nuevo desde la versión 9.02 con todo lo nuevo que trae consigo, sino también el ultimo <strong>MAIN.C</strong> el cual soluciona un problema con el puerto serie (fresquito fresquito, de ayer mismo), también he incluido para la gente que no tiene instalado PINGÜINO y/o quiere hacerlo desde cero, todos los paquetes necesarios (esto último como recomendación especial de <strong>JEAN</strong>).</p>
<p style="text-align: center;"><img class="dtse-img dtse-post-257" src="http://pinguino.walii.es/wp-content/uploads/2010/09/092110_1200_PINGUINOIDE1.png" alt="" /></p>
<p>PASOS A SEGUIR:</p>
<p>Cuando iniciemos la instalación, nos pedirá toda la info necesaria para instalar PINGÜINO (directorios y nombres de programa), y antes de finalizar con la instalación de PINGUINO, comienza la instalación de los paquetes necesarios para que este funcione (omitir estos pasos para lo que ya tengan un PINGÜINO funcionando) de PYTHON, WXPYTHON, PYUSB y LIBUSB, en ese orden, dejando todo perfectamente atado para que alguien que nunca uso PINGÜINO tenga una instalación funcional en pocos pasos y sin necesidad de descargar nada.</p>
<p>Para quien ya tenga una instalación funcional de pingüino, os recomiendo cancelar los 4 instaladores, y luego proseguir con la instalación de pingüino propiamente dicha. Más que nada para no tener aplicaciones duplicadas en su Windows. Por ejemplo, por necesidad extras, yo tengo instalado el PYTHON 2.6 y no necesito el PYTHON 2.5 que trae el instalador, entonces le doy &#8220;CANCEL&#8221; cuando comienza la instalación de dicho programa, y salto este paso…. Lo mismo con todos los demás, y dejamos que finalice la instalación de pingüino.</p>
<p>Otro punto adicional y que siempre me ha gustado, es que ahora tenemos links directos a todos los diagramas necesarios, Pingüino 18f2550, pingüino 18f4550, diagramas DCE y DTE y conexión de serie a FONERA. Uso a diario estos diagramas y me gusta tenerlos a golpe de ratón. (TENGO MUY MALA MEMORIA)</p>
<p style="text-align: center;"><img class="dtse-img dtse-post-257" src="http://pinguino.walii.es/wp-content/uploads/2010/09/092110_1200_PINGUINOIDE2.jpg" alt="" /><img class="dtse-img dtse-post-257" src="http://pinguino.walii.es/wp-content/uploads/2010/09/092110_1200_PINGUINOIDE3.png" alt="" /></p>
<p style="text-align: center;"><img class="dtse-img dtse-post-257" src="http://pinguino.walii.es/wp-content/uploads/2010/09/092110_1200_PINGUINOIDE4.png" alt="" /></p>
<p style="text-align: center;"><img class="dtse-img dtse-post-257" src="http://pinguino.walii.es/wp-content/uploads/2010/09/092110_1200_PINGUINOIDE5.png" alt="" /><img class="dtse-img dtse-post-257" src="http://pinguino.walii.es/wp-content/uploads/2010/09/092110_1200_PINGUINOIDE6.png" alt="" /></p>
<p>NOTA: Tras un problema en la ultima version, ahora he corregido la nueva y solucionado los problemas de instalacion de PYTHON.</p>
<p><a href="http://www.megaupload.com/?d=S9KP9LBL">LINK DE DESCARGA MEGAUPLOAD</a></p>
<p><a href="http://rapidshare.com/files/422298917/PinguinoPic_beta9.02_Setup.rar">LINK DE DESCARGA RAPIDSHARE</a></p>
<p>Saludos y espero que os guste la nueva versión.</p>
<div class="shr-publisher-257"></div><!-- Start LikeButtonSetBottom --><!-- End LikeButtonSetBottom -->


		<!-- Added by WP-DragToShare-eXtended Plugin -->
		<script type="text/javascript">
			dtsv.dtse_post_257_permalink = 'http://pinguino.walii.es/?p=257';
			dtsv.dtse_post_257_title = 'PINGUINO IDE Instalador versión 9.02';
		</script>
		<!-- End of WP-DragToShare-eXtended Plugin -->]]></content:encoded>
			<wfw:commentRss>http://pinguino.walii.es/?feed=rss2&#038;p=257</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Pinguino IDE BETA9.01 instalador de Windows</title>
		<link>http://pinguino.walii.es/?p=240</link>
		<comments>http://pinguino.walii.es/?p=240#comments</comments>
		<pubDate>Tue, 24 Aug 2010 13:30:25 +0000</pubDate>
		<dc:creator>walterleonardo</dc:creator>
				<category><![CDATA[PINGUINO]]></category>

		<guid isPermaLink="false">http://pinguino.walii.es/archives/240</guid>
		<description><![CDATA[    Para los más prolijos, he creado un instalador automático de la beta 9.01, el cual instala la versión en &#8220;Archivos de programas&#8221; si tenemos la versión de Windows en español, o en su defecto en &#8220;Program Files&#8221; si tenemos otras versiones. También se sitúa tanto en el directorio de instalación como en el grupo de [...]]]></description>
			<content:encoded><![CDATA[<!-- Start LikeButtonSetTop --><!-- End LikeButtonSetTop --><p>    Para los más prolijos, he creado un instalador automático de la beta 9.01, el cual instala la versión en &#8220;Archivos de programas&#8221; si tenemos la versión de Windows en español, o en su defecto en &#8220;Program Files&#8221; si tenemos otras versiones.
</p>
<p>También se sitúa tanto en el directorio de instalación como en el grupo de programas con el nombre &#8220;hackingLab&#8221; y dentro de este en un vínculo con el nombre de la versión, para que todas las nuevas versiones  puedan convivir sin sobre-escribirse.
</p>
<p>
 </p>
<p>El vínculo de descarga es el siguiente:
</p>
<p><a href="http://rapidshare.com/files/414840511/PinguinoPic_beta9.01_Setup.exe.html">http://rapidshare.com/files/414840511/PinguinoPic_beta9.01_Setup.exe.html</a>
	</p>
<p>
 </p>
<p>Y Aquí algunas capturas del instalador:
</p>
<p style="text-align: center">Una vez dentro del instalador nos pedirá el directorio donde queremos instalarlo, por defecto le he puesto el comentado anteriormente.
</p>
<p style="text-align: center"><img class="dtse-img dtse-post-240" src="http://pinguino.walii.es/wp-content/uploads/2010/08/082410_1328_PinguinoIDE1.png" alt=""/><br />
		<img class="dtse-img dtse-post-240" src="http://pinguino.walii.es/wp-content/uploads/2010/08/082410_1328_PinguinoIDE2.png" alt=""/>
	</p>
<p style="text-align: center">Luego nos pregunta el grupo de programas, en este caso el por defecto es &#8220;HackinLab&#8221;
</p>
<p style="text-align: center">y también nos da la opción de agregar o no iconos en el escritorio o en el lanzador rápido de Windows.
</p>
<p style="text-align: center"><img class="dtse-img dtse-post-240" src="http://pinguino.walii.es/wp-content/uploads/2010/08/082410_1328_PinguinoIDE3.png" alt=""/><br />
		<img class="dtse-img dtse-post-240" src="http://pinguino.walii.es/wp-content/uploads/2010/08/082410_1328_PinguinoIDE4.png" alt=""/>
	</p>
<p style="text-align: center">En el siguiente paso nos muestra lo que va a ocurrir y donde instalará todo y luego el progreso de instalación.
</p>
<p style="text-align: center"><img class="dtse-img dtse-post-240" src="http://pinguino.walii.es/wp-content/uploads/2010/08/082410_1328_PinguinoIDE5.png" alt=""/><br />
		<img class="dtse-img dtse-post-240" src="http://pinguino.walii.es/wp-content/uploads/2010/08/082410_1328_PinguinoIDE6.png" alt=""/>
	</p>
<p style="text-align: center">Por último el instalador ofrece la opción de visitar la página web y/o iniciar el programa.
</p>
<p style="text-align: center">Y a la derecha vemos el icono que se instala en el escritorio. (No os preocupéis, mas adelante lo embelleceré).
</p>
<p style="text-align: center"><img class="dtse-img dtse-post-240" src="http://pinguino.walii.es/wp-content/uploads/2010/08/082410_1328_PinguinoIDE7.png" alt=""/><br />
		<img class="dtse-img dtse-post-240" src="http://pinguino.walii.es/wp-content/uploads/2010/08/082410_1328_PinguinoIDE8.png" alt=""/>
	</p>
<p style="text-align: center">
 </p>
<p style="text-align: center">Saludos.</p>
<div class="shr-publisher-240"></div><!-- Start LikeButtonSetBottom --><!-- End LikeButtonSetBottom -->


		<!-- Added by WP-DragToShare-eXtended Plugin -->
		<script type="text/javascript">
			dtsv.dtse_post_240_permalink = 'http://pinguino.walii.es/?p=240';
			dtsv.dtse_post_240_title = 'Pinguino IDE BETA9.01 instalador de Windows';
		</script>
		<!-- End of WP-DragToShare-eXtended Plugin -->]]></content:encoded>
			<wfw:commentRss>http://pinguino.walii.es/?feed=rss2&#038;p=240</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Jugueteando con la BETA9 y la librería de servos</title>
		<link>http://pinguino.walii.es/?p=231</link>
		<comments>http://pinguino.walii.es/?p=231#comments</comments>
		<pubDate>Mon, 23 Aug 2010 10:11:28 +0000</pubDate>
		<dc:creator>walterleonardo</dc:creator>
				<category><![CDATA[PINGUINO]]></category>

		<guid isPermaLink="false">http://pinguino.walii.es/archives/231</guid>
		<description><![CDATA[Aquí un diseño rápido y educativo de PINGUINO, utilizando las librerías de servos he realizado este seguidor de sol, para nuestros proyectos solares…. Saludos]]></description>
			<content:encoded><![CDATA[<!-- Start LikeButtonSetTop --><!-- End LikeButtonSetTop --><p>Aquí un diseño rápido y educativo de PINGUINO, utilizando las librerías de servos he realizado este seguidor de sol, para nuestros proyectos solares….</p>
<pre class="brush: python; title: ; notranslate">
// Seguidor solar con libreria de servo beta9
// Walii walterleonardo@gmail.com 2010
#define PIC18F4550
uchar pos = 0; // Variable to store the servo position.
int inputPhotoLeft = 13; //LDR left sensor
int inputPhotoRight = 14; //LDR right sensor
int Left = 0; // Store readings from the photoresistors.
int Right = 0; // Store readings from the photoresistors.
int servo1 = 0; // Attach servo to pin 0.
void setup()
{
servo.attach(servo1);
}
void loop()
{
// Reads the values from the photoresistors to the Left and Right variables.
Left = analogRead(inputPhotoLeft);
Right = analogRead(inputPhotoRight);
// Checks if right is greater than left, if so move to right.
if (Left &amp;gt; (Right +10))
// +10 is the deadzone, so it won't jiggle back and forth.
{
if (pos &amp;lt; 179) pos++; servo.write(servo1,pos); } // Checks if left is greater than right, if so move to //left. if (Right &amp;gt; (Left +10))
// +10 is the deadzone, so it won't jiggle back and forth.
{
if (pos &amp;gt; 1)
pos -= 1;
servo.write(servo1,pos);
}
// Added ALOT of delay, increase or decrease if you want less or more speed.
delay(70);
}
</pre>
<p>Saludos</p>
<div class="shr-publisher-231"></div><!-- Start LikeButtonSetBottom --><!-- End LikeButtonSetBottom -->


		<!-- Added by WP-DragToShare-eXtended Plugin -->
		<script type="text/javascript">
			dtsv.dtse_post_231_permalink = 'http://pinguino.walii.es/?p=231';
			dtsv.dtse_post_231_title = 'Jugueteando con la BETA9 y la librería de servos';
		</script>
		<!-- End of WP-DragToShare-eXtended Plugin -->]]></content:encoded>
			<wfw:commentRss>http://pinguino.walii.es/?feed=rss2&#038;p=231</wfw:commentRss>
		<slash:comments>60</slash:comments>
		</item>
		<item>
		<title>Fuente de alimentación con LCD PINGUINO</title>
		<link>http://pinguino.walii.es/?p=223</link>
		<comments>http://pinguino.walii.es/?p=223#comments</comments>
		<pubDate>Wed, 18 Aug 2010 22:08:10 +0000</pubDate>
		<dc:creator>walterleonardo</dc:creator>
				<category><![CDATA[PINGUINO]]></category>

		<guid isPermaLink="false">http://pinguino.walii.es/archives/223</guid>
		<description><![CDATA[Me puse a pensar en reconstruir mi fuente de alimentación y se me ocurrió que porque no hacerla con PINGÜINO… Tenía un LCD de 2&#215;16… y pensé, es suficiente para poder ver el voltaje y la corriente consumida… además más adelante puedo hacer un control para subir o bajar la tensión de salida… El circuito [...]]]></description>
			<content:encoded><![CDATA[<!-- Start LikeButtonSetTop --><!-- End LikeButtonSetTop --><p>Me puse a pensar en reconstruir mi fuente de alimentación y se me ocurrió que porque no hacerla con PINGÜINO…</p>
<p>Tenía un LCD de 2&#215;16… y pensé, es suficiente para poder ver el voltaje y la corriente consumida… además más adelante puedo hacer un control para subir o bajar la tensión de salida…</p>
<p style="text-align: center;">
<p style="text-align: center;"><img class="dtse-img dtse-post-223" src="http://pinguino.walii.es/wp-content/uploads/2010/08/081810_2207_Fuentedeali2.jpg" alt="" /></p>
<p style="text-align: center;"><span id="more-223"></span></p>
<p><strong><span style="background-color: gray;">El circuito lo estoy terminando, en cuanto lo tenga lo subo.</span><br />
</strong></p>
<p>Pero por ahora lo dejamos en el display…</p>
<p>En este caso mide la tensión (voltaje) que le llega a PINGÜINO y utilizando la ley de OHM y una resistencia de 1 OHM 1Watt … he realizado una medición del consumo del LCD…</p>
<p><a href="http://pinguino.koocotte.org/index.php/LCD_Example">He utilizando la idea del display de 4bits</a>… para mi suficiente. El código <a href="http://pinguino.koocotte.org/index.php/LCD_4Bit">está en la web</a>… modificando un poco este código y agregando parametrizaciones de valores digitales, he podido llegar a una lectura casi real del voltaje leído.</p>
<p>Ya que nuestro puerto analógico lee el voltaje en su conector, con una división digital de 10bits. O sea &#8220;en criollo&#8221;, que donde dice 1023 en realidad quiere decir 5volts… y donde lee 512 quiere decir 2,5volts. Con estos datos y una regla de tres simple… se obtiene.</p>
<pre class="brush: python; title: ; notranslate">
volt0=analogRead(16) /16*78;
obteniendo de las lecturas por ejemplo:
1023 = 4980mVolts = 4,98Volts
512 = 2490mVolts = 2,49Volts
256 = 1240mVolts = 1,24Volts
128 = 0640mvolts = 0,64Volts
</pre>
<p>Y obtenemos un valor muy similar a la realidad, claro en milivolts. Y con un problema de lectura, porque la librería (FLOW) no nos permite el punto decimal.</p>
<p>Para la corriente (Consumo) he realizado el archi-conocido como diferencia de potenciales a través de una resistencia de 1 OHM, no es exacto  y en cuanto pueda lo modifico pero para ver el resultado en pantalla es perfecto…</p>
<p>Lo que hago es tomar dos mediciones, una en cada pata de una resistencia de 1 OHM, la cual se encuentra en serie con la fuente de alimentación, por ende la diferencia en la caída de tensión en esta resistencia, es proporcional a la corriente suministrada.</p>
<pre class="brush: python; title: ; notranslate">
amp1=analogRead(13);
amp2=analogRead(15);
amp1=amp1/16*78;
amp2=amp2/16*78;
if (amp1&gt;amp2){
amp0 = amp1-amp2;
}
else{
amp0 = 0;
}
</pre>
<p><a href="http://pinguino.koocotte.org/index.php/Convert_Int_to_Decimal_Example">También he utilizado un machete que he encontrado en la web de hackinglab para convertir los datos.</a></p>
<p>El código completo es:</p>
<pre class="brush: python; title: ; notranslate">

// POWER SUPPLY LCD
//
// Author: walii.es walterleonardo@gmail.com
//
#define LCD_RS 8
#define LCD_E 9
uchar text1;
uchar text2;
void lcdPulseEnable() {
digitalWrite(LCD_E, HIGH);
delayMicroseconds(1);
digitalWrite(LCD_E, LOW);
delayMicroseconds(1);
}
void lcdWriteNibble(uchar c){
int i;
for(i=0; i&lt;4; i++){
digitalWrite(4+i, (c &gt;&gt; i) &amp; 0x01);
}
lcdPulseEnable();
}
void lcdWriteByte(uchar c, int mode) {
digitalWrite(LCD_RS, mode);
lcdWriteNibble(c &gt;&gt; 4);
lcdWriteNibble(c);
}
void lcdSendControl(uchar c) {
lcdWriteByte(c, LOW);
}
void lcdSendData(uchar c) {
lcdWriteByte(c, HIGH);
}
void lcdSetAddress(uchar line, uchar column) {
lcdSendControl( 0x80 + 0x40 * (line - 1) + (column - 1));
}
void lcdPrint(char *string) {
int i;
for( i=0; string[i]; i++) {
lcdSendData(string[i]);
}
}
void Int2Char(char *Result, unsigned int ToConvert)
{
uchar Digit[5];
int c;
unsigned int H1,H2,H3;
H1=ToConvert;
H2=0;
H3=10000;
for (c=4;c&gt;=0;c--)
{
Digit

1

= H1/H3;
H1=ToConvert-Digit

1

*H3-H2;
H2=H2+Digit

1

*H3;
H3=H3/10;
Result[4-c]=Digit

1

+48;
}
}
void lcdInit() {
int i;
pinMode(LCD_E, OUTPUT);
digitalWrite(LCD_E, LOW);
pinMode(LCD_RS, OUTPUT);
digitalWrite(LCD_RS, LOW);
for(i = 4; i &lt; 8; i++) {
pinMode(i, OUTPUT);
}
delay(20);
lcdWriteNibble(0x03);
delayMicroseconds(1);
lcdWriteNibble(0x03);
delayMicroseconds(1);
lcdWriteNibble(0x02);
delayMicroseconds(200);
lcdSendControl(0x28); // 4 Bit, 2 Lines
delayMicroseconds(1);
lcdSendControl(0x0C); // Display On
delayMicroseconds(1);
lcdSendControl(0x01); // Clear display
delay(2);
lcdSendControl(0x02); // Cursor home
delay(2);
}
uchar line1[] = &quot;Pinguino MADRID&quot;;
uchar line2[] = &quot;Voltimetro walii.es&quot;;
uchar line3[] = &quot;walii.es&quot;;
uchar line4[] = &quot;Voltaje Consumo&quot;;
uchar volts[] = &quot;mV &quot;;
uchar amper[] = &quot;mA &quot;;
uchar Amp[5];
uchar Volt[5];
void setup() {
lcdInit();
}
void loop() {
int amp1;
int amp2;
unsigned int amp0;
unsigned int volt1;
amp1=analogRead(13);
amp2=analogRead(15);
amp1=amp1/16*78;
amp2=amp2/16*78;
if (amp1&gt;amp2){
amp0 = amp1-amp2;
}
else{
amp0 = 0;
}
Int2Char(Amp,amp0);
volt1=(float)analogRead(16); //QUITAR ESTE FLOAT SI SE QUIERE COMPILAR EN B9.01
volt1=volt1/16*78;
Int2Char(Volt,volt1);
lcdSendControl(0x01);
delay(2);
lcdSendControl(0x02);
delay(2);
lcdSetAddress(1, 1);
lcdPrint(line1);
lcdSetAddress(2, 1);
lcdPrint(Volt);
lcdSetAddress(2, 6);
lcdPrint(volts);
lcdSetAddress(2, 9);
lcdPrint(Amp);
lcdSetAddress(2, 14);
lcdPrint(amper);
delay(1000);
lcdSendControl(0x01);
delay(2);
lcdSendControl(0x02);
delay(2);
lcdSetAddress(1, 1);
lcdPrint(line4);
lcdSetAddress(2, 1);
lcdPrint(Volt);
lcdSetAddress(2, 6);
lcdPrint(volts);
lcdSetAddress(2, 9);
lcdPrint(Amp);
lcdSetAddress(2, 14);
lcdPrint(amper);
delay(1000);
}
</pre>
<pre><strong>NOTA: para que el código funcione en la ultima version de PINGUINO la beta9.01 </strong>
<strong>necesitamos quitar el (float) de la linea 111, utilizada para el analogRead... </strong>
<strong>que parece que hay un problema en la nueva version con las variables... </strong>
<strong>lo voy a estudiar... esta version la había compilado en el IDE 8 por eso </strong>
<strong>no vi el inconveniente... lo siento.</strong></pre>
<div class="shr-publisher-223"></div><!-- Start LikeButtonSetBottom --><!-- End LikeButtonSetBottom -->


		<!-- Added by WP-DragToShare-eXtended Plugin -->
		<script type="text/javascript">
			dtsv.dtse_post_223_permalink = 'http://pinguino.walii.es/?p=223';
			dtsv.dtse_post_223_title = 'Fuente de alimentación con LCD PINGUINO';
		</script>
		<!-- End of WP-DragToShare-eXtended Plugin -->]]></content:encoded>
			<wfw:commentRss>http://pinguino.walii.es/?feed=rss2&#038;p=223</wfw:commentRss>
		<slash:comments>15</slash:comments>
		</item>
		<item>
		<title>En mis manos la versión beta9 de la GUI… de PINGÜINO.</title>
		<link>http://pinguino.walii.es/?p=220</link>
		<comments>http://pinguino.walii.es/?p=220#comments</comments>
		<pubDate>Wed, 18 Aug 2010 21:40:36 +0000</pubDate>
		<dc:creator>walterleonardo</dc:creator>
				<category><![CDATA[PINGUINO]]></category>

		<guid isPermaLink="false">http://pinguino.walii.es/archives/220</guid>
		<description><![CDATA[Lo primero de todo es agradecer a JEAN… gracias a él estoy probando desde ayer la nueva versión de interfaz gráfica de PINGÜINO la versión BETA9… que a diferencia de otros proveedores cada versión tiene un millón de cosas nuevas… Según JEAN, la tendrá lista para salir a la calle en un par de días. [...]]]></description>
			<content:encoded><![CDATA[<!-- Start LikeButtonSetTop --><!-- End LikeButtonSetTop --><p>Lo primero de todo es agradecer a JEAN… gracias a él estoy probando desde ayer la nueva versión de interfaz gráfica de PINGÜINO la versión BETA9… que a diferencia de otros proveedores cada versión tiene un millón de cosas nuevas…</p>
<p>Según JEAN, la tendrá lista para salir a la calle en un par de días. Pero la beta que he probado yo la veo bien madura… <span style="font-family: Wingdings;">J</span></p>
<p style="text-align: center;"><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="480" height="385" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://www.youtube.com/v/B4HPFCIwdtI?fs=1&amp;hl=en_US" /><param name="allowfullscreen" value="true" /><embed type="application/x-shockwave-flash" width="480" height="385" src="http://www.youtube.com/v/B4HPFCIwdtI?fs=1&amp;hl=en_US" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<p style="text-align: center;"><span id="more-220"></span></p>
<p>Tenemos una nueva interfaz gráfica, que aunque parecida a la anterior, ahora mucho más flexible… pudiendo re dimensionar las ventanas de debug y código y cambiarlas de posición… una hermosura.</p>
<p>Después también tenemos posibilidad de poner nuevas librerías, propias, creadas o prestadas… de una forma muy práctica y flexible.</p>
<p>Entre los adelantos son:</p>
<p>La inclusión de una librería de servos… para facilitarnos la vida con los robots.</p>
<address><code>// Servo library test with Pinguino<br />
</code></address>
<address><code>// Connect servo control lines to pinguino pins.<br />
</code></address>
<address><code>// Feed servos with +5 V:<br />
</code></address>
<address><code>//<br />
</code></address>
<address><code>//   +-----+<br />
</code></address>
<address><code>//   |servo|--------- PWM Servo control ---&gt; to pinguino pin.<br />
</code></address>
<address><code>//   |     |--------- +5V<br />
</code></address>
<address><code>//   |  o  |--------- GND<br />
</code></address>
<address><code>//   |     |<br />
</code></address>
<address><code>//   +-----+<br />
</code></address>
<address><code>#include &lt;servos.c&gt;<br />
</code></address>
<address><code>uchar position=1;<br />
</code></address>
<address><code>void setup(void)<br />
</code></address>
<address><code>{<br />
</code></address>
<address><code>//servo.attach(17);<br />
</code></address>
<address><code>}<br />
</code></address>
<address><code>void loop(void)<br />
</code></address>
<address><code>{<br />
</code></address>
<address><code>//servo.write(17,position);<br />
</code></address>
<address><code>delay(500);<br />
</code></address>
<address><code>position++;<br />
</code></address>
<address><code>}<br />
</code></address>
<p>Librerías matemáticas</p>
<address><code>// power function<br />
</code></address>
<address><code>// Jean-Pierre Mandon 2010<br />
</code></address>
<address><code>#include &lt;math.h&gt;<br />
</code></address>
<address><code>float i,j;<br />
</code></address>
<address><code>float result;<br />
</code></address>
<address><code>char chaine[10];<br />
</code></address>
<address><code>void setup()<br />
</code></address>
<address><code>{<br />
</code></address>
<address><code>Serial.begin(9600);<br />
</code></address>
<address><code>}<br />
</code></address>
<address><code>void loop()<br />
</code></address>
<address><code>{<br />
</code></address>
<address><code>i=45;<br />
</code></address>
<address><code>j=2;<br />
</code></address>
<address><code>result=powf(i,j);<br />
</code></address>
<address><code>if ((result&gt;2024.0)&amp;&amp;(result&lt;2025.0))<br />
</code></address>
<address><code> {<br />
</code></address>
<address><code> Serial.print("OK");<br />
</code></address>
<address><code> Serial.print("\n\r");<br />
</code></address>
<address><code> }<br />
</code></address>
<address><code>}<br />
</code></address>
<p>Librerías para control de puerto SPI, para dialogo con el chip de microchip ZIGBEE.</p>
<p><img class="dtse-img dtse-post-220" src="http://pinguino.walii.es/wp-content/uploads/2010/08/081810_2140_Enmismanosl1.jpg" alt="" /><img class="dtse-img dtse-post-220" src="http://pinguino.walii.es/wp-content/uploads/2010/08/081810_2140_Enmismanosl2.gif" alt="" /></p>
<pre><code>
			</code></pre>
<div class="shr-publisher-220"></div><!-- Start LikeButtonSetBottom --><!-- End LikeButtonSetBottom -->


		<!-- Added by WP-DragToShare-eXtended Plugin -->
		<script type="text/javascript">
			dtsv.dtse_post_220_permalink = 'http://pinguino.walii.es/?p=220';
			dtsv.dtse_post_220_title = 'En mis manos la versión beta9 de la GUI… de PINGÜINO.';
		</script>
		<!-- End of WP-DragToShare-eXtended Plugin -->]]></content:encoded>
			<wfw:commentRss>http://pinguino.walii.es/?feed=rss2&#038;p=220</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Por fin han llegado las placas PCB PINGÜINO…!!!</title>
		<link>http://pinguino.walii.es/?p=214</link>
		<comments>http://pinguino.walii.es/?p=214#comments</comments>
		<pubDate>Sat, 17 Jul 2010 22:24:11 +0000</pubDate>
		<dc:creator>walterleonardo</dc:creator>
				<category><![CDATA[PINGUINO]]></category>

		<guid isPermaLink="false">http://pinguino.walii.es/archives/214</guid>
		<description><![CDATA[Hola…buenas noticias, tengo en mi poder las placas PCB de PINGÜINO…. Muy bonitas y al ser las primeras, con muy pocos fallos… por suerte. Según tengo entendido salieron de china el 1 de julio así que tardaron 15 días en llegar. El lunes comenzaré su distribución, por orden de pedido, quien desee alguna mas es [...]]]></description>
			<content:encoded><![CDATA[<!-- Start LikeButtonSetTop --><!-- End LikeButtonSetTop --><p>Hola…buenas noticias, tengo en mi poder las placas PCB de PINGÜINO….</p>
<p>Muy bonitas y al ser las primeras, con muy pocos fallos… por suerte.</p>
<p>Según tengo entendido salieron de china el 1 de julio así que tardaron 15 días en llegar.</p>
<p>El lunes comenzaré su distribución, por orden de pedido, quien desee alguna mas es ahora el momento de solicitarla.</p>
<p style="text-align: center;"><img class="aligncenter dtse-img dtse-post-214 dtse-img dtse-post-214" style="border: 0pt none;" src="http://pinguino.walii.es/wp-content/uploads/2010/07/071710_2223_Porfinhanll1.jpg" alt="" width="430" height="244" /><img class="aligncenter dtse-img dtse-post-214 dtse-img dtse-post-214" style="border: 0pt none;" src="http://pinguino.walii.es/wp-content/uploads/2010/07/071710_2223_Porfinhanll2.jpg" alt="" width="430" height="244" /></p>
<p>Estoy meditando el tema de KITs armados, porque la verdad que me ha llevado mucho tiempo soldar todos los componentes y si calculo el coste por hora de trabajo, me parece que debería venderlas como mínimo 50euros… me parece que solo hare alguna para que me quede de recuerdo armada y como un pingüino de colección.</p>
<p>Igual ya he pedido presupuesto para los KITs para armar, y vender la placa y sus componentes sin soldar, así me quito ese tema y me dedico directamente a inventar que es lo que me gusta.</p>
<p>Mucha gente me ha solicitado el listado de componentes, así que aquí os lo indico.</p>
<p><span id="more-214"></span></p>
<p><span style="text-decoration: underline;"><strong>Listado de componentes.<br />
</strong></span></p>
<p><span style="text-decoration: underline;"><strong>Mínimos necesarios para que funcione PINGUINO:<br />
</strong></span></p>
<p>1x PIC 18f4550</p>
<p>1x Zócalo 40 pines para PIC</p>
<p>1x Cristal 20Mhz</p>
<p>1x Capacitor 470nf tantalio (tiene que ser lo más exacto y estable posible)</p>
<p>2x Capacitor de 22pf cerámico para el oscilador</p>
<p>1x Capacitor de 100nf para el filtrado de la fuente</p>
<p>1x Capacitor de 10uf para el botón de reset</p>
<p>2x Leds del color que queramos</p>
<p>2x Resistencia de 470ohm 1/4watts</p>
<p>2x Resistencia de 330ohm 1/4watts</p>
<p>1x Resistencia de 10Kohm 1/4watts</p>
<p>1x Conector USB Hembra clase B (el de las impresoras)</p>
<p>1x Botón pulsador para el reset, recordar que tiene que ser de dos patillas, para que encastre perfectamente en el diseño del PCB</p>
<p>Y todos los conectores y pines que queramos poner, según gustos, hay gente que no pone nada y suelda los cables directamente al PCB.</p>
<p><span style="text-decoration: underline;"><strong>Componentes opcionales:<br />
</strong></span></p>
<p><span style="text-decoration: underline;"><strong>Si utilizaremos fuente de alimentación de 12 volts:<br />
</strong></span></p>
<p>1x 7805 (regulador de 5volts 1Amp)</p>
<p>1x diodo de 1amp por ejemplo 1n4001</p>
<p>1x capacitor de 47uf o de menor valor, solo para estabilizar la salida del 7805.</p>
<p><span style="text-decoration: underline;"><strong>Si queremos utilizar el puerto serie con un router tipo fonera:<br />
</strong></span></p>
<p>2x diodos zener 3,3volts 1/4watts</p>
<p><span style="text-decoration: underline;"><strong>Si utilizaremos panel solar para alimentar el PINGÜINO:<br />
</strong></span></p>
<p>1x diodo de 1amp por ejemplo 1n4001</p>
<p>Aquí las fotos… y el primer kit armado.</p>
<p>Paso a paso</p>
<p>1º Deberemos soldar los componentes que se encuentran debajo del PIC.</p>
<p style="text-align: center;"><img src="http://pinguino.walii.es/wp-content/uploads/2010/07/071710_2223_Porfinhanll3.jpg" alt="" /></p>
<p>2º ahora podemos colocar el zocalo del PIC y verificar que los componentes no molesten, quizas debamos mover un poco la resistencia de 330r de debajo, porque depende la distancia que dejemos a la placa puede elevar el zocalo o no.</p>
<p style="text-align: center;"><img src="http://pinguino.walii.es/wp-content/uploads/2010/07/071710_2223_Porfinhanll4.jpg" alt="" /></p>
<p>3º En este punto ya podemos instalar todos los demás componentes y pines de conexión, no es necesario poner algunas cosas pero al ser el primero me gusto llenarlo de tonterías.</p>
<p>Quizás la fuente de 12 volts no sea necesaria y la parte del ISCP no la utilicemos nunca, o quizás la salida serie para routers del estilo fonera no nos interese.</p>
<p style="text-align: center;"><img src="http://pinguino.walii.es/wp-content/uploads/2010/07/071710_2223_Porfinhanll5.jpg" alt="" /></p>
<p>4ºCuando tenemos todo menos el PIC, deberemos probar que funciona, conectando el cable usb, y verificando que enciende correctamente el led mas cercano a este conector.</p>
<p style="text-align: center;"><img src="http://pinguino.walii.es/wp-content/uploads/2010/07/071710_2223_Porfinhanll6.jpg" alt="" /></p>
<p>5º Si el led se enciende deberemos comprobar que la alimentación del PIC en sus conexiones centrales es correcta en cuanto a valor y polaridad.</p>
<p style="text-align: center;"><img src="http://pinguino.walii.es/wp-content/uploads/2010/07/071710_2223_Porfinhanll7.jpg" alt="" /></p>
<p>6º Ahora sí, con el pic programado con el último boot procederemos a conectarlo y verificar que todo sigue funcionando y que nuestro Windows/mac/Linux detecta el PINGÜINO conectado a un puerto USB</p>
<p style="text-align: center;"><img src="http://pinguino.walii.es/wp-content/uploads/2010/07/071710_2223_Porfinhanll8.jpg" alt="" /></p>
<p>NOTA: Existen algunos errores que he cometido por inexperiencia, al ser mi primer placa fabricada en serie, que aunque he verificado mucho el diseño y lo he puesto ONLINE para que me echen una mano, con la emoción del momento se me han pasado algunas cosillas.</p>
<p>1º El capacitor de 220uf que aparece cerca de la palabra pingüino, en realidad es un Tantalio de 470nf sin polaridad (no sé que me paso!!!).</p>
<p>2º Más que error esta es una recomendación, el capacitor de 470uf que filtra la fuente de 12volts al pasar por el 7805, quizás debería ser más pequeño porque uno de ese valor puede ser muy voluminoso, en la foto le he puesto uno de 47uf, así que deberíamos quitarle un cero.</p>
<p>3º El ICSP no funciona porque se me ha pasado colocar un JUMPER en la patilla 1 del PIC. Pero la verdad que esto no lo utilizaríamos para mucho, ya que solo pondremos el HEX del boot una vez por PIC.</p>
<p style="text-align: center;"><img src="http://pinguino.walii.es/wp-content/uploads/2010/07/071710_2223_Porfinhanll11.png" alt="" /><img src="http://pinguino.walii.es/wp-content/uploads/2010/07/071710_2223_Porfinhanll13.jpg" alt="" /><img src="http://pinguino.walii.es/wp-content/uploads/2010/07/071710_2223_Porfinhanll12.png" alt="" /></p>
<div class="shr-publisher-214"></div><!-- Start LikeButtonSetBottom --><!-- End LikeButtonSetBottom -->


		<!-- Added by WP-DragToShare-eXtended Plugin -->
		<script type="text/javascript">
			dtsv.dtse_post_214_permalink = 'http://pinguino.walii.es/?p=214';
			dtsv.dtse_post_214_title = 'Por fin han llegado las placas PCB PINGÜINO…!!!';
		</script>
		<!-- End of WP-DragToShare-eXtended Plugin -->]]></content:encoded>
			<wfw:commentRss>http://pinguino.walii.es/?feed=rss2&#038;p=214</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Placa desde MakePCB.</title>
		<link>http://pinguino.walii.es/?p=199</link>
		<comments>http://pinguino.walii.es/?p=199#comments</comments>
		<pubDate>Wed, 07 Jul 2010 09:29:15 +0000</pubDate>
		<dc:creator>walterleonardo</dc:creator>
				<category><![CDATA[Varios]]></category>

		<guid isPermaLink="false">http://pinguino.walii.es/archives/199</guid>
		<description><![CDATA[Para todos los interesados, la gente de MakePCB nos ha respondido con algo bueno, según ellos, el producto ha salido de la fábrica y dispone a ser enviado… Se supone que a corto plazo tendremos las placas para ser distribuidas. Por el tema de envíos para quienes me han consultado tengo valores aproximados que pueden [...]]]></description>
			<content:encoded><![CDATA[<!-- Start LikeButtonSetTop --><!-- End LikeButtonSetTop --><pre><span style="font-size: 14pt;"><strong>Para todos los interesados</strong></span>, la gente de MakePCB nos ha respondido con algo bueno, según ellos, el producto ha salido de la fábrica y dispone a ser enviado…
</pre>
<pre>Se supone que a corto plazo tendremos las placas para ser distribuidas.
</pre>
<pre>Por el tema de envíos para quienes me han consultado tengo valores aproximados que pueden ser:
</pre>
<pre><strong>R.Moreira (Portugal) tanto para Portugal como para Canarias, estoy haciendo el mismo coste de envío que para España, asumiendo la diferencia.
</strong></pre>
<pre><strong>6.- euros. (Con código de seguimiento y seguro)
</strong></pre>
<pre><strong>J.Fernandez (Peru)  &amp;  F.Lopez (Argentina)  &amp;  E.Sanchez (Argentina)  &amp;     J.Sancristobal (Chile) debajo indico el coste Internacional.</strong>
</pre>
<pre><span style="color: red;"><strong>Para envíos Internacionales
</strong></span></pre>
<pre><strong>El precio por unidad es el que aparece en la web (11 euros) puede incluir un chip y una placa PCB. Pero para pedidos superiores a 1 unidad necesito saber exactamente el número, porque dependiendo el peso y destino el coste de envío es diferente.</strong><strong>
saludos y a esperar las dichosas PCBs.

</strong></pre>
<div class="shr-publisher-199"></div><!-- Start LikeButtonSetBottom --><!-- End LikeButtonSetBottom -->


		<!-- Added by WP-DragToShare-eXtended Plugin -->
		<script type="text/javascript">
			dtsv.dtse_post_199_permalink = 'http://pinguino.walii.es/?p=199';
			dtsv.dtse_post_199_title = 'Placa desde MakePCB.';
		</script>
		<!-- End of WP-DragToShare-eXtended Plugin -->]]></content:encoded>
			<wfw:commentRss>http://pinguino.walii.es/?feed=rss2&#038;p=199</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>GTP-USB-Lite mi programador USB</title>
		<link>http://pinguino.walii.es/?p=190</link>
		<comments>http://pinguino.walii.es/?p=190#comments</comments>
		<pubDate>Wed, 07 Jul 2010 08:04:07 +0000</pubDate>
		<dc:creator>walterleonardo</dc:creator>
				<category><![CDATA[Varios]]></category>
		<category><![CDATA[WEB]]></category>

		<guid isPermaLink="false">http://pinguino.walii.es/archives/190</guid>
		<description><![CDATA[Hoy voy a compartir una herramienta que ya es difícil conseguir (por lo menos en mi caso, quise repetir el modelo que tenia, y solo lo he encontrado entre mis backups), un programador USB, para quienes como yo, se les complica programar micro controladores en los ordenadores modernos, sin puertos SERIE. Es un programador basado [...]]]></description>
			<content:encoded><![CDATA[<!-- Start LikeButtonSetTop --><!-- End LikeButtonSetTop --><p><span style="font-size: 12pt;">Hoy voy a compartir una herramienta que ya es difícil conseguir (por lo menos en mi caso, quise repetir el modelo que tenia, y solo lo he encontrado entre mis backups), un programador USB, para quienes como yo, se les complica programar micro controladores en los ordenadores modernos, sin puertos SERIE.<br />
</span></p>
<p><span style="font-size: 12pt;">Es un programador basado en el GTP-USB, pero en este caso, libre (OPENSOURCE).<br />
</span></p>
<p><span style="font-size: 12pt;">El único inconveniente es que solo puede ser utilizado por la versión de WINPIC800 3.55b, lo cual no es un problema si tenemos de donde conseguir esta versión.<br />
</span></p>
<p><span style="font-size: 12pt;">El circuito es el siguiente:<br />
</span></p>
<p><img style="border: 0pt none;" src="http://pinguino.walii.es/wp-content/uploads/2010/07/070710_0747_GTPUSBLitem1.png" alt="" width="669" height="412" /><span style="font-size: 12pt;"><br />
</span></p>
<p><span id="more-190"></span></p>
<p><span style="font-size: 12pt;">El código a programar el PIC 18f2550, el programa winpic800 y varios diagramas electrónicos están aquí: <a href="http://rapidshare.com/files/405290060/GTP_USB_LITE.rar.html">LINK</a><br />
</span></p>
<p><span style="font-size: 12pt;"><strong>NOTA: RECORDEMOS QUE NECESITAMOS que algún amigo o conocido o desconocido nos facilite UN PROGRAMADOR QUE FUNCIONE PARA PODER ESCRIBIR EL .HEX EN EL 18F2550.<br />
</strong></span></p>
<p><span style="font-size: 12pt;"><span style="color: red;"><strong>TRUCO NECESARIO: NO OLVIDEN EL CAPACITOR DE 100NF TIENE QUE ESTAR LO MAS CERCA POSIBLE AL CHIP PARA EVITAR INTERFERENCIAS, SINO PUEDE QUE NUESTRO PROGRAMADOR SOLO LEA Y NO ESCRIBA LOS MICRO CONTROLADORES.</strong></span></span></p>
<p><strong>Pasos a seguir.</strong></p>
<p><span style="font-size: 12pt;">1. Descargamos todo lo necesario del link anterior.<br />
</span></p>
<p><span style="font-size: 12pt;">2. construimos el programador y conectamos el PIC 18f2550 programado con el HEX que se incluye en el link.<br />
</span></p>
<p><span style="font-size: 12pt;">Conectamos todo el circuito en el USB del ordenador, tenemos que ver como detecta un dispositivo y nos informa que no posee controlador para este.<br />
</span></p>
<p style="text-align: center;"><a href="http://photos1.blogger.com/blogger/5311/2301/1600/p1.2.jpg"><img src="http://pinguino.walii.es/wp-content/uploads/2010/07/070710_0747_GTPUSBLitem2.jpg" border="0" alt="" /></a><span style="font-size: 12pt;"><br />
Seleccionamos &#8220;No, no this time&#8221;, click &#8220;Next&#8221;<br />
</span></p>
<p><span style="font-size: 12pt;">3. En la próxima ventana seleccionamos &#8220;Install from a list or specific location (Advanced)&#8221; , click &#8220;Next&#8221;<br />
</span></p>
<p style="text-align: center;"><a href="http://photos1.blogger.com/blogger/5311/2301/1600/p2.2.jpg"><img src="http://pinguino.walii.es/wp-content/uploads/2010/07/070710_0747_GTPUSBLitem3.jpg" border="0" alt="" /></a><span style="font-size: 12pt;"> </span></p>
<p><span style="font-size: 12pt;">4. Cuando veamos que  nos solicita un controlador, podemos ofrecerle el driver que nos aparece en el link, o bien dentro de la carpeta del WINPIC800(v3.55b), tendremos un directorio que se llama &#8220;winXP Driver&#8221;, en donde se encuentra el mismo controlador.<br />
</span></p>
<p style="text-align: center;"><a href="http://photos1.blogger.com/blogger/5311/2301/1600/p3.2.jpg"><img src="http://pinguino.walii.es/wp-content/uploads/2010/07/070710_0747_GTPUSBLitem4.jpg" border="0" alt="" /></a><span style="font-size: 12pt;"> </span></p>
<p style="text-align: center;"><a href="http://photos1.blogger.com/blogger/5311/2301/1600/p4.1.jpg"><img class="aligncenter dtse-img dtse-post-190" src="http://pinguino.walii.es/wp-content/uploads/2010/07/070710_0747_GTPUSBLitem5.jpg" border="0" alt="" /></a></p>
<p style="text-align: center;"><a href="http://photos1.blogger.com/blogger/5311/2301/1600/p5.1.jpg"><img src="http://pinguino.walii.es/wp-content/uploads/2010/07/070710_0747_GTPUSBLitem6.jpg" border="0" alt="" /></a><span style="font-size: 12pt;"> </span></p>
<p><span style="font-size: 12pt;">Ok… perfecto ya tenemos todos los pasos hechos y el programador detectado.<br />
</span></p>
<p><span style="font-size: 12pt;">PROBAREMOS EL SOFTWARE DEL PROGRAMADOR, iniciamos el WINPIC800.<strong><br />
</strong></span></p>
<p style="text-align: center;"><a href="http://photos1.blogger.com/blogger/5311/2301/1600/p6.jpg"><img src="http://pinguino.walii.es/wp-content/uploads/2010/07/070710_0747_GTPUSBLitem7.jpg" border="0" alt="" /></a><span style="font-size: 12pt;"><br />
vamos a : Device &gt; Hardware Test<br />
</span></p>
<p style="text-align: center;"><a href="http://photos1.blogger.com/blogger/5311/2301/1600/p7.jpg"><img src="http://pinguino.walii.es/wp-content/uploads/2010/07/070710_0747_GTPUSBLitem8.jpg" border="0" alt="" /></a><span style="font-size: 12pt;"><br />
Nos debería informar que todo está bien &#8220;Hardware OK!&#8221;<br />
</span></p>
<p><span style="font-size: 12pt;">Luego conectamos el ICSP o un micro controlador en el zócalo para programarlo y vamos a la opción, &#8220;detectar PIC&#8221;<br />
</span></p>
<p style="text-align: center;"><a href="http://photos1.blogger.com/blogger/5311/2301/1600/p8.jpg"><img src="http://pinguino.walii.es/wp-content/uploads/2010/07/070710_0747_GTPUSBLitem9.jpg" border="0" alt="" /></a><span style="font-size: 12pt;"> </span></p>
<p><span style="font-size: 12pt;">En este caso tengo conectado un 16f877 el cual identifica correctamente.<br />
</span></p>
<p><span style="font-size: 12pt;"><strong>NOTA: OS RECOMIENDO HACER UN PROGRAMADOR CON SALIDA ICSP (PROGRAMACION SERIE DE IC) lo cual es muy útil para todo tipo de microcontroladores.<br />
</strong></span></p>
<p>La salida ICSP es muy fácil y sencilla solo arman un conector de 5 pines, los cuales tienen estas conexiones (las cuales son las indicadas en todos los proyectos con microcontroladores):</p>
<p style="text-align: center;"><img src="http://pinguino.walii.es/wp-content/uploads/2010/07/070710_0747_GTPUSBLitem10.gif" alt="" /></p>
<p style="text-align: center;">
<p style="text-align: center;"><img src="http://pinguino.walii.es/wp-content/uploads/2010/07/070710_0747_GTPUSBLitem11.png" alt="" /></p>
<p style="text-align: center;">
<p style="text-align: center;"><img src="http://pinguino.walii.es/wp-content/uploads/2010/07/070710_0747_GTPUSBLitem12.png" alt="" /></p>
<p>Hay gente que lo ha hecho de diferentes formas y colores, pero tú puedes elegir… <span style="font-family: Wingdings;">J</span></p>
<p style="text-align: center;"><img src="http://pinguino.walii.es/wp-content/uploads/2010/07/070710_0747_GTPUSBLitem13.jpg" alt="" /><span style="font-size: 12pt;"><br />
<img src="http://pinguino.walii.es/wp-content/uploads/2010/07/070710_0747_GTPUSBLitem14.jpg" alt="" /></span></p>
<p style="text-align: center;"><span style="font-size: 12pt;"><img src="http://pinguino.walii.es/wp-content/uploads/2010/07/070710_0747_GTPUSBLitem15.jpg" alt="" /><br />
</span></p>
<p style="text-align: center;"><span style="font-size: 12pt;"><br />
<a href="http://photos1.blogger.com/blogger/5311/2301/1600/DSCF4550 %28Large%29.jpg"><img src="http://pinguino.walii.es/wp-content/uploads/2010/07/070710_0747_GTPUSBLitem16.jpg" border="0" alt="" /></a><br />
<a href="http://photos1.blogger.com/blogger/5311/2301/1600/DSCF4560 %28Large%29.jpg"><img src="http://pinguino.walii.es/wp-content/uploads/2010/07/070710_0747_GTPUSBLitem17.jpg" border="0" alt="" /></a><br />
</span></p>
<div class="shr-publisher-190"></div><!-- Start LikeButtonSetBottom --><!-- End LikeButtonSetBottom -->


		<!-- Added by WP-DragToShare-eXtended Plugin -->
		<script type="text/javascript">
			dtsv.dtse_post_190_permalink = 'http://pinguino.walii.es/?p=190';
			dtsv.dtse_post_190_title = 'GTP-USB-Lite mi programador USB';
		</script>
		<!-- End of WP-DragToShare-eXtended Plugin -->]]></content:encoded>
			<wfw:commentRss>http://pinguino.walii.es/?feed=rss2&#038;p=190</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Vuelta tras vacaciones…con nuevas ideas</title>
		<link>http://pinguino.walii.es/?p=172</link>
		<comments>http://pinguino.walii.es/?p=172#comments</comments>
		<pubDate>Mon, 05 Jul 2010 08:36:32 +0000</pubDate>
		<dc:creator>walterleonardo</dc:creator>
				<category><![CDATA[Varios]]></category>

		<guid isPermaLink="false">http://pinguino.walii.es/archives/172</guid>
		<description><![CDATA[    Bueno… tras unas vacaciones reparadoras, vuelvo con ideas frescas… Veamos como iniciamos nuevamente la marcha… Proyectos ideados bajo el sol de Mallorca… J 1º entretenimiento para mi niña, así me deja pensar en otros proyectos… un generador de pompas de jabón… robótico… con un servo y un ventilador de ordenador… as ver que podemos hacer… [...]]]></description>
			<content:encoded><![CDATA[<!-- Start LikeButtonSetTop --><!-- End LikeButtonSetTop --><p>    Bueno… tras unas vacaciones reparadoras, vuelvo con ideas frescas…
</p>
<p>Veamos como iniciamos nuevamente la marcha…
</p>
<p>Proyectos ideados bajo el sol de Mallorca… <span style="font-family:Wingdings">J</span>
	</p>
<p><strong><em>1º entretenimiento para mi niña, así me deja pensar en otros proyectos… un generador de pompas de jabón… robótico… con un servo y un ventilador de ordenador… as ver que podemos hacer…<br />
</em></strong></p>
<p><strong><em>2º Finalizar el proyecto de robot seguidor de líneas y detector de obstáculos…<br />
</em></strong></p>
<p><strong><em>3º Finalizar proyecto de auto a control remoto vía wifi con el IPHONE<br />
</em></strong></p>
<p><strong><em>4º Comenzar el nuevo proyecto de control de jardines y espacios verdes con PINGÜINO (humedad, luminosidad, temperatura, etc. y si puedo, control de riego dependiendo el reporte del tiempo &#8220;si llueve en breve, no regar&#8221;)<br />
</em></strong></p>
<p><strong><em>5º Comenzar a rentabilizar la inversión en Zigbee… y darle algún uso… <span style="font-family:Wingdings">J</span><br />
			</em></strong></p>
<p>
 </p>
<p>Veremos con que comenzamos primero…
</p>
<p><span style="font-size:14pt"><strong>Cualquier idea será bienvenida.<br />
</strong></span></p>
<p>Gracias a <strong>joseluis</strong> ya tenemos otra cosa para ocupar el tiempo libre… <span style="font-family:Wingdings">J</span>
	</p>
<p>
 </p>
<p><span style="color:red; font-family:Courier New; font-size:14pt"><strong>NOTA IMPORTANTE<br />
</strong></span></p>
<p><span style="color:red; font-family:Courier New; font-size:14pt"><strong>Para los que compraron placas PCB, quiero hacerles llegar mis disculpas, ya que según Niels  de MakePCB (en mi última comunicación la semana pasada), la producción de las placas está retrasada porque no dan abasto en su construcción, gracias a un número muy grande de órdenes… les daré tiempo a contestar mi último correo del día de hoy, a ver qué novedades tienen, y si no me responden algo bueno, cancelare la orden y la realizare con otra compañía.<br />
</strong></span></p>
<p><span style="color:red; font-family:Courier New; font-size:14pt"><strong>Al final lo barato sale caro.<br />
</strong></span></p>
<p>
 </p>
<div class="shr-publisher-172"></div><!-- Start LikeButtonSetBottom --><!-- End LikeButtonSetBottom -->


		<!-- Added by WP-DragToShare-eXtended Plugin -->
		<script type="text/javascript">
			dtsv.dtse_post_172_permalink = 'http://pinguino.walii.es/?p=172';
			dtsv.dtse_post_172_title = 'Vuelta tras vacaciones…con nuevas ideas';
		</script>
		<!-- End of WP-DragToShare-eXtended Plugin -->]]></content:encoded>
			<wfw:commentRss>http://pinguino.walii.es/?feed=rss2&#038;p=172</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PINGUINO+Processing   Osciloscopio de 6 canales</title>
		<link>http://pinguino.walii.es/?p=169</link>
		<comments>http://pinguino.walii.es/?p=169#comments</comments>
		<pubDate>Tue, 22 Jun 2010 11:24:13 +0000</pubDate>
		<dc:creator>walterleonardo</dc:creator>
				<category><![CDATA[PINGUINO]]></category>
		<category><![CDATA[Varios]]></category>

		<guid isPermaLink="false">http://pinguino.walii.es/archives/169</guid>
		<description><![CDATA[    Navegando por el mar de internet, me encuentro con algo muy interesante, un osciloscopio de 6 canales tomando muestra de una resolución de 10bits de los puertos RA de un Arduino, me pregunte ¿porque no tenemos algo similar para pingüino? y me puse a ello. En principio he cogido la versión creada por la web [...]]]></description>
			<content:encoded><![CDATA[<!-- Start LikeButtonSetTop --><!-- End LikeButtonSetTop --><p>    Navegando por el mar de internet, me encuentro con algo muy interesante, un osciloscopio de 6 canales tomando muestra de una resolución de 10bits de los puertos RA de un Arduino, me pregunte ¿porque no tenemos algo similar para pingüino? y me puse a ello.
</p>
<p>En principio he cogido la versión creada por la web <a href="http://accrochages.drone.ws/">http://accrochages.drone.ws/</a> , la he modificado lo suficiente como para que pueda utilizarse con PINGÜINO en sus dos modalidades por puerto SERIE o también por USB, esta última es más recomendable por el ancho debanda y la practicidad de un solo conector.
</p>
<p>El resultado es esto:
</p>
<p>
 </p>
<p style="text-align: center"><img class="dtse-img dtse-post-169" src="http://pinguino.walii.es/wp-content/uploads/2010/06/062210_1124_PINGUINOPro1.png" alt=""/>
	</p>
<p>El código no lo he posteado porque es demasiado largo, pero he puesto las dos modalidades en internet para que puedan descargarlas.
</p>
<p><a href="http://rapidshare.com/files/401618668/osciloscopio2pinguino_usb.rar.html">Este es el vínculo para la versión USB</a>
	</p>
<p><a href="http://rapidshare.com/files/401621972/osciloscopio2pinguino_serie.rar.html">Y este otro es el vínculo de la versión por puerto Serie</a>
	</p>
<p><span style="font-size:12pt"><strong>Nota: al final de cada código de PROCESSING encontraran comentado el código para PINGuINO.<br />
</strong></span></p>
<p>
 </p>
<div class="shr-publisher-169"></div><!-- Start LikeButtonSetBottom --><!-- End LikeButtonSetBottom -->


		<!-- Added by WP-DragToShare-eXtended Plugin -->
		<script type="text/javascript">
			dtsv.dtse_post_169_permalink = 'http://pinguino.walii.es/?p=169';
			dtsv.dtse_post_169_title = 'PINGUINO+Processing   Osciloscopio de 6 canales';
		</script>
		<!-- End of WP-DragToShare-eXtended Plugin -->]]></content:encoded>
			<wfw:commentRss>http://pinguino.walii.es/?feed=rss2&#038;p=169</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
	</channel>
</rss>

