tag:blogger.com,1999:blog-42925765689352285952024-03-13T01:14:03.266+00:00La antigua fraguaLhrodhttp://www.blogger.com/profile/00250667544237961052noreply@blogger.comBlogger27125tag:blogger.com,1999:blog-4292576568935228595.post-78795472438913030542014-01-23T12:10:00.000+00:002014-01-23T12:10:58.166+00:00Minimo fractal de Mandelbrot<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="http://4.bp.blogspot.com/-0vYEU3vRjuk/Ut_CdyQhm4I/AAAAAAAAGzQ/UIfvEdcMDrc/s1600/mandel.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img alt="Mandelbrot minimo" border="0" src="http://4.bp.blogspot.com/-0vYEU3vRjuk/Ut_CdyQhm4I/AAAAAAAAGzQ/UIfvEdcMDrc/s1600/mandel.png" height="320" title="Mandelbrot minimo" width="320" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Mandelbrot minimo</td></tr>
</tbody></table>
<br />
Hace unos meses que he tenido que retomar el uso de octave y recordé que hace unos años hice un pequeño script que calcula en blanco y negro <a href="http://es.wikipedia.org/wiki/Conjunto_de_Mandelbrot">el fractal de mandelbrot</a> en 17 lineas de octave, incluyendo borrado y mostrado en pantalla y pausa pertinente al final del script. Se puede reducir mas el tamaño del código quitando por ejemplo las variable y poniendo directamente los valores pero el núcleo del script crea el fractal en unas 10-11 lineas. ¿Seria posible hacerlo en menos?:<br />
<br />
<b><i>#!/usr/bin/octave</i></b><br />
<b><i># laantiguafragua.blogspot.com</i></b><br />
<b><i>clf;</i></b><br />
<b><i>puntos=400;</i></b><br />
<b><i>puntosx=linspace(-2.1,0.9,puntos);</i></b><br />
<b><i>puntosy=linspace(-1.5,1.5,puntos);</i></b><br />
<b><i>[X, Y]=meshgrid(puntosx, puntosy);</i></b><br />
<b><i>c=X+Y*i;</i></b><br />
<b><i>Z=zeros(puntos);</i></b><br />
<b><i>itr=100;<span class="Apple-tab-span" style="white-space: pre;"> </span># Numero de iteraciones</i></b><br />
<b><i>for k=1:itr</i></b><br />
<b><i><span class="Apple-tab-span" style="white-space: pre;"> </span>Z=(Z.^2)+c;</i></b><br />
<b><i>end;</i></b><br />
<b><i>W=exp(-abs(Z));</i></b><br />
<b><i>[J, map]=gray2ind(W);</i></b><br />
<b><i>imshow(J, map);</i></b><br />
<b><i>pause;</i></b>Lhrodhttp://www.blogger.com/profile/00250667544237961052noreply@blogger.com0tag:blogger.com,1999:blog-4292576568935228595.post-47679839382108056812012-12-25T12:38:00.002+00:002012-12-25T13:11:16.677+00:00loaDreams - Pandereta<div>
<a href="http://3.bp.blogspot.com/-4nucUYCiris/UNmdqWVFW2I/AAAAAAAAGjM/ee9AZZmB6rw/s1600/icon.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" src="http://3.bp.blogspot.com/-4nucUYCiris/UNmdqWVFW2I/AAAAAAAAGjM/ee9AZZmB6rw/s1600/icon.png" /></a></div>
Segunda aplicación de loaDreams para android:<br />
<br />
Instrumento navideño una aplicación para usar el móvil como... como... ¿pandereta? pues si eso y como botella de anís, ¿próximamente zambombas? quizás campanitas u otras<br />
<br />
Se agradecería toda publicidad, descargas, +1, publicaciones en facebook, vamos una manita a un pobre desarrollador:<br />
<br />
<a href="https://market.android.com/details?id=com.loadreams.instruments">https://market.android.com/details?id=com.loadreams.instruments</a>Lhrodhttp://www.blogger.com/profile/00250667544237961052noreply@blogger.com0tag:blogger.com,1999:blog-4292576568935228595.post-5128993771861540322012-11-01T01:08:00.001+00:002012-11-01T12:02:21.402+00:00loaDreams - Tomahawk<div class="separator" style="clear: both; text-align: center;">
<a href="http://4.bp.blogspot.com/-nEoQBzldZgI/UJJkA020rGI/AAAAAAAAGf8/klvvwpn3jtc/s1600/icon.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" src="http://4.bp.blogspot.com/-nEoQBzldZgI/UJJkA020rGI/AAAAAAAAGf8/klvvwpn3jtc/s1600/icon.png" /></a></div>
Como orgulloso miembro del grupo loaDreams, tengo el placer de anunciar que después de un par de semanas de trabajo, hemos publicado nuestra primera aplicación de android:<br />
<br />
Tomahawk una aplicación para usar el móvil como arma arrojadiza :P bueno... para bromear...<br />
<br />
Se agradecería toda publicidad, descargas, +1, publicaciones en facebook, vamos una manita a un pobre desarrollador:<br />
<br />
<a href="https://play.google.com/store/apps/details?id=com.loadreams.tomahawk">https://play.google.com/store/apps/details?id=com.loadreams.tomahawk</a>Lhrodhttp://www.blogger.com/profile/00250667544237961052noreply@blogger.com0tag:blogger.com,1999:blog-4292576568935228595.post-82014115995294480382012-07-21T17:49:00.000+01:002013-05-09T09:01:57.831+01:00Pasos para construir un stirling en lata (II)<h2>
¿Que veremos en esta parte?</h2>
<div style="text-align: justify;">
</div>
<ol>
<li>Construyendo el desplazador</li>
<li>Construyendo el cigüeñal</li>
<li>Fabricando el soporte</li>
<li>Uniéndolo todo</li>
<li>Probando</li>
<li>Una mejora</li>
<li>Algunos problemas comunes</li>
</ol>
<br />
<h2>
Construyendo el desplazador</h2>
<div style="text-align: justify;">
El desplazador es la pieza que se mueve arriba y abajo siguiendo los diferentes ciclos del motor stirling. Estará fabricado en este caso de lana de acero, un producto usado para pulir o limpiar superficies. Se puede encontrar fácilmente en cualquier ferretería del mundo. Suelen venir en formato de un rollo plano.</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
Lo primero es tomar un <a href="http://es.wikipedia.org/wiki/Pajilla" target="_blank">cañita</a> y comenzar a envolverla con lana de acero de manera que se vaya formando un rollo de lana de acero a su alrededor, hay que apretar un poco para que quede algo compacta, seguimos hasta que tenga aproximadamente el grosor de una lata, tras lo cual cortamos el sobrante, con tijeras es suficiente:</div>
<table cellpadding="0" cellspacing="0" class="tr-caption-container" style="float: right; text-align: justify;"><tbody>
<tr><td style="text-align: center;"><a href="http://4.bp.blogspot.com/-0mPliuLBNBI/T_g_SNR78jI/AAAAAAAAGFU/lfguM7AqBaU/s1600/IMG_20120707_132545.jpg" imageanchor="1" style="clear: right; margin-bottom: 1em; margin-left: auto; margin-right: auto;"><img border="0" height="200" src="http://4.bp.blogspot.com/-0mPliuLBNBI/T_g_SNR78jI/AAAAAAAAGFU/lfguM7AqBaU/s200/IMG_20120707_132545.jpg" width="150" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Hasta que tengamos el grosor de la lata<br />
<br />
<br /></td></tr>
</tbody></table>
<div style="text-align: justify;">
<br /></div>
<table cellpadding="0" cellspacing="0" class="tr-caption-container" style="float: left; margin-right: 1em; text-align: justify;"><tbody>
<tr><td style="text-align: center;"><a href="http://2.bp.blogspot.com/-75asjBhSiZc/T_hADL0WadI/AAAAAAAAGFw/JqTymOmZz7Q/s1600/IMG_20120707_132231.jpg" imageanchor="1" style="clear: left; margin-bottom: 1em; margin-left: auto; margin-right: auto;"><img border="0" height="150" src="http://2.bp.blogspot.com/-75asjBhSiZc/T_hADL0WadI/AAAAAAAAGFw/JqTymOmZz7Q/s200/IMG_20120707_132231.jpg" width="200" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Enrollamos alrededor de una cañita</td></tr>
</tbody></table>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div style="text-align: justify;">
Ahora medimos aproximadamente 5.1 cm y lo recortamos con cualquier herramienta para lograr que el rollo tenga esa altura aproximadamente:</div>
<div style="text-align: justify;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<table cellpadding="0" cellspacing="0" class="tr-caption-container" style="float: left; margin-right: 1em; text-align: justify;"><tbody>
<tr><td style="text-align: center;"><a href="http://4.bp.blogspot.com/-FyCO6JK8Y9s/T_g_mQBoc3I/AAAAAAAAGFc/LQPIFt4CaPQ/s1600/IMG_20120707_132852.jpg" imageanchor="1" style="clear: left; margin-bottom: 1em; margin-left: auto; margin-right: auto;"><img border="0" height="150" src="http://4.bp.blogspot.com/-FyCO6JK8Y9s/T_g_mQBoc3I/AAAAAAAAGFc/LQPIFt4CaPQ/s200/IMG_20120707_132852.jpg" width="200" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">5.1 cm aproximadamente</td></tr>
</tbody></table>
<table cellpadding="0" cellspacing="0" class="tr-caption-container" style="float: right; margin-left: 1em; text-align: justify;"><tbody>
<tr><td style="text-align: center;"><a href="http://1.bp.blogspot.com/-v0Y_I7FmDHc/T_g-uUU-UZI/AAAAAAAAGFE/rM1ltgKwO3Q/s1600/IMG_20120707_133434.jpg" imageanchor="1" style="clear: right; margin-bottom: 1em; margin-left: auto; margin-right: auto;"><img border="0" height="150" src="http://1.bp.blogspot.com/-v0Y_I7FmDHc/T_g-uUU-UZI/AAAAAAAAGFE/rM1ltgKwO3Q/s200/IMG_20120707_133434.jpg" width="200" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Recortamos</td></tr>
</tbody></table>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://2.bp.blogspot.com/-Fzultyr0Fv8/T_g-AoHO0HI/AAAAAAAAGEs/KOT-wYWm37U/s1600/IMG_20120707_133536.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="240" src="http://2.bp.blogspot.com/-Fzultyr0Fv8/T_g-AoHO0HI/AAAAAAAAGEs/KOT-wYWm37U/s320/IMG_20120707_133536.jpg" width="320" /></a></div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
Recortamos los bordes de la parte superior del rollo para que tomen una forma similar a la parte superior de la lata donde lo vamos a meter, de esta forma mejoraremos el movimiento del desplazador:</div>
<div style="text-align: justify;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://4.bp.blogspot.com/-YVhwE5IPHD0/T_g-egxUHLI/AAAAAAAAGE8/N8ZXrTxDoV0/s1600/IMG_20120707_133612.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="http://4.bp.blogspot.com/-YVhwE5IPHD0/T_g-egxUHLI/AAAAAAAAGE8/N8ZXrTxDoV0/s320/IMG_20120707_133612.jpg" width="240" /></a></div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
Tomamos un clip estirado y en un extremo lo doblamos para hacer un pequeño gancho, el gancho sera el final de un trozo recto de unos 5.1cm. A partir de final del trozo recto formaremos una espiral que abarque la mayor parte posible del diámetro del rollo de lana de acero:</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
<br /></div>
<table cellpadding="0" cellspacing="0" class="tr-caption-container" style="float: left; margin-right: 1em; text-align: justify;"><tbody>
<tr><td style="text-align: center;"><a href="http://3.bp.blogspot.com/-KqQEKuwC6SA/T_g9vodXCLI/AAAAAAAAGEk/8veJ3kxoaj4/s1600/IMG_20120707_134412.jpg" imageanchor="1" style="clear: left; margin-bottom: 1em; margin-left: auto; margin-right: auto;"><img border="0" height="150" src="http://3.bp.blogspot.com/-KqQEKuwC6SA/T_g9vodXCLI/AAAAAAAAGEk/8veJ3kxoaj4/s200/IMG_20120707_134412.jpg" width="200" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">5.1cm a partir del gancho</td></tr>
</tbody></table>
<table cellpadding="0" cellspacing="0" class="tr-caption-container" style="float: right; margin-left: 1em; text-align: justify;"><tbody>
<tr><td style="text-align: center;"><a href="http://2.bp.blogspot.com/-zCv7dy3VKQo/T_g9IZIM_wI/AAAAAAAAGEI/uT4QA-Zsuk0/s1600/IMG_20120707_135003.jpg" imageanchor="1" style="clear: right; margin-bottom: 1em; margin-left: auto; margin-right: auto;"><img border="0" height="200" src="http://2.bp.blogspot.com/-zCv7dy3VKQo/T_g9IZIM_wI/AAAAAAAAGEI/uT4QA-Zsuk0/s200/IMG_20120707_135003.jpg" width="150" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Mas o menos en espiral</td></tr>
</tbody></table>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
El gancho y el trozo de clip recto lo insertamos a través de la cañita por el centro del rollo de lana, hasta que el gancho sobresalga del rollo y la espiral sujete la mayor parte del rollo por debajo:</div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<table cellpadding="0" cellspacing="0" class="tr-caption-container" style="float: left; margin-right: 1em; text-align: justify;"><tbody>
<tr><td style="text-align: center;"><a href="http://3.bp.blogspot.com/-bZEMb9VNjGA/T_g8wlJDpjI/AAAAAAAAGD4/Ec5I1mz7Jzo/s1600/IMG_20120707_135109.jpg" imageanchor="1" style="clear: left; margin-bottom: 1em; margin-left: auto; margin-right: auto;"><img border="0" height="200" src="http://3.bp.blogspot.com/-bZEMb9VNjGA/T_g8wlJDpjI/AAAAAAAAGD4/Ec5I1mz7Jzo/s200/IMG_20120707_135109.jpg" width="150" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">A través de la cañita</td></tr>
</tbody></table>
<div style="text-align: justify;">
<br /></div>
<table cellpadding="0" cellspacing="0" class="tr-caption-container" style="float: right; margin-left: 1em; text-align: justify;"><tbody>
<tr><td style="text-align: center;"><a href="http://3.bp.blogspot.com/-9pXQcTnHX9w/T_g8fyuK0cI/AAAAAAAAGDw/KbiVBK0EyBs/s1600/IMG_20120707_135129.jpg" imageanchor="1" style="clear: right; margin-bottom: 1em; margin-left: auto; margin-right: auto;"><img border="0" height="200" src="http://3.bp.blogspot.com/-9pXQcTnHX9w/T_g8fyuK0cI/AAAAAAAAGDw/KbiVBK0EyBs/s200/IMG_20120707_135129.jpg" width="150" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">El gancho sobresale un poco por encima</td></tr>
</tbody></table>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
Atamos al gancho un borde del hilo de nailon. Luego introducimos el rollo con cuidado en la lata inferior, la que aun conserva el fondo, por el agujero que hicimos al abrirla con el abrelatas. Presionando los laterales del rollo ira cediendo mientras entra en la lata:</div>
<table cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="http://2.bp.blogspot.com/-Vntkt6d7xOo/T_g74RC7e7I/AAAAAAAAGDY/xgYRWd1J6mw/s1600/IMG_20120707_135929.jpg" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="320" src="http://2.bp.blogspot.com/-Vntkt6d7xOo/T_g74RC7e7I/AAAAAAAAGDY/xgYRWd1J6mw/s320/IMG_20120707_135929.jpg" width="240" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Haciendo presión en los laterales y empujando hacia abajo</td></tr>
</tbody></table>
<div style="text-align: justify;">
Una vez dentro, comprobamos que se desplaza bien, subiéndolo y bajándolo tirando del nailon con la</div>
<div style="text-align: justify;">
mano:</div>
<table cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="http://2.bp.blogspot.com/-4v5yFS9Yd9M/T_g7Wn3sbuI/AAAAAAAAGDA/bvoCYgC4UPY/s1600/IMG_20120707_140011.jpg" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="240" src="http://2.bp.blogspot.com/-4v5yFS9Yd9M/T_g7Wn3sbuI/AAAAAAAAGDA/bvoCYgC4UPY/s320/IMG_20120707_140011.jpg" width="320" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Asegurarse que sube y baja fácilmente</td></tr>
</tbody></table>
<div style="text-align: justify;">
Si todo ha ido bien ya tenemos el desplazador en la lata. Ahora queda sacar el hilo de nailon a través del diafragma, cogemos el extremo del hilo del desplazador por el lado contrario al gancho, sacamos la chincheta del diafragma, con cuidado para que no se despeguen las tapas, e introducimos por el agujero de la chincheta el borde del nailon, de manera que salga el extremo a través de la tapa entera que esta pegada en la superficie del globo:</div>
<div style="text-align: justify;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://2.bp.blogspot.com/-NdxdDL7GiFY/T_g7KiGgrkI/AAAAAAAAGC4/pez5BMv41cc/s1600/IMG_20120707_141143.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="http://2.bp.blogspot.com/-NdxdDL7GiFY/T_g7KiGgrkI/AAAAAAAAGC4/pez5BMv41cc/s320/IMG_20120707_141143.jpg" width="240" /></a></div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
Cubrimos con el globo la parte superior de la lata de forma que se mantenga sujeto por la presión, aunque no debe quedar muy rígido, ni muy hundido, y probamos nuevamente tirando del nailon que el desplazador se mueve correctamente dentro de la lata aun tirando de él a través del diafragma:</div>
<div style="text-align: justify;">
<br /></div>
<table cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="http://1.bp.blogspot.com/-Byp5rKyuCUU/T_g7A-OxdLI/AAAAAAAAGCw/88zTcqbBJYc/s1600/IMG_20120707_141404.jpg" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="320" src="http://1.bp.blogspot.com/-Byp5rKyuCUU/T_g7A-OxdLI/AAAAAAAAGCw/88zTcqbBJYc/s320/IMG_20120707_141404.jpg" width="240" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">No debe quedar muy tenso que no pueda ceder, ni muy flojo que escape el aire por los bordes</td></tr>
</tbody></table>
<div style="text-align: justify;">
Si el desplazador se mueve bien, seria bueno retirar el globo un momento y ponerle una gota de pegamento al gancho para que este bien pegado al nailon y no se desate, luego volveremos a colocar el globo en la boca de la lata.</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
Ahora cogiendo una de las piezas metálicas que sacamos de las regletas, no es necesario que este taladrada, y retirando uno de los tornillos que trae, anudaremos el extremo del nailon al agujero que deja el tornillo. Por el otro introducimos un trozo de alambre/clip recto y atornillamos fuerte:</div>
<div style="text-align: justify;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://4.bp.blogspot.com/-ErNntDKSG74/T_g613Jp4vI/AAAAAAAAGCo/04gT1JefcZQ/s1600/IMG_20120707_141737.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="240" src="http://4.bp.blogspot.com/-ErNntDKSG74/T_g613Jp4vI/AAAAAAAAGCo/04gT1JefcZQ/s320/IMG_20120707_141737.jpg" width="320" /></a></div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
Esta pieza ayudara a que no se nos escurra el hilo dentro de la lata y cuando lo unamos nos sera útil para calibrar la longitud correcta del nailon.</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
Bueno ya casi esta terminado el cilindro del motor, de momento lo dejamos aparcado para comenzar con...</div>
<h2 style="text-align: justify;">
El cigüeñal</h2>
<div>
<div style="text-align: justify;">
Es un poco difícil ver la configuración tridimensional del cigüeñal en una imagen, pero vamos a intentarlo. Esta parte móvil es la que llevara gran carga sobre el funcionamiento final del motor, vamos a necesitar un clip de mariposa, que son algo mas gruesos o un alambre mas gordo, tres piezas de las que extrajimos de las regletas eléctricas y taladramos, unos alicates preferentemente finos y algo con lo que medir nos vendría bien también.</div>
</div>
<div>
<div style="text-align: justify;">
<br /></div>
</div>
<div>
<div style="text-align: justify;">
Tomamos el clip/alambre recto y aproximadamente por la mitad doblamos uno de sus lados 90º y dejando unos 10mm de espacio doblamos 45º al otro lado. Creando así, un pequeño segmento central de 10mm y dos patas, una doblada 90º y la otra 45º. Por el lado de los 45º metemos una pieza eléctrica taladrada hasta que este en el segmento intermedio:</div>
</div>
<div>
<div style="text-align: justify;">
<br /></div>
<table cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="http://2.bp.blogspot.com/-7NcgIP_fipA/T_o2At5GOTI/AAAAAAAAGJ8/4MztT8MYmgU/s1600/IMG_20120709_012638.jpg" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="240" src="http://2.bp.blogspot.com/-7NcgIP_fipA/T_o2At5GOTI/AAAAAAAAGJ8/4MztT8MYmgU/s320/IMG_20120709_012638.jpg" width="320" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Asegurarse que gira fácilmente.</td></tr>
</tbody></table>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
Terminamos de doblar la pata de los 45º hasta que este paralela a la primera y la pieza metálica este encajonada en el pequeño segmento recto entre ambas patas:</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://4.bp.blogspot.com/-tiDFk9yvSlI/T_o1cxFpLgI/AAAAAAAAGJk/REjWrrMSUgE/s1600/IMG_20120709_012825.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="http://4.bp.blogspot.com/-tiDFk9yvSlI/T_o1cxFpLgI/AAAAAAAAGJk/REjWrrMSUgE/s320/IMG_20120709_012825.jpg" width="240" /></a></div>
<div class="separator" style="clear: both; text-align: justify;">
<br /></div>
<div class="separator" style="clear: both; text-align: justify;">
Ahora doblamos las dos patas 90º hacia el frente del segmento de la pieza metálica, hasta que queden perpendiculares con el segmento recto, donde se encuentra la pieza metálica. Esta doblez debe estar a unos 20mm de la primera, no es especialmente importante, en uno de los dos motores lo hice a solo 5mm y también funciono:</div>
</div>
<div>
<div style="text-align: justify;">
<br /></div>
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://1.bp.blogspot.com/-g-YfOjjdTmE/T_o0gFnkViI/AAAAAAAAGI8/Az9LKNPESwo/s1600/IMG_20120709_013737.jpg" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em; text-align: justify;"><img border="0" height="200" src="http://1.bp.blogspot.com/-g-YfOjjdTmE/T_o0gFnkViI/AAAAAAAAGI8/Az9LKNPESwo/s200/IMG_20120709_013737.jpg" width="150" /></a><a href="http://3.bp.blogspot.com/-U7OUFuhJpYw/T_o1oGsEDiI/AAAAAAAAGK8/XiCNRDbQeRI/s1600/IMG_20120709_013719.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em; text-align: justify;"><img border="0" height="200" src="http://3.bp.blogspot.com/-U7OUFuhJpYw/T_o1oGsEDiI/AAAAAAAAGK8/XiCNRDbQeRI/s200/IMG_20120709_013719.jpg" width="114" /></a></div>
<div>
<div class="separator" style="clear: both; text-align: justify;">
<br /></div>
</div>
<table cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><div style="text-align: left;">
Ahora estas nuevas patas que vienen hacia el frente las doblamos 90º contra la dirección, dejando como 5mm desde la anterior doblez:</div>
<div style="text-align: left;">
<br /></div>
<a href="http://3.bp.blogspot.com/-ItYoqIbHim8/T_o10LFvcSI/AAAAAAAAGJ0/4pAH-IkE0LA/s1600/IMG_20120709_014020.jpg" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="240" src="http://3.bp.blogspot.com/-ItYoqIbHim8/T_o10LFvcSI/AAAAAAAAGJ0/4pAH-IkE0LA/s320/IMG_20120709_014020.jpg" width="320" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">De forma que queden paralelas al segmento donde se encuentra la pieza metálica</td></tr>
</tbody></table>
<div class="separator" style="clear: both; text-align: justify;">
<br /></div>
<div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://1.bp.blogspot.com/-Nep5HDLSuVo/T_o1R_yUa1I/AAAAAAAAGJc/-A5CKehdAiA/s1600/IMG_20120709_014135.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="http://1.bp.blogspot.com/-Nep5HDLSuVo/T_o1R_yUa1I/AAAAAAAAGJc/-A5CKehdAiA/s320/IMG_20120709_014135.jpg" width="240" /></a></div>
<div style="text-align: justify;">
<br /></div>
</div>
<div>
<div style="text-align: justify;">
Nuevamente dejando unos 10mm desde el anterior doblez, doblamos 45º hacia el fondo, dejando algo de angulo para colocar las otras dos piezas eléctricas en los segmentos rectos. Cuidado con el sentido en que se colocan las piezas metálicas, los tornillos de las tres deben mirar hacia el mismo lado al dejarlas colgar:</div>
</div>
<div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://3.bp.blogspot.com/-cv4dsDh2mds/T_o0Irx_1-I/AAAAAAAAGIs/LUKyBMwybu8/s1600/IMG_20120709_015512.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="http://3.bp.blogspot.com/-cv4dsDh2mds/T_o0Irx_1-I/AAAAAAAAGIs/LUKyBMwybu8/s320/IMG_20120709_015512.jpg" width="240" /></a></div>
<div style="text-align: justify;">
<br /></div>
</div>
<div>
<div style="text-align: justify;">
Una vez colocadas las otras dos piezas metálicas, terminamos de doblar hasta los 90º, hasta que las otras piezas no puedan escapar de sus respectivos segmentos y nos aseguramos que pueden girar libremente:</div>
<div style="text-align: justify;">
<br /></div>
<table cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="http://3.bp.blogspot.com/-boZ4bsQeTWE/T_o0UvKZauI/AAAAAAAAGI0/1qkRoYgXDNk/s1600/IMG_20120709_020113.jpg" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="240" src="http://3.bp.blogspot.com/-boZ4bsQeTWE/T_o0UvKZauI/AAAAAAAAGI0/1qkRoYgXDNk/s320/IMG_20120709_020113.jpg" width="320" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Los tornillos parecen estar en direcciones opuestas, pero eso es solo porque las piezas de abajo están apoyadas de pie, mientras que la central cuelga libremente.</td></tr>
</tbody></table>
</div>
<div>
<div style="text-align: justify;">
Volvemos a doblar las patas 90º hacia el frente de forma que quedan paralelas y a la misma altura que el primer segmento recto donde cuelga la primera pieza que colocamos:</div>
<div style="text-align: justify;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://4.bp.blogspot.com/-2g74otNdBFw/T_ozydLKE8I/AAAAAAAAGIc/024THwn-ZhU/s1600/IMG_20120709_021001.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="240" src="http://4.bp.blogspot.com/-2g74otNdBFw/T_ozydLKE8I/AAAAAAAAGIc/024THwn-ZhU/s320/IMG_20120709_021001.jpg" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: justify;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://3.bp.blogspot.com/-7hHiydC23w0/T_ozb76e1eI/AAAAAAAAGK4/haJXL4aN2Rs/s1600/IMG_20120709_021859.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="217" src="http://3.bp.blogspot.com/-7hHiydC23w0/T_ozb76e1eI/AAAAAAAAGK4/haJXL4aN2Rs/s320/IMG_20120709_021859.jpg" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: justify;">
<br /></div>
</div>
<div>
<div style="text-align: justify;">
Si habeis usado un clip entero quedara un cigüeñal un poco largo, habría que recortarlo para que midiese entre 10-12cm de forma que la pieza quepa atravesada en la lata superior a través de los agujeros. Uno de los dos lados debe ser mas larga para que podamos colocar el volante de inercia sobre ese eje.</div>
</div>
<h2 style="text-align: justify;">
Fabricando el soporte</h2>
<div>
<div style="text-align: justify;">
El soporte solo tiene la misión de sujetar el motor sobre una o varias velas. Así que, si ves que es mas fácil usar otra cosa, no te cortes.</div>
</div>
<div>
<div style="text-align: justify;">
<br /></div>
</div>
<div>
<div style="text-align: justify;">
Use la lata de una ensalada para fabricar el soporte, sin muchas mediciones y mucha fuerza bruta:</div>
</div>
<div>
<div style="text-align: justify;">
<br /></div>
</div>
<table cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="http://3.bp.blogspot.com/-uYEIctPJWI0/UAIR3T0i_NI/AAAAAAAAGTM/Pl8_W14XMF8/s1600/IMG_20120715_010142.jpg" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="320" src="http://3.bp.blogspot.com/-uYEIctPJWI0/UAIR3T0i_NI/AAAAAAAAGTM/Pl8_W14XMF8/s320/IMG_20120715_010142.jpg" width="240" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">La tapa de la lata se uso para fabricar el volante.</td></tr>
</tbody></table>
<div style="text-align: justify;">
Medimos en la lata aproximadamente el diametro de una lata de 33cl:</div>
<div>
<div style="text-align: justify;">
<br /></div>
<table cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="http://2.bp.blogspot.com/-CYXOwIXhiyU/UAISHdBbRgI/AAAAAAAAGTU/D9CkrRhmPVw/s1600/IMG_20120715_010154.jpg" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="320" src="http://2.bp.blogspot.com/-CYXOwIXhiyU/UAISHdBbRgI/AAAAAAAAGTU/D9CkrRhmPVw/s320/IMG_20120715_010154.jpg" width="240" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Casualmente esta lata tiene un circulo rojo que es casi del tamaño necesario</td></tr>
</tbody></table>
<div class="separator" style="clear: both; text-align: justify;">
Recortamos el fondo de la lata, en circulo aproximadamente del grosor de la lata, mejor si es un poco mas pequeño, pero solo un poco:</div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<table cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="http://2.bp.blogspot.com/-x7XzzwNAUq4/UAIQ_7z0CsI/AAAAAAAAGSw/yJg_HGLSMto/s1600/IMG_20120715_010448.jpg" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="320" src="http://2.bp.blogspot.com/-x7XzzwNAUq4/UAIQ_7z0CsI/AAAAAAAAGSw/yJg_HGLSMto/s320/IMG_20120715_010448.jpg" width="240" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Poco a poco con un cuter</td></tr>
</tbody></table>
<div class="separator" style="clear: both; text-align: justify;">
Colocamos la lata atravesando el agujero, si no cabe o es demasiado ancho, ajustamos el borde ajustamdo el agujero con unos alicates para que la lata pueda atravesar lo, pero que quedando trabada:</div>
<table cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="http://3.bp.blogspot.com/-8x92t8tb_C8/UAIRTObxUFI/AAAAAAAAGS4/CxKQgWzz0l8/s1600/IMG_20120715_010610.jpg" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="240" src="http://3.bp.blogspot.com/-8x92t8tb_C8/UAIRTObxUFI/AAAAAAAAGS4/CxKQgWzz0l8/s320/IMG_20120715_010610.jpg" width="320" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Adaptar el borde con unos alicates para que la lata pueda sustentarse a través del agujero sin que caiga.</td></tr>
</tbody></table>
<div class="separator" style="clear: both; text-align: justify;">
Una vez la lata puede ser sustentada sobre el soporte, hay que abrir unas ventanas, para poder insertar las velas y que estas tengan suficiente oxigeno para arder:</div>
<table cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="http://1.bp.blogspot.com/-wIE3C1udBQc/UAIRk4EG42I/AAAAAAAAGTA/3nS97nyDE48/s1600/IMG_20120715_011408.jpg" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="240" src="http://1.bp.blogspot.com/-wIE3C1udBQc/UAIRk4EG42I/AAAAAAAAGTA/3nS97nyDE48/s320/IMG_20120715_011408.jpg" width="320" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Con un cuter cortamos en linea recta hacia abajo y repetimos unos 6cm otra, luego cortamos por arriba</td></tr>
</tbody></table>
<table cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="http://1.bp.blogspot.com/-9i7p6ZY0fMM/UAIQs7v9B3I/AAAAAAAAGSo/n5gYzbCy6pA/s1600/IMG_20120715_011720.jpg" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="240" src="http://1.bp.blogspot.com/-9i7p6ZY0fMM/UAIQs7v9B3I/AAAAAAAAGSo/n5gYzbCy6pA/s320/IMG_20120715_011720.jpg" width="320" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Luego cortamos por la parte de abajo para terminar la ventana</td></tr>
</tbody></table>
<div style="text-align: justify;">
Espacio sobrado para insertar una vela:</div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<table cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="http://1.bp.blogspot.com/-mFFa3yGm2II/UAITO2Q-ZaI/AAAAAAAAGT0/8UMdNdV1rug/s1600/IMG_20120715_012104.jpg" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="240" src="http://1.bp.blogspot.com/-mFFa3yGm2II/UAITO2Q-ZaI/AAAAAAAAGT0/8UMdNdV1rug/s320/IMG_20120715_012104.jpg" width="320" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Con dos ventanas ya abiertas y una vela en su interior</td></tr>
</tbody></table>
<div style="text-align: justify;">
Unas cuatro ventanas de 6cm como a 2cm entre ellas:</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://2.bp.blogspot.com/-0q11b_w95dI/UAIT8GCe1PI/AAAAAAAAGUM/ODpkrd7bz2U/s1600/IMG_20120715_012947.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="240" src="http://2.bp.blogspot.com/-0q11b_w95dI/UAIT8GCe1PI/AAAAAAAAGUM/ODpkrd7bz2U/s320/IMG_20120715_012947.jpg" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: justify;">
Aspecto final con lata insertada:</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://4.bp.blogspot.com/-5iL--QI_2tA/UAITsWTj8tI/AAAAAAAAGUE/JEc6DGsnkHg/s1600/IMG_20120715_013128.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="http://4.bp.blogspot.com/-5iL--QI_2tA/UAITsWTj8tI/AAAAAAAAGUE/JEc6DGsnkHg/s320/IMG_20120715_013128.jpg" width="240" /></a></div>
<div>
<br />
<h2 style="text-align: justify;">
La unión hace el trabajo</h2>
<div>
<div style="text-align: justify;">
Es hora de unirlo todo. Cogemos la lata superior y metemos el cigueñal usando el agujero frontal. Ensartando uno de los pequeños agujeros laterales con uno de los extremos rectos del cigueñal, aprovechando el espacio creado para insertarlo por el otro:</div>
</div>
<div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://3.bp.blogspot.com/-lUfguLXNETA/T_t0R2sjiGI/AAAAAAAAGNY/I-CRINOb8QU/s1600/IMG_20120709_230658.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="http://3.bp.blogspot.com/-lUfguLXNETA/T_t0R2sjiGI/AAAAAAAAGNY/I-CRINOb8QU/s320/IMG_20120709_230658.jpg" width="240" /></a></div>
<div style="text-align: justify;">
<br /></div>
</div>
<div>
<div style="text-align: justify;">
Colocamos piezas metálicas, sin taladrar, para hacer de tope los lados del cigüeñal de forma que los pliegues queden centrados y tenga algo de margen para desplazarse:</div>
<table cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="http://1.bp.blogspot.com/-G4gj2xYlWtE/T_tzdCY8ptI/AAAAAAAAGMU/fsCYxOx7J1k/s1600/IMG_20120709_231358.jpg" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="240" src="http://1.bp.blogspot.com/-G4gj2xYlWtE/T_tzdCY8ptI/AAAAAAAAGMU/fsCYxOx7J1k/s320/IMG_20120709_231358.jpg" width="320" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Procurando que el pliegue central del cigüeñal que centrado en la lata.</td></tr>
</tbody></table>
</div>
<div>
<div style="text-align: justify;">
Ahora vamos a ajustar el tamaño y forma de las bielas para poder atornillar adecuadamente a las piezas del cigüeñal. En este caso las bielas son el clip que esta atravesado en la tapa pegada en el diafragma. <u>Voy a poner fotos de un clip para que se vea la forma en que adopte el clip, aunque en las fotos para que se vea bien esta sin tapa</u>. Partimos con el clip atravesando la tapa y formando aproximadamente 90º con la tapa:</div>
</div>
<div>
<table cellpadding="0" cellspacing="0" class="tr-caption-container" style="float: left; margin-right: 1em; text-align: justify;"><tbody>
<tr><td style="text-align: center;"><a href="http://1.bp.blogspot.com/-WqLIEKmfpgU/UAR_-Br4JjI/AAAAAAAAGVY/-bxE0Ap7sTQ/s1600/IMG_20120716_193408.jpg" imageanchor="1" style="clear: left; margin-bottom: 1em; margin-left: auto; margin-right: auto;"><img border="0" height="200" src="http://1.bp.blogspot.com/-WqLIEKmfpgU/UAR_-Br4JjI/AAAAAAAAGVY/-bxE0Ap7sTQ/s200/IMG_20120716_193408.jpg" width="150" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Ejemplificaremos con un clip suelto</td></tr>
</tbody></table>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
<br /></div>
<table cellpadding="0" cellspacing="0" class="tr-caption-container" style="float: right; margin-left: 1em; text-align: justify;"><tbody>
<tr><td style="text-align: center;"><a href="http://4.bp.blogspot.com/-uYrNUnEc6xQ/T_gaH2Q6z2I/AAAAAAAAGBM/uaRWSPKqK8g/s1600/IMG_20120707_115910.jpg" imageanchor="1" style="clear: right; margin-bottom: 1em; margin-left: auto; margin-right: auto;"><img border="0" height="150" src="http://4.bp.blogspot.com/-uYrNUnEc6xQ/T_gaH2Q6z2I/AAAAAAAAGBM/uaRWSPKqK8g/s200/IMG_20120707_115910.jpg" width="200" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;"><b><u>El clip suelto representara al clip atravesado en la tapa</u></b></td></tr>
</tbody></table>
<div style="text-align: justify;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div style="text-align: justify;">
Usando unos alicates pequeños, doblamos un poco las bielas hacia afuera de forma que tengan aproximadamente 45º, formando una V:</div>
<table cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="http://2.bp.blogspot.com/-YhYPOvmVDMw/UASAbdKHrWI/AAAAAAAAGVg/xOqtuMWduqE/s1600/IMG_20120716_193526.jpg" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="320" src="http://2.bp.blogspot.com/-YhYPOvmVDMw/UASAbdKHrWI/AAAAAAAAGVg/xOqtuMWduqE/s320/IMG_20120716_193526.jpg" width="240" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Esto estaría unido al diafragma, y a su vez insertado en la lata superior</td></tr>
</tbody></table>
<div style="text-align: justify;">
Nuevamente doblamos 45º hacia el interior de la lata, de forma que queda una especie de U:</div>
<table cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="http://2.bp.blogspot.com/-Gh41Ge9uG6w/UASBGSwGcEI/AAAAAAAAGVs/KV97zlfbuwc/s1600/IMG_20120716_193645.jpg" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="320" src="http://2.bp.blogspot.com/-Gh41Ge9uG6w/UASBGSwGcEI/AAAAAAAAGVs/KV97zlfbuwc/s320/IMG_20120716_193645.jpg" width="240" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Esto recorta el tamaño de las bielas</td></tr>
</tbody></table>
<div style="text-align: justify;">
Creamos otro segmento recto de otros 45º. De forma que queda algo así:</div>
<table cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="http://3.bp.blogspot.com/-SJOEpZxzC8M/UASApx2usmI/AAAAAAAAGVk/qF-6DlFn_Jo/s1600/IMG_20120716_193728.jpg" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="320" src="http://3.bp.blogspot.com/-SJOEpZxzC8M/UASApx2usmI/AAAAAAAAGVk/qF-6DlFn_Jo/s320/IMG_20120716_193728.jpg" width="240" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Siniestramente parecido al simbolo de Cerberus de Mass effect ehhh...</td></tr>
</tbody></table>
<div style="text-align: justify;">
Nuevamente otros 45º en un ultimo segmento de forma que quede recto hacia arriba. Quedando así:</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://4.bp.blogspot.com/-ccyepKTuz-4/UASA4I5qgcI/AAAAAAAAGVo/8yqSYSuE_IY/s1600/IMG_20120716_193849.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="http://4.bp.blogspot.com/-ccyepKTuz-4/UASA4I5qgcI/AAAAAAAAGVo/8yqSYSuE_IY/s320/IMG_20120716_193849.jpg" width="240" /></a></div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
En realidad la forma es poco relevante, lo importante es que cada segmento de bielas pueda entrar recto en las piezas metálicas. Es posible incluso recortar el clip, con unos alicates, si aun así queda demasiado largo. Tras esto debemos insertar la lata superior en la inferior:</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://3.bp.blogspot.com/-Rt-fvFYjMCQ/T_tzSizqffI/AAAAAAAAGNc/wlrQZpI_VbM/s1600/IMG_20120710_001135.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="http://3.bp.blogspot.com/-Rt-fvFYjMCQ/T_tzSizqffI/AAAAAAAAGNc/wlrQZpI_VbM/s320/IMG_20120710_001135.jpg" width="240" /></a></div>
<div style="text-align: justify;">
<br /></div>
</div>
<div>
<div style="text-align: justify;">
Forzamos la posición mas baja posible de las piezas metálicas laterales y asegurando que las bielas entran en ellas, de forma recta y sin que roce el cigüeñal y atornillamos fuerte:</div>
</div>
<div>
<table cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="http://4.bp.blogspot.com/-0fqBa7EAq1I/T_tylZcNYoI/AAAAAAAAGL0/q9hXi72Ialw/s1600/IMG_20120710_001544.jpg" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="240" src="http://4.bp.blogspot.com/-0fqBa7EAq1I/T_tylZcNYoI/AAAAAAAAGL0/q9hXi72Ialw/s320/IMG_20120710_001544.jpg" width="320" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Asegurarse que las piezas metálicas estén en su posición mas baja y que el diafragma este deshinchado.</td></tr>
</tbody></table>
</div>
<div>
<div style="text-align: justify;">
Ahora tomamos la pieza metálica al extremo del nailon, que sobresale del diafragma, y metemos el pequeño trozo de alambre/clip que tiene atornillado a la pieza central del cigueñal y atornillamos fuerte:</div>
</div>
<div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://1.bp.blogspot.com/-EuFg6vaGfzI/T_txKomOuuI/AAAAAAAAGLA/3SjOzl4hVAU/s1600/IMG_20120710_002143.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="http://1.bp.blogspot.com/-EuFg6vaGfzI/T_txKomOuuI/AAAAAAAAGLA/3SjOzl4hVAU/s320/IMG_20120710_002143.jpg" width="240" /></a></div>
<div style="text-align: justify;">
<br /></div>
</div>
<div>
<div style="text-align: justify;">
Ajustamos el nudo de la pieza metálica para recortar el tamaño del nailon, de manera que cuando el cigueñal tiene la pieza central en su posición mas baja el desplazador se encuentra en el fondo de la lata inferior, mientras que es capaz de llegar a la posición superior del cigueñal y dar una vuelta sin quedarse bloqueado:</div>
</div>
<div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://3.bp.blogspot.com/-fkfgd8bO1tI/T_ty0pz7VsI/AAAAAAAAGL8/25_9pEeKJj8/s1600/IMG_20120710_002348.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="http://3.bp.blogspot.com/-fkfgd8bO1tI/T_ty0pz7VsI/AAAAAAAAGL8/25_9pEeKJj8/s320/IMG_20120710_002348.jpg" width="240" /></a></div>
<div style="text-align: justify;">
<br /></div>
</div>
<div>
<div style="text-align: justify;">
Lo atamos fuerte, si estamos seguros que la longitud es la correcto podemos ponerle una gota de pegamento.</div>
</div>
<div>
<div style="text-align: justify;">
<br /></div>
</div>
<div>
<div style="text-align: justify;">
Nos aseguramos manualmente que el desplazador sube y baja sin problemas. Le damos una o dos vueltas manualmente al cigueñal para asegurarnos que todo el conjunto gira apropiadamente y sin demasiado sobre esfuerzo.</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
Encajamos el motor en el soporte:</div>
<span id="goog_1886171539"></span><span id="goog_1886171540"></span><br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://3.bp.blogspot.com/-cHQ3OuKwav4/UASc2hk9kxI/AAAAAAAAGV4/Rt87-AEA-mQ/s1600/IMG_20120716_235426.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="http://3.bp.blogspot.com/-cHQ3OuKwav4/UASc2hk9kxI/AAAAAAAAGV4/Rt87-AEA-mQ/s320/IMG_20120716_235426.jpg" width="240" /></a></div>
<div style="text-align: justify;">
Esto le dará mas estabilidad al conjunto cuando le pongamos el volante del inercia:</div>
<table cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="http://1.bp.blogspot.com/-0IAtDKTSIgg/UAScn-2--FI/AAAAAAAAGVw/cmKXf4QMc4I/s1600/IMG_20120716_235524.jpg" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="320" src="http://1.bp.blogspot.com/-0IAtDKTSIgg/UAScn-2--FI/AAAAAAAAGVw/cmKXf4QMc4I/s320/IMG_20120716_235524.jpg" width="240" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Que quede espacio debajo para la/s velas</td></tr>
</tbody></table>
<div>
<div>
<div style="text-align: justify;">
Es el momento de atornillar el volante de inercia. Es sorprendente lo delicado que es todo el motor a la correcta colocación del volante, aun siendo un mecanismo tan aparentemente simple.</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
Localizamos el lado mas largo del cigüeñal que sobresale de la lata superior:</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://1.bp.blogspot.com/-VuumjeLekh8/UASifqGd1cI/AAAAAAAAGWE/VkX80cuWHYw/s1600/IMG_20120717_001548.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="240" src="http://1.bp.blogspot.com/-VuumjeLekh8/UASifqGd1cI/AAAAAAAAGWE/VkX80cuWHYw/s320/IMG_20120717_001548.jpg" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: justify;">
<br /></div>
<div class="separator" style="clear: both; text-align: justify;">
Insertamos el volante a través de la pieza metálica por el lado mas largo y atornillamos fuertemente, es importante que el volante no resbale:</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://2.bp.blogspot.com/-xvis67iEjBw/UASiuBuEXWI/AAAAAAAAGWY/kh73ySW7k4Y/s1600/IMG_20120717_001901.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="240" src="http://2.bp.blogspot.com/-xvis67iEjBw/UASiuBuEXWI/AAAAAAAAGWY/kh73ySW7k4Y/s320/IMG_20120717_001901.jpg" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: justify;">
<br /></div>
</div>
<div>
<div style="text-align: justify;">
Ponemos una gota de aceite de maquina en cada elemento que deba moverse, girar o desplazarse, especialmente en el hilo de nailon que atraviesa el diafragma:</div>
<table cellpadding="0" cellspacing="0" class="tr-caption-container" style="float: left; margin-right: 1em; text-align: justify;"><tbody>
<tr><td style="text-align: center;"><a href="http://4.bp.blogspot.com/-VGr61zLPIe4/T_txpfI7m3I/AAAAAAAAGLQ/Sp72LK1VMCk/s1600/IMG_20120710_003329.jpg" imageanchor="1" style="clear: left; margin-bottom: 1em; margin-left: auto; margin-right: auto;"><img border="0" height="150" src="http://4.bp.blogspot.com/-VGr61zLPIe4/T_txpfI7m3I/AAAAAAAAGLQ/Sp72LK1VMCk/s200/IMG_20120710_003329.jpg" width="200" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Gota de aceite de maquina en cada elemento que pueda producir fricción</td></tr>
</tbody></table>
<table cellpadding="0" cellspacing="0" class="tr-caption-container" style="float: right; margin-left: 1em; text-align: justify;"><tbody>
<tr><td style="text-align: center;"><a href="http://1.bp.blogspot.com/-ILaJvRLMSjM/T_txZcfdLFI/AAAAAAAAGLI/sGRc7bQ8tJ8/s1600/IMG_20120710_003359.jpg" imageanchor="1" style="clear: right; margin-bottom: 1em; margin-left: auto; margin-right: auto;"><img border="0" height="150" src="http://1.bp.blogspot.com/-ILaJvRLMSjM/T_txZcfdLFI/AAAAAAAAGLI/sGRc7bQ8tJ8/s200/IMG_20120710_003359.jpg" width="200" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Especialmente en el hilo de nailon</td></tr>
</tbody></table>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
<br /></div>
</div>
<br />
<div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
</div>
</div>
</div>
</div>
</div>
<br />
<br />
Al girar el volante todo el mecanismo debería girar libremente al menos un par de veces, si no puede que le falte peso al volante o que este resbale, en este caso es bueno darle un poco de pegamento ciano para evitarlo. Si aun así es demasiado duro o no gira, revise la tensión del globo, que las bielas no rocen con el cigüeñal y vuelva a ajustar la longitud del nailon para el cigüeñal pueda girar completamente.<br />
<h2 style="text-align: justify;">
La prueba</h2>
<div>
<div style="text-align: justify;">
Vamos a probar...</div>
</div>
<div>
<div style="text-align: justify;">
<br /></div>
</div>
<div>
<div style="text-align: justify;">
En una zona sin peligro de incendios, encendemos una vela y la colocamos dentro del soporte de forma que la llama justo bajo la lata inferior:</div>
</div>
<div>
<div style="text-align: justify;">
<br /></div>
</div>
<table cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="http://4.bp.blogspot.com/-lfDfzoG7DdI/UASvz4y6-KI/AAAAAAAAGWg/_VYPtI1Sds4/s1600/IMG_20120717_005507.jpg" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="240" src="http://4.bp.blogspot.com/-lfDfzoG7DdI/UASvz4y6-KI/AAAAAAAAGWg/_VYPtI1Sds4/s320/IMG_20120717_005507.jpg" width="320" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Bien centrado, aunque no lo parezca.</td></tr>
</tbody></table>
<div style="text-align: justify;">
Este motor requiere un empujoncito para comenzar a funcionar, pero es necesario dejar un poco de tiempo para que se caliente, si intentas empujar o darle al volante antes no funcionara. Normalmente el globo por el calor y la presión del aire tiende a moverse un poco cuando ya esta suficientemente caliente, aunque no siempre pasa:</div>
</div>
<div class="separator" style="clear: both; text-align: center;">
<object class="BLOGGER-picasa-video" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0" data-thumbnail-src="https://lh4.googleusercontent.com/-MKSSO5AXvpQ/UAS_BDXjKQI/AAAAAAAAGYY/D0JfCDgBEoA/s1600/VID_20120717_015237.m4v" height="266" width="320"><param name="movie" value="http://video.google.com/googleplayer.swf?videoUrl=http://redirector.googlevideo.com/videoplayback?id%3D1a21a5b2ace56129%26itag%3D5%26source%3Dpicasa%26cmo%3Dsensitive_content%253Dyes%26ip%3D0.0.0.0%26ipbits%3D0%26expire%3D1345134353%26sparams%3Did,itag,source,ip,ipbits,expire%26signature%3D9E688AA6CE90CEC1DB5133A18736068DCB5167EE.670D65F9AE5EBBC1AC655B2027E92F4FACE3CDAF%26key%3Dlh1" /><param name="bgcolor" value="#FFFFFF" /><param name="allowFullScreen" value="true" /><embed width="320" height="266" src="http://video.google.com/googleplayer.swf?videoUrl=http://redirector.googlevideo.com/videoplayback?id%3D1a21a5b2ace56129%26itag%3D5%26source%3Dpicasa%26cmo%3Dsensitive_content%253Dyes%26ip%3D0.0.0.0%26ipbits%3D0%26expire%3D1345134353%26sparams%3Did,itag,source,ip,ipbits,expire%26signature%3D9E688AA6CE90CEC1DB5133A18736068DCB5167EE.670D65F9AE5EBBC1AC655B2027E92F4FACE3CDAF%26key%3Dlh1" type="application/x-shockwave-flash" allowfullscreen="true"></embed></object></div>
<div class="separator" style="clear: both; text-align: justify;">
<br /></div>
<div>
<div>
<div style="text-align: justify;">
Al principio ira mas despacio, a medida que vaya calentadose aumentara su velocidad. Según el peso, el montaje, etc, quizás necesite algo mas de fuego para que vaya mas rapidito:</div>
</div>
<div>
<div class="separator" style="clear: both; text-align: center;">
<object class="BLOGGER-picasa-video" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0" data-thumbnail-src="https://lh6.googleusercontent.com/-iv4ICkZNqak/UATBVFclVZI/AAAAAAAAGY0/URrOJeAIg2k/s1600/VID_20120717_015503.m4v" height="266" width="320"><param name="movie" value="http://video.google.com/googleplayer.swf?videoUrl=http://redirector.googlevideo.com/videoplayback?id%3Dd4b65197f9c853e4%26itag%3D5%26source%3Dpicasa%26cmo%3Dsensitive_content%253Dyes%26ip%3D0.0.0.0%26ipbits%3D0%26expire%3D1345134419%26sparams%3Did,itag,source,ip,ipbits,expire%26signature%3D5E730B926239C055F68FD66348433E6DD3E6F62D.7377CCA4129530DC796464290ED96AB4D51D03CB%26key%3Dlh1" /><param name="bgcolor" value="#FFFFFF" /><param name="allowFullScreen" value="true" /><embed width="320" height="266" src="http://video.google.com/googleplayer.swf?videoUrl=http://redirector.googlevideo.com/videoplayback?id%3Dd4b65197f9c853e4%26itag%3D5%26source%3Dpicasa%26cmo%3Dsensitive_content%253Dyes%26ip%3D0.0.0.0%26ipbits%3D0%26expire%3D1345134419%26sparams%3Did,itag,source,ip,ipbits,expire%26signature%3D5E730B926239C055F68FD66348433E6DD3E6F62D.7377CCA4129530DC796464290ED96AB4D51D03CB%26key%3Dlh1" type="application/x-shockwave-flash" allowfullscreen="true"></embed></object></div>
<div style="text-align: justify;">
<br /></div>
</div>
<h2 style="text-align: justify;">
Una mejora</h2>
<div>
<div style="text-align: justify;">
Si habéis visto el segundo vídeo de arriba, veréis que al aplicarle bastante calor con el mechero, el motor va mas rápido, una manera de conseguir ese mismo efecto sin aplicar mas calor es enfriar el extremo opuesto del cilindro. Para ello la idea es construir un pequeño recipiente para agua fría. Yo lo hice con un recipiente de flan desechable y soldadura plastica (Poxipol), pero hacerlo. Con una lata de atún da mas espacio para una mayor cantidad de agua. Recorte el fondo del recipiente con un cuter, lo inserte por la parte de abajo de la lata inferior. Colocando un circulo de soldadura plástica a la altura de donde debía permanecer el bote sin fugas, arrastre el recipiente hasta la parte mas alta de esta lata logrando que en su desplazamiento taponara con soldadura plástica todo posible escape de agua. Luego es cuestión de dejar que se endurezca y llenar con agua fría antes de encender el motor:<br />
<br />
<table cellpadding="0" cellspacing="0" class="tr-caption-container" style="float: left; margin-right: 1em; text-align: left;"><tbody>
<tr><td style="text-align: center;"><a href="http://4.bp.blogspot.com/-aYj2t14dxc0/UAnxNswDWsI/AAAAAAAAGZ8/Kv4nja6GSRQ/s1600/IMG_20120721_005351.jpg" imageanchor="1" style="clear: left; margin-bottom: 1em; margin-left: auto; margin-right: auto;"><img border="0" height="200" src="http://4.bp.blogspot.com/-aYj2t14dxc0/UAnxNswDWsI/AAAAAAAAGZ8/Kv4nja6GSRQ/s200/IMG_20120721_005351.jpg" width="150" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">El fondo del recipiente estaria taponado con la soldadura plastica<br />
<br /></td></tr>
</tbody></table>
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: right;"><tbody>
<tr><td style="text-align: center;"><a href="http://3.bp.blogspot.com/-JYJToiwTcyQ/UAnweBrXqxI/AAAAAAAAGZs/we3Us0D1CNs/s1600/IMG_20120721_005503.jpg" imageanchor="1" style="clear: right; margin-bottom: 1em; margin-left: auto; margin-right: auto;"><img border="0" height="200" src="http://3.bp.blogspot.com/-JYJToiwTcyQ/UAnweBrXqxI/AAAAAAAAGZs/we3Us0D1CNs/s200/IMG_20120721_005503.jpg" width="150" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Al verter agua fría aumenta la diferencia de temperatura</td></tr>
</tbody></table>
</div>
</div>
<h2 style="text-align: justify;">
<span style="text-align: left;">Algunos problemas comunes</span></h2>
<div>
<ul>
<li>En ocasiones sucede que al aplicar calor al motor, el globo se hincha, incluso exageradamente y aun así el motor no gira, esto es porque la presión generada en el aire es demasiado y la lata esta magníficamente estanca, para solucionarlo lo mejor es crear una fuga artificial. Para ello introducimos un poco de nailon bajo el globo, de tal manera que una punta este dentro de la lata y la otra sobresalga por debajo del borde del globo. Esto normalmente creara una fuga lo suficientemente grande para solucionar el problema y que el motor funcione correctamente. Después de construir tres, me hizo en falta en uno, uno de tres es una probabilidad bastante grande.</li>
<li>Al tratar de arrancar el motor, la tapa del diafragma se ladea, esto se soluciona usando una pieza de mayor superficie bajo el globo. Aunque normalmente si la enderezamos manualmente e insistimos este problema no evitara el funcionamiento del motor.</li>
<li>Aunque las fotos del cigüeñal, los espacios paralelos en los que se colocan las piezas metálicas miden en torno a los 5mm, considero mas apropiado dejar 10mm, algo que facilita el giro sin problema de las piezas, es por eso que en la construcción del cigüeñal escribí 10mm en lugar de 5mm, aun así con 5mm también funciono.</li>
</ul>
<h2 style="text-align: justify;">
Posts relacionados:</h2>
<h3 style="text-align: justify;">
<ul>
<li><a href="http://laantiguafragua.blogspot.com.es/2012/07/mi-primer-stirling.html">Mi primer stirling</a></li>
<li><a href="http://laantiguafragua.blogspot.com.es/2012/07/pasos-para-construir-un-stirling-en.html">Pasos para construir un stirling en lata (I)</a></li>
</ul>
</h3>
</div>
</div>
Lhrodhttp://www.blogger.com/profile/00250667544237961052noreply@blogger.com0tag:blogger.com,1999:blog-4292576568935228595.post-19708667660652109712012-07-13T17:30:00.000+01:002013-05-09T09:13:37.730+01:00Pasos para construir un stirling en lata (I)<h2 style="text-align: justify;">
¿Que veremos en esta primera parte?</h2>
<div>
<ol>
<li style="text-align: justify;">Los ingredientes para nuestra particular receta.</li>
<li style="text-align: justify;">Preparación de las latas para que formen el cuerpo del motor.</li>
<li style="text-align: justify;">Construcción del diafragma.</li>
<li style="text-align: justify;">Como sacar y preparar las piezas metálicas que necesitaremos de unas regletas de empalme.</li>
<li style="text-align: justify;">Y finalmente como construir un volante de inercia.</li>
</ol>
</div>
<h2 style="text-align: justify;">
Ingredientes</h2>
<ul>
<li style="text-align: justify;">2 <a href="https://www.google.es/search?hl=es&q=lata+33+cl&bav=on.2,or.r_gc.r_pw.r_cp.r_qf.,cf.osb&biw=1301&bih=656&um=1&ie=UTF-8&tbm=isch&source=og&sa=N&tab=wi&ei=HA_0T_HKO8bq8QO1z9WYBw" target="_blank">latas de 33 cl</a></li>
<li style="text-align: justify;">1 lata de <a href="https://lh3.googleusercontent.com/-RbCiChjSj0U/T_4jp8T6HmI/AAAAAAAAGPQ/HGlS8CizFtQ/s696/IMG_20120711_204602.jpg" target="_blank">ensalada en conserva</a>, se usa de apoyo/sujeción así que es muy fácil usar otro cosa, también se usara una tapa redonda de plástico, las que traen estas latas están bien.</li>
<li style="text-align: justify;">3 cds viejos</li>
<li style="text-align: justify;">1 <a href="http://es.wikipedia.org/wiki/Globo_(juguete)" target="_blank">globo</a></li>
<li style="text-align: justify;">30 cm de <a href="http://lh4.googleusercontent.com/-N9QocGyh6FA/T_SLeABU8ZI/AAAAAAAAF9g/HFiImxkbmcA/s522/IMG_20120704_192736.jpg" target="_blank">nailon de pescar</a>, ya sabes ese hilo transparente que se pone en las cañas de pescar, yo use de 0.40 mm de grosor.</li>
<li style="text-align: justify;"><a href="http://es.wikipedia.org/wiki/Lana_de_acero" target="_blank">Lana de acero</a></li>
<li style="text-align: justify;"><a href="http://es.wikipedia.org/wiki/Clip" target="_blank">Clips</a>/alambre. Clips normales y finos y 1 clip de mariposa, que son mas gruesos y fuertes o alambres equivalentes. Abra que estirarlos para darles forma, así que si ya son rectos mejor.</li>
<li style="text-align: justify;"><a href="http://lh5.googleusercontent.com/-wnzdF0W-WzY/T_SIU51StRI/AAAAAAAAF9A/3foLVganFEY/s696/IMG_20120704_190932.jpg" target="_blank">Regletas eléctricas</a> (fichas de empalme)</li>
<li style="text-align: justify;">Pegamento tipo <a href="http://es.wikipedia.org/wiki/Cianoacrilato" target="_blank">cianocrilato</a> (la gotita, superglue, cualquiera de ese tipo sirve)</li>
<li style="text-align: justify;">2 <a href="http://en.wikipedia.org/wiki/File:Lemon_Coke_bottle.jpg" target="_blank">tapas de botellas</a> de agua de un litro o de cualquier tipo de botella, pero <b>no</b> deben tener curvatura en el exterior de la tapa, las de refresco suelen tener cierta curvatura.</li>
<li style="text-align: justify;"><a href="http://lh5.googleusercontent.com/-fPKHGxLvG3U/T_SL8PTz7cI/AAAAAAAAF9o/y6UfnsWESJ4/s522/IMG_20120704_192649.jpg" target="_blank">Aceite de maquinas</a>, para lubricar.</li>
</ul>
<div style="text-align: justify;">
Opcionalmente</div>
<ul>
<li style="text-align: justify;">El envoltorio de aluminio de un postre o lata de atún.</li>
<li style="text-align: justify;">Soldadura plástica, poxipol o similar</li>
</ul>
<div style="text-align: justify;">
Herramientas</div>
<ul>
<li style="text-align: justify;">Abrelatas</li>
<li style="text-align: justify;">Cuter</li>
<li style="text-align: justify;">Tijeras</li>
<li style="text-align: justify;">Taladro</li>
<li style="text-align: justify;">Brocas para metal pequeñas</li>
<li style="text-align: justify;">Chinchetas, de las de marcar cosas en mapas.</li>
<li style="text-align: justify;">Destornillador</li>
<li style="text-align: justify;">Alicates</li>
<li style="text-align: justify;">Lima pequeña o lija fina</li>
<li style="text-align: justify;">Cinta métrica y/o regla de medir</li>
<li style="text-align: justify;"><a href="http://es.wikipedia.org/wiki/Pajilla" target="_blank">Cañita</a></li>
</ul>
<div>
<h2 style="text-align: justify;">
Preparando las latas</h2>
</div>
<div>
<div style="text-align: justify;">
Vamos a cortar la lata, <span style="color: red;">¡¡CUIDADO!!, las herramientas de corte son muy peligrosas, la hojalata corta como una cuchilla y tiene astillas metálicas que se clavan, ten mucho cuidado y usa guantes de trabajo para cortar las latas.</span></div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
Cortamos el fondo de una de las latas. Las latas suelen ser de una aleación muy fina de aluminio, fácilmente cortable con tijeras, cutter, una dremel o una herramienta especial para cortar llamada tijera de hojalatero (Esta tijera no la tengo):</div>
<div style="text-align: justify;">
<br /></div>
<table cellpadding="0" cellspacing="0" class="tr-caption-container" style="float: left; margin-right: 1em; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="http://4.bp.blogspot.com/-c9gWk5jf3EI/T_TN-ZohxUI/AAAAAAAAF-Q/MGngNnMvusk/s1600/IMG_20120705_000455.jpg" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img alt="" border="0" height="320" src="http://4.bp.blogspot.com/-c9gWk5jf3EI/T_TN-ZohxUI/AAAAAAAAF-Q/MGngNnMvusk/s320/IMG_20120705_000455.jpg" title="" width="240" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Tijera, cuter, latas y la dremel con un disco de corte metálico.</td></tr>
</tbody></table>
<table cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="http://2.bp.blogspot.com/-DTy2GBliSiM/T_TNwwgBGjI/AAAAAAAAF98/ykhj_c3ry6I/s1600/IMG_20120705_000610.jpg" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="320" src="http://2.bp.blogspot.com/-DTy2GBliSiM/T_TNwwgBGjI/AAAAAAAAF98/ykhj_c3ry6I/s320/IMG_20120705_000610.jpg" width="240" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Lata sin el fondo</td></tr>
</tbody></table>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
Da igual la herramienta que uses para cortar el fondo de la lata, lo importante es que sea un corte lo mas limpio posible porque deben encajar la una sobre la otra de forma que queden ancladas:</div>
<div style="text-align: justify;">
<br /></div>
<table cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="http://1.bp.blogspot.com/-kK-osv8LHbc/T_TNk_cFAHI/AAAAAAAAF90/_sAHObzBONo/s1600/IMG_20120705_000706.jpg" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="320" src="http://1.bp.blogspot.com/-kK-osv8LHbc/T_TNk_cFAHI/AAAAAAAAF90/_sAHObzBONo/s320/IMG_20120705_000706.jpg" width="240" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Es importante que encajen bien y no se muevan.</td></tr>
</tbody></table>
<div style="text-align: justify;">
A continuación vamos a preparar la lata superior. Lo mas fácil es terminar de preparar la lata superior sin desencajarla de la inferior. Hay que hacerle dos agujeros como a dos centímetro de la parte superior de la lata y uno frente al otro, para luego pasar por ellos el cigüeñal/eje.</div>
</div>
<div>
<div style="text-align: justify;">
<br /></div>
</div>
<div>
<div style="text-align: justify;">
Las latas miden 21 centímetros de contorno, así que la forma rápida de hacerlo es clavar la chincheta y luego medir con una cinta métrica 10.5 centímetros y clavar otra chincheta en ese punto:</div>
</div>
<div>
<div style="text-align: justify;">
<br /></div>
</div>
<table cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="http://2.bp.blogspot.com/-vyXSMuB_9RU/T_TcUdwpqDI/AAAAAAAAF-k/4KJ9oWolkPk/s1600/IMG_20120705_011005.jpg" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="320" src="http://2.bp.blogspot.com/-vyXSMuB_9RU/T_TcUdwpqDI/AAAAAAAAF-k/4KJ9oWolkPk/s320/IMG_20120705_011005.jpg" width="240" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Dos chinchetas, a dos centímetros desde la parte superior y en lados contrarios de la lata, para esto debe estar a 10.5 centímetros de contorno.</td></tr>
</tbody></table>
<div>
<div style="text-align: justify;">
Ahora abrimos un lateral de la lata, con cualquiera de las herramientas de corte que mencionamos antes, esta apertura solo sirve para acceder con el destornillador a las bielas y colocar el cigüeñal. Así que no es necesaria una gran precisión, solamente que puedas acceder al interior de la lata. Tiene que llegar mas o menos a la altura de las chinchetas y verlas clavadas en el interior:</div>
</div>
<table cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="http://3.bp.blogspot.com/-MmDezrOeW5A/T_Tchx1w2CI/AAAAAAAAF-o/YXY4coMlq-8/s1600/IMG_20120705_011132.jpg" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="320" src="http://3.bp.blogspot.com/-MmDezrOeW5A/T_Tchx1w2CI/AAAAAAAAF-o/YXY4coMlq-8/s320/IMG_20120705_011132.jpg" width="240" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Una elipse recortada con el cuter es suficiente.</td></tr>
</tbody></table>
<div style="text-align: justify;">
Aprovechamos para ampliar ligeramente el agujero de las chinchetas con una broca pequeña, para ampliar el agujero al diámetro del grosor de un clip de mariposa:</div>
<table cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="http://2.bp.blogspot.com/-dSOc_khMbTE/T_t0fal49JI/AAAAAAAAGNk/TJSLiDlEJlc/s1600/IMG_20120709_222655.jpg" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="320" src="http://2.bp.blogspot.com/-dSOc_khMbTE/T_t0fal49JI/AAAAAAAAGNk/TJSLiDlEJlc/s320/IMG_20120709_222655.jpg" width="290" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">La foto no es muy buena, pero se entiende :P</td></tr>
</tbody></table>
<div>
<div style="text-align: justify;">
<br /></div>
<div>
<div style="text-align: justify;">
Para terminar con la preparación de las latas les quitamos la parte superior, preferentemente con un buen abrelatas. La lata inferior se abre para colocar el diafragma y la lata superior para poder acceder mas fácilmente al cigüeñal/bielas:</div>
</div>
<div>
<span id="goog_777861305"></span><span id="goog_777861306"></span></div>
<div>
<div style="text-align: justify;">
<br /></div>
</div>
<div>
<table cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="http://4.bp.blogspot.com/-BDNmghPJhmM/T_TgSpFV1II/AAAAAAAAF-4/yxYnSeFkEuk/s1600/IMG_20120705_012912.jpg" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="320" src="http://4.bp.blogspot.com/-BDNmghPJhmM/T_TgSpFV1II/AAAAAAAAF-4/yxYnSeFkEuk/s320/IMG_20120705_012912.jpg" width="310" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Latas con la apertura cortada por el abrelatas. Se han retirado las chinchetas para poder cortar con mas cuidado</td></tr>
</tbody></table>
<div style="text-align: justify;">
Es importante que al recortar la lata inferior no quede con astillas o puntas afiladas, el diafragma, que estará hecho con un globo, se moverá arriba y abajo en ese sitio, por lo que si quedan filos o astillas metálicas podrían romperlo. Por eso se recomienda usar un buen abrelatas como el de la foto, para que el corte sea bien limpio.</div>
<div style="text-align: justify;">
<br /></div>
<h2 style="text-align: justify;">
Construyendo el diafragma</h2>
<div style="text-align: justify;">
El diafragma sera el encargado de transmitir movimiento por el aumento de presión hasta el cigüeñal. También debe permitir el paso del hilo de nailon que une el cigueñal con el desplazador. Esto ultimo ademas tendrá la consecuencia que impedirá que el cilindro sea totalmente estanco sin embargo tendremos, por simplicidad, que conformarnos.</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
Tomamos el globo y lo cortamos con las tijeras o el cuter a la altura que aparece en la foto:</div>
<table cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="http://4.bp.blogspot.com/-EKSuPcB3crU/T_gYmEA9IEI/AAAAAAAAGB0/rrTbICDskOE/s1600/IMG_20120707_114322.jpg" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="320" src="http://4.bp.blogspot.com/-EKSuPcB3crU/T_gYmEA9IEI/AAAAAAAAGB0/rrTbICDskOE/s320/IMG_20120707_114322.jpg" width="240" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Globo cortado para el diafragma</td></tr>
</tbody></table>
<div style="text-align: justify;">
Cortamos el fondo de una tapa de botella de la forma mas circular posible y lijamos un poco una de sus caras. Atravesamos el circulo plástico con la chincheta aproximadamente por su centro y le ponemos un poco de pegamento ciano en la cara del plástico por la que sale la chincheta. Con el conjunto, atravesamos la parte <u>interior</u> del globo, también aproximadamente por el centro del globo, de forma que el globo queda atravesado por la chincheta y el circulo plástico queda pegado en la parte interior del globo:</div>
<table cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: justify;"><tbody>
<tr><td style="text-align: center;"><img border="0" height="150" src="http://1.bp.blogspot.com/-qG3J06UkNxs/T_gYxbOpxEI/AAAAAAAAGAI/gU7SaZF44nI/s200/IMG_20120707_114405.jpg" style="margin-left: auto; margin-right: auto;" width="200" /></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Tapa sin cortar</td></tr>
</tbody></table>
<div style="text-align: justify;">
<br /></div>
<table cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="http://3.bp.blogspot.com/-ekhLEOWXadQ/T_gYNT4GfVI/AAAAAAAAF_w/B7bCqTq7hIU/s1600/IMG_20120707_114846.jpg" imageanchor="1" style="background-color: white; clear: right; margin-bottom: 1em; margin-left: auto; margin-right: auto; text-align: right;"><img border="0" height="150" src="http://3.bp.blogspot.com/-ekhLEOWXadQ/T_gYNT4GfVI/AAAAAAAAF_w/B7bCqTq7hIU/s200/IMG_20120707_114846.jpg" width="200" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Tapa cortada</td></tr>
</tbody></table>
<table cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="http://4.bp.blogspot.com/-4JvhgB4w0UM/T_gZ92id_dI/AAAAAAAAGBo/Oxj1K0-h9JQ/s1600/IMG_20120707_115224.jpg" imageanchor="1" style="clear: left; margin-bottom: 1em; margin-left: auto; margin-right: auto;"><img border="0" height="150" src="http://4.bp.blogspot.com/-4JvhgB4w0UM/T_gZ92id_dI/AAAAAAAAGBo/Oxj1K0-h9JQ/s200/IMG_20120707_115224.jpg" width="200" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Circulo de plástico atravesado por la chincheta</td></tr>
</tbody></table>
<table cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><br />
<a href="http://1.bp.blogspot.com/-q-g7Y9qDWuo/T_gZy-j5xXI/AAAAAAAAGA8/ohddMRSaXgc/s1600/IMG_20120707_115735.jpg" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="150" src="http://1.bp.blogspot.com/-q-g7Y9qDWuo/T_gZy-j5xXI/AAAAAAAAGA8/ohddMRSaXgc/s200/IMG_20120707_115735.jpg" width="200" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Globo atravesado por la chincheta con el trozo de plástico</td></tr>
</tbody></table>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: justify;">
Tiramos un poco el globo para que quede mas o menos plana la zona en contacto con el trozo plástico y lo dejamos para que se seque un poco. No estaría de mas usar una pinza de la ropa o algo que pueda mantener bien pegado el conjunto mientras se seca. La punta de la chincheta debe sobresalir por el lado exterior del globo, mientras que el plástico y la cabeza de la chincheta están en el interior.</div>
<div class="separator" style="clear: both; text-align: justify;">
Ahora tomamos otra tapa, que usaremos para unir el movimiento del diafragma con las bielas, y aproximadamente a 5 milímetros desde la parte superior (el lado de la rosca y no el del fondo) atravesamos un lateral de la tapa con otra chincheta, para luego repetir simétricamente en la otra pared de la tapa:</div>
<div style="text-align: justify;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://3.bp.blogspot.com/-AIP9tVAwlXY/T_gY8Gt8RRI/AAAAAAAAGAQ/h2AITZuvTOw/s1600/IMG_20120707_113516.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="240" src="http://3.bp.blogspot.com/-AIP9tVAwlXY/T_gY8Gt8RRI/AAAAAAAAGAQ/h2AITZuvTOw/s320/IMG_20120707_113516.jpg" width="320" /></a></div>
<div style="text-align: justify;">
Una vez este bien agujereada la tapa, retiramos las chinchetas y cogemos un clip fino, que hayamos estirado con unos alicates y lo hacemos pasar por ambos agujeros, de forma que quede atravesando la tapa:</div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<table cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="http://1.bp.blogspot.com/-1EodjIbmXgY/T_gZRqRITiI/AAAAAAAAGCc/85LkIlgwrrU/s1600/IMG_20120707_113944.jpg" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="101" src="http://1.bp.blogspot.com/-1EodjIbmXgY/T_gZRqRITiI/AAAAAAAAGCc/85LkIlgwrrU/s320/IMG_20120707_113944.jpg" width="320" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">La mitad del alambre por cada lado</td></tr>
</tbody></table>
<div style="text-align: justify;">
<br /></div>
<div class="separator" style="clear: both; text-align: justify;">
Asegurándonos que aproximadamente el clip sobresale en partes iguales por ambos lados de la tapa lo doblamos hacia arriba (en dirección hacia la rosca de la tapa si la tuviera):</div>
<table cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="http://4.bp.blogspot.com/-uYrNUnEc6xQ/T_gaH2Q6z2I/AAAAAAAAGBM/uaRWSPKqK8g/s1600/IMG_20120707_115910.jpg" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="240" src="http://4.bp.blogspot.com/-uYrNUnEc6xQ/T_gaH2Q6z2I/AAAAAAAAGBM/uaRWSPKqK8g/s320/IMG_20120707_115910.jpg" width="320" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">doblamos en la dirección de la rosca de la tapa</td></tr>
</tbody></table>
<table cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><div style="text-align: left;">
Finalmente lijamos un poco la tapa por el exterior y con el globo atravesado por la chincheta, atravesamos la tapa desde el exterior aproximadamente por el centro, aplicamos un poco de pegamento ciano a la cara de la tapa por la que le pasamos la chincheta y la pegamos a la zona firmemente, donde esta el plástico redondeado por la otra cara del globo:</div>
<a href="http://3.bp.blogspot.com/-gyM-23Ig3ZU/T_gaeB5u-jI/AAAAAAAAGBc/E0Bk_EJUmCo/s1600/IMG_20120707_120110.jpg" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="320" src="http://3.bp.blogspot.com/-gyM-23Ig3ZU/T_gaeB5u-jI/AAAAAAAAGBc/E0Bk_EJUmCo/s320/IMG_20120707_120110.jpg" width="240" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Diafragma terminado</td></tr>
</tbody></table>
<div style="text-align: justify;">
Nuevamente lo dejamos secar. Mas adelante retomaremos esta pieza que ya es el diafragma, para hacer pasar el hilo de nailon que unirá el desplazador con el cigüeñal.</div>
<div style="text-align: justify;">
<br /></div>
<h2 style="text-align: justify;">
Destrozando las regletas</h2>
<div>
<div style="text-align: justify;">
Tanto como elemento de sujeción como elemento mecánico de giro, necesitaremos varias piezas metálicas que vienen dentro de las regletas, aproximadamente unas 6 piezas. Para ello tomamos la regleta y cortamos un lateral muy cuidadosamente con un cuter para luego extraer la pieza metálica:</div>
<table cellpadding="0" cellspacing="0" class="tr-caption-container" style="float: left; margin-right: 1em; text-align: center;"><tbody>
<tr><td style="text-align: center;"><img border="0" height="128" src="http://2.bp.blogspot.com/-m-Q6ja8FIz0/T_okMVGBXSI/AAAAAAAAGKM/Td5ipEvGdKA/s200/IMG-20120708-WA0007.jpg" style="margin-left: auto; margin-right: auto;" width="200" /></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Cortamos cuidadosamente el lateral</td></tr>
</tbody></table>
<table cellpadding="0" cellspacing="0" class="tr-caption-container" style="float: right; margin-left: 1em; text-align: justify;"><tbody>
<tr><td style="text-align: center;"><a href="http://1.bp.blogspot.com/-5NVuDff7ndY/T_okKrv6z5I/AAAAAAAAGKI/5GljbRBaaH4/s1600/IMG-20120708-WA0006.jpg" imageanchor="1" style="background-color: white; clear: right; margin-bottom: 1em; margin-left: auto; margin-right: auto;"><img border="0" height="135" src="http://1.bp.blogspot.com/-5NVuDff7ndY/T_okKrv6z5I/AAAAAAAAGKI/5GljbRBaaH4/s200/IMG-20120708-WA0006.jpg" width="200" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Extraemos la pieza metálica entera</td></tr>
</tbody></table>
<div class="separator" style="clear: both; text-align: justify;">
<br /></div>
</div>
<div>
<div style="text-align: left;">
<div style="text-align: justify;">
Necesitaremos al menos 3 para los elementos móviles del cigueñal-biela, para ello tomamos estas piezas y perpendicularmente a la dirección de entrada de uno de los tornillos, lo taladramos de lado a lado con una broca metálica de ...:</div>
</div>
</div>
<div>
<table cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="http://4.bp.blogspot.com/-eGi2mV9Jx6E/T_oj_-ufSvI/AAAAAAAAGKg/KqIcTZx3aAQ/s1600/IMG-20120708-WA0000.jpg" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="150" src="http://4.bp.blogspot.com/-eGi2mV9Jx6E/T_oj_-ufSvI/AAAAAAAAGKg/KqIcTZx3aAQ/s320/IMG-20120708-WA0000.jpg" width="320" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Mucho cuidado</td></tr>
</tbody></table>
</div>
<div>
<div style="text-align: justify;">
Mucho cuidado y tranquilidad, es muy fácil que se nos vaya el taladro y destrocemos la pieza o que los dos lados del agujero no sean simétricos. Cuanto mas alineado mejor, pero no es necesario que estén perfectas.</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
El sentido de hacer los agujeros a las piezas metálicas es poderlas colgar del cigueñal de forma que giren sin problemas, ademas el agujero debe ser suficientemente pequeño como para que al llegar a la dobles del cigueñal esta no tenga espacio para escurrirse fuera:</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://3.bp.blogspot.com/-7hHiydC23w0/T_ozb76e1eI/AAAAAAAAGK4/haJXL4aN2Rs/s1600/IMG_20120709_021859.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="217" src="http://3.bp.blogspot.com/-7hHiydC23w0/T_ozb76e1eI/AAAAAAAAGK4/haJXL4aN2Rs/s320/IMG_20120709_021859.jpg" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: justify;">
<br /></div>
<h2 style="text-align: justify;">
Construyendo el volante de inercia</h2>
<div class="separator" style="clear: both; text-align: justify;">
El volante de inercia es un dispositivo usado para romper los equilibrios del motor y que este no se detenga, es decir almacena una parte de la energía obtenida por el motor en forma de energía cinética y la usa para sacar el motor de algún momento en que se quede estancado, haciendo que el motor continué su ciclo de funcionamiento. El mecanismo finalmente es muy simple, se trata de una rueda con cierto peso y que en algún momento convendrá que este desequilibrada. Lo que se traduce en nuestro caso en tres cds pegados...</div>
<div class="separator" style="clear: both; text-align: justify;">
<br /></div>
<div class="separator" style="clear: both; text-align: justify;">
Tomamos tres cds viejos y los pegamos con pegamento ciano, es conveniente usar algo para que queden bien centrados, tampoco esta de mas colocar algo de peso encima durante un rato para que se mantengan bien pegados:</div>
<div class="separator" style="clear: both; text-align: justify;">
<br /></div>
<table cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="http://1.bp.blogspot.com/-CmSE9Tkx2T4/T_4hVcELmnI/AAAAAAAAGN8/Ox7swqTEMVQ/s1600/IMG_20120712_002435.jpg" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="240" src="http://1.bp.blogspot.com/-CmSE9Tkx2T4/T_4hVcELmnI/AAAAAAAAGN8/Ox7swqTEMVQ/s320/IMG_20120712_002435.jpg" width="320" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Usando el propio bote de los cds para centrarlos.</td></tr>
</tbody></table>
<div class="separator" style="clear: both; text-align: justify;">
La parte mas problemática del mecanismo es unirlos firmemente al eje del cigüeñal de forma que no resbalen y queden mas o menos centrados. Para ello, después de probar de varias formas, la manera que mas me ha gustado es usando la tapa de los botes de ensalada enlatada. Estos traen un pequeño tenedor de plástico trabado en la tapa por dentro, lo que obliga a dejarles un pequeño rabo justo en la parte interior de la tapa:</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://1.bp.blogspot.com/-zqjKaQ-5k-8/T_4kDbG7dQI/AAAAAAAAGP0/pRSbFhg4RCw/s1600/IMG_20120711_204813.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="240" src="http://1.bp.blogspot.com/-zqjKaQ-5k-8/T_4kDbG7dQI/AAAAAAAAGP0/pRSbFhg4RCw/s320/IMG_20120711_204813.jpg" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: justify;">
<br /></div>
<div class="separator" style="clear: both; text-align: justify;">
Usaremos este rabo, junto con una pieza metálica como elemento de unión y centrado con el eje, para ello recortamos un poco los bordes del rabo, hasta que entren dentro de la pieza metálica y la encajamos bien, convienen ponerle un poco de pegamento ciano:</div>
<table cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="http://1.bp.blogspot.com/-YVPOIfWgVtU/T_4hhgeLF4I/AAAAAAAAGOE/VMXgpQk5SHM/s1600/IMG_20120712_003011.jpg" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="320" src="http://1.bp.blogspot.com/-YVPOIfWgVtU/T_4hhgeLF4I/AAAAAAAAGOE/VMXgpQk5SHM/s320/IMG_20120712_003011.jpg" width="240" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Es posible añadir algo de pegamento para mantener bien firme el conjunto.</td></tr>
</tbody></table>
<div class="separator" style="clear: both; text-align: justify;">
<br /></div>
<div class="separator" style="clear: both; text-align: justify;">
Ahora, usando un trozo de alambre fino, aguja o cualquier otro elemento fino y punzante atravesamos el centro por el frontal de la tapa hasta que sobresalga por la pieza metálica, ahora agrandamos un poco ese agujero, atravesamos con un tornillo suelto de las piezas metálicas, al final nos sobraran un montón de ellos. Finalmente apretamos el tornillo mas cercano a la tapa, en la pieza metálica, de forma que atrape el que atraviesa la tapa y deje firmemente anclada la pieza metálica a la tapa.</div>
<div class="separator" style="clear: both; text-align: justify;">
<br /></div>
<div class="separator" style="clear: both; text-align: justify;">
Una vez estén secos los cds y terminada la tapa, por el lado contrario a la pieza metálica aplicamos pegamento y prestando mucha atención a que queden bien centrados los pegamos a la tapa. Podemos usar como referencia la cabeza del tornillo. El aspecto final del volante es el siguiente:</div>
<div class="separator" style="clear: both; text-align: justify;">
<br /></div>
<table cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="http://3.bp.blogspot.com/-C2DCekRfKeo/T_4hw_Hs3pI/AAAAAAAAGOM/Mrs7ZuPCVFM/s1600/IMG_20120712_003707.jpg" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="320" src="http://3.bp.blogspot.com/-C2DCekRfKeo/T_4hw_Hs3pI/AAAAAAAAGOM/Mrs7ZuPCVFM/s320/IMG_20120712_003707.jpg" width="240" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Volante ya montado en el motor final.</td></tr>
</tbody></table>
<div class="separator" style="clear: both; text-align: justify;">
Finalmente decir que aunque el volante de inercia parece una chorrada, lo cierto es que si no esta bien puede dar bastantes problemas, si resbala en el eje, el motor no funciona, si no tiene suficiente peso, el motor no funciona, si no tiene algo de desequilibrio puede que el motor se pare, si tiene demasiado desequilibrio el motor vibrara como una lavadora vieja... Vamos que para ser tres cds pegados es bastante importante.</div>
<h2>
Posts relacionados:</h2>
<h3>
<ul>
<li><a href="http://laantiguafragua.blogspot.com.es/2012/07/mi-primer-stirling.html">Mi primer stirling</a></li>
<li><a href="http://laantiguafragua.blogspot.com.es/2012/07/pasos-para-construir-un-stirling-en_21.html">Pasos para construir un stirling en lata (II)</a></li>
</ul>
</h3>
<div class="separator" style="clear: both; text-align: center;">
</div>
<h2 style="text-align: left;">
</h2>
</div>
</div>
</div>
Lhrodhttp://www.blogger.com/profile/00250667544237961052noreply@blogger.com10tag:blogger.com,1999:blog-4292576568935228595.post-46490417467831905692012-07-03T07:30:00.000+01:002012-07-21T22:29:10.657+01:00Mi primer stirling<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="http://upload.wikimedia.org/wikipedia/commons/thumb/8/88/Robert_Stirling.jpg/220px-Robert_Stirling.jpg" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" src="http://upload.wikimedia.org/wikipedia/commons/thumb/8/88/Robert_Stirling.jpg/220px-Robert_Stirling.jpg" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Robert Stirling</td></tr>
</tbody></table>
<div style="text-align: justify;">
<a href="http://en.wikipedia.org/wiki/Robert_Stirling" target="_blank">Robert</a>, recién levantado pensó.-<i> Ummm alguien debería inventar un motor que aproxime su rendimiento al optimo de <a href="http://es.wikipedia.org/wiki/M%C3%A1quina_de_Carnot" target="_blank">la maquina ideal de Carnot</a>.- </i>Claro, Stirling no recordaba en ese momento que aun faltaban unos cuatro años para que <a href="http://es.wikipedia.org/wiki/Nicolas_L%C3%A9onard_Sadi_Carnot" target="_blank">Carnot</a> formulase su maquina y su teoría. Pero eso no le importaba demasiado a Stirling así que se puso a inventar su <a href="http://es.wikipedia.org/wiki/Motor_Stirling" target="_blank">motor</a>.</div>
<div>
<div style="text-align: justify;">
<br /></div>
</div>
<div>
<div style="text-align: justify;">
Su invento se olvido durante siglos aunque a veces volvía para alguna aplicación concreta:</div>
</div>
<div>
<div style="text-align: justify;">
<br /></div>
</div>
<div>
<div style="text-align: justify;">
<a href="http://es.wikipedia.org/wiki/Clase_Gotland" target="_blank">http://es.wikipedia.org/wiki/Clase_Gotland</a></div>
</div>
<div>
<div style="text-align: justify;">
<a href="http://www.infiniacorp.com/powerdish.html" target="_blank">http://www.infiniacorp.com/powerdish.html</a></div>
</div>
<div>
<div style="text-align: justify;">
<a href="http://www.stirling.nl/" target="_blank">http://www.stirling.nl/</a></div>
<div style="text-align: justify;">
<a href="http://www.engin.swarthmore.edu/academics/courses/e90/2005_6/E90Proposal/FK_AO.pdf" target="_blank">http://www.engin.swarthmore.edu/academics/courses/e90/2005_6/E90Proposal/FK_AO.pdf</a></div>
</div>
<div>
<div style="text-align: justify;">
<br /></div>
</div>
<div>
<div style="text-align: justify;">
Siglos después un montón de gente aficionada a la fabricación casera, van y se ponen a fabricar estos motores por diversión... Yo entre ellos. Así que siguiendo, aproximadamente, este tutorial:</div>
</div>
<div>
<div style="text-align: justify;">
<br /></div>
</div>
<div>
<div style="text-align: justify;">
<a href="http://www.instructables.com/id/Build-a-Coke-Can-Stirling-Engine/" target="_blank">http://www.instructables.com/id/Build-a-Coke-Can-Stirling-Engine/</a></div>
</div>
<div>
<div style="text-align: justify;">
<br /></div>
</div>
<div>
<div style="text-align: justify;">
Me puse manos a la obra y fabrique mis primeros stirling:</div>
</div>
<div>
<div style="text-align: justify;">
<div class="separator" style="clear: both; text-align: center;">
<iframe allowfullscreen='allowfullscreen' webkitallowfullscreen='webkitallowfullscreen' mozallowfullscreen='mozallowfullscreen' width='320' height='266' src='https://www.blogger.com/video.g?token=AD6v5dxUjaS0UxhdwZz0Q6SHeXXCu0LDi2xkwmjexQkSCStIG0P5_99lKnSDsTJ6TuWZEEaQ_tfSI5Lm0fkXD3n7Dg' class='b-hbp-video b-uploaded' frameborder='0'></iframe></div>
</div>
</div>
<div>
<div style="text-align: justify;">
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<iframe allowfullscreen='allowfullscreen' webkitallowfullscreen='webkitallowfullscreen' mozallowfullscreen='mozallowfullscreen' width='320' height='266' src='https://www.blogger.com/video.g?token=AD6v5dynV2bFTRfDqc461SGPgRb3UzDwEpn-eraWtjktJOMoF8sLMtslN2-j5LndhOKN0fXEM6rpEw9af3WXP_Su6Q' class='b-hbp-video b-uploaded' frameborder='0'></iframe></div>
<div style="text-align: center;">
<br /></div>
<div style="text-align: center;">
</div>
<div style="text-align: center;">
<br /></div>
No son gran cosa, pero es una buena forma de aprender los fundamentos de este motor con tantísimo potencial. Me pregunto, si alguien con tan pocas habilidades ingenieriles y tan pocas herramientas puede construir un motor stirling con latas de refresco ¿que podría hacer alguien mas cualificado con mejores herramientas?</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
Mi idea es documentar los pasos, con fotos, de la construcción. Aunque existen muchas fuentes similares... Me gusta hacer las cosas yo mismo y en mi mismo idioma :P<br />
<br /></div>
<div style="text-align: justify;">
<ol style="text-align: -webkit-auto;">
</ol>
</div>
<div style="text-align: justify;">
Los motores stirling pueden dividirse fundamentalmente en cuatro tipos, según la disposición de sus cilindros:</div>
<ol>
<li style="text-align: justify;">Alfa: Dos cilindros separados de frío - calor</li>
<li style="text-align: justify;">Beta: Un solo cilindro con el pistón y el desplazador dentro</li>
<li style="text-align: justify;">Gamma: Una mezcla entre los tipo alfa y beta.</li>
<li style="text-align: justify;">Otros: Modificaciones de los anteriores.</li>
</ol>
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="float: left; margin-right: 1em; text-align: left;"><tbody>
<tr><td style="text-align: center;"><a href="http://upload.wikimedia.org/wikipedia/commons/c/cc/Alpha_Stirling.gif" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="183" src="http://upload.wikimedia.org/wikipedia/commons/c/cc/Alpha_Stirling.gif" width="200" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Alfa: Dos cilindros de temperatura diferente</td></tr>
</tbody></table>
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: right;"><tbody>
<tr><td style="text-align: center;"><a href="http://upload.wikimedia.org/wikipedia/commons/thumb/4/4e/Stirling_Animation.gif/128px-Stirling_Animation.gif" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="200" src="http://upload.wikimedia.org/wikipedia/commons/thumb/4/4e/Stirling_Animation.gif/128px-Stirling_Animation.gif" width="100" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Beta: Un solo cilindro donde el desplazador separa la zona fría de la caliente.</td></tr>
</tbody></table>
<div style="text-align: justify;">
Un subtipo de motor especialmente reseñable es el stirling de pistón libre, en el cual, el pistón como el desplazador se mueven libremente. Usados principalmente para generadores eléctricos, bombas de agua o compresores de agua. Apenas requieren mantenimiento por lo que algunos han funcionado de forma continuada sin mantenimiento durante años.<br />
<br />
Y por supuesto la joya de la corona de los stirling, el motor termo-acústico o de flujo laminar, este funciona usando una onda de sonido como desplazador entre la zona caliente y la fría. Vamos un motor fascinante y difícil de entender, pero con muy pocas piezas y muy buen rendimiento:<br />
<span style="background-color: white;"><br /></span><br />
<div class="separator" style="clear: both; text-align: center;">
<iframe allowfullscreen='allowfullscreen' webkitallowfullscreen='webkitallowfullscreen' mozallowfullscreen='mozallowfullscreen' width='320' height='266' src='https://www.youtube.com/embed/Wbfc7n5qGIM?feature=player_embedded' frameborder='0'></iframe></div>
<span style="background-color: white;"><br /></span><br />
<h2>
Post relacionados</h2>
<div>
<a href="http://laantiguafragua.blogspot.com.es/2012/07/pasos-para-construir-un-stirling-en.html">Pasos para construir un stirling en lata (I)</a><br />
<a href="http://laantiguafragua.blogspot.com.es/2012/07/pasos-para-construir-un-stirling-en_21.html">Pasos para construir un stirling en lata (II)</a></div>
</div>
</div>Lhrodhttp://www.blogger.com/profile/00250667544237961052noreply@blogger.com0tag:blogger.com,1999:blog-4292576568935228595.post-23571738177391639672012-02-19T01:46:00.001+00:002012-02-21T23:56:03.129+00:00Matilde MiniOs presento a Matilde-Mini:<br />
<br />
La antigua <a href="http://laantiguafragua.blogspot.com/2011/09/matilbot.html">Matilbot</a> funcionaba bastante bien, aunque nunca la termine del todo. Sin embargo tenia un par de espinitas, la primera era que usaba un arduino entero y un driver para motores comprado. Yo quería algo mas barato, artesanal, rustico, de andar por casa vaya... Así que me puse manos al soldador y hice aproximadamente esto:<br />
<div>
<br /></div>
<div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://2.bp.blogspot.com/-fVpCtU7tklw/T0BMhYV4hEI/AAAAAAAAFGk/VHW5tPD5cjU/s1600/IMG001.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="192" src="http://2.bp.blogspot.com/-fVpCtU7tklw/T0BMhYV4hEI/AAAAAAAAFGk/VHW5tPD5cjU/s320/IMG001.jpg" width="320" /></a></div>
<br />
Pude sustituir toda la tarjeta de arduino por su microcontrolador, un regulador de tensión y un cristal. Al mismo tiempo cambie el driver de motor basado L298 por un L293NE.<br />
<br />
Recorte la estructura de Meccano, le quite los bumpers frontales, los infrarrojos bajeros y los módulos de radiofrecuencia, sin embargo le puse unos ultrasonidos, quedando tal que así:<br />
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="http://1.bp.blogspot.com/-so6rKZo0Mk8/T0BOy9toiMI/AAAAAAAAFGs/lgLwFp85zMc/s1600/Matilde-Sup.jpg" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="294" src="http://1.bp.blogspot.com/-so6rKZo0Mk8/T0BOy9toiMI/AAAAAAAAFGs/lgLwFp85zMc/s320/Matilde-Sup.jpg" width="320" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Vista superior</td></tr>
</tbody></table>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="http://2.bp.blogspot.com/-sCi_rrq8Xn0/T0BO765c6yI/AAAAAAAAFG0/AjZu5WYfioc/s1600/Matilde-Front.jpg" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="240" src="http://2.bp.blogspot.com/-sCi_rrq8Xn0/T0BO765c6yI/AAAAAAAAFG0/AjZu5WYfioc/s320/Matilde-Front.jpg" width="320" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Vista frontal</td></tr>
</tbody></table>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="" style="clear: both; text-align: center;">
<div style="text-align: left;">
Le quite todas las pilas lipo y cargadores por usb, dejando solo una pila 9v para la lógica, pila recargable muy mala que se agota enseguida. Y cuatro pilas AA recargables también:</div>
</div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div style="text-align: center;">
<a href="http://3.bp.blogspot.com/-YzyOEd5fxCY/T0BPkrGT_yI/AAAAAAAAFG8/itnzeA6x8Qo/s1600/Matilde-trips.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="240" src="http://3.bp.blogspot.com/-YzyOEd5fxCY/T0BPkrGT_yI/AAAAAAAAFG8/itnzeA6x8Qo/s320/Matilde-trips.jpg" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Esta vez la idea era simplificar incluso la programación así que le implemente un algoritmo mas simple: al detectar un obstáculo gira y busca el espacio suficiente para continuar avanzando, este es el programa que tiene a día de hoy:</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
</div>
<div class="separator" style="clear: both;">
<i><b>#define PIN11 9</b></i></div>
<div class="separator" style="clear: both;">
<i><b>#define PIN12 10</b></i></div>
<div class="separator" style="clear: both;">
<i><b>#define PIN21 5</b></i></div>
<div class="separator" style="clear: both;">
<i><b>#define PIN22 11</b></i></div>
<div class="separator" style="clear: both;">
<i><b>#define PIN_ULTRAS 13</b></i></div>
<div class="separator" style="clear: both;">
<i><b><br /></b></i></div>
<div class="separator" style="clear: both;">
<i><b>#define RETRAZO 20</b></i></div>
<div class="separator" style="clear: both;">
<i><b>#define INICIO 30</b></i></div>
<div class="separator" style="clear: both;">
<i><b><br /></b></i></div>
<div class="separator" style="clear: both;">
<i><b>#define DISTANCE 30</b></i></div>
<div class="separator" style="clear: both;">
<i><b><br /></b></i></div>
<div class="separator" style="clear: both;">
<i><b>#define MAX_SPEED 255</b></i></div>
<div class="separator" style="clear: both;">
<i><b>#define MEDIUM_SPEED 180</b></i></div>
<div class="separator" style="clear: both;">
<i><b><br /></b></i></div>
<div class="separator" style="clear: both;">
<i><b>#define MICROS2CTM(a) a / 29 / 2</b></i></div>
<div class="separator" style="clear: both;">
<i><b><br /></b></i></div>
<div class="separator" style="clear: both;">
<i><b>#define MOTOR_RIGHT motor(PIN11, PIN12, speedRight)</b></i></div>
<div class="separator" style="clear: both;">
<i><b>#define MOTOR_LEFT motor(PIN22, PIN21, speedLeft)</b></i></div>
<div class="separator" style="clear: both;">
<i><b>#define MOTOR_RIGHT_BACK motor(PIN12, PIN11, speedRight)</b></i></div>
<div class="separator" style="clear: both;">
<i><b>#define MOTOR_LEFT_BACK motor(PIN21, PIN22, speedLeft)</b></i></div>
<div class="separator" style="clear: both;">
<i><b><br /></b></i></div>
<div class="separator" style="clear: both;">
<i><b>#define STOP_MOTOR(a, b, c) a = 0;digitalWrite(b, LOW);digitalWrite(c, LOW)</b></i></div>
<div class="separator" style="clear: both;">
<i><b><br /></b></i></div>
<div class="separator" style="clear: both;">
<i><b>void setup()</b></i></div>
<div class="separator" style="clear: both;">
<i><b>{</b></i></div>
<div class="separator" style="clear: both;">
<i><b> pinMode(PIN11, OUTPUT);</b></i></div>
<div class="separator" style="clear: both;">
<i><b> pinMode(PIN12, OUTPUT);</b></i></div>
<div class="separator" style="clear: both;">
<i><b> pinMode(PIN21, OUTPUT);</b></i></div>
<div class="separator" style="clear: both;">
<i><b> pinMode(PIN22, OUTPUT);</b></i></div>
<div class="separator" style="clear: both;">
<i><b><br /></b></i></div>
<div class="separator" style="clear: both;">
<i><b> digitalWrite(PIN11, LOW);</b></i></div>
<div class="separator" style="clear: both;">
<i><b> digitalWrite(PIN12, LOW);</b></i></div>
<div class="separator" style="clear: both;">
<i><b> digitalWrite(PIN21, LOW);</b></i></div>
<div class="separator" style="clear: both;">
<i><b> digitalWrite(PIN22, LOW);</b></i></div>
<div class="separator" style="clear: both;">
<i><b> </b></i></div>
<div class="separator" style="clear: both;">
<i><b> delay(2000);</b></i></div>
<div class="separator" style="clear: both;">
<i><b>}</b></i></div>
<div class="separator" style="clear: both;">
<i><b><br /></b></i></div>
<div class="separator" style="clear: both;">
<i><b>int speedLeft = MAX_SPEED;</b></i></div>
<div class="separator" style="clear: both;">
<i><b>int speedRight = MAX_SPEED;</b></i></div>
<div class="separator" style="clear: both;">
<i><b><br /></b></i></div>
<div class="separator" style="clear: both;">
<i><b>void loop() {</b></i></div>
<div class="separator" style="clear: both;">
<i><b><br /></b></i></div>
<div class="separator" style="clear: both;">
<i><b> if (MICROS2CTM(distanceInTime()) &lt; DISTANCE)</b></i></div>
<div class="separator" style="clear: both;">
<i><b> {</b></i></div>
<div class="separator" style="clear: both;">
<i><b> speedLeft = MAX_SPEED;</b></i></div>
<div class="separator" style="clear: both;">
<i><b> MOTOR_LEFT;</b></i></div>
<div class="separator" style="clear: both;">
<i><b> speedRight = MAX_SPEED;</b></i></div>
<div class="separator" style="clear: both;">
<i><b> MOTOR_RIGHT_BACK;</b></i></div>
<div class="separator" style="clear: both;">
<i><b><br /></b></i></div>
<div class="separator" style="clear: both;">
<i><b> while (MICROS2CTM(distanceInTime()) &lt;= DISTANCE)</b></i></div>
<div class="separator" style="clear: both;">
<i><b> delay(50);</b></i></div>
<div class="separator" style="clear: both;">
<i><b> }</b></i></div>
<div class="separator" style="clear: both;">
<i><b><br /></b></i></div>
<div class="separator" style="clear: both;">
<i><b> speedRight = MAX_SPEED;</b></i></div>
<div class="separator" style="clear: both;">
<i><b> speedLeft = MAX_SPEED;</b></i></div>
<div class="separator" style="clear: both;">
<i><b><br /></b></i></div>
<div class="separator" style="clear: both;">
<i><b> MOTOR_RIGHT;</b></i></div>
<div class="separator" style="clear: both;">
<i><b> MOTOR_LEFT;</b></i></div>
<div class="separator" style="clear: both;">
<i><b><br /></b></i></div>
<div class="separator" style="clear: both;">
<i><b> while (MICROS2CTM(distanceInTime()) &gt; (DISTANCE + 10))</b></i></div>
<div class="separator" style="clear: both;">
<i><b> delay(50);</b></i></div>
<div class="separator" style="clear: both;">
<i><b>}</b></i></div>
<div class="separator" style="clear: both;">
<i><b><br /></b></i></div>
<div class="separator" style="clear: both;">
<i><b>void motor(int pinA, int pinB, int speedM)</b></i></div>
<div class="separator" style="clear: both;">
<i><b>{</b></i></div>
<div class="separator" style="clear: both;">
<i><b> digitalWrite(pinB, LOW);</b></i></div>
<div class="separator" style="clear: both;">
<i><b> analogWrite(pinA, speedM);</b></i></div>
<div class="separator" style="clear: both;">
<i><b>}</b></i></div>
<div class="separator" style="clear: both;">
<i><b><br /></b></i></div>
<div class="separator" style="clear: both;">
<i><b>long distanceInTime()</b></i></div>
<div class="separator" style="clear: both;">
<i><b>{</b></i></div>
<div class="separator" style="clear: both;">
<i><b> pinMode(PIN_ULTRAS, OUTPUT);</b></i></div>
<div class="separator" style="clear: both;">
<i><b> digitalWrite(PIN_ULTRAS, LOW);</b></i></div>
<div class="separator" style="clear: both;">
<i><b> delayMicroseconds(2);</b></i></div>
<div class="separator" style="clear: both;">
<i><b> digitalWrite(PIN_ULTRAS, HIGH);</b></i></div>
<div class="separator" style="clear: both;">
<i><b> delayMicroseconds(5);</b></i></div>
<div class="separator" style="clear: both;">
<i><b> digitalWrite(PIN_ULTRAS, LOW);</b></i></div>
<div class="separator" style="clear: both;">
<i><b><br /></b></i></div>
<div class="separator" style="clear: both;">
<i><b> pinMode(PIN_ULTRAS, INPUT);</b></i></div>
<div class="separator" style="clear: both;">
<i><b> return pulseIn(PIN_ULTRAS, HIGH);</b></i></div>
<div class="separator" style="clear: both;">
<i><b>}</b></i></div>
<br />
<br />
Un programa muy simple en que solamente avanza hasta que detecta un objeto a menos de 30ctms, momento en que invierte el movimiento de la rueda derecha hasta que encuentra espacio mayor de 30ctms tras lo cual vuelve a moverse hacia adelante y repite el ciclo.<br />
<br />
<span style="font-size: large;">Observaciones y resultados:</span><br />
Funciona... Pero...<br />
<ul>
<li>La pila de 9v no aguanta dos asaltos y en cuanto empieza a decaer se queda colgado.</li>
<li>No parece detectar muy bien los obstáculos cuando va poco frontal y tropieza con superficies oblicuas.</li>
<li>Precisamente por lo anterior se queda trabado con las ruedas en las esquinas, quizás podría mejorarse sustituyendo las ruedas por otras mas finas que hicieran desplazarse ante los choques en lugar de quedar trabado.</li>
<li>Parece que el hecho de que el L293 solo pueda conducir 1A por canal y el de solo tener 5V para los motores hace que sea bastante lento :P, quizás poniendo mas pilas en serie y/o cambiando el puente en h(L293) por un L298 mejore esta lentitud. Pero el L298 es mas complejo y caro...</li>
</ul>
<div>
En fin que me hace falta mas tiempo libre para hacer mas guarrerías de estas...</div>
<br />
<br /></div>Lhrodhttp://www.blogger.com/profile/00250667544237961052noreply@blogger.com0tag:blogger.com,1999:blog-4292576568935228595.post-1830020653897455832011-09-15T00:33:00.000+01:002011-09-15T08:54:19.691+01:00Matilbot<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="http://1.bp.blogspot.com/-KoX5ZXGC-qs/TnE3eOcfppI/AAAAAAAAFD8/WrOCOSNsovs/s1600/superior+encendida+conectada.jpg" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="186" src="http://1.bp.blogspot.com/-KoX5ZXGC-qs/TnE3eOcfppI/AAAAAAAAFD8/WrOCOSNsovs/s320/superior+encendida+conectada.jpg" width="320" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Superior encendido y conectado por usb</td></tr>
</tbody></table>
<br />
El objetivo es conseguir un carrito seguidor de lineas, aunque a medida que realizaba el proyecto se vio claro que podría hacer una especie de explorador aleatorio.<br />
<br />
Los componentes de Matilbot son:<br />
<br />
<ul>
<li>Meccano, para la estructura básica.</li>
<li><a href="http://arduino.cc/es/">Arduino</a> para la lógica y control.</li>
<li><a href="http://www.bricogeek.com/shop/motores/285-controlador-de-motores-doble-puente-h-l298.html">Doble puente en H para el driver de motor.</a></li>
<li><a href="http://www.youtube.com/watch?v=18NWNuaDx4g">Dos servo-motores futaba S3003 trucados.</a></li>
<li><a href="http://pictures.todocoleccion.net/tc/2011/07/18/27926325.jpg">Ruedas meccano.</a></li>
<li>Dos integrados <a href="http://es.farnell.com/jsp/displayProduct.jsp?sku=1470063&CMP=KNC-GES-FES-GEN-SKU-G12&s_kwcid=TC|14560|cny70||S|b|8395466349">CNY70</a>.</li>
<li>Dos fines de carrera, ampliados con pinzas del pelo y unas <a href="http://imagenes.solostocks.com/z1_4091784/pajitas-personalizadas.jpg">pajitas</a>.</li>
<li>Tres pilas AAA para alimentar motores y una pila de 9v para alimentar la lógica.</li>
<li><a href="http://es.wikipedia.org/wiki/Circuito_impreso">Placa de pertinax perforada</a>, <a href="http://engelsecurity.com/wp-content/uploads/LAN-Cable-UTP-CAT5-1965620180.jpg">cables</a>, conectores, un <a href="http://www.bricogeek.com/shop/componentes/402-interruptor-2a.html">interruptor doble</a>, <a href="http://s2.subirimagenes.com/privadas/previo/thump_1266184con1lhem3.jpg">espadines</a>, resistencias y material eléctrico/electrónico general.</li>
</ul>
<br />
Algunas fotos:<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="http://4.bp.blogspot.com/-rewwhtuhcKM/TnE43oVvE9I/AAAAAAAAFEQ/TcGYSd66sNM/s1600/IMG085.jpg" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="192" src="http://4.bp.blogspot.com/-rewwhtuhcKM/TnE43oVvE9I/AAAAAAAAFEQ/TcGYSd66sNM/s320/IMG085.jpg" width="320" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Motores futaba s3003, ruedas, fines de linea, infrarrojos, vista inferior</td></tr>
</tbody></table>
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="http://3.bp.blogspot.com/-FzYV-mPIReM/TnE3td6tAnI/AAAAAAAAFEE/aS8D3_-k4-0/s1600/estructura+lateral.jpg" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" src="http://3.bp.blogspot.com/-FzYV-mPIReM/TnE3td6tAnI/AAAAAAAAFEE/aS8D3_-k4-0/s1600/estructura+lateral.jpg" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Estructura, vista lateral</td></tr>
</tbody></table>
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="http://4.bp.blogspot.com/-wLM2Q9EAKD8/TnE3pkkRavI/AAAAAAAAFEA/nWhq7dtsbB8/s1600/estructura+superior.jpg" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="198" src="http://4.bp.blogspot.com/-wLM2Q9EAKD8/TnE3pkkRavI/AAAAAAAAFEA/nWhq7dtsbB8/s320/estructura+superior.jpg" width="320" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Estructura superior</td></tr>
</tbody></table>
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="http://1.bp.blogspot.com/-Qn7CwK-av6A/TnE4MRrfV_I/AAAAAAAAFEI/dMOPdzJ-QL0/s1600/logica+superior.jpg" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="192" src="http://1.bp.blogspot.com/-Qn7CwK-av6A/TnE4MRrfV_I/AAAAAAAAFEI/dMOPdzJ-QL0/s320/logica+superior.jpg" width="320" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Logica y driver de motores, vista superior</td></tr>
</tbody></table>
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="http://1.bp.blogspot.com/-7VFWstiDTHA/TnE4TJPwntI/AAAAAAAAFEM/Qi5n0FNsC68/s1600/logica+trasera.jpg" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" src="http://1.bp.blogspot.com/-7VFWstiDTHA/TnE4TJPwntI/AAAAAAAAFEM/Qi5n0FNsC68/s1600/logica+trasera.jpg" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Lógica y driver de motores vista trasera</td></tr>
</tbody></table>
<div>
Próximamente algo de código...<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
</div>
Lhrodhttp://www.blogger.com/profile/00250667544237961052noreply@blogger.com0tag:blogger.com,1999:blog-4292576568935228595.post-5819924397187504142011-09-14T19:01:00.000+01:002011-09-14T19:01:06.725+01:00ArduinoDesde hace un tiempo vengo trasteando con <a href="http://arduino.cc/es/">Arduino</a> gracias a unos talleres en la <a href="http://www.tenerife-lanparty.com/">Tenerife Lan Party</a> que me a abierto las puertas a un nuevo mundo :P, así que estoy planeando una serie de proyecto para ir aprendiendo. Pronto publicare un post sobre un carrito robot, que estoy haciendo con fotos y probablemente algo de código...Lhrodhttp://www.blogger.com/profile/00250667544237961052noreply@blogger.com1tag:blogger.com,1999:blog-4292576568935228595.post-5153238025544136352010-05-26T17:44:00.010+01:002012-04-25T11:59:09.592+01:00Encuesta sobre SindarinQuieres ayudar a desarrollar el Sindarin puedes empezar respondiendo a la siguiente encuesta:<br />
<br />
<a href="https://spreadsheets.google.com/viewform?hl=es&formkey=dGZEU256Q29BdXcxSXRhR0ptSXd1d3c6MQ#gid=0" target="blank">https://spreadsheets.google.com/viewform?hl=es&formkey=dGZEU256Q29BdXcxSXRhR0ptSXd1d3c6MQ#gid=0</a><br />
<br />
<u><span style="color: red;">Esta encuesta es muy antigua, así que la cierro.</span></u>Lhrodhttp://www.blogger.com/profile/00250667544237961052noreply@blogger.com0tag:blogger.com,1999:blog-4292576568935228595.post-45169071936941808442010-05-17T13:23:00.003+01:002010-05-19T13:42:28.608+01:00Galactic Empire: Se busca colaboración<h1 style="text-align: center;"><a href="http://www.blogger.com/post-edit.g?blogID=4292576568935228595&postID=4516907193694180844" id="Galactic_Empire_34111247491091_11394934542477131" name="Galactic_Empire_34111247491091_11394934542477131"></a>Galactic Empire</h1><div>Este documento esta en desarrollo, no es definitivo pero si orientativo, aun quedan muchas cosas por definir.</div><br />
<div class="writely-toc" id="WritelyTableOfContents" toctype="none+none"><ol class="writely-toc-none"><li><a href="http://www.blogger.com/post-edit.g?blogID=4292576568935228595&postID=4516907193694180844#Galactic_Empire_34111247491091_11394934542477131" target="_self">Galactic Empire</a></li>
<ol class="writely-toc-none writely-toc-subheading" style="margin-left: 0;"><li><a href="http://www.blogger.com/post-edit.g?blogID=4292576568935228595&postID=4516907193694180844#Objetivo_4237790834158659_5615_5536878826096654" target="_self">Objetivo:</a></li>
<li><a href="http://www.blogger.com/post-edit.g?blogID=4292576568935228595&postID=4516907193694180844#Caracter_sticas_16933192871510_4089249800890684" target="_self">Características:</a></li>
<li><a href="http://www.blogger.com/post-edit.g?blogID=4292576568935228595&postID=4516907193694180844#Referencias_03165252599865198__5455057146027684" target="_self">Referencias:</a></li>
<li><a href="http://www.blogger.com/post-edit.g?blogID=4292576568935228595&postID=4516907193694180844#Diagrama_de_organizaci_n_de_la_3405382288619876" target="_self">Diagrama de organización de las comunicaciones de los usuarios:</a></li>
<li><a href="http://www.blogger.com/post-edit.g?blogID=4292576568935228595&postID=4516907193694180844#Diagrama_de_comunicaci_n_para__618924549780786" target="_self">Diagrama de comunicación para los diversos jugadores con el ciclo de ejecución del juego:</a></li>
<li><a href="http://www.blogger.com/post-edit.g?blogID=4292576568935228595&postID=4516907193694180844#Pantallas_necesarias_054576555_6318406546488404" target="_self">Pantallas necesarias:</a></li>
<ol class="writely-toc-none writely-toc-subheading" style="margin-left: 0;"><li><a href="http://www.blogger.com/post-edit.g?blogID=4292576568935228595&postID=4516907193694180844#2_Menu_Punto_de_entrada_donde__6444626236334443" target="_self">2.- Menu: Punto de entrada donde el jugador elige una de la opciones iniciales.</a></li>
<li><a href="http://www.blogger.com/post-edit.g?blogID=4292576568935228595&postID=4516907193694180844#3_Configuraci_n_de_juego_nuevo_39558730833232403" target="_self">3.- Configuración de juego nuevo:</a></li>
<ol class="writely-toc-none writely-toc-subheading" style="margin-left: 0;"><li><a href="http://www.blogger.com/post-edit.g?blogID=4292576568935228595&postID=4516907193694180844#3_1_Configuraci_n_de_galaxia_T_5335354832932353" target="_self">3.1.- Configuración de galaxia: Tamaño, numero de oponentes y dificultad.</a></li>
<li><a href="http://www.blogger.com/post-edit.g?blogID=4292576568935228595&postID=4516907193694180844#3_2_Configuraci_n_de_especie_C_9332048632204533" target="_self">3.2.- Configuración de especie: Configura los diferentes parámetros de la especie.</a></li>
</ol>
<li><a href="http://www.blogger.com/post-edit.g?blogID=4292576568935228595&postID=4516907193694180844#4_Cargar_Salvar_partida_Carga__29669829178601503" target="_self">4.- Cargar/Salvar partida: Carga o salva una partida.</a></li>
<li><a href="http://www.blogger.com/post-edit.g?blogID=4292576568935228595&postID=4516907193694180844#5_Ventanas_de_juego_1632967870_5329724289476871" target="_self">5.- Ventanas de juego:</a></li>
<ol class="writely-toc-none writely-toc-subheading" style="margin-left: 0;"><li><a href="http://www.blogger.com/post-edit.g?blogID=4292576568935228595&postID=4516907193694180844#5_1_Pantalla_principal_mapa_es_30645088758319616" target="_self">5.1.- Pantalla principal, mapa/estrategia/logística:</a></li>
<li><a href="http://www.blogger.com/post-edit.g?blogID=4292576568935228595&postID=4516907193694180844#5_2_Resoluci_n_de_batallas_t_c_3500657668337226" target="_self">5.2.- Resolución de batallas tácticas orbitales:</a></li>
<li><a href="http://www.blogger.com/post-edit.g?blogID=4292576568935228595&postID=4516907193694180844#5_3_Datos_planetarios_23483106_4227511379867792" target="_self">5.3.- Datos planetarios:</a></li>
<li><a href="http://www.blogger.com/post-edit.g?blogID=4292576568935228595&postID=4516907193694180844#5_4_Datos_de_investigaci_n_y_r_8215449247509241" target="_self">5.4.- Datos de investigación y árbol tecnológico:</a></li>
<li><a href="http://www.blogger.com/post-edit.g?blogID=4292576568935228595&postID=4516907193694180844#5_5_Informes_de_log_stica_6539_8321703150868416" target="_self">5.5.- Informes de logística:</a></li>
<li><a href="http://www.blogger.com/post-edit.g?blogID=4292576568935228595&postID=4516907193694180844#5_6_Informes_de_flota_56904631_44883843418210745" target="_self">5.6.- Informes de flota:</a></li>
<li><a href="http://www.blogger.com/post-edit.g?blogID=4292576568935228595&postID=4516907193694180844#5_7_Dise_o_de_flota_2759121246_5865622330456972" target="_self">5.7.- Diseño de flota:</a></li>
<li><a href="http://www.blogger.com/post-edit.g?blogID=4292576568935228595&postID=4516907193694180844#5_8_Balanceo_de_asignaci_n_de__41324543487280607" target="_self">5.8.- Balanceo de asignación de recursos:</a></li>
</ol></ol>
<li><a href="http://www.blogger.com/post-edit.g?blogID=4292576568935228595&postID=4516907193694180844#Pantallas_deseables_9476678902_2622545352205634" target="_self">Pantallas deseables:</a></li>
<li><a href="http://www.blogger.com/post-edit.g?blogID=4292576568935228595&postID=4516907193694180844#Sistema_de_juego_8617990333586_95021918322891" target="_self">Sistema de juego:</a></li>
<ol class="writely-toc-none writely-toc-subheading" style="margin-left: 0;"><li><a href="http://www.blogger.com/post-edit.g?blogID=4292576568935228595&postID=4516907193694180844#Sistema_de_especies_2682677954" target="_self">Sistema de especies:</a></li>
<li><a href="http://www.blogger.com/post-edit.g?blogID=4292576568935228595&postID=4516907193694180844#_rbol_tecnol_gico_366881263442_36840900871902704" target="_self">Árbol tecnológico:</a></li>
<li><a href="http://www.blogger.com/post-edit.g?blogID=4292576568935228595&postID=4516907193694180844#Condiciones_de_victoria_290431_2797323605045676" target="_self">Condiciones de victoria:</a></li>
<li><a href="http://www.blogger.com/post-edit.g?blogID=4292576568935228595&postID=4516907193694180844#Condiciones_de_derrota_6635290_9841264272108674" target="_self">Condiciones de derrota:</a></li>
<li><a href="http://www.blogger.com/post-edit.g?blogID=4292576568935228595&postID=4516907193694180844#Eventos_5449895206838846_3588993540033698" target="_self">Eventos:</a></li>
</ol></ol></ol></div><br />
<h2><a href="http://www.blogger.com/post-edit.g?blogID=4292576568935228595&postID=4516907193694180844" id="Objetivo_4237790834158659_5615_5536878826096654" name="Objetivo_4237790834158659_5615_5536878826096654"></a>Objetivo:</h2><div style="text-align: left;"> Desarrollar un juego de conquista espacial por turnos inspirado en Master of Orion, FreeOrion y Freecol.</div><div style="text-align: left;"><h2><a href="http://www.blogger.com/post-edit.g?blogID=4292576568935228595&postID=4516907193694180844" id="Caracter_sticas_16933192871510_4089249800890684" name="Caracter_sticas_16933192871510_4089249800890684"></a>Características:</h2><ul><li style="text-align: left;">Multiplataforma: A semejanza del FreeCol que posee la capacidad de ejecutarse sin problemas, sin modificar el ejecutable, en sistemas Windows como en sistemas Linux, mediante la maquina virtual de Java</li>
<li style="text-align: left;">Envolvente y coherente: Al igual que el Master of Orion y en cierta medida el FreeCol, las animaciones, ambientación y las interfaces de usuario están caracterizados de manera que el jugador pueda verse inmerso en el rol.</li>
<li style="text-align: left;">Mínimo numero posible de dependencias externas: Para favorecer la multiplataformidad y simplicidad de ejecución/instalación.</li>
<li style="text-align: left;">Estructura de cliente/servidor donde sea posible: Para favorecer tanto la multiplataformidad como una posible implementación de partidas en red o incluso una plataforma centralizada de juegos, donde el cliente pueda estar implementado diferenciadamente en una diversidad de plataformas, como Android.</li>
<li style="text-align: left;">GNU/GPL y colaborativo.</li>
</ul></div><h2><a href="http://www.blogger.com/post-edit.g?blogID=4292576568935228595&postID=4516907193694180844" id="Referencias_03165252599865198__5455057146027684" name="Referencias_03165252599865198__5455057146027684"></a>Referencias:</h2><ul><li>Master of Orion:</li>
<ul><li><a href="http://es.wikipedia.org/wiki/Master_of_Orion">http://es.wikipedia.org/wiki/Master_of_Orion</a></li>
<li><a href="http://worldvillage.com/heritage/wv/gamezone/images/screens/moo2-2.jpg">http://worldvillage.com/heritage/wv/gamezone/images/screens/moo2-2.jpg</a></li>
<li><a href="http://netdna.webdesignerdepot.com/uploads/2008/11/master-of-orion-1993.jpg">http://netdna.webdesignerdepot.com/uploads/2008/11/master-of-orion-1993.jpg</a></li>
<li><a href="http://www.rpgland.com/abandonware/Master_of_Orion/orion_002.jpg">http://www.rpgland.com/abandonware/Master_of_Orion/orion_002.jpg</a></li>
<li><a href="http://www.abandonware-paradise.fr/Gifs/Abandonware/Master_of_orion2_01.png">http://www.abandonware-paradise.fr/Gifs/Abandonware/Master_of_orion2_01.png</a><br />
</li>
</ul>
<li>FreeOrion</li>
<ul><li><a href="http://www.freeorion.org/index.php/Main_Page">http://www.freeorion.org/index.php/Main_Page</a></li>
</ul>
<li>Freecol</li>
<ul><li><a href="http://www.freecol.org/">http://www.freecol.org/</a></li>
</ul></ul><div style="text-align: left;"><br />
</div><h2><a href="http://www.blogger.com/post-edit.g?blogID=4292576568935228595&postID=4516907193694180844" id="Diagrama_de_organizaci_n_de_la_3405382288619876" name="Diagrama_de_organizaci_n_de_la_3405382288619876"></a>Diagrama de organización de las comunicaciones de los usuarios:</h2><div style="text-align: left;"><br />
</div><div style="text-align: center;"><img src="http://docs.google.com/drawings/image?w=400&h=400&ac=1&id=s4yKDKHXcf823emK3lPsWWw&rev=205" /></div><div style="text-align: left;"><br />
</div><h2><a href="http://www.blogger.com/post-edit.g?blogID=4292576568935228595&postID=4516907193694180844" id="Diagrama_de_comunicaci_n_para__618924549780786" name="Diagrama_de_comunicaci_n_para__618924549780786"></a>Diagrama de comunicación para los diversos jugadores con el ciclo de ejecución del juego:</h2><div style="text-align: center;"><img src="http://docs.google.com/drawings/image?w=401&h=401&ac=1&id=sVQnHcoQP6T0fnDvAQibZxw&rev=616" /></div><div style="text-align: center;"><br />
</div><div style="text-align: left;"><span style="font-size: medium;"><b>Pantallas necesarias:</b></span></div><div>Estas pantallas solo son orientativas, su diseño cambiara durante el desarrollo de este documento, incluso añadiendo nuevas o quitando y fusionando otras.</div><br />
<ol><li>Vídeo: Muestra las diversas cinemática del juego.</li>
<li>Menú</li>
<li>Configuración de nuevo juego</li>
<ol><li>Configuración de galaxia</li>
<li>Configuración de raza</li>
</ol>
<li>Carga/Salvar de juego: Carga o salva el estado del juego</li>
<li>Ventanas de juego</li>
<ol><li>Pantalla principal: mapa/estrategia/logística</li>
<li>Resolución de batallas tácticas orbitales</li>
<li>Datos planetarios</li>
<li>Datos de investigación y árbol tecnológico.</li>
<li>Informes de logística</li>
<li>Informes de flota</li>
<li>Diseño de flota</li>
<li>balanceo de asignación de recursos</li>
<li>Dialogo de victoria/derrota</li>
</ol></ol><br />
<h3><a href="http://www.blogger.com/post-edit.g?blogID=4292576568935228595&postID=4516907193694180844" id="2_Menu_Punto_de_entrada_donde__6444626236334443" name="2_Menu_Punto_de_entrada_donde__6444626236334443"></a>2.- Menu: Punto de entrada donde el jugador elige una de la opciones iniciales.</h3><div id="dn7f" style="text-align: center;"><a href="http://docs.google.com/File?id=dd7sdhk8_158cf2ct9hr_b" target="_blank"><img src="http://docs.google.com/File?id=dd7sdhk8_158cf2ct9hr_b" style="height: 231,151px; width: 320px;" /></a></div><br />
<h3><a href="http://www.blogger.com/post-edit.g?blogID=4292576568935228595&postID=4516907193694180844" id="3_Configuraci_n_de_juego_nuevo_39558730833232403" name="3_Configuraci_n_de_juego_nuevo_39558730833232403"></a>3.- Configuración de juego nuevo:</h3><h4><a href="http://www.blogger.com/post-edit.g?blogID=4292576568935228595&postID=4516907193694180844" id="3_1_Configuraci_n_de_galaxia_T_5335354832932353" name="3_1_Configuraci_n_de_galaxia_T_5335354832932353"></a>3.1.- Configuración de galaxia: Tamaño, numero de oponentes y dificultad.</h4><div id="j0s9" style="text-align: left;"><div id="b7o:" style="text-align: center;"><a href="http://docs.google.com/File?id=dd7sdhk8_154f7bdzsch_b" target="_blank"><img src="http://docs.google.com/File?id=dd7sdhk8_154f7bdzsch_b" style="height: 242,023px; width: 320px;" /></a></div><h4><a href="http://www.blogger.com/post-edit.g?blogID=4292576568935228595&postID=4516907193694180844" id="3_2_Configuraci_n_de_especie_C_9332048632204533" name="3_2_Configuraci_n_de_especie_C_9332048632204533"></a>3.2.- Configuración de especie: Configura los diferentes parámetros de la especie.</h4><div id="c-5i" style="text-align: left;"><div id="lon0" style="text-align: center;"><a href="http://docs.google.com/File?id=dd7sdhk8_155d7s3w4fz_b" target="_blank"><img src="http://docs.google.com/File?id=dd7sdhk8_155d7s3w4fz_b" style="height: 255,385px; width: 320px;" /></a></div><h3><a href="http://www.blogger.com/post-edit.g?blogID=4292576568935228595&postID=4516907193694180844" id="4_Cargar_Salvar_partida_Carga__29669829178601503" name="4_Cargar_Salvar_partida_Carga__29669829178601503"></a>4.- Cargar/Salvar partida: Carga o salva una partida.</h3><div id="w9fa" style="text-align: center;"><a href="http://docs.google.com/File?id=dd7sdhk8_156ff56ctch_b" target="_blank"><img src="http://docs.google.com/File?id=dd7sdhk8_156ff56ctch_b" style="height: 300,138px; width: 320px;" /></a></div><h3><a href="http://www.blogger.com/post-edit.g?blogID=4292576568935228595&postID=4516907193694180844" id="5_Ventanas_de_juego_1632967870_5329724289476871" name="5_Ventanas_de_juego_1632967870_5329724289476871"></a>5.- Ventanas de juego:</h3><h4><a href="http://www.blogger.com/post-edit.g?blogID=4292576568935228595&postID=4516907193694180844" id="5_1_Pantalla_principal_mapa_es_30645088758319616" name="5_1_Pantalla_principal_mapa_es_30645088758319616"></a>5.1.- Pantalla principal, mapa/estrategia/logística: </h4><div style="text-align: auto;">Mapa general donde se ordena las acciones de la flota, asignación de tareas, información y actividades del planeta seleccionado</div><div style="text-align: auto;"><div id="q85s" style="text-align: center;"><a href="http://docs.google.com/File?id=dd7sdhk8_157dpsnx2gk_b" target="_blank"><img src="http://docs.google.com/File?id=dd7sdhk8_157dpsnx2gk_b" style="height: 286,289px; width: 320px;" /></a></div><br />
</div><h4><a href="http://www.blogger.com/post-edit.g?blogID=4292576568935228595&postID=4516907193694180844" id="5_2_Resoluci_n_de_batallas_t_c_3500657668337226" name="5_2_Resoluci_n_de_batallas_t_c_3500657668337226"></a>5.2.- Resolución de batallas tácticas orbitales:</h4><div>Una vez que coinciden dos flotas rivales en la misma casilla de la galaxia o una flota y un sistema defensivo planetario en un mismo sistema y una de las dos decide atacar a la otra, surgirá la posibilidad de resolver el conflicto estomáticamente o tomar el control táctico de la batalla por el jugador humano, esta batalla se revolverá en esta batalla. Presentando un grid con los rivales distribuidos en los extremos del mapa. Si existiera una colonia o posición defensiva en dicha casilla, sus alrededores estarían ocupados por la flota aliada, mientras que la flota ofensiva en el extremo contrario.</div><h4><a href="http://www.blogger.com/post-edit.g?blogID=4292576568935228595&postID=4516907193694180844" id="5_3_Datos_planetarios_23483106_4227511379867792" name="5_3_Datos_planetarios_23483106_4227511379867792"></a>5.3.- Datos planetarios<span style="font-size: x-small;">:</span></h4><div><span style="font-size: x-small;"><span style="font-size: x-small;">Representa gráficamente el estado del planeta seleccionado, flota en órbita, defensas planetarias, recursos existentes, población, industria, estado de la ecología planetaria, etc.</span><br />
</span></div><h4><a href="http://www.blogger.com/post-edit.g?blogID=4292576568935228595&postID=4516907193694180844" id="5_4_Datos_de_investigaci_n_y_r_8215449247509241" name="5_4_Datos_de_investigaci_n_y_r_8215449247509241"></a>5.4.- Datos de investigación y árbol tecnológico<span style="font-size: x-small;">:</span></h4><div><span style="font-size: x-small;">Muestra la investigación en curso, tiempo hasta finalizar, permite cambiar la investigación mostrando también un árbol tecnológico y cuantos recursos esta recibiendo la investigación.</span></div><h4><a href="http://www.blogger.com/post-edit.g?blogID=4292576568935228595&postID=4516907193694180844" id="5_5_Informes_de_log_stica_6539_8321703150868416" name="5_5_Informes_de_log_stica_6539_8321703150868416"></a>5.5.- Informes de logística<span style="font-size: x-small;">:</span></h4><div><span style="font-size: x-small;"><span style="font-size: x-small;">Muestras las actividades que están siendo realizadas en nuestros sistemas, datos, evolución de los mismos, flota desplegada y defensas.</span><br />
</span></div><h4><a href="http://www.blogger.com/post-edit.g?blogID=4292576568935228595&postID=4516907193694180844" id="5_6_Informes_de_flota_56904631_44883843418210745" name="5_6_Informes_de_flota_56904631_44883843418210745"></a>5.6.- Informes de flota<span style="font-size: x-small;">:</span></h4><div><span style="font-size: x-small;">Muestra el estado y actividad de todas nuestras flotas, pudiendo reasignarles tareas, cancelar las tareas actuales y eliminar unidades particulares.</span></div><h4><a href="http://www.blogger.com/post-edit.g?blogID=4292576568935228595&postID=4516907193694180844" id="5_7_Dise_o_de_flota_2759121246_5865622330456972" name="5_7_Dise_o_de_flota_2759121246_5865622330456972"></a>5.7.- Diseño de flota<span style="font-size: x-small;">:</span></h4><div><span style="font-size: x-small;">Definido un numero máximo de modelos distintos de naves disponibles en un momento dado, el usuario podrá rediseñar la flota a su gusto, según su nivel tecnológico, para ello existirá una serie de tipos de naves basadas en la cantidad de espacio libre en ella, (pequeñas, medianas, grande), en la cual el jugador podrá distribuir gadgets según su nivel tecnológico, así como en el espacio requerido y el espacio libre en las diversas secciones de las nave. A mayor tamaño de la nave y mayor nivel tecnológico usado en ella mayores serán los recursos necesarios para fabricarla. A parte de la limitación espacial y tecnológica, las estructuras de naves, así como los gadgets podrán tener limitaciones particulares del modelo.</span></div><span style="font-size: x-small;"><br />
</span><br />
<h4><a href="http://www.blogger.com/post-edit.g?blogID=4292576568935228595&postID=4516907193694180844" id="5_8_Balanceo_de_asignaci_n_de__41324543487280607" name="5_8_Balanceo_de_asignaci_n_de__41324543487280607"></a><b>5.8.- Balanceo de asignación de recursos:</b></h4><div>De los diferentes recursos del juego, se podrá balancear que proporción de recursos se redirige a producción, investigación, etc... Cosa que se realizara en esta pantalla.</div></div></div><h2><a href="http://www.blogger.com/post-edit.g?blogID=4292576568935228595&postID=4516907193694180844" id="Pantallas_deseables_9476678902_2622545352205634" name="Pantallas_deseables_9476678902_2622545352205634"></a>Pantallas deseables:</h2><ul><li>Splash</li>
<li>Configuración del juego</li>
<li>Ventanas de juego</li>
<ul><li>¿resolución de batallas tácticas planetarias?</li>
<li>Ventana de diplomacia.</li>
<li>Ventana de eventos/noticias</li>
<li>Ranking de imperios.</li>
</ul></ul><h2><a href="http://www.blogger.com/post-edit.g?blogID=4292576568935228595&postID=4516907193694180844" id="Sistema_de_juego_8617990333586_95021918322891" name="Sistema_de_juego_8617990333586_95021918322891"></a>Sistema de juego:</h2><h3><a href="http://www.blogger.com/post-edit.g?blogID=4292576568935228595&postID=4516907193694180844" id="Sistema_de_especies_2682677954" name="Sistema_de_especies_2682677954"></a>Sistema de especies:</h3><div> Al igual que en Master of Orion, el jugador puede elegir una especie con la que jugar y esta a su vez posee una serie de características que influyen en el juego, de manera que unas especies tengan una mayor capacidad de procreación, mientras otra tendría mayor capacidad de investigación, de forma que en media las ventajas deberían equilibrarse.</div><br />
<div>Características de especies:</div><ol><li>Nombre</li>
<li>Color y estandarte</li>
<li>Coeficiente de crecimiento</li>
<li>Coeficiente de industrialización</li>
<li>Coeficiente de contaminación</li>
<li>Coeficiente de investigación</li>
</ol><h3><a href="http://www.blogger.com/post-edit.g?blogID=4292576568935228595&postID=4516907193694180844" id="_rbol_tecnol_gico_366881263442_36840900871902704" name="_rbol_tecnol_gico_366881263442_36840900871902704"></a>Árbol tecnológico:</h3><div>Define las tecnologías que posee el jugador, así como las tecnologías que están siendo investigadas y aquellas a las que se pueden estudiar a partir de las restricciones jerárquicas del árbol.</div><br />
<ul><li>Computación</li>
<li>Construcción</li>
<li>Escudos de energía</li>
<li>Planetología</li>
<li>Propulsión</li>
<li>Armas y armamento</li>
</ul><h3><a href="http://www.blogger.com/post-edit.g?blogID=4292576568935228595&postID=4516907193694180844" id="Condiciones_de_victoria_290431_2797323605045676" name="Condiciones_de_victoria_290431_2797323605045676"></a>Condiciones de victoria:</h3><ul><li>Victoria por dominio: Desaparición de todos los rivales</li>
<li>Victoria por objetivo relevante: El jugador gana por tomar una posición relevante en el juego.</li>
</ul><h3><a href="http://www.blogger.com/post-edit.g?blogID=4292576568935228595&postID=4516907193694180844" id="Condiciones_de_derrota_6635290_9841264272108674" name="Condiciones_de_derrota_6635290_9841264272108674"></a>Condiciones de derrota<b>:</b></h3><ul><li>Victoria de un rival: Un rival gana.</li>
<li>Derrota por destrucción: El jugador pierde todas sus colonias y naves.</li>
<li>Derrota por rendición: El jugador reconoce la superioridad de sus rivales y se rinde.</li>
</ul><h3><a href="http://www.blogger.com/post-edit.g?blogID=4292576568935228595&postID=4516907193694180844" id="Eventos_5449895206838846_3588993540033698" name="Eventos_5449895206838846_3588993540033698"></a>Eventos<b>:</b></h3><ul><li>Recursos abandonados</li>
<li>Nativos y monstruos</li>
<li>Cataclismos y desastres</li>
</ul>Lhrodhttp://www.blogger.com/profile/00250667544237961052noreply@blogger.com0tag:blogger.com,1999:blog-4292576568935228595.post-4800920250564285622010-05-03T08:58:00.000+01:002010-05-03T08:58:26.944+01:00Corregido SimpleFileUploadDebido a una serie de problemas relacionados con la diferencia en el funcionamiento de los diferentes sistemas de fichero de los sistemas operativos, esta librería no terminaba de funcionar bien, ahora se a desarrollado un sistema de actualización mas sofisticado que termina con el problema:<br />
<br />
<span style="font-size: 14px;">Fichero binario:</span><span style="text-decoration: underline;"><br />
</span><span class="Apple-style-span" style="font-size: medium;"><span class="Apple-style-span" style="font-size: 14px;"><a href="http://simplefileupdate.googlecode.com/files/SimpleFileUpdate.jar">http://simplefileupdate.googlecode.com/files/SimpleFileUpdate.jar</a></span></span>Lhrodhttp://www.blogger.com/profile/00250667544237961052noreply@blogger.com0tag:blogger.com,1999:blog-4292576568935228595.post-21210433690153669212010-04-19T16:31:00.002+01:002010-04-19T16:31:00.200+01:00SimpleFileUpdatePublicada librería "SimpleFileUpdate", la utilidad de esta librería consiste en poder ofrecer de forma muy sencilla, la manera de actualizar ficheros binarios al estilo: "Hay actualizaciones nuevas para descargar...", sin necesidad de mantener una arquitectura de cliente servidor, basta la librería funcionando en el cliente y algún sitio en la red donde estén accesibles los nuevos ficheros binarios así como un XML de configuración e información.<br />
<br />
Aunque pensada para ser incluida en proyectos de java, también permite la construcción de un programa externo que actualice cualquier tipo de ficheros.<br />
<br />
Los ficheros fuentes no han sido subido en forma de fichero de descarga, pero estan disponible en el repositorio a partir de esta URL:<br />
<a href="http://simplefileupdate.googlecode.com/svn/trunk">http://simplefileupdate.googlecode.com/svn/trunk</a><br />
<br />
<div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"><span style="font-size: 14px;">Fichero binario:</span><span style="text-decoration: underline;"><br />
</span><span class="Apple-style-span" style="font-size: medium;"><span class="Apple-style-span" style="font-size: 14px;"><a href="http://simplefileupdate.googlecode.com/files/SimpleFileUpdate.jar">http://simplefileupdate.googlecode.com/files/SimpleFileUpdate.jar</a></span></span></div><div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"><span style="font-size: 14px;">La wiki de uso:<br />
<a href="http://code.google.com/p/simplefileupdate/wiki/sp">http://code.google.com/p/simplefileupdate/wiki/sp</a></span></div>Lhrodhttp://www.blogger.com/profile/00250667544237961052noreply@blogger.com0tag:blogger.com,1999:blog-4292576568935228595.post-17530123640061331032010-04-18T14:22:00.001+01:002010-04-18T15:03:54.977+01:00El principio.Con este blog que inicio, pretendo publicar los diferentes proyectos de software que suelo hacer por afición y de esta forma separar mis pequeños proyectos de mi otro blog mas personal.<br />
<div><br />
</div><div>No pretendo hacerme rico con este software, ni ganar dinero, ni halagos, simplemente dar a conocer algunas herramientas que programo por si a alguien le pueden ser útiles en algún momento.</div><div><br />
<div><div>Lo primero que he hecho es reeditar los post publicados en mi <a href="http://anphoralhrod.blogspot.com/">blog</a> personal aquí, que estuvieran relacionados con el software.<br />
<br />
Normalmente uso la licencia GNU, así que libertad para todos.</div><div><br />
</div><div>Con suerte tendré colaboradores y todo. ;)</div></div></div>Lhrodhttp://www.blogger.com/profile/00250667544237961052noreply@blogger.com0tag:blogger.com,1999:blog-4292576568935228595.post-31810104716155307252009-10-22T18:05:00.001+01:002010-04-18T15:01:12.963+01:00Sindarin returnsDebido a petición popular he puesto algunas cosas nuevas en Sindarin:<br />
<br />
* Se ha implementado, de forma experimental, un botón para poder usar el modo nativo con cualquier ventana aunque no tenga el titulo adecuado. En la pestaña control junto al botón de "buscar uo" aparece uno que se llama "buscar otros", al pulsarlo sale una ventana con los nombres de las ventanas que Sindarin a podido descubrir,<br />
<br />
* Implementado una monisima ventanita de "acerca de..."<br />
<br />
* Se le han puesto ficheros de internacionalización, así que se traducirá automáticamente al ingles cuando el ordenador tenga ese idioma. También es posible editarlos para lograr que el Sindarin busque por defecto los títulos de ventanas de UO que nos plazca de forma automática.<br />
<br />
* Se le añadió una lista de las instrucciones en el menú "Instrucciones", no estoy seguro que estén todos pero es un buen recordatorio.<br />
<br />
<div style="text-align: left;">* El comando "Component", que es nuevo ya funciona, sirve para poder consultar los componentes particulares de los colores y de las localizaciones un ejemplo de uso seria el siguiente:</div><pre>Location barra_vida = [358, 325];
Color c = Color barra_vida;
Number verde = component 2 c
while (verde < 125) {
c = Color barra_vida
verde = component 2 c
print "No estamos muy verdes"
}
print "SuperVerdes"
<span style="font-size: 130%;">Podéis bajarlo donde siempre:
</span><span style="font-size: 130%;">Fichero binario:</span><span style="font-size: 130%; text-decoration: underline;">
</span><span style="font-size: 130%;"><a href="http://sindarin.googlecode.com/files/Sindarin.jar">http://sindarin.googlecode.com/files/Sindarin.jar</a>
</span><span style="font-size: 130%;">Fuentes y el proyecto(</span><span class="blsp-spelling-error" id="SPELLING_ERROR_15" style="font-size: 130%;"><span class="blsp-spelling-error" id="SPELLING_ERROR_12">Netbeans</span></span><span style="font-size: 130%;"> 6.7.1):
<a href="http://sindarin.googlecode.com/files/Sindarin.tar.gz">http://sindarin.googlecode.com/files/Sindarin.tar.gz</a>
</span><span style="font-size: 130%;"><a href="http://sindarin.googlecode.com/files/Sindarin.zip">http://sindarin.googlecode.com/files/Sindarin.zip</a></span>
</pre>Lhrodhttp://www.blogger.com/profile/00250667544237961052noreply@blogger.com8tag:blogger.com,1999:blog-4292576568935228595.post-70414675931918227332008-09-17T17:18:00.000+01:002010-04-18T14:56:35.428+01:00Algunas macros utiles en SindarinMacro para separar ores y quemarlos sobre la marcha:<br /><pre><br />Location vetas_minerales = [775, 440];<br />Location veta_mineral = [709, 476];<br />Location veta_mineral_para_quemar = veta_mineral - [0, 5] + [4,0];<br />number cant_minerales = 196;<br /><br />repeat (cant_minerales - 3)<br />{<br /> drag 1 vetas_minerales veta_mineral<br />}<br /><br />repeat (cant_minerales - 3)<br />{<br /> dclick left veta_mineral_para_quemar<br /> wait 1<br /> wait 400 msec<br />}</pre><br />Y ahora con muchos comentarios que explican el funcionamiento:<br /><pre><br /># En esta localizacion tenemos los ores agrupados<br />Location vetas_minerales = [775, 440];<br /><br /># En esta localizacion tenemos el sitio donde se pondran los minerales de 1 en 1<br />Location veta_mineral = [709, 476];<br /><br /># Esta localizacion apunta a los minerales sueltos para ir quemando<br /># se calcula en las proximidades a la veta de mineral<br />Location veta_mineral_para_quemar = veta_mineral - [0, 5] + [4,0];<br /><br /># El numero de minerales que vamos a separar quemar<br />number cant_minerales = 196;<br /><br /># Aqui comprobamos que las localizaciones estan bien puestas<br /># descomentando el exit que esta mas abajo, tambien podemos mover un mineral para asegurarnos<br />mousemove vetas_minerales<br />wait 1<br />mousemove veta_mineral<br />wait 1<br />mousemove veta_mineral_para_quemar<br />#drag 1 vetas_minerales veta_mineral<br />#exit<br /><br /># Separar la cantidad de ores menos 3, ya q cuando hay - de 3 vetas el objeto<br /># cambia de forma y se puede perder la localizacion<br />repeat (cant_minerales - 3)<br />{<br /> drag 1 vetas_minerales veta_mineral<br />}<br /><br /># Se queman tantos minerales como se han separado<br />repeat (cant_minerales - 3)<br />{<br /> dclick left veta_mineral_para_quemar<br /> wait 1 # espera un segundo<br /> wait 400 msec # y 400 milisegundos<br />}<br /></pre><br />Todos los comentarios son explicativos y las pruebas no son necesarias, pero si utiles.<br /><hr /><br />La típica macro de repetir constantemente la tecla F1:<br /><pre><br />wait 1 # Esperamos 1 segundo por si acaso<br />while true # Repetimos para esto para siempre<br />{<br /> pkey 'f1' # Pulsa f1<br /> wait 8 # esperamos 8 segundos hasta volver a pulsar<br />}<br /></pre><br /><hr /><br />Tipica macro de construccion de dagas (o cualquier otro objeto):<br /><pre><br />Location armas = [250, 100];<br />Location flecha = [267, 92];<br />Location lejos = [500, 500];<br />Location arma = [90, 87]<br />Location tipo = [80, 87];<br /><br />wait 1<br /><br />repeat (40/3)<br />{<br /> pkey 'F1'<br /> wait 1<br /> <br /> repeat 2<br /> {<br /> click left flecha<br /> wait 1<br /> mousemove lejos<br /> }<br /> <br /> dclick left armas<br /> wait 1<br /> dclick left tipo<br /> wait 1<br /> dclick left arma<br /> wait 4<br />}<br /></pre><br /><br />La misma con comentarios que explican el funcionamiento:<br /><pre><br />Location armas = [250, 100];<br />Location flecha = [267, 92];<br />Location lejos = [500, 500];<br />Location arma = [90, 87] # dagas<br />Location tipo = [80, 87]; # dagas<br /><br />wait 1<br /><br /># Intenta construir tantas dagas como pueda con 40 lingotes, suponiendo que<br /># se necesitan 3 lingotes por daga<br />repeat (40/3)<br />{<br /> pkey 'F1' # Macro en ultima de lastobject, lasttarget<br /> wait 1<br /> <br /> # En el menu de herreria, hay que pulsar 2 veces(esto varia segun el server) sobre<br /> # la flecha de la derecha para llegar a las armas de swordmanship<br /> repeat 2<br /> {<br /> click left flecha<br /> wait 1<br /> mousemove lejos # x si sale el cuadrado negro explicativo<br /> }<br /> <br /> dclick left armas # Doble click sobre el menu de construccion de armas<br /> wait 1<br /> dclick left tipo # Doble click sobre armas de sword<br /> wait 1<br /> dclick left arma # Doble click sobre menu de las dagas<br /> wait 4 # Esperamos 4 segundos, que acumulados a los que esperamos<br /> # que al sumarse con los segundos que se espera para navegar<br /> # de menu en menu son 9 segundos entre daga y daga<br />}<br /></pre><br /><hr /><br />Macro para aplicar vendas de vez en cuando, que ademas comprueba que hora es y si son mas de las 11:30 de la mañana apaga el Uo y detiene el script:<br /><pre><br />number hora,minutos,segundos;<br />wait 1 sec<br />while true<br />{<br /> time (hora,minutos,segundos);<br /> if ((a >= 11) && (b >= 30))<br /> {<br /> wait 4<br /> pkey 'alt'+'f4'<br /> wait 1<br /> exit<br /> }<br /> pkey 'f5'<br /> wait 20<br />}<br /></pre><br /><br />Y ahora con extras y explicaciones añadidas:<br /><br /><pre><br />number hora,minutos,segundos; # Para guardar la hora<br />wait 1 sec<br />while true # Repetimos para siempre(o hasta q paremos el script)<br />{<br /> time (hora,minutos,segundos); # Almacenamos la hora en las variables<br /><br /> # Mostramos la hora en la consola de mensajes<br /> print "Son las " + hora+":"+minutos+":"+segundos<br /><br /> # Si son las 11:30 o mas tarde<br /> if ((a >= 11) && (b >= 30))<br /> {<br /> beep # Hacemos sonar un beep<br /> wait 4<br /> pkey 'alt'+'f4' # Pulsamos Alt+F4 lo que cerrara el UO a lo bestia<br /> wait 1<br /> exit # Terminamos de ejecutar el script<br /> }<br /> pkey 'f5' # F5 es una macro lastobject-targetself<br /> # que nos abremos acordado de aplicar vendas<br /> # antes de empezar<br /> wait 20 # Esperamos 20 segundos antes de volver a aplicar<br />}</pre>Lhrodhttp://www.blogger.com/profile/00250667544237961052noreply@blogger.com6tag:blogger.com,1999:blog-4292576568935228595.post-27743281812312994242008-08-28T16:36:00.001+01:002010-04-18T15:00:57.867+01:00El futuro...El futuro no esta escrito que diría Sara Connor... pero desde luego esta muy negro...<br />
<br />
Me gustaría que el avance de Sindarin fuese en esta dirección:<br />
<ol><li>En las versiones actuales de Sindarin poner el modo Nativo desactivado por defecto.</li>
<li>Corrección de los diversos Bugs: En especial el bug que no impide la correcta llamada a otro script con parámetros.</li>
<li>Mejorar el mecanismo de ejecución parada del script.</li>
<li>Mejorar las capacidades de edición de Script.</li>
<li>Independizar la GUI del sistema sobre el que corre.<br />
</li>
<li>Eliminación del modo nativo: La arquitectura de Sindarin no estaba pensada para el modo nativo, este fue un añadido a ultima hora, y por las características del Api de win32, nunca podrá funcionar como debiera, así que creo que se convertido mas en un engorro que en una utilidad. Por otro lado el desconocimiento me ha impedido reescribirlo en linux, lo que tiene muchas e importantes consecuencias negativas alrededor de la portabilidad y usabilidad del programa bajo linux. Ademas se que nadie lo usa, así que nadie lo echara de menos en Sindarin.</li>
<li>Implementación de Sindarin Lite: Aunque de la versión "grande" de Sindarin se elimine el modo Nativo, estaría bien poder diseñar he implementar un Sindarin "reducido" exclusivamente diseñado para funcionar en modo Nativo, lo que implicaría que este fork de momento seria inviable bajo linux.</li>
<li>Reimplementacion del ScriptParser y CodeInterpreter: Para lograr que ambos módulos puedan trabajar de forma completamente independiente el uno del otro, de forma que se puedan usar por ejemplo distintas versiones de esos módulos sin que eso afecte al resultado final de forma negativa o que el GUI pueda ser independiente. La idea es conseguir que funcionen como un programa típico de linux:<br />
<br />
<pre>$ScriptParser script.sdr > salida.txt
$CodeInterpreter salida.txt
</pre>o bien:<br />
<br />
<pre>$ScriptParser script.sdr > <span class="blsp-spelling-error" id="SPELLING_ERROR_0"><span class="blsp-spelling-error" id="SPELLING_ERROR_0">CodeInterpreter</span></span>
</pre>de forma que el <span class="blsp-spelling-error" id="SPELLING_ERROR_1"><span class="blsp-spelling-error" id="SPELLING_ERROR_1">GUI</span></span> únicamente seria la forma interactiva de llamar a ambos módulos.</li>
<li>Escritura de un nuevo <span class="blsp-spelling-error" id="SPELLING_ERROR_2"><span class="blsp-spelling-error" id="SPELLING_ERROR_2">GUI</span></span>: Un <span class="blsp-spelling-error" id="SPELLING_ERROR_3"><span class="blsp-spelling-error" id="SPELLING_ERROR_3">GUI</span></span> esencialmente más atractivo y con una funcionalidad similar o superior. Me gustaría darle un aspecto similar a este: Aunque también se podría estudiar la forma de permitir diversidad de <span class="blsp-spelling-error" id="SPELLING_ERROR_4"><span class="blsp-spelling-error" id="SPELLING_ERROR_4">Skins</span></span>.</li>
<li>Implementación del comando "<span style="font-style: italic;"><span class="blsp-spelling-error" id="SPELLING_ERROR_5"><span class="blsp-spelling-error" id="SPELLING_ERROR_5">Component</span></span></span>": Comando que permitiría el análisis de los componentes [R, G, B] de las variables "<span style="font-style: italic;">Color</span>" y [X, Y] de las variables "<span style="font-style: italic;"><span class="blsp-spelling-error" id="SPELLING_ERROR_6"><span class="blsp-spelling-error" id="SPELLING_ERROR_6">Location</span></span></span>" por separado, de forma que podamos saber directamente si el punto que analizamos es efectivamente mas o menos verde o saber en que coordenada X se encuentra exactamente nuestro ratón.</li>
<li>Implementar la sentencia "<span class="blsp-spelling-error" id="SPELLING_ERROR_7" style="font-style: italic;">switch</span>": Para poder hacer <span class="blsp-spelling-error" id="SPELLING_ERROR_8">scripts</span> con muchas decisiones, mas elegantemente.<br />
</li>
<li>Leer variables directamente del cliente: Realizar otro <span class="blsp-spelling-error" id="SPELLING_ERROR_7"><span class="blsp-spelling-error" id="SPELLING_ERROR_9">fork</span></span> o modulo de ampliación que permita leer las variables directamente del cliente, como hace <span class="blsp-spelling-error" id="SPELLING_ERROR_8"><span class="blsp-spelling-error" id="SPELLING_ERROR_10">EasyUO</span></span>, pero esto no puede ser una característica "base" de <span class="blsp-spelling-error" id="SPELLING_ERROR_9"><span class="blsp-spelling-error" id="SPELLING_ERROR_11">Sindarin</span></span>, porque hay <span class="blsp-spelling-error" id="SPELLING_ERROR_10"><span class="blsp-spelling-error" id="SPELLING_ERROR_12">shards</span></span> que no permiten los asistentes que leen directamente del cliente, así que debe ser posible no estar activa por defecto.</li>
<li>Implementar un modulo de búsqueda y de patrones <span class="blsp-spelling-error" id="SPELLING_ERROR_11"><span class="blsp-spelling-error" id="SPELLING_ERROR_13">graficos</span></span>: De forma que podamos buscar sobre la imagen cosas como la mochila o el <span class="blsp-spelling-error" id="SPELLING_ERROR_12"><span class="blsp-spelling-error" id="SPELLING_ERROR_14">paperdoll</span></span> o cualquier cosa que nos de la gana, aunque si esta disponible la lectura de variables de cliente quizás esta ampliación o modulo sea redundante.</li>
<li>Realizar una versión ejecutable de <span class="blsp-spelling-error" id="SPELLING_ERROR_13"><span class="blsp-spelling-error" id="SPELLING_ERROR_15">Sindarin</span></span> que sea un fichero <span class="blsp-spelling-error" id="SPELLING_ERROR_14"><span class="blsp-spelling-error" id="SPELLING_ERROR_16">EXE</span></span>, ya que por alguna razón a la gente le resulta complicado hacer funcionar un <span class="blsp-spelling-error" id="SPELLING_ERROR_15"><span class="blsp-spelling-error" id="SPELLING_ERROR_17">JAR</span></span>.</li>
<li>Utilizar la <span class="blsp-spelling-error" id="SPELLING_ERROR_16"><span class="blsp-spelling-error" id="SPELLING_ERROR_18">Api</span></span> de java de <span class="blsp-spelling-error" id="SPELLING_ERROR_17"><span class="blsp-spelling-error" id="SPELLING_ERROR_19">internacionalización</span></span>: Para que al menos el <span class="blsp-spelling-error" id="SPELLING_ERROR_18"><span class="blsp-spelling-error" id="SPELLING_ERROR_20">GUI</span></span> este en varios idiomas y quizás implementar el lenguaje <span class="blsp-spelling-error" id="SPELLING_ERROR_19"><span class="blsp-spelling-error" id="SPELLING_ERROR_21">script</span></span> de tal forma que hasta los comandos <span class="blsp-spelling-corrected" id="SPELLING_ERROR_20">estén</span> el el idioma natal del usuario, aunque esto <span class="blsp-spelling-corrected" id="SPELLING_ERROR_21">habría</span> que estudiarlo por las repercusiones a la hora del entendimiento e intercambio de <span class="blsp-spelling-error" id="SPELLING_ERROR_22"><span class="blsp-spelling-error" id="SPELLING_ERROR_22">scripts</span></span> entre personas que <span class="blsp-spelling-corrected" id="SPELLING_ERROR_23">podría</span> tener.<br />
</li>
</ol>Pero... La triste realidad es que no tengo tiempo, ni colaboración para hacer nada de esto, por eso el futuro de <span class="blsp-spelling-error" id="SPELLING_ERROR_24"><span class="blsp-spelling-error" id="SPELLING_ERROR_23">Sindarin</span></span> es muy negro, a menos que me despidan o me vuelva loco y use todo mi tiempo libre para <span class="blsp-spelling-error" id="SPELLING_ERROR_25"><span class="blsp-spelling-error" id="SPELLING_ERROR_24">Sindarin</span></span>. Otra posibilidad seria que alguien que supiese de programación y preferentemente de Java o estuviese dispuesto a hacer el esfuerzo, comenzara a colaborar conmigo, en ese caso quizás me plantearía volver a coger el proyecto con fuerza.Lhrodhttp://www.blogger.com/profile/00250667544237961052noreply@blogger.com2tag:blogger.com,1999:blog-4292576568935228595.post-37292638440538869782008-08-27T00:18:00.001+01:002012-04-27T12:57:29.924+01:00Explicación exhaustiva...Finalmente el ultimo texto rescatado del baúl de los recuerdos:<br />
<br />
<div style="text-align: center;">
<span style="font-size: 130%;">Sintaxis de Sindarin en formato BNF y explicación exhaustiva de los comandos (revisado).</span></div>
<br />
También puede interesarte:<br />
<br />
<ul>
<li><a href="http://laantiguafragua.blogspot.com.es/2008/08/tutorial-para-muy-novatos.html">Explicación del lenguaje para novatos</a></li>
<li><a href="http://laantiguafragua.blogspot.com.es/2008/09/algunas-macros-utiles-en-sindarin.html">Macros útiles en Sindarin</a></li>
</ul>
<br />
<hr />
<ol style="font-size: 19px;">
<li><a href="http://laantiguafragua.blogspot.com.es/2008/08/explicacion-exhaustiva.html#prod1">El comienzo...</a><br />
</li>
<li><a href="http://laantiguafragua.blogspot.com.es/2008/08/explicacion-exhaustiva.html#prod3">Códigos...</a><br />
</li>
<li><a href="http://laantiguafragua.blogspot.com.es/2008/08/explicacion-exhaustiva.html#prod4">Lista de todos los comandos</a><br />
</li>
<li><a href="http://laantiguafragua.blogspot.com.es/2008/08/explicacion-exhaustiva.html#wait">wait</a><br />
</li>
<li><a href="http://laantiguafragua.blogspot.com.es/2008/08/explicacion-exhaustiva.html#iodelay">iodelay</a><br />
</li>
<li><a href="http://laantiguafragua.blogspot.com.es/2008/08/explicacion-exhaustiva.html#say">say</a><br />
</li>
<li><a href="http://laantiguafragua.blogspot.com.es/2008/08/explicacion-exhaustiva.html#keypress">keypress</a><br />
</li>
<li><a href="http://laantiguafragua.blogspot.com.es/2008/08/explicacion-exhaustiva.html#keyrelease">keyrelease</a><br />
</li>
<li><a href="http://laantiguafragua.blogspot.com.es/2008/08/explicacion-exhaustiva.html#pushkey">pushkey</a><br />
</li>
<li><a href="http://laantiguafragua.blogspot.com.es/2008/08/explicacion-exhaustiva.html#click">click</a><br />
</li>
<li><a href="http://laantiguafragua.blogspot.com.es/2008/08/explicacion-exhaustiva.html#dclick">dclick</a><br />
</li>
<li><a href="http://laantiguafragua.blogspot.com.es/2008/08/explicacion-exhaustiva.html#mousemove">mousemove</a><br />
</li>
<li><a href="http://laantiguafragua.blogspot.com.es/2008/08/explicacion-exhaustiva.html#mousepress">mousepress</a><br />
</li>
<li><a href="http://laantiguafragua.blogspot.com.es/2008/08/explicacion-exhaustiva.html#mouserelease">mouserelease</a><br />
</li>
<li><a href="http://laantiguafragua.blogspot.com.es/2008/08/explicacion-exhaustiva.html#drag">drag</a><br />
</li>
<li><a href="http://laantiguafragua.blogspot.com.es/2008/08/explicacion-exhaustiva.html#if">if</a><br />
</li>
<li><a href="http://laantiguafragua.blogspot.com.es/2008/08/explicacion-exhaustiva.html#while">while</a><br />
</li>
<li><a href="http://laantiguafragua.blogspot.com.es/2008/08/explicacion-exhaustiva.html#repeat">repeat</a><br />
</li>
<li><a href="http://laantiguafragua.blogspot.com.es/2008/08/explicacion-exhaustiva.html#break">break</a><br />
</li>
<li><a href="http://laantiguafragua.blogspot.com.es/2008/08/explicacion-exhaustiva.html#exit">exit</a><br />
</li>
<li><a href="http://laantiguafragua.blogspot.com.es/2008/08/explicacion-exhaustiva.html#print">print</a><br />
</li>
<li><a href="http://laantiguafragua.blogspot.com.es/2008/08/explicacion-exhaustiva.html#beep">beep</a><br />
</li>
<li><a href="http://laantiguafragua.blogspot.com.es/2008/08/explicacion-exhaustiva.html#date">date</a><br />
</li>
<li><a href="http://laantiguafragua.blogspot.com.es/2008/08/explicacion-exhaustiva.html#time">time</a><br />
</li>
<li><a href="http://laantiguafragua.blogspot.com.es/2008/08/explicacion-exhaustiva.html#call">call</a></li>
<li><a href="http://laantiguafragua.blogspot.com.es/2008/08/explicacion-exhaustiva.html#igual">igualación</a><br />
</li>
<li><a href="http://laantiguafragua.blogspot.com.es/2008/08/explicacion-exhaustiva.html#prod2">declaración de variables</a></li>
<li><a href="http://laantiguafragua.blogspot.com.es/2008/08/explicacion-exhaustiva.html#prod6">Expresiones aritméticas y booleanas</a></li>
<li><a href="http://laantiguafragua.blogspot.com.es/2008/08/explicacion-exhaustiva.html#Miscelanea">Miscelánea</a></li>
</ol>
<hr />
<br />
<ol>
<li><span style="font-size: 130%; font-weight: bold;"><u><a href="http://laantiguafragua.blogspot.com.es/2008/08/explicacion-exhaustiva.html" name="prod1">El comienzo...</a></u></span><br />
<br />
Un programa Sindarin consta de dos partes, definición de variables y códigos, ambas opcionales.<br />
La declaración de variables debe hacerse obligatoriamente al principio del script.<br />
<br />
La definición BNF es:<br />
<br />
{ <a href="http://laantiguafragua.blogspot.com.es/2008/08/explicacion-exhaustiva.html#prod2">declaración de variables </a> } {<a href="http://laantiguafragua.blogspot.com.es/2008/08/explicacion-exhaustiva.html#prod3">códigos... </a>} </li>
<li><span style="font-size: 130%;"><u style="font-weight: bold;"><a href="http://laantiguafragua.blogspot.com.es/2008/08/explicacion-exhaustiva.html" name="prod3">códigos...</a></u></span><br />
<br />
Esta parte estará compuesta por un comando seguido o no por un ";" o una lista de comandos encerrados entre corchetes "{" "}" o palabras claves "begin" "end".<br />
<br />
La definición BNF es:<br />
<br />
<a href="http://laantiguafragua.blogspot.com.es/2008/08/explicacion-exhaustiva.html#prod4">comando</a> [";"] | "{" {<a href="http://laantiguafragua.blogspot.com.es/2008/08/explicacion-exhaustiva.html#prod4">state</a> [";"]} "}" | "begin" {<a href="http://laantiguafragua.blogspot.com.es/2008/08/explicacion-exhaustiva.html#prod4">state</a> [";"]} "end"</li>
<u></u>
<li><span style="font-size: 130%;"><u style="font-weight: bold;"><a href="http://laantiguafragua.blogspot.com.es/2008/08/explicacion-exhaustiva.html" name="prod4">Lista de todos los comandos</a></u></span><br />
<br />
Más abajo se detallan pormenorizadamente cada uno de los comandos aquí una enumeración de todos los comandos:<br />
<br />
<br />
<ul>
<li> <a href="http://laantiguafragua.blogspot.com.es/2008/08/explicacion-exhaustiva.html#wait">wait:</a> Ejecuta una pausa en la ejecución.<br />
</li>
<li> <a href="http://laantiguafragua.blogspot.com.es/2008/08/explicacion-exhaustiva.html#iodelay">iodelay:</a> Modifica la pausa automática que se realiza tras cada comando de entrada/salida de teclado o ratón.</li>
<li> <a href="http://laantiguafragua.blogspot.com.es/2008/08/explicacion-exhaustiva.html#say">say:</a> El pj dice algo.</li>
<li> <a href="http://laantiguafragua.blogspot.com.es/2008/08/explicacion-exhaustiva.html#keypress">keypress:</a> pulsa una macro y la mantiene pulsada.</li>
<li> <a href="http://laantiguafragua.blogspot.com.es/2008/08/explicacion-exhaustiva.html#keyrelease">keyrelease:</a> libera la pulsación de una macro.</li>
<li> <a href="http://laantiguafragua.blogspot.com.es/2008/08/explicacion-exhaustiva.html#pushkey">pushkey:</a> pulsa una macro y la suelta, equivalente a click para el teclado.</li>
<li> <a href="http://laantiguafragua.blogspot.com.es/2008/08/explicacion-exhaustiva.html#click">click:</a> Simula un click en un punto de pantalla.</li>
<li> <a href="http://laantiguafragua.blogspot.com.es/2008/08/explicacion-exhaustiva.html#dclick">dclick:</a> Simula un doble click en un punto de pantalla.</li>
<li> <a href="http://laantiguafragua.blogspot.com.es/2008/08/explicacion-exhaustiva.html#mousemove">mousemove:</a> mueve el cursor del ratón a una posición de pantalla.</li>
<li> <a href="http://laantiguafragua.blogspot.com.es/2008/08/explicacion-exhaustiva.html#mousepress">mousepress:</a> un botón del ratón y lo mantiene pulsado.</li>
<li> <a href="http://laantiguafragua.blogspot.com.es/2008/08/explicacion-exhaustiva.html#mouserelease">mouserelease:</a> libera la pulsación de un botón del ratón.</li>
<li> <a href="http://laantiguafragua.blogspot.com.es/2008/08/explicacion-exhaustiva.html#drag">drag:</a> mueve una cantidad de objetos desde una localización a otra.</li>
<li> <a href="http://laantiguafragua.blogspot.com.es/2008/08/explicacion-exhaustiva.html#if">if:</a> hace un comprobación y ejecuta un código si esta es cierta o no sino lo es.</li>
<li> <a href="http://laantiguafragua.blogspot.com.es/2008/08/explicacion-exhaustiva.html#while">while:</a> repite el/los códigos que están a continuación mientras se cumpla una condición.</li>
<li> <a href="http://laantiguafragua.blogspot.com.es/2008/08/explicacion-exhaustiva.html#repeat">repeat:</a> repite el comando o los comandos encerrados entre "{","}" o "begin", "end" tantas veces como indique la expresión numérica puesta a continuación.</li>
<li> <a href="http://laantiguafragua.blogspot.com.es/2008/08/explicacion-exhaustiva.html#break">break:</a> Sale de un bucle repeat o while en caso de encontrarse dentro de uno.</li>
<li> <a href="http://laantiguafragua.blogspot.com.es/2008/08/explicacion-exhaustiva.html#exit">exit:</a> Termina el programa.</li>
<li> <a href="http://laantiguafragua.blogspot.com.es/2008/08/explicacion-exhaustiva.html#print">print:</a> Imprime en la consola de mensajes la expresión puesta a continuación.</li>
<li> <a href="http://laantiguafragua.blogspot.com.es/2008/08/explicacion-exhaustiva.html#beep">beep:</a> Emite un sonido de alerta.</li>
<li> <a href="http://laantiguafragua.blogspot.com.es/2008/08/explicacion-exhaustiva.html#date">date:</a> Introduce en las variables colocadas a continuación el día, mes y año actual, según la fecha del equipo.</li>
<li> <a href="http://laantiguafragua.blogspot.com.es/2008/08/explicacion-exhaustiva.html#time">time:</a> Introduce en las variables colocadas a continuación la hora, minutos y segundos de la hora del sistema.</li>
<li> <a href="http://laantiguafragua.blogspot.com.es/2008/08/explicacion-exhaustiva.html#call">call:</a> Ejecuta otro script Sindarin.</li>
<li> <a href="http://laantiguafragua.blogspot.com.es/2008/08/explicacion-exhaustiva.html#igualaci%C3%B3n"></a>Aunque no es un comando propiamente dicho si se coloca una variable seguida de "=" se introduce en ella el valor de la expresión siguiente.</li>
</ul>
</li>
<li><span style="font-size: 130%; font-weight: bold;"><u><a href="http://laantiguafragua.blogspot.com.es/2008/08/explicacion-exhaustiva.html" name="wait">wait (esperar...)</a></u></span><br />
<br />
Realiza una pausa en la ejecución del programa.<br />
<br />
La sintaxis es: "wait" seguido de una expresión numérica que indica la cantidad de tiempo a pausar,<br />
seguida de la unidad de tiempo.<br />
<br />
Las unidades de tiempo se miden en minutos "min", segundos "sec" y milisegundos "milisec" "msec", en caso de no especificar ninguna se supondrá que la unidad de tiempo es el segundo.<br />
<br />
La definición BNF es:<br />
<br />
wait <a href="http://laantiguafragua.blogspot.com.es/2008/08/explicacion-exhaustiva.html#prod6">expresión_numérica</a> (<a href="http://laantiguafragua.blogspot.com.es/2008/08/explicacion-exhaustiva.html#prod7">[sec] | min | milisec | MSEC</a>)<br />
</li>
<u></u>
<li><span style="font-size: 130%; font-weight: bold;"><u><a href="http://laantiguafragua.blogspot.com.es/2008/08/explicacion-exhaustiva.html" name="iodelay">iodelay (retrazo de entrada salida)</a></u></span><br />
<br />
Las instrucciones de entrada salida(mousepress, click, pushkey...) realizan automáticamente un pausa al terminar<br />
, por defecto esta pausa es de 4 milisegundos, con este comando esta cantidad se puede variar usando este comando.<br />
<br />
La sintaxis es: "iodelay" seguido de una expresión numérica que indica la cantidad de tiempo a pausar,<br />
seguida de la unidad de tiempo.<br />
<br />
Las unidades de tiempo se miden en minutos "min", segundos "sec" y milisegundos "milisec" "msec", en caso de no especificar ninguna se supondrá que la unidad de tiempo es el segundo.<br />
<br />
La definición BNF es:<br />
<br />
iodelay <a href="http://laantiguafragua.blogspot.com.es/2008/08/explicacion-exhaustiva.html#prod6">expresión_numérica</a> (<a href="http://laantiguafragua.blogspot.com.es/2008/08/explicacion-exhaustiva.html#prod7">[sec] | min | milisec | msec</a>)<br />
</li>
<span style="font-size: 130%;"> </span>
<li><span style="font-size: 130%;"><u style="font-weight: bold;"><a href="http://laantiguafragua.blogspot.com.es/2008/08/explicacion-exhaustiva.html" name="say">say (decir)</a></u></span><br />
<br />
Esta instrucción hace que el PJ diga algo en el Ultima Online. La sintaxis de esta instrucción es say seguido de una expresión de texto.<br />
<br />
La definición BNF es:<br />
<br />
say <a href="http://laantiguafragua.blogspot.com.es/2008/08/explicacion-exhaustiva.html#prod6">expresión_textual</a></li>
<u></u>
<li><span style="font-size: 130%;"><u style="font-weight: bold;"><a href="http://laantiguafragua.blogspot.com.es/2008/08/explicacion-exhaustiva.html" name="keypress">keypress (Presiona tecla)</a></u></span><br />
<br />
Simula la pulsación de una o varias teclas especificadas por una expresión de tipo Macrokey(macro de tecla),<br />
este comando no realiza la liberación de la tecla, es decir mientras no se llame al comando Keyrelease con la misma expresión de tecla o bien a un comando de tipo<br />
Pushkey, que realiza un pulsación y luego la liberación, sobre el mismo conjunto de teclas.<br />
<br />
Este comando puede escribirse además de las siguientes maneras: kpress.<br />
<br />
La definición BNF es:<br />
<br />
keypress <a href="http://laantiguafragua.blogspot.com.es/2008/08/explicacion-exhaustiva.html#prod6">expresión de tipo tecla</a></li>
<u></u>
<li><span style="font-size: 130%;"><u style="font-weight: bold;"><a href="http://laantiguafragua.blogspot.com.es/2008/08/explicacion-exhaustiva.html" name="keyrelease">keyrelease (Libera tecla)</a></u></span><br />
<br />
Simula la liberación de una o varias teclas que se encuentren pulsadas por la llamada a un comando Keypress, este comando es el complementario de Keypress.<br />
<br />
Este comando puede escribirse además de las siguientes maneras: krelease, krel.<br />
<br />
La definición BNF es:<br />
<br />
keyrelease <a href="http://laantiguafragua.blogspot.com.es/2008/08/explicacion-exhaustiva.html#prod6">expresión de tipo tecla</a></li>
<u></u>
<li><span style="font-size: 130%;"><u style="font-weight: bold;"><a href="http://laantiguafragua.blogspot.com.es/2008/08/explicacion-exhaustiva.html" name="pushkey">pushkey (pulsar tecla)</a></u></span><br />
<br />
Simula la pulsación y posterior liberación de una o varias teclas, es como llamar consecutivamente a Keypress y luego a Keyrelease sobre el mismo conjunto de teclas.<br />
<br />
Este comando puede escribirse además de las siguientes maneras: pkey, key.<br />
<br />
La definición BNF es:<br />
<br />
pushkey <a href="http://laantiguafragua.blogspot.com.es/2008/08/explicacion-exhaustiva.html#prod6">expresión de tipo tecla</a></li>
<u></u>
<li><span style="font-size: 130%; font-weight: bold;"><u><a href="http://laantiguafragua.blogspot.com.es/2008/08/explicacion-exhaustiva.html" name="click">click</a></u></span><br />
<br />
Realiza la simulación de un click del ratón sobre un punto especifico de la ventana, es equivalente a<br />
realizar un Mousemove, seguido de un Mousepress y un Mouserelease con el mismo botón y sobre la misma localización.<br />
<br />
La definición BNF es:<br />
<br />
click (left | right) <a href="http://laantiguafragua.blogspot.com.es/2008/08/explicacion-exhaustiva.html#prod6">expresión de tipo Location(Localización de pantalla)</a></li>
<u></u>
<li><span style="font-size: 130%;"><u style="font-weight: bold;"><a href="http://laantiguafragua.blogspot.com.es/2008/08/explicacion-exhaustiva.html" name="dclick">dclick</a></u></span><br />
<br />
Realiza la simulación de un doble click del ratón sobre un punto especifico de la ventana, es equivalente a<br />
realizar dos click consecutivos el mismo botón y sobre la misma localización.<br />
<br />
Este comando puede escribirse además de las siguientes maneras: doubleclick.<br />
<br />
La definición BNF es:<br />
<br />
dclick (left | right) <a href="http://laantiguafragua.blogspot.com.es/2008/08/explicacion-exhaustiva.html#prod6">expresión de tipo Location(Localización de pantalla)</a></li>
<u></u>
<li><span style="font-size: 130%; font-weight: bold;"><u><a href="http://laantiguafragua.blogspot.com.es/2008/08/explicacion-exhaustiva.html" name="mousemove">mousemove (mover ratón)</a></u></span><br />
<br />
Este comando mueve el cursor del ratón desde su posición actual hasta la posición indicada a continuación.<br />
<br />
Toda la familia de comandos Mouse...(Mousemove, Mousepress y Mouserelease) tienen problemas en modo nativo,<br />
si se usan con la ventana de Ultima maximizadas. Para evitar estos problemas lo mejor es minimizar la ventana de Ultima o bien<br />
desactivar el modo nativo.<br />
<br />
Este comando puede escribirse además de las siguientes maneras: mmove.<br />
<br />
La definición BNF es:<br />
<br />
mousemove <a href="http://laantiguafragua.blogspot.com.es/2008/08/explicacion-exhaustiva.html#prod6">expresión de tipo localización</a></li>
<u></u>
<li><span style="font-size: 130%;"><u style="font-weight: bold;"><a href="http://laantiguafragua.blogspot.com.es/2008/08/explicacion-exhaustiva.html" name="mousepress">mousepress (presiona ratón)</a></u></span><br />
<br />
Este comando simula la pulsación del botón colocado a continuación del comando, pero no su liberación,<br />
por lo que permanece pulsado hasta que se ejecute el comando Mouserelease sobre dicho botón o un comando<br />
de tipo click o dclick que implícitamente realizan un Mouserelease.<br />
<br />
Toda la familia de comandos Mouse...(Mousemove, Mousepress y Mouserelease) tienen problemas en modo nativo,<br />
si se usan con la ventana de Ultima maximizadas. Para evitar estos problemas lo mejor es minimizar la ventana de Ultima o bien<br />
desactivar el modo nativo.<br />
<br />
Este comando puede escribirse además de las siguientes maneras: mpress.<br />
<br />
La definición BNF es:<br />
<br />
mousepress (left | right)</li>
<u></u>
<li><span style="font-size: 130%;"><u style="font-weight: bold;"><a href="http://laantiguafragua.blogspot.com.es/2008/08/explicacion-exhaustiva.html" name="mouserelease">mouserelease (Libera ratón)</a></u></span><br />
<br />
Este comando simula la liberación de un botón que a sido atrapado usando el comando mousepress, este comando es su complementario.<br />
<br />
Toda la familia de comandos Mouse...(Mousemove, Mousepress y Mouserelease) tienen problemas en modo nativo,<br />
si se usan con la ventana de Ultima maximizadas. Para evitar estos problemas lo mejor es minimizar la ventana de Ultima o bien<br />
desactivar el modo nativo.<br />
<br />
Este comando puede escribirse además de las siguientes maneras: mrelease, mrel.<br />
<br />
La definición BNF es:<br />
<br />
mouserelease (left | right)</li>
<u></u>
<li><span style="font-size: 130%;"><u style="font-weight: bold;"><a href="http://laantiguafragua.blogspot.com.es/2008/08/explicacion-exhaustiva.html" name="drag">drag</a></u></span><br />
<br />
Este comando sirve para mover una cantidad de objetos desde una localización a otra. Debe ir seguido de una expresión numérica<br />
que indique el numero de objetos a mover, pudiendo ir seguido de la palabra "objets" que no cumple ninguna finalidad y es prescindible,<br />
una expresión de tipo localización que indique donde se encuentran en principio los objetos, que puede<br />
ir seguida de la palabra "from", que también es prescindible, y otra m que indique donde hay que soltarlos.<br />
<br />
La definición BNF es:<br />
<br />
drag <a href="http://laantiguafragua.blogspot.com.es/2008/08/explicacion-exhaustiva.html#prod6">expresión numérica</a> [OBJECTS] <a href="http://laantiguafragua.blogspot.com.es/2008/08/explicacion-exhaustiva.html#prod6">expresión de tipo location(Localización)</a> [FROM] <a href="http://laantiguafragua.blogspot.com.es/2008/08/explicacion-exhaustiva.html#prod6">expresión de tipo location(Localización)</a><br />
<br />
Desde la versión 0.3, se ha añdido la opción de usar "ALL" en lugar de una cantidad a mover lo que mueve todos los objetos.<br />
<br />
La definición BNF es:<br />
<br />
drag [ <a href="http://laantiguafragua.blogspot.com.es/2008/08/explicacion-exhaustiva.html#prod6">expresión numérica</a>| ALL ] [OBJECTS] <a href="http://laantiguafragua.blogspot.com.es/2008/08/explicacion-exhaustiva.html#prod6">expresión de tipo location(Localización)</a> [from] <a href="http://laantiguafragua.blogspot.com.es/2008/08/explicacion-exhaustiva.html#prod6">expresión de tipo location(Localización)</a><br />
</li>
<u></u>
<li><span style="font-size: 130%;"><u style="font-weight: bold;"><a href="http://laantiguafragua.blogspot.com.es/2008/08/explicacion-exhaustiva.html" name="if">if</a></u></span><br />
<br />
"If" evalúa una expresión colocada inmediatamente después, si esta expresión es 0 supondrá que es falsa y no se ejecutaran las sentencias colocadas a posterioridad,<br />
si la expresión es distinta de 0 se ejecutara la/las sentencias colocadas a continuación.<br />
<br />
La sentencia If puede ir seguida de la clausula "else", si la expresión evaluada por if es falsa entonces se ejecutara la/s sentencias colocadas a continuación de else.<br />
<br />
Existen las variables de entorno true y false, cuyo valor es respectivamente 0 y 1, con lo cual una sentencia del tipo: "if true { comandos 1 } else { comandos 2 }" ejecutara siempre<br />
"{ comandos 2 }" mientras que la sentencia: if false { comandos 1 } else { comandos 2 }" ejecutara siempre "{ comandos 2 }".<br />
<br />
If espera evaluar siempre una expresión numérica, por lo tanto se pueden usar cualquiera de los operadores aritméticos que se contemplan en las expresiones normales, sin embargo existen<br />
una serie de operadores específicos pensados para las sentencias de evaluación(aunque pueden insertarse en cualquier expresión aritméticos normal).<br />
<br />
La definición BNF es:<br />
<br />
if <a href="http://laantiguafragua.blogspot.com.es/2008/08/explicacion-exhaustiva.html#Expr%20bool">expresión booleanas</a> ( <a href="http://laantiguafragua.blogspot.com.es/2008/08/explicacion-exhaustiva.html#prod3"> { comandos } </a> | <a href="http://laantiguafragua.blogspot.com.es/2008/08/explicacion-exhaustiva.html#prod3"> begin comandos end</a> | <a href="http://laantiguafragua.blogspot.com.es/2008/08/explicacion-exhaustiva.html#prod3"> comando </a> ) [ else ( <a href="http://laantiguafragua.blogspot.com.es/2008/08/explicacion-exhaustiva.html#prod3"> { comandos } </a> | <a href="http://laantiguafragua.blogspot.com.es/2008/08/explicacion-exhaustiva.html#prod3"> begin comandos end</a> | <a href="http://laantiguafragua.blogspot.com.es/2008/08/explicacion-exhaustiva.html#prod3"> comando </a> ) ]</li>
<span style="font-size: 130%;"> </span>
<li><span style="font-size: 130%;"><u style="font-weight: bold;"><a href="http://laantiguafragua.blogspot.com.es/2008/08/explicacion-exhaustiva.html" name="while">while (mientras)</a></u></span><br />
<br />
Este comando permite ejecutar varias veces un digo colocado a continuación, la lógica de este comando es la siguiente: mientras la <a href="http://laantiguafragua.blogspot.com.es/2008/08/explicacion-exhaustiva.html#Expr%20bool">expresión booleana</a> colocada a continuación sea verdadera se continuara ejecutando<br />
lo/s comandos colocados inmediatamente después. Así por ejemplo seria posible construir un bucle infinito de la siguiente manera: "while true { comandos }" que significar que mientras true(verdadero) sea verdadero entonces se ejecutar<br />
"{ comandos }" puesto que true siempre es verdadero "{ comandos }" se ejecutar para siempre.<br />
<br />
Otro ejemplo de construcción valida seria:<br /><br />
<pre>while (color [100, 100] = color1)
say "hola"
</pre>
<br />
lo que obligar al jugador a decir "hola" mientras el color de la Location [100, 100] fuese distinto de la variable color1.<br />
<br />
La definición BNF es:<br />
<br />
while <a href="http://laantiguafragua.blogspot.com.es/2008/08/explicacion-exhaustiva.html#Expr%20bool"> expresión booleana sea cierta </a> ( <a href="http://laantiguafragua.blogspot.com.es/2008/08/explicacion-exhaustiva.html#prod3"> { comandos } </a> | <a href="http://laantiguafragua.blogspot.com.es/2008/08/explicacion-exhaustiva.html#prod3"> begin comandos end</a> | <a href="http://laantiguafragua.blogspot.com.es/2008/08/explicacion-exhaustiva.html#prod3"> comando </a> )</li>
<u></u>
<li><span style="font-size: 130%;"><u style="font-weight: bold;"><a href="http://laantiguafragua.blogspot.com.es/2008/08/explicacion-exhaustiva.html" name="repeat">repeat (repetir)</a></u></span><br />
<br />
Este comando permite ejecutar varias veces un digo colocado a continuación, la lógica de este comando es la siguiente: repetir un numero finito de veces, especificado en una expresión numérica, el digo colocado a continuación.<br />
<br />
Un ejemplo de construcción valida seria:<br />
<br />
<pre>Number a = 50;
repeat (a/2) times
say "hola"
</pre>
lo que obligar al jugador a decir "hola" 25 veces.<br />
<br />
Otro ejemplo de construcción valida seria:<br />
<br />
<pre>repeat 100
begin
drag 1 object [100,100] from [200,200]
end
</pre>
Que obligar a mover un objeto desde la posición [100,100] hasta la [200,200] cien veces consecutivas.<br />
<br />
Otro ejemplo de uso seria:<br />
<br />
<pre>repeat 10
{
pushkey 'F1'
wait 1 min
}
</pre>
Que obligar a pulsar 'F1' 10 veces con un retraso de un minuto entre pulsación y pulsación.<br />
<br />
La definición BNF es:<br />
<br />
repeat <a href="http://laantiguafragua.blogspot.com.es/2008/08/explicacion-exhaustiva.html#prod6">expresión numérica</a> [times] ( <a href="http://laantiguafragua.blogspot.com.es/2008/08/explicacion-exhaustiva.html#prod3"> { comandos } </a> | <a href="http://laantiguafragua.blogspot.com.es/2008/08/explicacion-exhaustiva.html#prod3"> begin comandos end</a> | <a href="http://laantiguafragua.blogspot.com.es/2008/08/explicacion-exhaustiva.html#prod3"> comando </a> )</li>
<u></u>
<li><span style="font-size: 130%;"><u style="font-weight: bold;"><a href="http://laantiguafragua.blogspot.com.es/2008/08/explicacion-exhaustiva.html" name="break">break (Romper)</a></u></span><br />
<br />
Interrumpe la ejecución de un bucle, si colocamos break dentro de un bucle y se alcanza el break, se sale del bucle.<br />
<br />
Un ejemplo de utilización seria:<br />
<br />
<pre>while (true) {
say "hola"
break
}
</pre>
El "hola" solo se ver una vez ya que al llegar al break se terminar el bucle infinito.<br />
<br />
Otro ejemplo de uso seria:<br />
<br />
<pre>Location nightshade = [100, 100]
Color verde = [0, 255, 0]
repeat 10000
{
pushkey 'a'
wait 1
if (verde != color nightshade)
break
}</pre>
Este bucle pulsar diez mil veces la tecla 'a', a menos que la Location "nightshade" no tuviera el color "verde".<br />
<br />
La definición BNF es:<br />
<br />
break</li>
<u></u>
<li><span style="font-size: 130%;"><u style="font-weight: bold;"><a href="http://laantiguafragua.blogspot.com.es/2008/08/explicacion-exhaustiva.html" name="exit">exit (salir)</a></u></span><br />
<br />
Si durante la ejecución de un código se encuentra el comando "exit" se termina la ejecución, es como si se le hubiese dado al botón de "Stop".<br />
<br />
La definición BNF es:<br />
<br />
exit</li>
<u></u>
<li><span style="font-size: 130%;"><u style="font-weight: bold;"><a href="http://laantiguafragua.blogspot.com.es/2008/08/explicacion-exhaustiva.html" name="print">print</a></u></span><br />
<br />
Imprime en la consola de mensajes la expresión siguiente.<br />
<br />
La definición BNF es:<br />
<br />
print <a href="http://laantiguafragua.blogspot.com.es/2008/08/explicacion-exhaustiva.html#prod6">expresión</a></li>
<u></u>
<li><span style="font-size: 130%;"><u style="font-weight: bold;"><a href="http://laantiguafragua.blogspot.com.es/2008/08/explicacion-exhaustiva.html" name="beep">beep</a></u></span><br />
<br />
Emite un sonido de alerta.<br />
<br />
Disponible desde la versión 0.3<br />
<br />
La definición BNF es:<br />
<br />
beep</li>
<u></u>
<li><span style="font-size: 130%;"><u style="font-weight: bold;"><a href="http://laantiguafragua.blogspot.com.es/2008/08/explicacion-exhaustiva.html" name="date">date (fecha)</a></u></span><br />
<br />
Este comando carga en tres variables/parametros pasados entre parentesis y separados por comas, la fecha del sistema.<br />
<br />
En el primer var/parametro numérico de la función se mete el año del sistema, en el segundo el mes y en el tercero el día.<br />
La definición BNF es:<br />
<br />
date "(" año "," mes "," día ")"</li>
<span style="font-size: 130%;"> </span>
<li><span style="font-size: 130%;"><u style="font-weight: bold;"><a href="http://laantiguafragua.blogspot.com.es/2008/08/explicacion-exhaustiva.html" name="time">time (hora)</a></u></span><br />
<br />
Introduce en los tres parametros variables siguientes la hora del sistema, estos parametros han de estar entre parentesis y separados por comas.<br />
<br />
La definición BNF es:<br />
<br />
time "(" hora "," minuto "," segundo ")"</li>
<u></u>
<li><span style="font-size: 130%;"><u style="font-weight: bold;"><a href="http://laantiguafragua.blogspot.com.es/2008/08/explicacion-exhaustiva.html" name="call">call</a></u></span><br />
<br />
Ejecuta otro script de Sindarin, el script se define con una cadena de texto tras el comando call que contendrá el camino al fichero, el script llamador puede enviar parámetros al script llamado.<br />
Los parámetros han de pasarse entre parárentesis y separados por comas, solo es posible pasar literales, variables o parámetros, las expresiones complejas no están permitidas como parámetro. Si el parámetro pasado es una variable o un parámetro, las modificaciones que se realicen dentro del script llamado tendrán efecto en las variables del llamante.<br />
<br />
Dentro del script se referencia los parámetros como "$" seguido de un numero, de forma que "$1" seria el primer parámetro pasado, "$2" el segundo, no existe limitación en cuanto a el número de parámetros.<br />
<br />
Hay que tener precaución en tanto en cuanto no se hace ninguna comprobación del tipo de parámetro pasado, es decir si el script llamante pasa un numero 1 y el script llamado esperaba un texto no se emitirá error hasta el momento de usar el parámetro, pudiendo darse el caso de que no se emita error debido a que el contexto de uso permita el uso de distintos tipos de variables, aunque evidentemente funcionara mal.<br />
Tampoco se realiza una comprobación del numero de parámetros por lo que se podrá llamar a un script que esperase 3 parámetros sin ninguno, lo que emitirá un error en el script llamado.<br />
<br />
Este comando puede escribirse además de las siguientes maneras: @<br />
<br />
La definición BNF es:<br />
<br />
call "camino hasta el script" ["("lista de parametros separados por comas")"]</li>
<span style="font-size: 130%;"> </span>
<li><span style="font-size: 130%;"><u style="font-weight: bold;"><a href="http://laantiguafragua.blogspot.com.es/2008/08/explicacion-exhaustiva.html" name="igual">igualación</a></u></span><br />
<br />
Operador de igualación, colocamos una variable de cualquier tipo seguida de símbolo "=" y de una expresión del mismo tipo que la variable/parametro y esta toma el valor dado por la expresión.<br />
<br />
La definición BNF es:<br />
<br />
(variable | parametro) = expresión</li>
<span style="font-size: 130%;"> </span>
<li><span style="font-size: 130%;"><u style="font-weight: bold;"><a href="http://laantiguafragua.blogspot.com.es/2008/08/explicacion-exhaustiva.html" name="prod2">declaración de variables</a></u></span><br />
<br />
Las variables tienen un nombre y un valor, el nombre a de comenzar por "_" o letras y a de ir seguido por una o mas letras, dígitos y "_"<br />
La declaración de variables se ha de realizar obligatoriamente al principio del script. Los distintos tipos de variables son los siguientes:<br />
<br />
<ul>
<li> Number: son aquellas variables que pueden tomar valores numéricos de tipo entero, superiores a 0. Ejemplo:<br />
<br />
<pre>Number a=1, b=2
Number c = a + b
</pre>
</li>
<li> String: son variables que pueden tomar valores de tipo textual encerradas entre ". Ejemplo:<br />
<br />
<pre>String nombre_vendedor = "marlon";
String comprar = nombre_vendedor + " buy";
</pre>
</li>
<li> Location: son variables que toman posiciones de pantallas, representadas en dos coordenadas X e Y, encerradas entre [] y separados por comas. Ejemplo:<br />
<br />
<pre>Location localizacion_mochila = [100, 100];
</pre>
</li>
<li> Macrokey: son variables que pueden tomar valores entre una y cuatro teclas, donde cada una de las teclas se han de encerrar entre ' y para aumentar el numero de teclas representadas en una macrokey han de ser sumadas, un ejemplo de declaración:<br />
<br />
<pre>Macrokey pulsar_f1_y_f2 = 'f1' + 'f2'
</pre>
Puesto que salvo las teclas simples (números y letras) las demás se representan por una cadena de texto es especialmente y recomendable usar las facilidades de inicialización de Sindarin</li>
<li> Color: representa un color de pantalla, el color debe especificarse en formato RGB, donde cada una de las componentes han de estar encerradas entre [] y separadas por comas. Un par ejemplos de declaración e inicialización son:<br />
<br />
<pre>Color rojo = [255, 0, 0];
Color color_mochila = color localizacion_mochila;
</pre>
<pre></pre>
</li>
</ul>
La definición BNF es:<br />
<br />
( number | string | location | macrokey | color ) nombre_var1 [ "=" <a href="http://laantiguafragua.blogspot.com.es/2008/08/explicacion-exhaustiva.html#prod6">expresión de inicialización</a> ]] {"," nombre_varN [ "=" <a href="http://laantiguafragua.blogspot.com.es/2008/08/explicacion-exhaustiva.html#prod6">expresión de inicialización</a> ]]} [";"]<br />
</li>
<li><span style="font-size: 130%;"><u style="font-weight: bold;"><a href="http://laantiguafragua.blogspot.com.es/2008/08/explicacion-exhaustiva.html" name="prod6">Expresiones aritméticas y booleanas</a></u></span><br />
<br />
Sumas, restas...<br /><b>
Operadores Aritméticos:</b><br />
<br />
<ul>
<li>"+": Suma dos operadores: Es posible sumar cualquier variable con cualquier variable, siempre que sean del mismo tipo, salvo las variables de tipo String que al ser sumadas con cualquier otra producen un resultado de tipo String.<br />
Las variables de tipo Location, y color al ser sumadas se suman como si se sumaran elemento a elemento cada una de sus componente, es decir la Location [100, 100] + [50,50] crearían una Location [150,150].<br />
Al sumar colores si el rango de cualquier suma sobrepasa el 255, que es el máximo rojo o verde o azul, es decir si sumamos [255, 255, 255] + [1 ,1 ,1], esto sobrepasaría el limite máximo, así que se redondea a [255, 255, 255].<br />
Las variables tipo Macrokey generan una Macrokey tal que al pulsarla seria como pulsar las dos sumadas a la vez: ejemplo:<br />
<br />
<pre>Macrokey a = 'a'; a = a + 'F1'; pkey a;</pre>
<br />
Esto generaria una pulsación de 'a' y 'F1' a la vez.<br />
</li>
<li>"-": Resta dos operadores: También es posible restar cualquier variable con cualquier otra del mismo tipo, excepto las de tipo String, esas no es posible restarlas con nada.<br />
Igualmente tanto Locations como Colors se restan componente a componente.<br />
Si una componente de un Color al restar llegase a un numero negativo: [0,0,0] - [1,1,1], el resultado se redondearía a [0,0,0].<br />
Las variables de tipo Macrokey al restar una a otra genera una macrokey como el primer operador pero sin la/s teclas del segundo, en caso de que la/s teclas del segundo no existiesen en el primer operando no se hace nada:<br />
<br />
<pre>Macrokey a = 'F1'+'F2';
Macrokey b = a -'F2';
Macrokey c = a -'F3';
key a
key b
key c
</pre>
<br />
Al pulsar a se pulsarían simultaneamente la tecla 'F1' y 'F2', al pulsar b se pulsaría solo 'F1' y al pulsar c se pulsaría de nuevo 'F1' y 'F2' <br />
<br />
</li>
<li>"*": Multiplica dos operadores, solo es posible multiplicar Números con Números.</li>
<li>"%": Calcula el modulo de dos operandos, solo es posible calcular el modulo de dos números.</li>
</ul>
<br />
Es posible realizar operaciones del tipo:<br />
<br />
<pre>Number a = 1 + 2 * 3 + 8 * (15 + 1)/2
Number b = (1 + 2)*((a + 8)*(15 + 1)/sindarin_version)
String c = "hola " + Manolito + 15
Location d = [100, 100] - [25,25] + [10,10]
</pre>
<br />
Nótese que en a se calcularía 1 + (2 * 3) + (8 * (15 + 1)/2) dado que el orden de precedencia de los operadores *, / y % son los esperados.<br />
Y como podemos ver en b se pueden usar variables predefinidas en los cálculos.</li>
<ol><br /></ol>
<b>
Evaluación de condiciones:</b><br />
<br />
Operadores relacionales:<br />
<br />
<ul>
<li> "<" operador "menor que", devuelve true si la expresion inmediatamente anterior es menor que la siguiente a el. </li>
<li> ">" operador "mayor que", devuelve true si la expresión inmediatamente anterior es mayor que la siguiente a el.<br />
</li>
<li> "<=" operador "menor o igual que", devuelve true si la expresion inmediatamente anterior es menor o igual que la siguiente a el, tambi puede escribirse como "=<". </li>
<li> ">=" operador "mayor o igual que", devuelve true si la expresión inmediatamente anterior es mayor o igual que la siguiente a el, también puede escribirse como "=>".<br />
</li>
</ul>
<br />
Estos operadores solo pueden evaluar expresiones numérica, cualquier otro tipo de expresión emitirán error.<br />
<br />
Sin embargo existen las dos siguiente expresiones:<br />
<br />
<ul><a href="http://laantiguafragua.blogspot.com.es/2008/08/explicacion-exhaustiva.html"> </a>
<li> "=" operador "igual que",devuelve true si la expresión colocada antes del "=" es igual a la colocada después, también puede escribirse de la siguiente manera: "==".<br />
</li>
<li> "!=" operador "distinto de", devuelve true si la expresión colocada antes del "!=" es distinta a la colocada después, también puede escribirse de la siguiente manera: "<>".<br />
</li>
</ul>
<br />
Estos dos operadores pueden aplicarse a cualquier tipo de expresión.<br />
<br />
Existen también operadores booleanos que permiten relacionar varias expresiones entre si:<br />
<br />
<ul><a href="http://laantiguafragua.blogspot.com.es/2008/08/explicacion-exhaustiva.html"> </a>
<li> "&" operador "Y", devuelve true si las expresiones colocada a ambos lados son verdaderas(distintas de 0) y devuelve false en el caso de que alguna de las dos fuese falsa. Puede escribirse "&&" y "and"<br />
</li>
<li> "|" operador "O", devuelve true si alguna de las expresiones colocada a ambos lados es verdadera(distintas de 0) y devuelve false en el caso de que ambas sean falsas. Puede escribirse "||" y "or"<br />
</li>
</ul>
<a href="http://laantiguafragua.blogspot.com.es/2008/08/explicacion-exhaustiva.html"><span style="font-size: 130%;"><br />
</span> </a>
<li><span style="font-size: 130%;"><a href="http://laantiguafragua.blogspot.com.es/2008/08/explicacion-exhaustiva.html" name="Miscelanea" style="font-weight: bold;"><u>Miscelánea</u></a></span><br />
<br />
<br />
<ul>
<li> Comentarios: los comentarios han de comenzar por el carácter #, el resto de la linea sera ignorado por Sindarin</li>
<li> isnativemode: Puede usarse dentro de una expresión, devuelve true si esta funcionando correctamente el modo nativo, ejemplo: <br />
<pre>if (isnativemode == false) print "A ocurrido algún error con la ventana de Ultima". También puede escribirse isnatmode.</pre>
</li>
<li><u><span style="color: red;"> Color</span>: Además de usarse para definir el tipo Color también sirve para saber que color una localización precisa</u>, ejemplo: <br /><br />
<pre>if (color loc1 != [1,1,1]) say "a cambiado el color"</pre>
<br />
<pre style="color: maroon;">Con la ventana minimizada no funciona, ni siquiera
en modo nativo,es necesario que el punto a evaluar
este en primer plano.</pre>
</li>
<li><u> Component</u>: se usa para poder diferenciar cada uno de los componentes básicos de colores o localizaciones, ejemplo:<br /><br />
<pre>Location barra_vida = [358, 325];
Color c = Color barra_vida;
Number verde = component 2 c
while (verde < 125) {
c = Color barra_vida
verde = component 2 c
print "No estamos muy verdes"
}
print "SuperVerdes"</pre>
<br />
</li>
<li> true: es una variable predefinida con el valor 1, para facilitar el uso en comandos de evaluación, ejemplo: <br />
<pre>while (true) say "Siempre se ejecuta..."</pre>
</li>
<li> false: es una variable predefinida con el valor 0, para facilitar el uso en comandos de evaluación, ejemplo: <br />
<pre>if (false) print "nunca llega" </pre>
</li>
<li> sindarin_version: variable predefinida de tipo Number, que contiene el numero de la versión de Sindarin corriendo en el momento, ejemplo:</li>
<pre>if sindarin_version < 1 print "Esta version no es definitiva"</pre>
<li>sindarin_revision: variable predefinida con la revisión del sindarin en que esta corriendo, ejemplo: <br />
<pre>if (sindarin_revision != 0) say "Usando una versión beta de Sindarin"</pre>
</li>
</ul>
<pre style="color: #c00000;">Las variables predefinidas no pueden ser modificas,
ante cualquier intento se emitirá un error</pre>
</li>
</ol>Lhrodhttp://www.blogger.com/profile/00250667544237961052noreply@blogger.com9tag:blogger.com,1999:blog-4292576568935228595.post-4827862169858969502008-08-26T23:21:00.001+01:002012-04-26T13:02:33.970+01:00Tutorial para muy novatosOtro texto que escribí hace tiempo en relación a Sindarin, esta vez es un tutorial, muy simple:<br />
<br />
<div style="font-style: italic; font-weight: bold; text-align: center;">
<span style="font-size: 180%;"><span style="font-size: 130%;">Tutorial para muy novatos...</span><b style="font-style: normal; text-align: -webkit-auto;">(Revisado)</b>
</span></div>
<br />
Vamos a aprender a hacer scripts, muy, muy sencillos...<br />
<br />
<span style="font-size: 130%; font-style: italic; font-weight: bold;">click</span>:<br />
<br />
Este comando sirve para que se haga un click con el ráton en un punto de pantalla, para usarlo basta con poner <i>"click"</i> seguido de <i>"left"</i> (izquierdo en ingles) si quieres que use el botón izquierdo del ratón o <i>"right"</i> (derecho en ingles) y después tienes que poner el punto donde quieres que se haga <i>"click"</i>. Por ejemplo:<br />
<br />
<pre>click left [100,100]
click right [500,500]
</pre>
<br />
Eso si, el punto tienes que escribirlo entre corchetes y separado por una coma [ , ] por que si no, no funcionara. Ya esta, eso es todo. Quizás tengas alguna duda de como averiguar el punto en el que quieres hacer click, para eso usa el botón capturar de la pestaña <i>"location"</i>:<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://1.bp.blogspot.com/-r8bq61tqa08/SLRsmGWPB8I/AAAAAAAAB7Q/Tnu9gJfIoHk/s1600/location.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="46" src="http://1.bp.blogspot.com/-r8bq61tqa08/SLRsmGWPB8I/AAAAAAAAB7Q/Tnu9gJfIoHk/s320/location.jpg" width="320" /></a></div>
<br />
Si pulsas en <i>"Capturar"</i> y luego donde quieres que se haga click saldrán los números en donde pone X e Y. ¿Fácil verdad?<br />
<br />
<span style="font-size: 130%;"><span style="font-style: italic; font-weight: bold;">dclick</span></span>:<br />
<br />
Supongamos que queremos hacer un doble click con el ratón(pulsar dos veces muy rápido) para ello usamos este comando, que funciona igual que el anterior, escribes <i>"dclick"</i> seguido de <i>"left"</i> si quieres que el click se haga con el botón izquierdo o <i>"right"</i> si quieres que se haga con el derecho y luego pones el punto donde quieres que se haga, por ejemplo:<br />
<br />
<pre>dclick left [25, 25]
dclick right [25, 25]
</pre>
<br />
para ver el punto usa el botón capturar de la pestaña Location, como en click.<br />
<br />
<span style="font-size: 130%;"><span style="font-style: italic; font-weight: bold;">wait (esperar...)</span></span><br />
<br />
¿Necesitas que el programa se pare un poco entre comando y comando? Para ello usa el comando <i>"wait"</i>, escribes <i>"wait"</i> seguido de un numero de segundos que quieres que Sindarin se pare y ya esta por ejemplo:<br />
<br />
<pre>wait 30</pre>
<br />
También puede hacer que se pare un numero de minutos:<br />
<br />
<pre>wait 1 min
wait 15 min
</pre>
<br />
<span style="font-size: 130%;">
<span style="font-style: italic; font-weight: bold;">pushkey (pulsar tecla)</span></span><br />
<br />
Para que se pulse una tecla, para por ejemplo usar una macro, para ello escribimos "<span style="font-style: italic;">pushkey</span>"(pulsar tecla en ingles) seguido de la tecla entre comillas simples 'tecla' por ejemplo:<br />
<br />
<pre>pushkey 'a'
pushkey '1'
pushkey 'F1'
pushkey 'F12'
</pre>
<br />
Aquí vemos como pulsamos la tecla <i>"a"</i>, el <i>"1"</i>, la tecla de función <i>"F1"</i> y la <i>"F12"</i>.<br />
<br />
Este comando es un poco largo de escribir, pero se puede escribir de varias formas, aunque hacen lo mismo:<br />
<br />
<pre>pkey 'f5'
pkey 'b'
key 'C'
key '3'</pre>
<pre></pre>
Aquí hemos pulsado la tecla de función <i>"F5",</i> luego la <i>"b",</i> luego la <i>"c"</i> y por ultimo el <i>"3"</i>, se puede escribir de cualquiera de esas formas y hará lo mismo.<br />
<br />
<span style="font-size: 130%; font-style: italic; font-weight: bold;">drag (arrastrar)</span><br />
<br />
¿Que pasa si queremos mover objetos de un sitio a otro?, tenemos el comando <span style="font-style: italic;">"drag"</span>, que sirve para mover objetos. Funciona escribiendo "<span style="font-style: italic;">drag</span>" seguido de un numero, que sera el numero de objetos que vamos a mover, luego un punto donde estarán los objetos al principio y luego un punto donde queremos que deje los objetos, por ejemplo:<br />
<br />
<pre>drag 1 [100,100] [25,25]
drag 12 objects [103,10] [205,25]
drag 25 [3,3] [2,2]
</pre>
<br />
Primero movemos un objeto desde el punto [100,100] hasta el [25,25], luego movemos doce objetos desde el [103, 10] hasta el [205, 25], la palabra <i>"objects" </i>solo sirve para que sea mas fácilmente comprensible, <b>no es realmente necesaria</b>, y finalmente movemos veinticinco objetos desde [3,3] hasta [2,2].<br />
<br />
Los puntos los podemos averiguar como hacíamos en el comando "<span style="font-style: italic;">click</span>".<br />
<span style="font-size: 130%;"><br />
<span style="font-style: italic; font-weight: bold;">repeat (repetir)</span></span><br />
<br />
Supongamos que queremos hacer una macro que pulse cuatro veces la tecla <i>"F12"</i> y haga una pausa de un segundo, por ejemplo:<br />
<br />
<pre>pushkey 'F12'
wait 1
pushkey 'F12'
wait 1
pushkey 'F12'
wait 1
pushkey 'F12'
wait 1</pre>
<br />
Esto lo haría, pero... ¿no hay una forma de hacer que sindarin repita eso 4 veces sin que yo tenga que escribir cuatro veces lo mismo? Si para eso es el "<span style="font-style: italic;">repeat</span>", funciona poniendo "<span style="font-style: italic;">repeat</span>" seguido del numero de veces que quieres que se repita algo, luego el signo <i>"{",</i> luego los comandos que quieres que se repitan y terminas con otro símbolo <i>"}"</i>, el ejemplo anterior nos quedaría así:<br />
<br />
<pre>repeat 4
{
pushkey 'F12'
wait 1
}
</pre>
<br />
Ya esta, no es muy complicado...<br />
<br />
<b>"Bufff pero eso del símbolo { y el símbolo } es un poco feo... ¿no?"</b><br />
<br />
También puedes sustituir <i>"{"</i>, <i>"}"</i> con <i>"begin"</i> y <i>"end"</i>, así:<br />
<br />
<pre>repeat 4
begin
pushkey 'F12'
wait 1
end
</pre>
<br />
Cualquiera de las dos formas de escribirlo funcionara.<br />
<br />
<span style="font-size: 130%; font-style: italic; font-weight: bold;">while (mientras)</span><br />
<br />
<b>"Vaya parece que solamente me ejecuta el script una sola vez, si escribo:"</b><br />
<br />
<pre>pkey 'F1'
wait 1
</pre>
<br />
<b>"Solo me pulsa 'F1' una vez y se detiene...¿Como puedo hacer que el script se repita muchas veces?"</b><br />
<br />
La solución es usar "<span style="font-style: italic;">while</span>" o "<span style="font-style: italic;">repeat</span>" podrías poner un "<span style="font-style: italic;">repeat</span>" muy grande:<br />
<br />
<pre>repeat 40000
{
pkey 'F1'
wait 1
}
</pre>
<br />
es decir, pones todo lo que quieres que se repita dentro de un <span style="font-style: italic;">"repeat"</span> muy grande, en este caso se repetiría cuarenta mil veces, pero otra solución mucho mas elegante es:<br />
<br />
<pre>while true
{
pkey 'f1'
wait 1
}
</pre>
<br />
<i>"While"</i> sirve para repetir muchas veces unos comandos pero que en vez de repetirse un numero de veces se repite mientras se cumpla la condición escrita tras el. En el ejemplo como la condición de <i>"while" </i>es<i> "true" </i>(que significa que siempre es verdad), este código se repetiría para siempre, <b>¡¡Seria infinito!!</b><br />
<b><br /></b><br />
Teóricamente "<span style="font-style: italic;">while</span>" no terminaría nunca, mientras que <i>"repeat"</i> se repite una serie de veces, pero en la practica es difícil que llegue a repetirse cuarenta mil veces, pero... nunca se sabe, además el <i>"while"</i> es mas elegante.<br />
<br />
<span style="font-size: 130%; font-weight: bold;">Pero... ¿como parar ese código infinito?</span><br />
<br />
Bueno hay comandos que permiten detener el script:<br />
<ul>
<li><i>"Break"</i>: Dentro del <i>"while"</i> haria que este terminara y por lo tanto el script.</li>
<li><i>"exit"</i>: En cualquier parte del script para totalmente el script.<br />
</li>
</ul>
En la ventana de Sindarin existen dos formas de parar cualquier código, pulsando el botón naranja de <i>"Stop":</i><br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://1.bp.blogspot.com/-nUJlIvLWPZs/T5k0DHVtKfI/AAAAAAAAFmU/TTdaDceCBL0/s1600/stop.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://1.bp.blogspot.com/-nUJlIvLWPZs/T5k0DHVtKfI/AAAAAAAAFmU/TTdaDceCBL0/s1600/stop.png" /></a></div>
<br />
O manteniendo pulsado un tiempo (un segundo suele ser suficiente) la tecla <i>"Pause/Break"</i>:<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://4.bp.blogspot.com/-zK0neA6LBUE/T5k0SRWaTMI/AAAAAAAAFmc/neImswPO3jA/s1600/run.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://4.bp.blogspot.com/-zK0neA6LBUE/T5k0SRWaTMI/AAAAAAAAFmc/neImswPO3jA/s1600/run.png" /></a></div>
<br />
Esto ultimo solo funciona en Windows.<br />
<br />
Bueno... Con esto ya podrías escribir tus propios scripts de forma sencilla, ahora si quieres profundizar y hacer cosas mas complicadas puede que te sean útiles estos dos post:<br />
<br />
<br />
<ol>
<li><a href="http://laantiguafragua.blogspot.com.es/2008/08/explicacion-exhaustiva.html"><b>Una explicación de todos los comandos de Sindarin.</b></a></li>
<li><a href="http://laantiguafragua.blogspot.com.es/2008/09/algunas-macros-utiles-en-sindarin.html"><b>Algunas macros que me eran útiles en mis tiempos...</b></a></li>
</ol>Lhrodhttp://www.blogger.com/profile/00250667544237961052noreply@blogger.com0tag:blogger.com,1999:blog-4292576568935228595.post-3398502570934952162008-08-26T17:23:00.001+01:002010-04-18T14:59:50.245+01:00Sobre la ventana de Sindarin...<span style="font-family: 'lucida grande'; font-size: 100%;">Sigo rescatando y reeditando viejos textos escritos sobre sindarin, esta vez sobre la ventana. Lamentablemente lo de capturar locations usando la ventana o capturar el color no funcionan correctamente en linux, pero los comandos para clickear y capturar colores si funcionan tanto en linux como en windows.<br />
</span><span style="font-family: 'lucida grande'; font-size: 100%;"><br />
</span><br />
<div style="font-family: lucida grande; text-align: center;"><span style="font-size: 130%; font-style: italic; font-weight: bold;">La ventana de </span><span style="font-size: 100%;"><span style="font-size: 130%; font-style: italic; font-weight: bold;">Sindarin.</span><br />
</span></div><span style="font-family: 'lucida grande'; font-size: 100%;"><br />
</span><span style="font-family: 'lucida grande'; font-size: 100%;">Vamos a explicar un poco como usar la ventana del Sindarin:<br />
<br />
<a href="http://2.bp.blogspot.com/_xR5y6WIVVbA/SLRsQ_esdJI/AAAAAAAAB7I/i4mlk2dS1mo/s1600-h/Sindarin+GUI.JPG" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"><img alt="" border="0" id="BLOGGER_PHOTO_ID_5238931305712612498" src="http://2.bp.blogspot.com/_xR5y6WIVVbA/SLRsQ_esdJI/AAAAAAAAB7I/i4mlk2dS1mo/s400/Sindarin+GUI.JPG" style="cursor: pointer; display: block; margin: 0px auto 10px; text-align: center;" /></a><br />
</span><span style="font-family: 'lucida grande'; font-size: 100%;">Las opciones de la pestaña "Control", rodeada por un recuadro verde, sirven para unir a Sindarin con una ejecución de Uo, los elementos de esta pestaña son:<br />
</span><br />
<ul style="font-family: lucida grande;"><li><span style="font-size: 100%;">La casilla "<span style="font-style: italic;">Modo nativo</span>": esta casilla sirve para activar o desactivar el modo nativo, si desactivas esta opción, el Sindarin funcionara como el Autopilot, es decir que no te dejara usar el ordenador mientras macrea, aunque no lo parezca esto puede ser muy útil para ciertas scripts complicadas, porque hay algunos comandos que no funcionan muy bien en modo nativo. Por otra parte si el modo nativo esta funcionando, al capturar las localizaciones con el Sindarin, solo te cogeran puntos que estén dentro de la ventana de Uo y además el punto [0, 0] sera la esquina sup</span><span style="font-size: 100%;">erior izquierda de la ventana de Ultima. Como dije antes si desactivas esta opción Sindarin tomara el control del ratón y el teclado, pero además al capturar una localización de pantalla sera con respecto a toda </span><span style="font-size: 100%;">la ventana de </span><span style="font-size: 100%;">windows y no solo a la de Ultima, de echo podrías hacer una script que hiciese cosas en windows en lugar de en Ultima y el punto [0, 0] seria la esquina superior izquierda de la pantalla de windows.</span></li>
<li><span style="font-size: 100%;">La lista desplegable: Suponiendo que Sindarin este funcionando en modo nativo y hubiese detectado la ventana de ultima, aquí sale el nombre de la ventana de ultima sobre la que Sindarin esta funcionando, en teoría detecta todas las que haya y en esa lista puedes elegir cual de todos los Ultimas quieres usar, en la practica yo nunca e usado mas de un Ultima, además el Cliente no te permite abrir mas de una, pero... hay esta la opción.</span></li>
<li><span style="font-size: 100%;">Botón "<span style="font-style: italic;">Buscar Uo</span>": Si Sindarin no detecta la ventana de Ult</span><span style="font-size: 100%;">ima es probable que sea por que has abierto el Sindarin antes que la ventana de Ultima, bueno eso se arregla simplemente pulsando este botón, Sindarin intentara buscar la/s ventana/s de Ultima que estén activas y supondrá que la que quieres usar es la primera que encuentre.<br />
</span></li>
</ul><span style="font-family: 'lucida grande'; font-size: 100%;">Rodeado de un recuadro azul, están los botones típicos de Guardar, Cargar y también hay dos botones de Run(para que ponga a funcionar la macro) y un botón de Stop(para que pare la macro), que estará desactivado hasta que pulses Run. En principio un scri</span><span style="font-family: 'lucida grande'; font-size: 100%;">pt(una</span><span style="font-family: 'lucida grande'; font-size: 100%;"> macro) se puede parar por 4 motivos:<br />
</span><br />
<ul><li><span style="font-family: 'lucida grande'; font-size: 100%;">Pulsar el botón "<span style="font-style: italic;">Stop</span>"</span></li>
<li><span style="font-family: 'lucida grande'; font-size: 100%;">Mantener pulsada la tecla "Pause/Break" del teclado durante un pequeño tiempo, lamentablemente esto solo esta disponible en windows.<br />
</span></li>
<li><span style="font-family: 'lucida grande'; font-size: 100%;">Por que se llega al final del script(esta diferencia es importante) , ya que al contrario que otros programas del mismo estilo al llegar al final del script</span></li>
<li><span style="font-family: 'lucida grande'; font-size: 100%;">Encuentra el comando "<span style="font-style: italic;">exit</span>", que termina la ejecución.</span></li>
</ul><span style="font-family: 'lucida grande'; font-size: 100%;">El cuadro de texto central es donde se introducen el código(algo evidente), justo debajo hay una etiqueta que en la imagen pone 3, ese es el numero de linea donde tienes el cursor del teclado. La parte gris de abajo donde pone "Print: Aquí salen los mensajes..." esa es lo que e llamado la consola de mensajes, esta parte es importante por que si nos equivocamos al escribir algún comand</span><span style="font-family: 'lucida grande'; font-size: 100%;">o, el mensaje de aviso nos saldrá aquí. También saldrán los mensajes que pongas en el co</span><span style="font-family: 'lucida grande'; font-size: 100%;">mando "<span style="font-style: italic;">print</span>".<br />
<br />
</span><span style="font-family: 'lucida grande'; font-size: 100%;">Y ahora una parte importantísima de la ventana que son las pestañas rodeadas de rojo, estas sirven para ayudarte a definir y inicializar variables, es decir que sirven para que pongas locations, macros, colores, etc... pero de una forma correcta y ayudan a averiguar por ejemplo que coordenadas tiene tal o tal punto, son las siguientes:<br />
</span><span style="font-family: 'lucida grande'; font-size: 100%;"><span style="font-size: 130%;"><br />
Pestaña "Location":<br />
<br />
</span><a href="http://2.bp.blogspot.com/_xR5y6WIVVbA/SLRsmGWPB8I/AAAAAAAAB7Q/RUa7x4XjYCs/s1600-h/location.jpg" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"><img alt="" border="0" id="BLOGGER_PHOTO_ID_5238931668333430722" src="http://2.bp.blogspot.com/_xR5y6WIVVbA/SLRsmGWPB8I/AAAAAAAAB7Q/RUa7x4XjYCs/s400/location.jpg" style="cursor: pointer; display: block; margin: 0px auto 10px; text-align: center;" /></a><br />
</span><span style="font-family: 'lucida grande'; font-size: 100%;">Aquí podemos ver varios componentes, los dos primeros son iguales para todos los tipos de variables, que son:</span><br />
<ul style="font-family: lucida grande;"><li><span style="font-size: 100%;"> Botón con la flecha hacia abajo: Esto significa que</span><span style="font-size: 100%;"> la variable esta lista y quieres que se pegue en el código, al pulsarlo la variable "bajara" y se pegara al principio del código del script, si tiene algún valor este se pegara como valor inicial de la variable. No hay limite en el numero de variables que uses, puedes usar 0, 100 o 1000, lo único que limita el numero de variables es la cantidad de memoria que tenga tu ordenador.</span></li>
<li><span style="font-size: 100%;"> Nombre: este sera el nombre que tendrá la variable, es decir si por ejemplo quieres poner un location que haga click sobre tu mochila pues lo normal seria que esa location se llamase "mochila" de forma que cuando mandes a sindarin a hacer un click con el </span><span style="font-size: 100%;">botón izquierdo sobre la mochila pondrías:<br />
<br />
</span><br />
<pre><span style="font-size: 100%;">click left mochila</span></pre><span style="font-size: 100%;"><br />
<br />
<span style="font-family: 'lucida grande'; font-size: 100%;"> Aunque el GUI te permitirá poner casi cualquier nombre, Sindarin solo acepta como nombres aquellos que tengan letras o números o subrayados "_", el resto de nombres dará error y los nombre nunca deben empezar por un numero, ejemplo de nombre correctos:<br />
</span></span><br />
<ul style="font-family: lucida grande;"><span style="font-size: 100%;">
<li><span style="font-size: 100%;"> mochila_uno</span></li>
<li><span style="font-size: 100%;"> _mochila</span></li>
<li><span style="font-size: 100%;"> monton_de_regs_1<br />
</span></li>
</span></ul><span style="font-size: 100%;"><span style="font-family: 'lucida grande'; font-size: 100%;"> ejemplos de nombre <span style="font-weight: bold;">incorrectos</span>:</span></span><br />
<ul style="font-family: lucida grande;"><span style="font-size: 100%;">
<li><span style="font-size: 100%;"> 1000_nightshades</span></li>
<li><span style="font-size: 100%;"> dirección de email</span></li>
<li><span style="font-size: 100%;"> baúl!</span></li>
</span></ul><span style="font-size: 100%;"><span style="font-family: 'lucida grande'; font-size: 100%;">Por defecto las localizaciones se llaman "loc" seguidas de un numero, pero como ya e dicho lo normal es cambiar ese nombre por uno mas razonable.<br />
<br />
</span><span style="font-family: 'lucida grande'; font-size: 100%;"> Por cierto existen unas variables especiales que las pone Sindarin desde un principio, ninguna otra variable puede llamarse así y tampoco pueden modificarse, de momento son estas:</span></span><br />
<ul style="font-family: lucida grande;"><span style="font-size: 100%;">
<li><span style="font-size: 100%;">sindarin_version</span></li>
<li><span style="font-size: 100%;">sindarin_revision</span></li>
<li><span style="font-size: 100%;">true</span></li>
<li><span style="font-size: 100%;"> false</span></li>
</span></ul><span style="font-size: 100%;"><span style="font-family: 'lucida grande'; font-size: 100%;"> Los campos "<span style="font-style: italic;">X"</span> e "<span style="font-style: italic;">Y</span>": aquí se ponen las coordenadas del punto al que haces referencia.</span><span style="font-family: 'lucida grande'; font-size: 100%;"><br />
<br />
Botón "<span style="font-style: italic;">Capturar</span>": este botón es importante, sirve para saber que coordenadas tiene un punto de pantalla, es decir el punto de la location. Al pulsarlo se quedara esperando hasta que pinches en un punto de la pantalla con el botón izquierdo del ratón, e inmediatamente en la casilla </span><span style="font-family: 'lucida grande'; font-size: 100%;">"<span style="font-style: italic;">X"</span> e "<span style="font-style: italic;">Y</span>"</span><span style="font-family: 'lucida grande'; font-size: 100%;"> aparecerán las coordenadas de ese punto, con lo que no tienes que calcular o copiarlas, simplemente inicializas el location haciendo click en un punto y listo.</span><span style="font-family: 'lucida grande'; font-size: 100%;"><br />
<br />
Este botón funciona de 2 formas distintas, si el Sindarin esta funcionando sobre una ventana de Ultima y el modo nativo esta activado, entonces el botón devuelve las coordenadas del punto respecto de la ventana de Ultima exclusivamente, es decir si haces click en la parte mas a la izquierda y arriba de Ultima saldría [0, 0], si hace click fuera de la ventana de Ultima las coordenadas que te salen </span><span style="font-family: 'lucida grande'; font-size: 100%;">son [-1, -1] que serian unas coordenadas incorrectas. El otro modo de funcionamiento es cuando Sindarin <span style="font-weight: bold;">no</span> a detectado la ventana de Ultima o cuando has desactivado la casilla de "<span style="font-style: italic;">Modo Nativo</span>" con lo que "<span style="font-style: italic;">Capturar</span>" te devolvería las coordenadas respecto de todo windows, esto es útil para hacer algunas scripts complejas, que por desgracia no te permitirían usar el ordenador mientras macreas, aunque te permitiría hacer scripts que hicieran cosas en windows, como intentar volver a arrancar el Ultima si se apaga solo( ^^ si tengo tiempo haré esta script, seria usando el comando "<span style="font-style: italic;">isnativemode</span>" en un comando "<span style="font-style: italic;">if</span>").</span><span style="font-family: 'lucida grande'; font-size: 100%;"><br />
<br />
Botón "<span style="font-style: italic;">Capturar loc y color</span>": funciona igual que</span><span style="font-family: 'lucida grande'; font-size: 100%;"> "<span style="font-style: italic;">Capturar</span>", solo que además en la pestaña de "<span style="font-style: italic;">Color</span>" aparecerá el color del punto en que has pinchado, es decir capturas la posición y el color de un punto de pantalla.</span><span style="font-family: 'lucida grande'; font-size: 100%;"><br />
<br />
<span style="font-size: 130%;">Pestaña "Color":</span><br />
<br />
</span><span style="font-family: 'lucida grande'; font-size: 100%;"><a href="http://3.bp.blogspot.com/_xR5y6WIVVbA/SLRsrVGj1hI/AAAAAAAAB7Y/1o051DMQoLQ/s1600-h/color.jpg" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"><img alt="" border="0" id="BLOGGER_PHOTO_ID_5238931758193563154" src="http://3.bp.blogspot.com/_xR5y6WIVVbA/SLRsrVGj1hI/AAAAAAAAB7Y/1o051DMQoLQ/s400/color.jpg" style="cursor: pointer; display: block; margin: 0px auto 10px; text-align: center;" /></a></span><span style="font-family: 'lucida grande'; font-size: 100%;">Sirve para inicializar colores, para por ejemplo saber si un punto de pantalla a cambiado de color o no, en la foto puedes ver:</span></span><br />
<ul style="font-family: lucida grande;"><span style="font-size: 100%;">
<li><span style="font-size: 100%;"> Botón flecha hacia abajo: Funciona igual que en Location</span></li>
<li><span style="font-size: 100%;"> Nombre: Igual que en Location</span></li>
<li><span style="font-size: 100%;"> R, G, B: Es donde se ponen los valores del color que quieres inicializar, pueden ser de 0 a 255, por ejemplo si quieres el color rojo tendrías que poner: "255 0 0", aunque no es aconsejable que lo pongas a mano</span></li>
<li><span style="font-size: 100%;"> Botón "<span style="font-style: italic;">Capturar</span>": Funciona como el capturar de Location, pero en vez de capturar la posición de pantalla sobre la que pinches capturaras el color.</span></li>
<li><span style="font-size: 100%;"> Botón "<span style="font-style: italic;">Captura desde loc</span>": Sirve para capturar el color de un punto que hayas metido en Location, por ejemplo: Supón que quieres saber si el color de tu cara es o no tu color normal(para por ejemplo saber si has muerto o no) y siempre pones la hoja de personaje(paperdoll="ALT"+"P") en el mismo punto y un punto de tu cara esta en el [500, 500] pero quieres saber cual es el color de ese punto en concreto, pues pones 500 500 en las casillas </span><span style="font-family: 'lucida grande'; font-size: 100%;">"<span style="font-style: italic;">X"</span> e "<span style="font-style: italic;">Y</span>"</span><span style="font-size: 100%;"> de location, vas a Color y pulsas en este botón y ya tendrías el color del punto [500, 500] que por ejemplo seria el de tu cara normal o el de tu cara de muerto ( OoOoooOooooOOoOoo )</span></li>
</span></ul><br />
<span style="font-size: 100%;"><span style="font-family: 'lucida grande'; font-size: 100%;"><span style="font-size: 130%;">Pestaña "Macrokey":<br />
<br />
</span></span><span style="font-family: 'lucida grande'; font-size: 100%;"><a href="http://3.bp.blogspot.com/_xR5y6WIVVbA/SLRszPkoFaI/AAAAAAAAB7g/e2vA2PDxxO4/s1600-h/macrokey.jpg" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"><img alt="" border="0" id="BLOGGER_PHOTO_ID_5238931894148011426" src="http://3.bp.blogspot.com/_xR5y6WIVVbA/SLRszPkoFaI/AAAAAAAAB7g/e2vA2PDxxO4/s400/macrokey.jpg" style="cursor: pointer; display: block; margin: 0px auto 10px; text-align: center;" /></a></span><span style="font-family: 'lucida grande'; font-size: 100%;">Sirve para usar macros de Ultima fácilmente, es decir para que Sindarin pulse 'F1' o 'a', en la foto se puede ver:</span></span><br />
<ul style="font-family: lucida grande;"><span style="font-size: 100%;">
<li><span style="font-size: 100%;"> Botón flecha hacia abajo: Funciona igual que en Location</span></li>
<li><span style="font-size: 100%;"> Nombre: Igual que en Location</span></li>
<li><span style="font-size: 100%;"> Tecla: Si pinchas aquí y pulsas una tecla aparecerá el nombre con que sindarin usa para pulsar esta tecla. En <span style="font-style: italic;">modo nativo</span> solo funcionan las teclas de números, las de letras, las de función ('F1', 'F2', ..., 'F12') y la tecla 'Introduzca'( es el nombre que Java, y por lo tanto Sindarin, le da al Enter ), aunque si pulsas cualquier otra también saldrá su nombre, pero luego en Sindarin no funcionara, en modo</span><span style="font-size: 100%;"> normal funcionan todas, pero claro no podrás usar el teclado</span></li>
<li><span style="font-size: 100%;"> Casillas "<span style="font-style: italic;">ALT</span>", "<span style="font-style: italic;">CTRL</span>" y "<span style="font-style: italic;">SHIFT</span>": Si las marcas harás que Sindarin pulse también estas teclas junto con la que hayas escrito. Por desgracia tampoco funcionan en modo Nativo.</span></li>
</span></ul><br />
<span style="font-size: 100%;"><span style="font-family: 'lucida grande'; font-size: 100%;"><span style="font-size: 130%;">Pestaña "Number":<br />
<br />
</span></span><span style="font-family: 'lucida grande'; font-size: 100%;"><a href="http://3.bp.blogspot.com/_xR5y6WIVVbA/SLRs6UKDIaI/AAAAAAAAB7o/F6GyhC7Qb1o/s1600-h/number.jpg" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"><img alt="" border="0" id="BLOGGER_PHOTO_ID_5238932015637799330" src="http://3.bp.blogspot.com/_xR5y6WIVVbA/SLRs6UKDIaI/AAAAAAAAB7o/F6GyhC7Qb1o/s400/number.jpg" style="cursor: pointer; display: block; margin: 0px auto 10px; text-align: center;" /></a><br />
</span><span style="font-family: 'lucida grande'; font-size: 100%;">Sirve para declarar e inicializar variables numéricas, solo pueden usarse números enteros y positivos, podemos ver en la foto:</span></span><br />
<ul style="font-family: lucida grande;"><span style="font-size: 100%;">
<li><span style="font-size: 100%;"> Botón flecha hacia abajo: Funciona igual que en Location</span></li>
<li><span style="font-size: 100%;">Nombre: Igual que en Location</span></li>
<li><span style="font-size: 100%;"> Valor: Aquí puedes poner el numero que a de valer al principio, por ejemplo: Supon que quieres hacer una script para separar minerales, pues puedes usar un Number para controlar el numero de minerales que vas a separar:</span></li>
</span></ul><pre>Location Minerales_apilados = [500, 500], minerales_no_apilados = [500, 510]
Number cantidad_de_minerales = 100
iodelay 100 msec # Obliga a hacer 1 pausa tras cada comando de ratón o teclado de 100 milisegundos
repeat cantidad_de_minerales
drag 1 objects minerales_apilados from minerales_no_apilados
# también se puede poner "drag 1 minerales_apilados minerales_no_apilados"
</pre><span style="font-size: 100%;"><span style="font-family: 'lucida grande'; font-size: 100%;"><br />
<span style="font-size: 130%;">Pestaña "String":<br />
<br />
</span></span><span style="font-family: 'lucida grande'; font-size: 100%;"><a href="http://1.bp.blogspot.com/_xR5y6WIVVbA/SLRs_LKqsCI/AAAAAAAAB7w/isSXtn1stAE/s1600-h/String.JPG" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"><img alt="" border="0" id="BLOGGER_PHOTO_ID_5238932099123818530" src="http://1.bp.blogspot.com/_xR5y6WIVVbA/SLRs_LKqsCI/AAAAAAAAB7w/isSXtn1stAE/s400/String.JPG" style="cursor: pointer; display: block; margin: 0px auto 10px; text-align: center;" /></a><br />
</span><span style="font-family: 'lucida grande'; font-size: 100%;">Sirve para escribir o hacer que el pj diga algo, podemos ver:</span></span><br />
<ul style="font-family: lucida grande;"><span style="font-size: 100%;">
<li><span style="font-size: 100%;"> Botón flecha hacia abajo: Funciona igual que en Location</span></li>
<li><span style="font-size: 100%;"> Nombre: Igual que en Location</span></li>
<li><span style="font-size: 100%;"> Valor: Escribes el texto que quieres que valga la variable</span></li>
</span></ul><span style="font-size: 100%;"><span style="font-family: 'lucida grande'; font-size: 100%;">Un ejemplo de uso de esto puede ser por ejemplo para hacer que tu pj diga si esta hambriento o no:</span><br />
</span><br />
<span style="font-size: 100%;"><pre>String comando_del_hambre = ".hungry";
say comando_del_hambre # evidentemente también se puede usar directamente la cadena
say ".hungry"
</pre></span><span style="font-size: 100%;"><br />
</span><span style="font-family: 'lucida grande'; font-size: 100%;">una utilidad de esto puede ser la de componer cadenas, por ejemplo:</span><br />
<br />
<pre># Vamos a hacer que el pj se despida de un vendor y luego le pida el inventario
String nombre_vendedor = "Marlon"
say "bye"
say nombre_vendedor + " buy"</pre><span style="font-family: 'lucida grande'; font-size: 100%;"><br />
</span><span style="font-family: 'lucida grande'; font-size: 100%;">Nuestro personaje dirá "bye" y luego "marlon buy", lo cual puede ser muy útil<br />
<br />
</span><span style="font-family: 'lucida grande'; font-size: 100%;">Esto también se puede combinar con el comando "<span style="font-style: italic;">call</span>" y los parametros ( $1, $2, ... ) podemos obtener una bonita script para comprar regs.<br />
<br />
</span><span style="font-family: 'lucida grande'; font-size: 100%;">Bueno y aunque no lo e explicado, en el menú comandos, solo hay un comando, es el comando "<span style="font-style: italic;">call</span>" que sirve para que se ejecute un script dentro de otro, pero hay que decirle que script quieres que se ejecute, para ello hay que escribir la ruta y el nombre del script que quieres que se ejecute, como eso puede ser una pesadez en este menú te ayudara a elegir el script que quieres que se ejecute. Al pulsarlo te saldrá una ventana típica de abrir fichero, donde deberás seleccionar el fichero del script que quieres llamar y al aceptar, al final del código se pegar un comando "<span style="font-style: italic;">call</span>" seguido del nombre del fichero entre ".<br />
<br />
</span><span style="font-family: 'lucida grande'; font-size: 100%;">Este comando es útil para hacer scripts complejas, por ejemplo podrías hacer un script que mirase si estas bajo de vida y si lo estas que hiciese doble-click sobre una poti de Health y luego llamarla desde una script para macrear Swordmanship con Osos invocados o tactics pegándote con otro Pj. "<span style="font-style: italic;">call</span>" también puede escribirse simplemente con una "<span style="font-style: italic;">@</span>"</span><span style="font-family: 'lucida grande'; font-size: 100%;"><br />
<br />
Y eso es mas o menos todo lo que tiene la ventana de Sindarin para ayudarte a hacer una script y a ejecutarla. </span></li>
</ul>Lhrodhttp://www.blogger.com/profile/00250667544237961052noreply@blogger.com2tag:blogger.com,1999:blog-4292576568935228595.post-42471696963411048652008-08-26T16:30:00.001+01:002012-04-27T13:09:04.586+01:00Sobre sindarin...<div align="center">
<a href="http://2.bp.blogspot.com/_xR5y6WIVVbA/SLP5ZZIfpRI/AAAAAAAAB64/wxD0C_CrGUM/s1600-h/Sindarin.png"><img alt="" border="0" id="BLOGGER_PHOTO_ID_5238805006200579346" src="http://2.bp.blogspot.com/_xR5y6WIVVbA/SLP5ZZIfpRI/AAAAAAAAB64/wxD0C_CrGUM/s320/Sindarin.png" style="cursor: pointer; display: block; margin: 0px auto 10px; text-align: center;" /></a></div>
<div align="center">
<br />
<span class="Apple-style-span" style="color: #333333; font-family: 'Trebuchet MS'; font-weight: bold;"></span></div>
<hr />
<a href="http://laantiguafragua.blogspot.com.es/2008/08/sobre-la-ventana-de-sindarin.html"><span class="Apple-style-span"><span class="Apple-style-span" style="font-size: small;"><b>Sobre la ventana de Sindarin...</b></span></span></a><span class="Apple-style-span" style="font-size: small;"><br />
</span><span class="Apple-style-span" style="color: #333333; font-family: 'Trebuchet MS'; font-weight: bold;"><a href="http://laantiguafragua.blogspot.com.es/2008/08/tutorial-para-muy-novatos.html"><span class="Apple-style-span"><span class="Apple-style-span" style="font-size: small;">Tutorial para muy novatos</span></span></a></span><span class="Apple-style-span" style="font-size: small;"><br />
</span><span class="Apple-style-span" style="color: #333333; font-family: 'Trebuchet MS'; font-weight: bold;"><a href="http://laantiguafragua.blogspot.com.es/2008/08/explicacin-exhaustiva_27.html"><span class="Apple-style-span"><span class="Apple-style-span" style="font-size: small;">Explicación exhaustiva...</span></span></a></span><br />
<hr />
<div align="center">
<a href="http://laantiguafragua.blogspot.com.es/search/label/Sindarin"><span class="Apple-style-span"><span class="Apple-style-span" style="font-size: small;">Todo lo que hay sobre Sindarin</span></span></a></div>
<hr />
<br />
El siguiente post contiene parte de lo que escribí hace mucho tiempo sobre Sindarin en otra web, que tengo abandonada, así que lo voy a copiar aquí para que este accesible desde este Blog que si tengo "controlado", ademas he modificado muchas cosas del texto original que ya no son ciertas y he actualizado los enlaces:<br />
<br />
<hr />
<ol><h3>
<li><span style="font-size: 85%;"><a href="http://laantiguafragua.blogspot.com.es/2008/08/sobre-sindarin.html#once">Aviso legal y normas generales de uso</a><br />
</span> </li>
<li><span style="font-size: 85%;"><a href="http://laantiguafragua.blogspot.com.es/2008/08/sobre-sindarin.html#uno">¿Que es Sindarin?</a><br />
</span> </li>
<li><span style="font-size: 85%;"><a href="http://laantiguafragua.blogspot.com.es/2008/08/sobre-sindarin.html#uno_y_medio">¿Que es el modo Nativo? </a><br />
</span> </li>
<li><span style="font-size: 85%;"><a href="http://laantiguafragua.blogspot.com.es/2008/08/sobre-sindarin.html#dos">¿Como instalo Sindarin? </a><br />
</span> </li>
<li><span style="font-size: 85%;"><a href="http://laantiguafragua.blogspot.com.es/2008/08/sobre-sindarin.html#tres">¿Hay otra manera de usarlo?</a><br />
</span> </li>
<li><span style="font-size: 85%;"><a href="http://laantiguafragua.blogspot.com.es/2008/08/sobre-sindarin.html#nueve">¿Donde puedo descargarme el código del programa?</a><br />
</span> </li>
<li><span style="font-size: 85%;"><a href="http://laantiguafragua.blogspot.com.es/2008/08/sobre-sindarin.html#diez">¿Como puedes tener tantas faltas de ortografía? </a><br />
</span> </li>
<li><span style="font-size: 85%;"><a href="http://laantiguafragua.blogspot.com.es/2008/08/sobre-sindarin.html#doce">Me encanta tu trabajo y quiero contratarte y darte un curro decente.</a><br />
</span> </li>
<li><span style="font-size: 85%;"><a href="http://laantiguafragua.blogspot.com.es/2008/08/sobre-sindarin.html#catorce">Soy una chica atractiva y sexy y me gustaría tener un novio atractivo, inteligente y humilde como tu ¿Que debo hacer?</a></span></li>
</h3>
</ol>
<hr />
<ol><h2>
<li><span style="font-size: 100%;"><u><a href="http://www.blogger.com/blogger.g?blogID=4292576568935228595" name="once">Aviso legal y normas generales de uso</a></u></span></li>
</h2>
<ul>
<li>El uso del Sindarin implica la aceptación de estas normas, siendo conscientes de ellas o no.<br />
</li>
<li>No me hago responsable del mal uso que pueda hacerse del programa o cualquiera de sus módulos, clases o librerías.<br />
</li>
<li>El programa es de libre uso y no recibo ningún beneficio con el, por lo que no tengo ninguna obligación real, para<br />
con el o su mantenimiento.<br />
</li>
<li>El programa es de libre distribución, por lo que no esta permitido el beneficio económico por su uso o distribución.<br />
</li>
<li>Todas estas normas se aplicaran también a los diferentes módulos, clases, librerías desarrolladas o distribuidas con Sindarin.<br />
</li>
<li>Me reservo el derecho de hacer cambios en el código o funcionamiento del programa o cualquiera de sus partes en cualquier momento y sin previo aviso.</li>
<li>Actualización: El programa fue liberado bajo licencia GNU/GPL, por lo que queda acogido a sus condiciones.<br />
</li>
</ul>
<h2>
<li><span style="font-size: 100%;"><u><a href="http://www.blogger.com/blogger.g?blogID=4292576568935228595" name="uno">¿Que es Sindarin?</a></u></span></li>
</h2>
<a href="http://es.wikipedia.org/wiki/Sindarin">Sindarin</a> es el nombre que le daban los elfos a la forma más común de su lenguaje según J.R.R. Tolkien y en Sindarin se escribía así:
<div style="text-align: left;">
<a href="http://2.bp.blogspot.com/_xR5y6WIVVbA/SLP5ZZIfpRI/AAAAAAAAB64/wxD0C_CrGUM/s1600-h/Sindarin.png"><img alt="" border="0" id="BLOGGER_PHOTO_ID_5238805006200579346" src="http://2.bp.blogspot.com/_xR5y6WIVVbA/SLP5ZZIfpRI/AAAAAAAAB64/wxD0C_CrGUM/s320/Sindarin.png" style="display: block; margin-bottom: 10px; margin-left: auto; margin-right: auto; margin-top: 0px; text-align: center;" /></a>¿Pero y esta aplicación que es? Esta aplicación es un asistente para Ultima Online del estilo de Autopilot, pero con la peculiaridad que los script que se pueden hacer son mucho mas sofisticados o tan sencillos como lo eran en Autopilot, con características propias de otros lenguajes más grandes, pero absolutamente opcionales, es decir la usan quien quiere y quien no, no las usa. </div>
<h2>
<li><span style="font-size: 100%;"><u><a href="http://www.blogger.com/blogger.g?blogID=4292576568935228595" name="uno_y_medio">¿Que es el modo Nativo?</a></u></span></li>
</h2>
Sindarin es un programa Java y en consecuencia multiplataforma, en teoría debería funcionar igual de bien en Windows, en Linux, en un Mac, en un Navegador o en tu ordenador local, pero Sindarin tiene un modo de funcionamiento que de momento solo funciona en Windows, es el modo Nativo Win32 es el modo que se pone por defecto. ¿Pero que es eso del modo nativo? bueno este modo es el que permite macrear sin ocupar el teclado y el ratón, es decir puedes usar el ordenador mientras macreas con el ultima y el Sindarin minimizados, pero esto tiene el problema que hace que el programa solo funcione así en Windows, lo cual no es muy buena actitud para Java. <u style="font-style: italic;">Este modo esta bien, pero es un modo de funcionamiento experimental, lo que implica que no tiene porque funcionar del todo bien, lo estoy probando, de echo existen ciertos comando de Sindarin(comandos avanzados) que no funcionan del todo bien. </u>
<h2>
<li><span style="font-size: 100%;"><u><a href="http://www.blogger.com/blogger.g?blogID=4292576568935228595" name="dos">¿Como instalo Sindarin?</a></u></span></li>
</h2>
Tienes que tener <a href="http://www.java.com/es">Java</a> instalado para ello puedes descargarlo de esta web <a href="http://www.java.com/es">http://www.java.com/es</a> e instalarlo como un programa normal, es probable que ya este instalado en tu ordenador, porque es muy usado, simplemente si haz jugado en web de juegos es probable que lo hayas hecho en java. ¿Pero y Sindarin como lo instalo? En principio Sindarin no tiene un instalador, solo tendrías que como ya dije antes asegurarte que tienes <a href="http://www.java.com/es">Java</a> y luego descargarte este fichero: <a href="http://sindarin.googlecode.com/files/Sindarin.jar">http://sindarin.googlecode.com/files/Sindarin.jar</a> Normalmente con hacer doble-click sobre el fichero de <a href="http://sindarin.googlecode.com/files/Sindarin.jar">Sindarin.jar</a> ya se abre la aplicación, pero sino es así, abre una ventana de shell o de dos, muévete hasta la carpeta y escribe: "java -jar Sindarin.jar"
<h2>
<li><span style="font-size: 100%;"><u><a href="http://www.blogger.com/blogger.g?blogID=4292576568935228595" name="tres">¿Hay otra manera de usarlo?</a></u></span></li>
</h2>
Si, Sindarin es un programa Java, pero también es un Applet Java, eso quiere decir que se puede ejecutar directamente desde una web, sin necesidad de descargarlo, siempre que tengas <a href="http://www.java.com/es">Java</a> bien instalado y este el applet colgado de una web. Lamentablemente como nadie usaba esta opción he dejado de mantener el applet colgado, pero por poder se puede colgar.
<h2>
<li><span style="font-size: 100%;"><u><a href="http://www.blogger.com/blogger.g?blogID=4292576568935228595" name="nueve">¿Donde puedo descargarme el código del programa?</a></u></span></li>
</h2>
</ol>
<ul>
<li><a href="http://sindarin.googlecode.com/files/Sindarin.tar.gz">http://sindarin.googlecode.com/files/Sindarin.tar.gz</a> </li>
<li><a href="http://sindarin.googlecode.com/files/Sindarin.zip">http://sindarin.googlecode.com/files/Sindarin.zip</a></li>
</ul>
<ol><h2>
<li><span style="font-size: 100%;"><u><a href="http://www.blogger.com/blogger.g?blogID=4292576568935228595" name="diez">¿Como puedes tener tantas faltas de ortografía?</a></u></span></li>
</h2>
Es simple no e usado el corrector ortográfico de ningún programa :P
<h2>
<li><span style="font-size: 100%;"><u><a href="http://www.blogger.com/blogger.g?blogID=4292576568935228595" name="doce">Me encanta tu trabajo y quiero contratarte y darte un curro decente.</a></u></span></li>
</h2>
¡Llegas tarde ya tengo curro! (aunque... ¬¬ podría oír lo que quieres decirme): Escribe a <a href="mailto:anphora@gmail.com">anphora@gmail.com</a>
<h2 style="font-weight: bold;">
<li><span style="font-size: 100%;"><u><a href="http://www.blogger.com/blogger.g?blogID=4292576568935228595" name="catorce">Soy una chica atractiva y sexy y me gustaría tener un novio atractivo, inteligente y humilde como tu ¿Que debo hacer?</a></u></span></li>
</h2>
Amiga, deja de buscar, yo soy tu hombre: Escribe a <a href="mailto:anphora@gmail.com">anphora@gmail.com</a> </ol>Lhrodhttp://www.blogger.com/profile/00250667544237961052noreply@blogger.com3tag:blogger.com,1999:blog-4292576568935228595.post-56452679491010698192008-07-15T16:13:00.001+01:002010-04-18T14:59:20.035+01:00BetCalc<a href="http://2.bp.blogspot.com/_xR5y6WIVVbA/SHyMwfpi8oI/AAAAAAAAB5M/wJ98OCj0t7w/s1600-h/betCalc.jpg" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"><img alt="" border="0" id="BLOGGER_PHOTO_ID_5223204432600298114" src="http://2.bp.blogspot.com/_xR5y6WIVVbA/SHyMwfpi8oI/AAAAAAAAB5M/wJ98OCj0t7w/s200/betCalc.jpg" style="cursor: pointer; float: left; margin: 0pt 10px 10px 0pt;" /></a>¿Quien no se juega el sueldo en <a href="http://www.betfair.com/">www.betfair.com</a>? Pues para todos nosotros que somos unos viciosos del juego y no nos gusta una mierda los ficheros <span class="blsp-spelling-error" id="SPELLING_ERROR_0">excel</span>, he desarrollado esta pequeña aplicación que calcula los porcentajes y apuestas para hacer "<span class="blsp-spelling-error" id="SPELLING_ERROR_1">trading</span>" en la <span class="blsp-spelling-error" id="SPELLING_ERROR_2">web</span> de apuestas. De momento solo en ingles y calcula las estrategias "<span class="blsp-spelling-error" id="SPELLING_ERROR_3">back</span>-<span class="blsp-spelling-error" id="SPELLING_ERROR_4">lay</span>", osea apostar a favor de un jugador y esperar a que los porcentajes de la jugada en contra del jugador no sean favorables y apostar en contra, y la estrategia "<span class="blsp-spelling-error" id="SPELLING_ERROR_5">Back</span>-<span class="blsp-spelling-error" id="SPELLING_ERROR_6">Back</span>", esta no la vi implementada en ningún lado, consiste en apostar a favor de un jugador y esperar a que los porcentajes de su rival sean positivos para apostar. Como siempre licenciado bajo <span class="blsp-spelling-error" id="SPELLING_ERROR_7">GPL</span> V2 y hecho en java por aquello de la <span class="blsp-spelling-error" id="SPELLING_ERROR_8">multiplataformidad</span>.<br />
<br />
Postdata.- :P si os dais de alta en <span class="blsp-spelling-error" id="SPELLING_ERROR_9">betFair</span> poned mi código de referencia que así recibo algunos €<span class="blsp-spelling-error" id="SPELLING_ERROR_10">urillos</span> que ando escaso con esto de la no <span class="blsp-spelling-error" id="SPELLING_ERROR_11">cri</span>$i$. Este es mi numero de referencia: RCJAFL7JF<br />
<br />
Muchas gracias por la colaboración a mis compañeros Paco (el que me envicio) e Imo, que me han ayudado para corregir algunos bugs de la aplicación.<br />
<br />
<span style="font-size: 85%;">Fichero binario:</span><span style="text-decoration: underline;"><br />
</span><a href="http://betcal.googlecode.com/files/betCalc.jar"><span style="font-size: 85%;">http://betcal.googlecode.com/files/betCalc.jar</span></a><br />
<span style="font-size: 85%;">Fuentes y el proyecto </span><span class="blsp-spelling-error" id="SPELLING_ERROR_15" style="font-size: 85%;"><span class="blsp-spelling-error" id="SPELLING_ERROR_12"><span class="blsp-spelling-error" id="SPELLING_ERROR_12">Netbeans</span></span></span><span style="font-size: 85%;"> 6.1:<br />
<a href="http://betcal.googlecode.com/files/betCalc.tar.gz">http://betcal.googlecode.com/files/betCalc.tar.gz</a><br />
</span><a href="http://betcal.googlecode.com/files/betCalc.zip"><span style="font-size: 85%;">http://betcal.googlecode.com/files/betCalc.zip</span></a>Lhrodhttp://www.blogger.com/profile/00250667544237961052noreply@blogger.com1tag:blogger.com,1999:blog-4292576568935228595.post-37748706311294173222007-09-25T17:54:00.001+01:002012-04-26T13:05:37.334+01:00Sintaxis de Sindarin.Publicada la sintaxis de Sindarin en formato BNF.<br />
<br />
<span style="font-size: 85%;">Sintaxis BNF:</span><span style="text-decoration: underline;"><br />
</span><span style="font-size: 85%;"><a href="http://sindarin.googlecode.com/files/script.html">http://sindarin.googlecode.com/files/script.html</a></span><br />
<br />
<b>Versión mas actualizada, agosto del 2008, de la sintaxis en BNF:</b><br />
<a href="http://sindarin.googlecode.com/files/09092008%20script.html">http://sindarin.googlecode.com/files/09092008%20script.html</a>Lhrodhttp://www.blogger.com/profile/00250667544237961052noreply@blogger.com0tag:blogger.com,1999:blog-4292576568935228595.post-62303765642601282962007-09-22T10:37:00.001+01:002010-04-18T14:58:53.744+01:00Sindarin<a href="http://1.bp.blogspot.com/_xR5y6WIVVbA/RvTrx4kn6II/AAAAAAAAAAk/NA17vhryO1Y/s1600-h/SindarinScreenshot.jpg" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"><img alt="" border="0" id="BLOGGER_PHOTO_ID_5112970719204468866" src="http://1.bp.blogspot.com/_xR5y6WIVVbA/RvTrx4kn6II/AAAAAAAAAAk/NA17vhryO1Y/s200/SindarinScreenshot.jpg" style="cursor: pointer; float: right; margin: 0pt 0pt 10px 10px;" /></a>Sindarin, un programa diseñado específicamente para aumentar las habilidades de un personaje del juego Ultima Online, la descripción mas aproximada podría ser la de ser un clon del conocido programa UOAutopilot, con un lenguaje script mucho mas potente, así como un modo de macreo nativo de Windows que permite no ocupar el cursor del ratón ni el teclado, aunque este modo no acaba de estar terminado.<br />
<br />
Después de tanto tiempo publico aquí el código y el binario de este programa, no ha sido terminado y tiene algunos Bugs, pero ante la imposibilidad de afrontar acabarlo, lo publico, por si el código puede ser útil o por si alguien quiere retomar el proyecto.<br />
<br />
Aun así si consigo tiempo no descarto hacer mejoras o incluso la colaboración con alguien.<br />
<br />
<br />
<span style="font-size: 85%;">Fichero binario:</span><span style="text-decoration: underline;"><br />
</span><span style="font-size: 85%;"><a href="http://sindarin.googlecode.com/files/Sindarin.jar">http://sindarin.googlecode.com/files/Sindarin.jar</a></span><br />
<span style="font-size: 85%;">Fuentes y el proyecto(</span><span class="blsp-spelling-error" id="SPELLING_ERROR_15" style="font-size: 85%;"><span class="blsp-spelling-error" id="SPELLING_ERROR_12">Netbeans</span></span><span style="font-size: 85%;"> 6 M10):<br />
<a href="http://sindarin.googlecode.com/files/Sindarin.tar.gz">http://sindarin.googlecode.com/files/Sindarin.tar.gz</a><br />
</span><span style="font-size: 85%;"><a href="http://sindarin.googlecode.com/files/Sindarin.zip">http://sindarin.googlecode.com/files/Sindarin.zip</a></span>Lhrodhttp://www.blogger.com/profile/00250667544237961052noreply@blogger.com0tag:blogger.com,1999:blog-4292576568935228595.post-74046228479236737152007-07-21T00:22:00.001+01:002010-04-18T14:58:36.788+01:00SimpleCipherText 0.51Añadido fichero en formato "<span class="blsp-spelling-error" id="SPELLING_ERROR_0"><span class="blsp-spelling-error" id="SPELLING_ERROR_0">tar</span></span>.<span class="blsp-spelling-error" id="SPELLING_ERROR_1"><span class="blsp-spelling-error" id="SPELLING_ERROR_1">gz</span></span>" de <span class="blsp-spelling-error" id="SPELLING_ERROR_2"><span class="blsp-spelling-error" id="SPELLING_ERROR_2">SimpleCipherText</span></span>,<br />
<br />
<span style="font-size: 85%;">Fuentes y el proyecto(</span><span class="blsp-spelling-error" id="SPELLING_ERROR_15" style="font-size: 85%;"><span class="blsp-spelling-error" id="SPELLING_ERROR_12"><span class="blsp-spelling-error" id="SPELLING_ERROR_3"><span class="blsp-spelling-error" id="SPELLING_ERROR_3">Netbeans</span></span></span></span><span style="font-size: 85%;"> 6 M10) en formato "<span class="blsp-spelling-error" id="SPELLING_ERROR_4"><span class="blsp-spelling-error" id="SPELLING_ERROR_4">tar</span></span>.<span class="blsp-spelling-error" id="SPELLING_ERROR_5"><span class="blsp-spelling-error" id="SPELLING_ERROR_5">gz</span></span>":<br />
<a href="http://simpleciphertext.googlecode.com/files/SimpleCipherText.tar.gz">http://simpleciphertext.googlecode.com/files/SimpleCipherText.tar.gz</a><br />
</span>Lhrodhttp://www.blogger.com/profile/00250667544237961052noreply@blogger.com0