<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="es">
		<id>http://164.73.124.35/inco/proyectos/butia/mediawiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Lmichele</id>
		<title>Proyecto Butiá - Contribuciones del usuario [es]</title>
		<link rel="self" type="application/atom+xml" href="http://164.73.124.35/inco/proyectos/butia/mediawiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Lmichele"/>
		<link rel="alternate" type="text/html" href="http://164.73.124.35/inco/proyectos/butia/mediawiki/index.php/Especial:Contribuciones/Lmichele"/>
		<updated>2026-04-05T20:14:17Z</updated>
		<subtitle>Contribuciones del usuario</subtitle>
		<generator>MediaWiki 1.26.2</generator>

	<entry>
		<id>http://164.73.124.35/inco/proyectos/butia/mediawiki/index.php?title=M%C3%B3dulo_sensor_Boton&amp;diff=8184</id>
		<title>Módulo sensor Boton</title>
		<link rel="alternate" type="text/html" href="http://164.73.124.35/inco/proyectos/butia/mediawiki/index.php?title=M%C3%B3dulo_sensor_Boton&amp;diff=8184"/>
				<updated>2016-06-03T08:08:35Z</updated>
		
		<summary type="html">&lt;p&gt;Lmichele: /* Diseño */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===Breve descripción===&lt;br /&gt;
El valor de la resistencia para la identificación del sensor botón es de 10kΩ. &amp;lt;br&amp;gt;&lt;br /&gt;
[[Archivo: descpBoton.jpg | 300px | Módulo Botón]]&lt;br /&gt;
&lt;br /&gt;
===Diseño===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
Archivo: Esquematico_boton.png | Esquematico Sensor boton&lt;br /&gt;
Archivo: Net_boton.png | Net Sensor boton&lt;br /&gt;
Archivo: PCB_boton.png | PCB Sensor boton&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Puede descargar los archivos fuentes del diseños para kicad haciendo click [[Media: boton.tar.gz | aquí]]&lt;br /&gt;
&lt;br /&gt;
Si desea construirse la placa a través del método de transferencia por tóner [http://www.fing.edu.uy/inco/proyectos/butia/files/boton-copper.pdf  aquí] puede descargar el diseño de PCB en formato pdf.&lt;br /&gt;
&lt;br /&gt;
===Materiales===&lt;br /&gt;
&lt;br /&gt;
* Placa modulo sensor Boton x 1&lt;br /&gt;
* Botón x 1&lt;br /&gt;
* Resistencias 10kΩ x 2&lt;br /&gt;
* Conector Rj45 acodado Hembra x 1&lt;/div&gt;</summary>
		<author><name>Lmichele</name></author>	</entry>

	<entry>
		<id>http://164.73.124.35/inco/proyectos/butia/mediawiki/index.php?title=M%C3%B3dulo_sensor_Luz&amp;diff=8183</id>
		<title>Módulo sensor Luz</title>
		<link rel="alternate" type="text/html" href="http://164.73.124.35/inco/proyectos/butia/mediawiki/index.php?title=M%C3%B3dulo_sensor_Luz&amp;diff=8183"/>
				<updated>2016-06-03T07:58:09Z</updated>
		
		<summary type="html">&lt;p&gt;Lmichele: /* Diseño */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===Breve descripción===&lt;br /&gt;
El valor de la resistencia para la identificación del sensor de Luz es de 68kΩ. &amp;lt;br&amp;gt;&lt;br /&gt;
[[Archivo: descpLuz.jpg | 300px | Módulo Luz]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Diseño===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Puede descargar los archivos fuentes del diseños para kicad haciendo click [[Media: luz.tar.gz | aqui]]&lt;br /&gt;
&lt;br /&gt;
Si desea construirse la placa a través del método de transferencia por tóner [http://www.fing.edu.uy/inco/proyectos/butia/files/luz-copper.pdf aquí] puede descargar el diseño de PCB en formato pdf.&lt;br /&gt;
&lt;br /&gt;
===Materiales===&lt;br /&gt;
&lt;br /&gt;
* Placa Sensor Modulo Luz/LDR x 1&lt;br /&gt;
* Sensor LDR x 1&lt;br /&gt;
* Resistencia 68kΩ x 2&lt;br /&gt;
* Conector Rj45 acodado Hembra x 1&lt;br /&gt;
&lt;br /&gt;
===Construcción===&lt;br /&gt;
Se puede utilizar el mismo PCB que el sensor de grises&lt;br /&gt;
&lt;br /&gt;
===Información adicional===&lt;br /&gt;
Un LDR, por sus siglas en inglés: Light Dependent Resistor (Resistor Dependiente de la Luz) también conocido en español como: foto-resistencia.&lt;br /&gt;
&lt;br /&gt;
Más información, en: [http://es.wikipedia.org/wiki/Fotorresistencia Wikipedia LDR]&lt;/div&gt;</summary>
		<author><name>Lmichele</name></author>	</entry>

	<entry>
		<id>http://164.73.124.35/inco/proyectos/butia/mediawiki/index.php?title=M%C3%B3dulo_sensor_Luz&amp;diff=8182</id>
		<title>Módulo sensor Luz</title>
		<link rel="alternate" type="text/html" href="http://164.73.124.35/inco/proyectos/butia/mediawiki/index.php?title=M%C3%B3dulo_sensor_Luz&amp;diff=8182"/>
				<updated>2016-06-03T07:57:39Z</updated>
		
		<summary type="html">&lt;p&gt;Lmichele: /* Diseño */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===Breve descripción===&lt;br /&gt;
El valor de la resistencia para la identificación del sensor de Luz es de 68kΩ. &amp;lt;br&amp;gt;&lt;br /&gt;
[[Archivo: descpLuz.jpg | 300px | Módulo Luz]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Diseño===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Puede descargar los archivos fuentes del diseños para kicad haciendo click [[Media: luz.tar.gz | aqui]]&lt;br /&gt;
&lt;br /&gt;
Si desea construirse la placa a través del método de transferencia por tóner [http://www.fing.edu.uy/inco/proyectos/butia/files/luz-copper.pdf | aquí] puede descargar el diseño de PCB en formato pdf.&lt;br /&gt;
&lt;br /&gt;
===Materiales===&lt;br /&gt;
&lt;br /&gt;
* Placa Sensor Modulo Luz/LDR x 1&lt;br /&gt;
* Sensor LDR x 1&lt;br /&gt;
* Resistencia 68kΩ x 2&lt;br /&gt;
* Conector Rj45 acodado Hembra x 1&lt;br /&gt;
&lt;br /&gt;
===Construcción===&lt;br /&gt;
Se puede utilizar el mismo PCB que el sensor de grises&lt;br /&gt;
&lt;br /&gt;
===Información adicional===&lt;br /&gt;
Un LDR, por sus siglas en inglés: Light Dependent Resistor (Resistor Dependiente de la Luz) también conocido en español como: foto-resistencia.&lt;br /&gt;
&lt;br /&gt;
Más información, en: [http://es.wikipedia.org/wiki/Fotorresistencia Wikipedia LDR]&lt;/div&gt;</summary>
		<author><name>Lmichele</name></author>	</entry>

	<entry>
		<id>http://164.73.124.35/inco/proyectos/butia/mediawiki/index.php?title=Archivo_discusi%C3%B3n:Spwiki.jpg&amp;diff=8181</id>
		<title>Archivo discusión:Spwiki.jpg</title>
		<link rel="alternate" type="text/html" href="http://164.73.124.35/inco/proyectos/butia/mediawiki/index.php?title=Archivo_discusi%C3%B3n:Spwiki.jpg&amp;diff=8181"/>
				<updated>2016-06-03T07:25:52Z</updated>
		
		<summary type="html">&lt;p&gt;Lmichele: Página creada con «Estaría bueno tener el fuente de este archivo también ~~~~»&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Estaría bueno tener el fuente de este archivo también [[Usuario:Lmichele|Lmichele]] ([[Usuario discusión:Lmichele|discusión]]) 04:25 3 jun 2016 (UYT)&lt;/div&gt;</summary>
		<author><name>Lmichele</name></author>	</entry>

	<entry>
		<id>http://164.73.124.35/inco/proyectos/butia/mediawiki/index.php?title=Discusi%C3%B3n:Especificaci%C3%B3n_conector_Rj45&amp;diff=8162</id>
		<title>Discusión:Especificación conector Rj45</title>
		<link rel="alternate" type="text/html" href="http://164.73.124.35/inco/proyectos/butia/mediawiki/index.php?title=Discusi%C3%B3n:Especificaci%C3%B3n_conector_Rj45&amp;diff=8162"/>
				<updated>2016-05-31T21:52:04Z</updated>
		
		<summary type="html">&lt;p&gt;Lmichele: Página creada con «Creo que más allá de poner el dibujo de las pistas en la placa debería estar el esquema también en los conectores. ~~~~»&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Creo que más allá de poner el dibujo de las pistas en la placa debería estar el esquema también en los conectores. [[Usuario:Lmichele|Lmichele]] ([[Usuario discusión:Lmichele|discusión]]) 18:52 31 may 2016 (UYT)&lt;/div&gt;</summary>
		<author><name>Lmichele</name></author>	</entry>

	<entry>
		<id>http://164.73.124.35/inco/proyectos/butia/mediawiki/index.php?title=Archivo:BianfaCuentos.tb&amp;diff=8157</id>
		<title>Archivo:BianfaCuentos.tb</title>
		<link rel="alternate" type="text/html" href="http://164.73.124.35/inco/proyectos/butia/mediawiki/index.php?title=Archivo:BianfaCuentos.tb&amp;diff=8157"/>
				<updated>2016-05-12T21:42:02Z</updated>
		
		<summary type="html">&lt;p&gt;Lmichele: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Lmichele</name></author>	</entry>

	<entry>
		<id>http://164.73.124.35/inco/proyectos/butia/mediawiki/index.php?title=BianfaCuentos&amp;diff=8156</id>
		<title>BianfaCuentos</title>
		<link rel="alternate" type="text/html" href="http://164.73.124.35/inco/proyectos/butia/mediawiki/index.php?title=BianfaCuentos&amp;diff=8156"/>
				<updated>2016-05-12T21:41:03Z</updated>
		
		<summary type="html">&lt;p&gt;Lmichele: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&lt;br /&gt;
== '''Objetivo''' ==&lt;br /&gt;
En el marco del Taller &amp;quot;Mejora de interfaz de accesibilidad xEvents 2016&amp;quot; se realizó la adaptación del uso de la página http://www.bianfacuentos.com/cuentos.php para que pueda ser utilizada por niños con dificultades motrices y déficit visual, en particular que pueda ser utilizado por Milagros, alumna de la escuela N° 200 &amp;quot;Ricardo Caritat&amp;quot; ubicada en el Prado. &lt;br /&gt;
 &lt;br /&gt;
== '''Integrantes''' ==&lt;br /&gt;
&lt;br /&gt;
* Rodrigo Berón &lt;br /&gt;
* Romina Brown &lt;br /&gt;
* Maestra: Laura Gómez&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== '''Desarrollo''' ==&lt;br /&gt;
El sitio web http://www.bianfacuentos.com/cuentos.php dispone de varios cuentos con audio e imágenes y al ingresar a cada uno de ellos se muestran botones &amp;quot;Anterior&amp;quot; y &amp;quot;Siguiente&amp;quot; para poder navegar por las páginas del mismo. &amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
La siguiente imagen muestra uno de los cuentos llamado &amp;quot;El Yacaré y las estrellas&amp;quot;: &amp;lt;br&amp;gt;&lt;br /&gt;
[[Archivo:CapturaBianfaCuentos.PNG]] &amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
La idea es simular el click izquierdo del mouse en estos botones realizando un barrido de pantalla. Para ello se utiliza un botón Butiá que será más fácil de manipular que el propio mouse.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[Archivo:CapturaCuentos.png]] &amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Al abrir el TurtleBots para comenzar a utilizar esta adaptación nos encontramos con ciertas variables que pueden modificarse antes de iniciar la lectura de un cuento: &amp;lt;br&amp;gt;&lt;br /&gt;
* Velocidad en ''y'': velocidad de movimiento en el eje ''y'' al realizar el barrido&lt;br /&gt;
* Velocidad en ''x'': velocidad de movimiento en el eje ''x'' al realizar el barrido&lt;br /&gt;
* Cantidad de páginas: cantidad de páginas que posee el cuento&lt;br /&gt;
* Cuento a leer: nombre del libro que desea reproducirse&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Cuando se termina de setear las variables, se le da &amp;quot;start&amp;quot;. Al iniciar el programa en Turtlebots, se abre el browser con el cuento seleccionado y se hace scrollDown para ajustar el cuento a la pantalla de forma que se pueda visualizar en su totalidad. Luego de esto se comienza con los barridos hasta que el niño desee finalizar la lectura. Los barridos se realizan en la parte inferior-derecha de la pantalla ya que allí se encuentran los botones &amp;quot;Anterior&amp;quot; y &amp;quot;Siguiente&amp;quot; agilizando el proceso de barrido y haciendo el uso del juego más dinámico.&lt;br /&gt;
&lt;br /&gt;
== '''Código''' ==&lt;br /&gt;
[[Archivo:BianfaCuentos.tb]]&lt;/div&gt;</summary>
		<author><name>Lmichele</name></author>	</entry>

	<entry>
		<id>http://164.73.124.35/inco/proyectos/butia/mediawiki/index.php?title=Xevents&amp;diff=8134</id>
		<title>Xevents</title>
		<link rel="alternate" type="text/html" href="http://164.73.124.35/inco/proyectos/butia/mediawiki/index.php?title=Xevents&amp;diff=8134"/>
				<updated>2016-04-09T00:31:47Z</updated>
		
		<summary type="html">&lt;p&gt;Lmichele: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Xevents es un plugin para TurtleBlocks que permite diseñar diferentes tipos de interfaces de accesibilidad de forma sencilla para un usuario sin demasiado conocimiento de programación, utilizando TurtleBlocks y diferentes tipos de sensores.&lt;br /&gt;
&lt;br /&gt;
Actualmente se a agregado a sugar[1] un barrido simple que fue previamente programado en éste plugin lo que permitirá tener mejor velocidad por ser un servicio de Sugar, y poder configurarlo del panel de control. Estamos trabajando en una extensión al panel de control que permita importar proyectos diseñados con TurtleBots.&lt;br /&gt;
&lt;br /&gt;
Al hablar con X, usando Xlib, es posible usarlo tanto dentro como fuera de Sugar en cualquier sistema GNU/Linux con GUI.&lt;br /&gt;
&lt;br /&gt;
Este es un ejemplo de un barrido básico hecho con TurtleBots y Xevents, incluido en los ejemplos del plugin:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Ins1.png]]&lt;br /&gt;
&lt;br /&gt;
Al empezarlo primero hace el barrido en el eje X hasta que el botón del butiá es presionado.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Instantánea10.png]]&lt;br /&gt;
&lt;br /&gt;
Ejecuta la función barrido_x&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Expl_xreal.png]]&lt;br /&gt;
&lt;br /&gt;
Que cambia la posición X de la linea a la posición actual del mouse + 2px hasta que llega al borde de la pantalla y después empieza de nuevo. La posición de Y es cambiada a 0.&lt;br /&gt;
&lt;br /&gt;
luego en Y&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Instantánea9.png]]&lt;br /&gt;
&lt;br /&gt;
Que ejecuta la función barrer_y&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Expl_x_scrolling.png]]&lt;br /&gt;
&lt;br /&gt;
el cometido de esta función es cambiar la posición X de la linea por la última posición en X, y la posición en Y por la posición actual del mouse + 3px hasta que llegue al borde de la pantalla, y luego de nuevo.&lt;br /&gt;
&lt;br /&gt;
y por último hace el click donde quedó posicionado el puntero&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Instantánea8.png]]&lt;br /&gt;
&lt;br /&gt;
Ahora el prototipo diseñado en turtlebots se integra a sugar como un servicio&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Instantánea5.png]]&lt;br /&gt;
&lt;br /&gt;
este se puede personalizar en el panel de control de forma sencilla.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Instantánea6.png]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;uTcWpzID56U&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[1]: https://www.google-melange.com/gci/task/view/google/gci2014/5784136845361152&lt;/div&gt;</summary>
		<author><name>Lmichele</name></author>	</entry>

	<entry>
		<id>http://164.73.124.35/inco/proyectos/butia/mediawiki/index.php?title=Wiki_Buti%C3%A1&amp;diff=8133</id>
		<title>Wiki Butiá</title>
		<link rel="alternate" type="text/html" href="http://164.73.124.35/inco/proyectos/butia/mediawiki/index.php?title=Wiki_Buti%C3%A1&amp;diff=8133"/>
				<updated>2016-04-09T00:26:01Z</updated>
		
		<summary type="html">&lt;p&gt;Lmichele: /* Extensión Universitaria */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Sobre este sitio ==&lt;br /&gt;
Este sitio es un espacio colaborativo para articular los aportes de la comunidad Butiá. Podrá encontrar información técnica, ideas y propuestas. Si usted está buscando la página principal del Proyecto Butiá debe dirigirse a [http://www.fing.edu.uy/inco/proyectos/butia web institucional del Proyecto Butiá]&lt;br /&gt;
&lt;br /&gt;
== Proyecto Butiá ==&lt;br /&gt;
&lt;br /&gt;
Este proyecto plantea como objetivo crear una plataforma simple, la cual ponga al alcance de estudiantes escolares o liceales las herramientas necesarias para permitirles interiorizarse con la programación de  comportamientos para robots.&lt;br /&gt;
El proyecto Butiá trata de ampliar las capacidades sensoriales y de actuación de la computadora XO del proyecto OLPC (u otro netbook educativo), transformandola en una plataforma robótica móvil.&lt;br /&gt;
Actualmente la implementación 2.0 del proyecto está siendo utilizado en formato de kit, distribuido a más de 100 centros educativos del Uruguay, con un set de sensores y piezas que permiten cambiar la ubicación de los sensores en la plataforma móvil donde se coloca la computadora.&amp;lt;br&amp;gt;&lt;br /&gt;
A su vez el proyecto Butiá fue desarrollado teniendo en mente el hecho que agregar nuevos sensores o actuadores a la plataforma sea muy sencillo, esto abre la posibilidad a que usuarios interesados con el hardware puedan implementar fácilmente sus propios sensores y actuadores. Incluso el [http://es.wikipedia.org/wiki/Dise%C3%B1o_industrial diseño industrial] del robot es abierto lo cual permite realizarlo con materiales reciclados o de bajo costo.&lt;br /&gt;
&lt;br /&gt;
== Desarrollo ==&lt;br /&gt;
&lt;br /&gt;
La plataforma Butiá esta liberada como software libre a la comunidad, tu puedes contribuir con el proyecto como desarrollador uniéndote en [http://sourceforge.net/projects/butia/ Proyecto Butiá en SourceForge] &amp;lt;br/&amp;gt;&lt;br /&gt;
El código fuente del software (plugins, toribio, tortubots, etc) está versionado bajo sistema de control [http://git-scm.com/ GIT], para saber más vea [[Git Butia]].&amp;lt;br/&amp;gt;&lt;br /&gt;
El código de firmware y PCBs esta versionado bajo sistema de control [http://git-scm.com/ GIT], en el git de USB4all [http://sourceforge.net/projects/usb4all/ USB4all en SourceForge] &amp;lt;br/&amp;gt;&lt;br /&gt;
Actualmente estamos trabajando en una nueva placa ([[usb4butia|USB4butia]]) para el [[Butia2|Butiá 2.0]] que busca bajar costos, ser más robusto al permitir conectar dispositivos y hacer más simple la construcción de la placa de E/S al utilizar la plataforma [[usb4all|USB4all]]. &amp;lt;br/&amp;gt;&lt;br /&gt;
Se puede participar a través de la lista de correo de desarrollo [https://www.fing.edu.uy/mailman/listinfo/butia-devel-l butiá-devel-l], también puede ver el [https://www.fing.edu.uy/pipermail/butia-devel-l/ historial] de la misma. &amp;lt;br/&amp;gt;&lt;br /&gt;
También puede participar de las reuniones Butiá, las mismas se realizan de forma quincenal los días '''Martes a las 18:30hs en el Laboratorio de Robótica''' [http://www.fing.edu.uy/inco/proyectos/butia/mediawiki/index.php/Preguntas_frecuentes (cómo llegar)].&amp;lt;br/&amp;gt; En el [http://www.fing.edu.uy/inco/proyectos/butia/eventos.html calendario Butiá] puede consultar la fecha de las reuniones y otras actividades que realizamos.&lt;br /&gt;
Puede ver el desarrollo de las reuniones en [[Actas Reuniones Butia]]. &amp;lt;br/&amp;gt; &lt;br /&gt;
Propuestas de discusiones para las reuniones [[Discusiones para las reuniones]]. &amp;lt;br/&amp;gt;&lt;br /&gt;
Este proyecto se realiza con el apoyo de [http://www.antel.com.uy ANTel].&lt;br /&gt;
&lt;br /&gt;
== Construcción ==&lt;br /&gt;
&lt;br /&gt;
* [[construcción_Butiá_V1.0|Construyendo un Robot Butiáv1.0 paso a paso]]&lt;br /&gt;
* [[construcción_Butiá_V1.8|Construyendo un Robot Butiáv1.8 paso a paso]]&lt;br /&gt;
* [[construcción_Butiá_V2.0|Construyendo un Robot Butiáv2.0 paso a paso]]&lt;br /&gt;
* [[flashearIdAX12|Como flashear los motores AX12]]&lt;br /&gt;
* [[Motores|Información general sobre motores]]&lt;br /&gt;
* [[Otros Materiales|Butiá V2.0 en madera]]&lt;br /&gt;
* [[Piezas Archivos|Archivos para piezas]]&lt;br /&gt;
&lt;br /&gt;
== Lenguajes de programación ==&lt;br /&gt;
&lt;br /&gt;
El Robot butiá puede controlarse fácilmente desde cualquier [http://es.wikipedia.org/wiki/Lenguaje_de_programaci%C3%B3n lenguaje de programación] con soporte de conexiones [http://es.wikipedia.org/wiki/TCP/IP TCP/IP]. De todas maneras damos soporte para algunas plataformas concretas mediante [http://es.wikipedia.org/wiki/Plugin plugins], [http://es.wikipedia.org/wiki/Interfaz_de_programaci%C3%B3n_de_aplicaciones API's] o [http://es.wikipedia.org/wiki/Entorno_de_desarrollo_integrado IDEs]. Algunos ejemplos son:&amp;lt;br&amp;gt;&lt;br /&gt;
[[TortuBots]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[Butialo]] (Lua)&amp;lt;br&amp;gt;&lt;br /&gt;
[[Python]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[Yatay]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Manuales ==&lt;br /&gt;
&lt;br /&gt;
* [http://www.fing.edu.uy/inco/proyectos/butia/files/docs_butia2/armando_paso_a_paso_ax12_rev1.pdf Manual de armado paso a paso para Butiá 2.0 con motores AX12]&lt;br /&gt;
&lt;br /&gt;
* [http://www.fing.edu.uy/inco/proyectos/butia/files/docs_butia2/armando_paso_a_paso_motores_CC_rev1.pdf Manual de armado paso a paso para Butiá 2.0 con motores de corriente continua]&lt;br /&gt;
&lt;br /&gt;
* [http://www.fing.edu.uy/inco/proyectos/butia/files/docs_butia2/cartilla_de_armado_r%C3%A1pido_rev2.pdf Cartilla de armado rápido Butiá 2.0]&lt;br /&gt;
&lt;br /&gt;
* [http://www.fing.edu.uy/inco/proyectos/butia/files/docs_butia2/manual_de_construccion_rev1.pdf Manual de construcción Butiá 2.0]&lt;br /&gt;
&lt;br /&gt;
* [http://www.fing.edu.uy/inco/proyectos/butia/files/docs_butia2/manual_de_usuario_rev1.pdf Manual de usuario Butiá 2.0]&lt;br /&gt;
&lt;br /&gt;
* [http://www.fing.edu.uy/inco/proyectos/butia/files/ArmadoButia3.pdf Manual de armado paso a paso Butiá 3.0]&lt;br /&gt;
&lt;br /&gt;
* [http://www.fing.edu.uy/inco/proyectos/butia/files/ManualUsuarioButia3.pdf Manual de usuario Butiá 3.0]&lt;br /&gt;
&lt;br /&gt;
== Tutoriales ==&lt;br /&gt;
&lt;br /&gt;
En esta sección encontrarás información de como programar el comportamiento del robot Butiá.&lt;br /&gt;
&lt;br /&gt;
* [[Manejar de forma remota al robot Butiá | Cómo manejar de forma remota al robot Butiá]]&lt;br /&gt;
* [[Ejemplo_recibir_ordenes_con_aplausos| Cómo controlar el robot Butiá mediante aplausos]]&lt;br /&gt;
* [[tortugarte_variables|Como almacenar los valores leídos de los sensores utilizando TortugArte con Butiá]]&lt;br /&gt;
* [[Evitar_obstaculos|Como evitar obstaculos utilizando TortugArte con Butiá]]&lt;br /&gt;
* [[Evitar_caida|Como evitar caer de una mesa]]&lt;br /&gt;
* [[Ejemplo_seguidor_de_líneas_sencillo|Como hacer un seguidor de líneas sencillo]]&lt;br /&gt;
* [[Ejemplo_seguidor_de_líneas|Como hacer un seguidor de líneas avanzado]]&lt;br /&gt;
* [[Ejemplo_sumo|Como hacer un luchador de Sumo]]&lt;br /&gt;
* [[Transformando_a_cms_el_valor_del_sensor_de_distancia|Transformando a centímetros la salida del sensor de distancia]]&lt;br /&gt;
* [[Butiá_que_habla|Butiá que habla]]&lt;br /&gt;
* [[Modularizando|Como modularizar un programa en Tortugarte]]&lt;br /&gt;
* [[video_tutoriales|Video Tutoriales]]&lt;br /&gt;
* [[Preguntas_frecuentes|Preguntas Frecuentes]]&lt;br /&gt;
* [[FollowMe|Utilizar plugin FollowMe]]&lt;br /&gt;
* [[USB4butiá| Cómo construir una placa USB4Butià]]&lt;br /&gt;
* [[Ejemplos_de_Aplicaciones_en_Butialo|Ejemplos de Lua en Butialo]]&lt;br /&gt;
* [[HackPoints|Como utilizar los HackPoints]]&lt;br /&gt;
* [[Medir voltaje y resistencia | Como medir voltaje y resistencia]]&lt;br /&gt;
* [[Tutorial_de_armado_de_butiá_con_motores_de_corriente_Continua | Tutorial de armado de butiá con motores de corriente Continua]]&lt;br /&gt;
* [[Intructivo_para_generar_archivos_gerbers_en_kicad | Instructivo para generar archivos gerbers en Kicad]]&lt;br /&gt;
* [[Butiá Cards | Tarjetas de comportamientos básicos]]&lt;br /&gt;
* [[Paleta ArDrone|Plugin para drone Parrot ArDrone]]&lt;br /&gt;
&lt;br /&gt;
== Actividades para realizar con el robot relacionadas con otras ciencias ==&lt;br /&gt;
&lt;br /&gt;
[[Biología y Butiá]]&lt;br /&gt;
&lt;br /&gt;
[[Física con Butiá]]&lt;br /&gt;
&lt;br /&gt;
== ButiArte ==&lt;br /&gt;
&lt;br /&gt;
A puro arte &amp;lt;br&amp;gt;&lt;br /&gt;
[[remeras|Remeras]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[Cuadernolas Butiá y Sumo]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[Logo oficial]]&lt;br /&gt;
&lt;br /&gt;
== Sumo.uy: Desafío aptos para Butiá en evento de SUMO Robótico ==&lt;br /&gt;
&lt;br /&gt;
Son numerosas las instituciones educativas que a nivel mundial desarrollan exposiciones robóticas.&amp;lt;br&amp;gt;&lt;br /&gt;
En nuestro país, la [http://www.fing.edu.uy Facultad de Ingeniería] de la [http://www.udelar.edu.uy Universidad de la República] es pionera. &amp;lt;br&amp;gt;&lt;br /&gt;
Desde 2004, año a año el evento [http://www.fing.edu.uy/sumo.uy sumo.uy] ha cumplido con éxito su misión: hacer que la sociedad sea partícipe, y no mero testigo, de los avances en robótica e inteligencia artificial.&amp;lt;br&amp;gt;&lt;br /&gt;
'''[http://www.fing.edu.uy/sumo.uy sumo.uy]''' ofrece un entorno abierto a todo público, donde universitarios y no universitarios, liceales, adultos y niños, uruguayos y extranjeros pueden interactuar, presentar sus trabajos y plantear sus inquietudes relacionadas con la temática del evento.&amp;lt;br&amp;gt;&lt;br /&gt;
En el marco de la edición 2014 de este evento el robot Butiá puede trabajar en tres desafíos:&lt;br /&gt;
&lt;br /&gt;
[http://sumo.uy/Documentos/2014-Desaf%C3%ADo%20Escolar%20v-1.1.pdf Desafío Escolar]&lt;br /&gt;
&lt;br /&gt;
[http://sumo.uy/Documentos/2014-Desaf%C3%ADo%20B%C3%A1sico%20v-1.1.pdf Desafío Básico]&lt;br /&gt;
&lt;br /&gt;
[http://www.fing.edu.uy/inco/eventos/sumo.uy/Documentos/Desaf%C3%ADo_Avanzado_sumo.uy_2013.pdf_v0.1.pdf Desafío Avanzado]&lt;br /&gt;
&lt;br /&gt;
Para desafíos anteriores mire [[sumo.uy historial desafios Butiá| aquí]]&lt;br /&gt;
&lt;br /&gt;
[https://www.youtube.com/watch?v=SjvyX5ddnQ8 Ver video de sumo!]&lt;br /&gt;
&lt;br /&gt;
==Sumo.uy: Experiencias desafíos Butiá==&lt;br /&gt;
&lt;br /&gt;
* Sumo.uy 2011 ( [[Sumo.uy_2011_Resumen_desafío_Butiá|español]] | [[Sumo.uy_2011_Summary_Butiá_challenge|ingles]] )&lt;br /&gt;
&lt;br /&gt;
== Curso Butiá: Robótica educativa ==&lt;br /&gt;
{{AP|Proyectos Butiá}}&lt;br /&gt;
En esta sección se mantiene un historial de proyectos que se realizan y/o fueron realizados en el curso.&lt;br /&gt;
&lt;br /&gt;
* [[proyectos_abiertos|Proyectos abiertos para realizar en el marco del &amp;quot;Proyecto Butiá&amp;quot;]]&lt;br /&gt;
&lt;br /&gt;
* [[proyectos_electiva_butia_2015|Proyectos electiva Butiá 2015]]&lt;br /&gt;
&lt;br /&gt;
* [[proyectos_electiva_butia_2014|Proyectos electiva Butiá 2014]]&lt;br /&gt;
&lt;br /&gt;
* [[proyectos_electiva_butia_2013|Proyectos electiva Butiá 2013]]&lt;br /&gt;
&lt;br /&gt;
* [[proyectos_electiva_butia_2012|Proyectos electiva Butiá 2012]]&lt;br /&gt;
&lt;br /&gt;
* [[proyectos_mtbutia_2011|Proyectos módulo taller butiá 2011]]&lt;br /&gt;
&lt;br /&gt;
* [[proyectos_mtbutia_2010|Proyectos módulo taller butiá 2010]]&lt;br /&gt;
&lt;br /&gt;
* [[espacio_para_grupos_2011|Espacio de documentación de los grupos 2011]]&lt;br /&gt;
&lt;br /&gt;
* [[espacio_para_grupos_2012|Espacio de documentación de los grupos 2012]]&lt;br /&gt;
&lt;br /&gt;
* [[espacio_para_grupos_2013|Espacio de documentación de los grupos 2013]]&lt;br /&gt;
&lt;br /&gt;
* [[espacio_para_grupos_2014|Espacio de documentación de los grupos 2014]]&lt;br /&gt;
&lt;br /&gt;
* [[espacio_para_grupos_2015|Espacio de documentación de los grupos 2015]]&lt;br /&gt;
&lt;br /&gt;
* [[laboratorios_2014|Laboratorios 2014]]&lt;br /&gt;
&lt;br /&gt;
* [[laboratorios_2015|Laboratorios 2015]]&lt;br /&gt;
&lt;br /&gt;
== Extensión Universitaria ==&lt;br /&gt;
&lt;br /&gt;
* [[talleres_y_charlas|Talleres y charlas]]&lt;br /&gt;
&lt;br /&gt;
* [[mega_construccion_2010|Construyendo los robots]]&lt;br /&gt;
&lt;br /&gt;
* [[entrega_de_Butiá_V1.0|Entrega de 28 robots Butiá en el evento Sumo.uy 2010]]&lt;br /&gt;
&lt;br /&gt;
* [[espacio_liceos|Experiencias realizadas por nuestro usuarios]]&lt;br /&gt;
&lt;br /&gt;
* [[Robótica_educativa_con_el_robot_Butiá_Proyecto_Estímulo_a_la_Cultura_Científica_y_Tecnológica,_Prociencia,_18-21/07/2012|Prociencia 2012]]&lt;br /&gt;
&lt;br /&gt;
* [[quiero_una_USB4Butia|Proyectos - Quiero una USB4Butia]]&lt;br /&gt;
&lt;br /&gt;
* [[acortando_distancias_2015|Pasantía - Acortando Distancias 2015]]&lt;br /&gt;
&lt;br /&gt;
* [[Proyectos de XEvents 2016|Electiva - Taller de Mejora de interfaz de accesibilidad XEvents]]&lt;br /&gt;
&lt;br /&gt;
== Publicaciones científicas ==&lt;br /&gt;
&lt;br /&gt;
* [http://isgtla.org/showManuscript.php?m=1570125555&amp;amp;ext=pdf&amp;amp;random=1005360690&amp;amp;type=stamped Learning with smart grids: an implementation proposal for Uruguay]&lt;br /&gt;
&lt;br /&gt;
* [http://www.um.es/ead/red/46/guzman_et_al.pdf Sensores Tortuga 2.0: Cómo el hardware y software abiertos pueden empoderar a las comunidades de aprendizaje]&lt;br /&gt;
&lt;br /&gt;
*Artículo presentado en el congreso Inforedu2013 &amp;quot;Congreso Internacional de Informática en la Educación&amp;quot; [http://www.fing.edu.uy/~aaguirre/papers/inforedu13_robotica_educativa.pdf Robótica educativa de la mano del robot Butiá][http://www.inforedu2013.mes.edu.cu/ponencia/uruguay/rob%C3%B3tica-educativa-en-uruguay-de-la-mano-del-robot-buti%C3%A1 Sitio del evento] &lt;br /&gt;
&lt;br /&gt;
*Artículo presentado en el congreso WEEF 2012 &amp;quot;Engineering Education for Sustainable Development and Social Inclusión&amp;quot; [http://www.fing.edu.uy/inco/proyectos/butia/files/WEEF_id_227.pdf 1 adolescente. 1 computadora. 1 robot][http://www.weef2012.edu.ar/papersFinal/information.php?doc=227 sitio del evento]&lt;br /&gt;
&lt;br /&gt;
*Artículo publicado en OLPC, [http://www.olpcnews.com/use_cases/technology/usb4butia_a_truly_free_as_in_freedom_input_output_board.html USB4butia - A Truly Free (as in Freedom) Input/Output Board]&lt;br /&gt;
&lt;br /&gt;
*Poster presentado en el Congreso Argentino de SistemasEmbebidos, Case2012, Buenos Aires, Argentina:&lt;br /&gt;
[http://www.sase.com.ar/2012/files/2011/11/case2012_memorias_pp235-end.pdf FollowMe: seguimiento de objetos mediante el uso de webcam y plataforma Butiá] pag. 281&lt;br /&gt;
&lt;br /&gt;
*Poster presentado en el Congreso Argentino de SistemasEmbebidos, Case2012, Buenos Aires, Argentina:&lt;br /&gt;
[http://www.sase.com.ar/2012/files/2011/11/case2012_memorias_pp235-end.pdf USB4BUTIA: Interfaz Robótica Educativa de simple fabricación y bajo costo] pag. 282&lt;br /&gt;
&lt;br /&gt;
*Artículo presentado en el evento &amp;quot;apropiación y desarrollo: modelos 1 a 1&amp;quot; 2012 organizado por Flor de Ceibo: [http://www.fing.edu.uy/inco/proyectos/butia/files/butia_edu1a1_v1.4_ponencia_completa.pdf Butiá, transformando tu XO en un robot móvil programable]&lt;br /&gt;
&lt;br /&gt;
*Artículo presentado en el evento &amp;quot;apropiación y desarrollo: modelos 1 a 1&amp;quot; 2012 organizado por Flor de Ceibo: [http://www.fing.edu.uy/inco/proyectos/butia/files/De_tortugarte_a_butia_en_la_escuela_primaria.pdf De la tortuga al robot Butiá, experiencias en el uso de Tortugarte en la escuela primaria]&lt;br /&gt;
&lt;br /&gt;
*Artículo presentado en el Encuentro Desarrolladores Uruguay, eduJAM 2012: [http://wiki.sugarlabs.org/images/1/13/Turtle_sensors.pdf How open hardware and software can empower students and communities]&lt;br /&gt;
&lt;br /&gt;
*[http://www.fing.edu.uy/inco/proyectos/butia/files/RecordIng.pdf RecordIng: integración de funciones universitarias a partir de la robótica, 31 marzo 2012]&lt;br /&gt;
&lt;br /&gt;
*Artículo presentado en el Simposio Argentino de Sistemas Embebidos, Sase2011, Buenos Aires, Argentina: [http://www.fing.edu.uy/inco/proyectos/butia/files/case2011_submission_26.pdf Butiá: Plataforma robótica genérica para la enseñanza de la informática] [http://www.sase.com.ar/2011/case/articulos-case/butia-plataforma-robotica-generica-para-la-ensenanza-de-la-informatica/ sitio del evento]&lt;br /&gt;
&lt;br /&gt;
== Material de Presentaciones Butiá ==&lt;br /&gt;
&lt;br /&gt;
* [https://www.fing.edu.uy/inco/proyectos/butia/files/SensibilizacionAntel2015Butia3.pdf Diapos para taller de sensibilización en Antel 2015 (Butiá 3.0)]&lt;br /&gt;
* [https://www.fing.edu.uy/inco/proyectos/butia/files/SensibilizacionAntel2015Butia2.pdf Diapos para taller de sensibilización en Antel 2015 (Butiá 2.0)]&lt;br /&gt;
* [http://www.fing.edu.uy/inco/proyectos/butia/files/charlas/mexico_2015.odp Congreso de elaboración de herramientas didácticas, Universidad Autónoma de México, México DF 2015]&lt;br /&gt;
* [https://www.fing.edu.uy/inco/proyectos/butia/files/PosterButiaIDM2015.pdf Poster Butiá Ingeniería de Muestra 2015]&lt;br /&gt;
* [http://www.fing.edu.uy/inco/proyectos/butia/files/charlas/Proyecto%20Buti%C3%A1%20Honduras.pdf Presentación en Honduras en la XV Jornada Internacional de actualización Tecnológica para Ingeniería.]&lt;br /&gt;
&lt;br /&gt;
[[Archivo:poster_olpc-sf.jpg|thumb|Poster presentado en OLPC - San Francisco / 2011]]&lt;br /&gt;
[[Archivo:OLPC - SF 2012.png|thumb|Poster presentado en OLPC - San Francisco / 2012]]&lt;br /&gt;
[[Archivo:OLPC - SF 2013.png|thumb|Poster presentado en OLPC - San Francisco / 2013]]&lt;br /&gt;
&lt;br /&gt;
* [http://www.fing.edu.uy/inco/proyectos/butia/files/charlas/jiio.pdf JIIO, XIII Jornadas de Informática e Investigación Operativa, Montevideo, Uruguay, 2013]&lt;br /&gt;
* [http://www.fing.edu.uy/inco/proyectos/butia/files/charlas/Buti%C3%A1-ANTEL-AVANZA_PT%28a.k.a%20consegi%29.pdf CONSEGI 2013, Brasilia, Brasil 2013]&lt;br /&gt;
* [http://www.fing.edu.uy/inco/proyectos/butia/files/charlas/Buti%C3%A1-ANTEL-AVANZA.pdf ANTEL AVANZA, Montevideo, Uruguay 2013]&lt;br /&gt;
* [http://www.fing.edu.uy/inco/proyectos/butia/files/charlas/Buti%C3%A1%202.0%20SAM%20edujam%20Paraguay%202013.pdf EDUJAM 2013, Asunción, Paraguay 2013]&lt;br /&gt;
* [http://www.fing.edu.uy/inco/proyectos/butia/files/charlas/Buti%C3%A1%202.0%20SAM%20sumo.uy%202013.pdf Sumo.uy 2013]&lt;br /&gt;
* [http://www.fing.edu.uy/inco/proyectos/butia/files/charlas/Buti%C3%A1%202.0%20SAM%20congreso%20matem%C3%A1ticas.pdf Congreso de matemáticas 2013]&lt;br /&gt;
&lt;br /&gt;
* [http://www.fing.edu.uy/inco/proyectos/butia/files/proyecto_butia_capacitacion_5_2012.pdf Butiá: Sistema robótico constructivo de bajo costo para uso educativo, Encuentro Nacional de Voluntarios 2012, Squeakfest 2012]&lt;br /&gt;
&lt;br /&gt;
* [http://www.fing.edu.uy/inco/proyectos/butia/files/Turtle%20sensors.pdf How open hardware and software can empower students and communities, eduJAM2012]&lt;br /&gt;
* [http://www.fing.edu.uy/inco/proyectos/butia/files/de_la_tortuga_al_robot_butia.pdf De la tortuga al robot Butiá, Experiencias en el uso de Tortugarte en la escuela primaria, en el evento apropiación y desarrollo: modelos 1 a 1, organizado por Flor de Ceibo]&lt;br /&gt;
* [http://www.fing.edu.uy/inco/proyectos/butia/files/butia-1a1.pdf Butiá: Plataforma robótica genérica para la enseñanza inicial y media, en el evento apropiación y desarrollo: modelos 1 a 1, organizado por Flor de Ceibo]&lt;br /&gt;
* [http://www.fing.edu.uy/inco/proyectos/butia/files/butia-seminarioFIERGS_handout.pdf Charla del robot Butiá en el Seminario FIERGS, Porto Alegre, Brasil]&lt;br /&gt;
&lt;br /&gt;
* [http://www.fing.edu.uy/inco/proyectos/butia/mediawiki/public/pres_seMINArios_2011_handouts.pdf Charla del robot Butiá el los seMINArios del Instituto de Computación, UdelaR, Montevideo, Uruguay, 2011]&lt;br /&gt;
&lt;br /&gt;
* [http://www.fing.edu.uy/inco/proyectos/butia/mediawiki/public/presCASE2011HandsOut.pdf Charla del robot Butiá en el congreso argentino de sistemas embebidos, Buenos Aires, 2011]&lt;br /&gt;
&lt;br /&gt;
* [http://www.fing.edu.uy/inco/proyectos/butia/mediawiki/public/butia-jornadasANTel-FIng2011.pdf Charla del robot Butiá en las jornadas de telecomunicaciones realizadas, Rocha, Uruguay, 2011]&lt;br /&gt;
&lt;br /&gt;
* [http://www.fing.edu.uy/inco/proyectos/butia/mediawiki/public/presCPBRASIL.pdf Charla del robot Butiá en el campus party, San Pablo, Brasil, 2011]&lt;br /&gt;
&lt;br /&gt;
== El robot Butiá en los medios ==&lt;br /&gt;
&lt;br /&gt;
[[notas_en_tv|Notas en televisión]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[Notas en Radio]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[notas_en_blogs|Notas en Blogs y la Web]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[congresos_y_seminarios|Congresos y Seminarios]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[notas_revistas|Notas en revistas]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[notas_diarios|Notas en periódicos]]&lt;br /&gt;
&lt;br /&gt;
== Multimedia ==&lt;br /&gt;
&lt;br /&gt;
[[nuestros_videos|Videos]]&lt;br /&gt;
&lt;br /&gt;
[[pistas butiá|Pistas]]&lt;br /&gt;
&lt;br /&gt;
[[banners butiá|Banners]]&lt;br /&gt;
&lt;br /&gt;
== Comunicación ==&lt;br /&gt;
* [http://www.facebook.com/group.php?gid=147042805312846 Seguinos en Facebook uniendote al grupo]&amp;lt;br&amp;gt;&lt;br /&gt;
* [https://plus.google.com/u/0/108413393520841902443/posts Seguinos en google+]&amp;lt;br&amp;gt;&lt;br /&gt;
* [https://www.fing.edu.uy/mailman/listinfo/butia-list Lista de correo butia-list]&amp;lt;br&amp;gt;&lt;br /&gt;
* [https://www.fing.edu.uy/mailman/listinfo/butia-devel-l Lista de correo butiá-devel-l para tratar temas relacionados con el desarrollo de la plataforma]&amp;lt;br&amp;gt;&lt;br /&gt;
* [[instructivo_newsgroup|Instructivo para el uso del Newsgroup de fing]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Preguntas Frecuentes (f.a.q) sobre el Butiá ==&lt;br /&gt;
&lt;br /&gt;
Puede encontrarse una lista de preguntas frecuentes y su respuesta en [[preguntas_frecuentes]]&lt;br /&gt;
&lt;br /&gt;
== Empezando a utilizar wiki ==&lt;br /&gt;
&lt;br /&gt;
Consulta la [http://meta.wikimedia.org/wiki/Ayuda:Contenido Guía de usuario] para obtener información sobre el uso del software wiki.&lt;br /&gt;
* [http://www.mediawiki.org/wiki/Manual:Configuration_settings Lista de ajustes de configuración]&lt;br /&gt;
* [http://www.mediawiki.org/wiki/Manual:FAQ/es FAQ de MediaWiki]&lt;br /&gt;
&lt;br /&gt;
[[Main page (English)]]&lt;/div&gt;</summary>
		<author><name>Lmichele</name></author>	</entry>

	<entry>
		<id>http://164.73.124.35/inco/proyectos/butia/mediawiki/index.php?title=TortuBots&amp;diff=8132</id>
		<title>TortuBots</title>
		<link rel="alternate" type="text/html" href="http://164.73.124.35/inco/proyectos/butia/mediawiki/index.php?title=TortuBots&amp;diff=8132"/>
				<updated>2016-04-09T00:11:31Z</updated>
		
		<summary type="html">&lt;p&gt;Lmichele: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== TortuBots ==&lt;br /&gt;
&lt;br /&gt;
[http://wiki.sugarlabs.org/go/Activities/TurtleArt TortugArte] es una actividad Sugar inspirada en [http://en.wikipedia.org/wiki/Logo_(programming_language) Logo] la cual pone al alcance de niños conceptos de programación, mediante una interfaz gráfica icónica, donde cada instrucción se mapea como un bloque. &lt;br /&gt;
El proyecto butiá realizó modificaciones sobre TortugArte agregando algunos plugins en forma de paletas que permiten controlar diferentes kits robóticos como [http://www.fing.edu.uy/inco/proyectos/butia/ Butiá], [http://en.wikipedia.org/wiki/Lego_Mindstorms_NXT_2.0 Lego NXT],[http://www.legoeducation.us/eng/product/lego_education_wedo_robotics_construction_set/2096 Lego WeDo], [http://www.robotshop.com/en/robotics-lt-beginner-set.html Fischer LT], [http://activities.sugarlabs.org/es-ES/sugar/addon/4368 FollowMe] y Sumbot).&amp;lt;br&amp;gt;Se puede descargar la actividad TortuBots que contiene todo lo actual de TortugArte más los plugins de robótica mencionados.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Tb.png|En ésta imagen pueden verse las diferentes paletas agregadas.]] &amp;lt;br&amp;gt;&lt;br /&gt;
Paletas de izq. a der.: Arduino - Butiá - Butiá Extras - FollowMe - Lego NXT (motores) - Lego NXT (sensores) - Marcas - SumBot - Lego WeDo &lt;br /&gt;
&lt;br /&gt;
Pueden descargarse las últimas versiones del siguiente [http://www.fing.edu.uy/inco/proyectos/butia/files/package/ repositorio] o desde el [http://activities.sugarlabs.org/es-ES/sugar/addon/4434 repositorio de actividades Sugar]. En este momento se encuentran disponible para su uso en XO, y computadoras con Ubuntu 10.04 o posterior.&lt;br /&gt;
&lt;br /&gt;
==Instalación==&lt;br /&gt;
&lt;br /&gt;
* Cualquier distribución de GNU/Linux:&lt;br /&gt;
&lt;br /&gt;
Si usted tiene una versión de linux basada en ''debian'' puede descargar la actividad para su arquitectura directamente desde nuestro [http://www.fing.edu.uy/inco/proyectos/butia/files/package/ repositorio]&lt;br /&gt;
&lt;br /&gt;
Sino puede seguir este [[Generando_xo | instructivo]]&lt;br /&gt;
&lt;br /&gt;
* En Sugar:&lt;br /&gt;
&lt;br /&gt;
[[instalacion_XO|XO 1.0 y 1.5]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Plugin Butiá ==&lt;br /&gt;
&lt;br /&gt;
El robot Butiá tiene soporte [[plug and play]] y [[plug and play|hotplug]] para los sensores/actuadores que se conectan a él, este aspecto fue utilizado a la hora de implementar el plugin cambiando el color de los bloques correspondientes a los elementos de sensado/actuación según lo que se haya conectado al robot.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Tb1.png|En ésta imagen puede verse la paleta cuando no hay robot conectado]] &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Tb2.png|En ésta imagen puede verse la paleta cuando hay robot conectado y un sensor botón]] &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Para comenzar...&lt;br /&gt;
&lt;br /&gt;
* [[Tortugarte_variables|Como manejar variables en TortuBots]]&lt;br /&gt;
&lt;br /&gt;
* [[Modularizando|Como modularizar un programa en TortuBots]]&lt;br /&gt;
&lt;br /&gt;
* [[Transformando_a_cms_el_valor_del_sensor_de_distancia|Transformando a centímetros la salida del sensor de distancia]]&lt;br /&gt;
&lt;br /&gt;
* [[Ejemplos de comportamientos robóticos con TortuBots|Ejemplos de comportamientos que pueden realizarse en TortuBots]]&lt;br /&gt;
&lt;br /&gt;
* [[video_tutoriales|Video Tutoriales]]&lt;br /&gt;
&lt;br /&gt;
== Butiá Extras ==&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Tb3.png|En ésta imagen puede verse la paleta de extras cuando hay robot conectado]] &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
La paleta de extras de butiá nos permite profundizar otras funcionalidades de la placa:&lt;br /&gt;
&lt;br /&gt;
* [[HackPoints|Como utilizar los HackPoints]]&lt;br /&gt;
&lt;br /&gt;
* [[Módulo sensor Voltaje | Módulo Voltaje]]&lt;br /&gt;
&lt;br /&gt;
* [[Módulo sensor Resistencia | Módulo Resistencia]]&lt;br /&gt;
&lt;br /&gt;
== Plugin Lego NXT ==&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Lnxt1.png]] &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Lnxt2.png]] &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Toda la información en: [http://wiki.sugarlabs.org/go/Activities/Turtle_Art/Plugins#LEGO_NxT &amp;lt;big&amp;gt;'''NxT'''&amp;lt;/big&amp;gt;]&lt;br /&gt;
&lt;br /&gt;
== Plugin Lego WeDo ==&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Wdo.png]] &amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Te mostramos en este video una prueba sencilla del kit Lego WeDo usando Turtlebots&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;V-9odYBmE_8&amp;lt;/youtube&amp;gt; &amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Toda la información en: [http://wiki.sugarlabs.org/go/Activities/Turtle_Art/Plugins#WeDo &amp;lt;big&amp;gt;'''WeDo'''&amp;lt;/big&amp;gt;]&lt;br /&gt;
&lt;br /&gt;
== Plugin Lego Fisher ==&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Fisher.png]] &amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
En este video te mostramos una prueba sencilla del kit fischer con Turtlebots&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;O8nLzE0n9ko&amp;lt;/youtube&amp;gt; &amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Plugin FollowMe ==&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Fm.png]]&lt;br /&gt;
&lt;br /&gt;
La idea detrás de la paleta es retornar posiciones x y y del color de un objeto de manera de mover el robot Butiá de acuerdo a estos valores.&lt;br /&gt;
&lt;br /&gt;
Toda la información en: [[FollowMe | &amp;lt;big&amp;gt;'''FollowMe'''&amp;lt;/big&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
Mas info en la wiki de TurtleArt (en inglés): [http://wiki.sugarlabs.org/go/Activities/Turtle_Art#FollowMe FollowMe]&lt;br /&gt;
&lt;br /&gt;
== Plugin SumBot == &lt;br /&gt;
&lt;br /&gt;
Este plugin permite comunicarse con el sistema de visión utilizado en la categoría sumbot del evento sumo.uy [http://www.fing.edu.uy/inco/eventos/sumo.uy/].&lt;br /&gt;
A partir de la versión 5 de tortugarteButiá viene incluido, puede consultarse más sobre su funcionamiento en la wiki del evento sumo.uy [http://www.fing.edu.uy/inco/eventos/sumo.uy/wiki/index.php/Actividad_Tortugarte].&lt;br /&gt;
&lt;br /&gt;
[[Archivo:SumB.png]]&lt;br /&gt;
&lt;br /&gt;
== Plugin Pattern Detection == &lt;br /&gt;
&lt;br /&gt;
Este plugin permite detectar señales y patrones con la cámara de la pc. La versión incluida del plugin incluye el reconocimiento de señales de tránsito, pero es posible agregar marcas adicionales como se detalla en la página del plugin: [[Butia_reconocimiento_marcas]]&lt;br /&gt;
&lt;br /&gt;
La paleta trae bloques que permiten detectar la presencia de marcas además de la distancia a las mismas.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Paleta_reco_marcas.png|700px]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;Jl2bxj_UOHs&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Plugin Arduino == &lt;br /&gt;
&lt;br /&gt;
Requiere tener grabado en la Arduino el firmware Firmata. Usar la última disponible (2.1) disponible en la página (firmata.org).&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Arduino-palette.png|900px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Plugin ArDrone == &lt;br /&gt;
&lt;br /&gt;
Plugin para programar el drone [http://es.wikipedia.org/wiki/Parrot_AR.Drone Parrot ArDrone].&amp;lt;br&amp;gt;&lt;br /&gt;
Más información [[Paleta ArDrone]]&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Paleta_ardrone.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Plugin AX12 ==&lt;br /&gt;
El plugin ax12 sirve para controlar dichos servomotores inteligentes, y para obtener información de cada motor, como temperatura, voltaje, etc.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Se realizó este plugin mejorando uno crado por alumnos de la materia Robótica Educativa.([https://www.fing.edu.uy/inco/proyectos/butia/mediawiki/index.php/Grupo_2 Ir al enlace])&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[https://youtu.be/C0802cu9gjc Link al video]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Plugin XEvents ==&lt;br /&gt;
&lt;br /&gt;
[[Xevents]]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[Proyectos de XEvents 2016|Mejora de interfaz de accesibilidad XEvents]]&lt;/div&gt;</summary>
		<author><name>Lmichele</name></author>	</entry>

	<entry>
		<id>http://164.73.124.35/inco/proyectos/butia/mediawiki/index.php?title=BianfaCuentos&amp;diff=8015</id>
		<title>BianfaCuentos</title>
		<link rel="alternate" type="text/html" href="http://164.73.124.35/inco/proyectos/butia/mediawiki/index.php?title=BianfaCuentos&amp;diff=8015"/>
				<updated>2016-03-31T21:17:58Z</updated>
		
		<summary type="html">&lt;p&gt;Lmichele: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&lt;br /&gt;
== '''Objetivo''' ==&lt;br /&gt;
En el marco del Taller &amp;quot;Mejora de interfaz de accesibilidad xEvents 2016&amp;quot; se realizó la adaptación del uso de la página http://www.bianfacuentos.com/cuentos.php para que pueda ser utilizada por niños con dificultades motrices y déficit visual, en particular que pueda ser utilizado por Milagros, alumna de la escuela N° 200 &amp;quot;Ricardo Caritat&amp;quot; ubicada en el Prado. &lt;br /&gt;
 &lt;br /&gt;
== '''Integrantes''' ==&lt;br /&gt;
&lt;br /&gt;
* Rodrigo Berón &lt;br /&gt;
* Romina Brown &lt;br /&gt;
* Maestra: Laura Gómez&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== '''Desarrollo''' ==&lt;br /&gt;
El sitio web http://www.bianfacuentos.com/cuentos.php dispone de varios cuentos con audio e imágenes y al ingresar a cada uno de ellos se muestran botones &amp;quot;Anterior&amp;quot; y &amp;quot;Siguiente&amp;quot; para poder navegar por las páginas del mismo. &amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
La siguiente imagen muestra uno de los cuentos llamado &amp;quot;El Yacaré y las estrellas&amp;quot;: &amp;lt;br&amp;gt;&lt;br /&gt;
[[Archivo:CapturaBianfaCuentos.PNG]] &amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
La idea es simular el click izquierdo del mouse en estos botones realizando un barrido de pantalla. Para ello se utiliza un botón Butiá que será más fácil de manipular que el propio mouse.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[Archivo:CapturaCuentos.png]] &amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Al abrir el TurtleBots para comenzar a utilizar esta adaptación nos encontramos con ciertas variables que pueden modificarse antes de iniciar la lectura de un cuento: &amp;lt;br&amp;gt;&lt;br /&gt;
* Velocidad en ''y'': velocidad de movimiento en el eje ''y'' al realizar el barrido&lt;br /&gt;
* Velocidad en ''x'': velocidad de movimiento en el eje ''x'' al realizar el barrido&lt;br /&gt;
* Cantidad de páginas: cantidad de páginas que posee el cuento&lt;br /&gt;
* Cuento a leer: nombre del libro que desea reproducirse&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Cuando se termina de setear las variables, se le da &amp;quot;start&amp;quot;. Al iniciar el programa en Turtlebots, se abre el browser con el cuento seleccionado y se hace scrollDown para ajustar el cuento a la pantalla de forma que se pueda visualizar en su totalidad. Luego de esto se comienza con los barridos hasta que el niño desee finalizar la lectura. Los barridos se realizan en la parte inferior-derecha de la pantalla ya que allí se encuentran los botones &amp;quot;Anterior&amp;quot; y &amp;quot;Siguiente&amp;quot; agilizando el proceso de barrido y haciendo el uso del juego más dinámico.&lt;/div&gt;</summary>
		<author><name>Lmichele</name></author>	</entry>

	<entry>
		<id>http://164.73.124.35/inco/proyectos/butia/mediawiki/index.php?title=Proyectos_de_XEvents_2016&amp;diff=7987</id>
		<title>Proyectos de XEvents 2016</title>
		<link rel="alternate" type="text/html" href="http://164.73.124.35/inco/proyectos/butia/mediawiki/index.php?title=Proyectos_de_XEvents_2016&amp;diff=7987"/>
				<updated>2016-03-28T20:02:26Z</updated>
		
		<summary type="html">&lt;p&gt;Lmichele: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;*[[Memorize - Sugar]] &amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
*[[BianfaCuentos]] &amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;!--*[[Grupo 3 XEvents]] &amp;lt;br&amp;gt;&amp;lt;br&amp;gt;--&amp;gt;&lt;br /&gt;
&amp;lt;!--*[[Grupo 4 XEvents]] &amp;lt;br&amp;gt;&amp;lt;br&amp;gt;--&amp;gt;&lt;br /&gt;
*[[Mejora de Barrido para Ubuntu]] &amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;!--*[[Grupo 6 XEvents]] &amp;lt;br&amp;gt;&amp;lt;br&amp;gt;--&amp;gt;&lt;/div&gt;</summary>
		<author><name>Lmichele</name></author>	</entry>

	<entry>
		<id>http://164.73.124.35/inco/proyectos/butia/mediawiki/index.php?title=Construcci%C3%B3n_Buti%C3%A1_V2.0&amp;diff=2965</id>
		<title>Construcción Butiá V2.0</title>
		<link rel="alternate" type="text/html" href="http://164.73.124.35/inco/proyectos/butia/mediawiki/index.php?title=Construcci%C3%B3n_Buti%C3%A1_V2.0&amp;diff=2965"/>
				<updated>2012-08-30T18:41:14Z</updated>
		
		<summary type="html">&lt;p&gt;Lmichele: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;*[[Electrónica| Electrónica]]&lt;br /&gt;
*[[Software|Software]]&lt;br /&gt;
*[[Mecanica|Mecanica]]&lt;/div&gt;</summary>
		<author><name>Lmichele</name></author>	</entry>

	<entry>
		<id>http://164.73.124.35/inco/proyectos/butia/mediawiki/index.php?title=Construcci%C3%B3n_Buti%C3%A1_V1.8&amp;diff=2964</id>
		<title>Construcción Butiá V1.8</title>
		<link rel="alternate" type="text/html" href="http://164.73.124.35/inco/proyectos/butia/mediawiki/index.php?title=Construcci%C3%B3n_Buti%C3%A1_V1.8&amp;diff=2964"/>
				<updated>2012-08-30T18:40:51Z</updated>
		
		<summary type="html">&lt;p&gt;Lmichele: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;*[[Electrónica| Electrónica]]&lt;br /&gt;
*[[Software|Software]]&lt;br /&gt;
*[[Mecanica|Mecanica]]&lt;/div&gt;</summary>
		<author><name>Lmichele</name></author>	</entry>

	<entry>
		<id>http://164.73.124.35/inco/proyectos/butia/mediawiki/index.php?title=Electr%C3%B3nica_Buti%C3%A1_v1.8&amp;diff=2962</id>
		<title>Electrónica Butiá v1.8</title>
		<link rel="alternate" type="text/html" href="http://164.73.124.35/inco/proyectos/butia/mediawiki/index.php?title=Electr%C3%B3nica_Buti%C3%A1_v1.8&amp;diff=2962"/>
				<updated>2012-08-30T18:35:29Z</updated>
		
		<summary type="html">&lt;p&gt;Lmichele: Electonica trasladada a Electrónica: Falta de Ortografía&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* [[ usb4butia | USB4butiá]]&lt;br /&gt;
* [[Sensores 1.8| Sensores 1.8]]&lt;/div&gt;</summary>
		<author><name>Lmichele</name></author>	</entry>

	<entry>
		<id>http://164.73.124.35/inco/proyectos/butia/mediawiki/index.php?title=Electonica&amp;diff=2963</id>
		<title>Electonica</title>
		<link rel="alternate" type="text/html" href="http://164.73.124.35/inco/proyectos/butia/mediawiki/index.php?title=Electonica&amp;diff=2963"/>
				<updated>2012-08-30T18:35:29Z</updated>
		
		<summary type="html">&lt;p&gt;Lmichele: Electonica trasladada a Electrónica: Falta de Ortografía&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECCIÓN [[Electrónica]]&lt;/div&gt;</summary>
		<author><name>Lmichele</name></author>	</entry>

	<entry>
		<id>http://164.73.124.35/inco/proyectos/butia/mediawiki/index.php?title=Aceler%C3%B3metro&amp;diff=2860</id>
		<title>Acelerómetro</title>
		<link rel="alternate" type="text/html" href="http://164.73.124.35/inco/proyectos/butia/mediawiki/index.php?title=Aceler%C3%B3metro&amp;diff=2860"/>
				<updated>2012-08-09T15:05:25Z</updated>
		
		<summary type="html">&lt;p&gt;Lmichele: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;La [http://es.wikipedia.org/wiki/Acelerometro página correspondiente de wikipedia] define un acelerómetro como:&lt;br /&gt;
&amp;quot;Se denomina '''acelerómetro''' a cualquier [http://es.wikipedia.org/wiki/Instrumento_de_medici%C3%B3n instrumento] destinado a medir [http://es.wikipedia.org/wiki/Aceleraci%C3%B3n aceleraciones].&lt;br /&gt;
Esto no es necesariamente la misma que la aceleración de coordenadas (cambio de la velocidad del dispositivo en el espacio), sino que es el tipo de aceleración asociadas con el fenómeno de peso experimentada por una masa de prueba que se encuentra en el marco de referencia del dispositivo. Un ejemplo en el que este tipo de aceleraciones son diferentes es cuando un acelerómetro medirá un valor sentado en el suelo, ya que las masas tienen un peso, a pesar de que no hay cambio de velocidad. Sin embargo, un acelerómetro en caída gravitacional libre hacia el centro de la Tierra medirá un valor de cero, ya que, a pesar de que su velocidad es cada vez mayor, está en un marco de referencia en el que no tiene peso.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
En las XO 1.75 es posible acceder al acelerómetro, leyendo del archivo especial '''/sys/devices/platform/lis3lv02d/position''', cuyo contenido tiene el siguiente formato:&lt;br /&gt;
&lt;br /&gt;
(acelx,acely,acelz)\n&lt;br /&gt;
&lt;br /&gt;
Lo que es fácilmente leíble en python con el siguiente código:&lt;br /&gt;
&lt;br /&gt;
def getXYZ():&lt;br /&gt;
         fh=open(&amp;quot;'''/sys/devices/platform/lis3lv02d/position'''&amp;quot;,&amp;quot;r&amp;quot;)&lt;br /&gt;
         (acelx, acely, acelz)=eval(fh.read())&lt;br /&gt;
         fh.close()&lt;br /&gt;
         return (acelx, acely, acelz)&lt;br /&gt;
&lt;br /&gt;
Se puede utilizar eval, ya que el formato del archivo se corresponde con el usado para leer ternas en python. Si bien la función definida cumple su cometido, es lenta, ya que en cada invocación es necesario pedirle al sistema operativo que cree un nuevo file descriptor. Por esta razón será más eficiente el mantener el archivo abierto, releyéndolo cada vez:&lt;br /&gt;
&lt;br /&gt;
def accel_init():&lt;br /&gt;
   global fh&lt;br /&gt;
   fh=open(&amp;quot;'''/sys/devices/platform/lis3lv02d/position'''&amp;quot;,&amp;quot;r&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
def getXYZ():&lt;br /&gt;
         fh.seek(0)&lt;br /&gt;
         (acelx, acely, acelz)=eval(fh.read())&lt;br /&gt;
         return (acelx, acely, acelz)&lt;br /&gt;
&lt;br /&gt;
def accel_close():&lt;br /&gt;
   fh.close()&lt;br /&gt;
&lt;br /&gt;
Este código devuelve siempre la aceleración en el mismo sistema de coordenadas, a veces es recomendable cambiarlo, por ejemplo cuando se desea que al comenzar un programa, la aceleración aparezca siempre en la dirección del eje z. Para esto se utilizan herramientas de álgebra lineal, por ejemplo, calculando una base orto-normal a partir de&lt;br /&gt;
&lt;br /&gt;
(acelx, acely, acelz), (0,1,0), (acelx, acely, acelz)^(0,1,0)&lt;br /&gt;
&lt;br /&gt;
Y calcular las coordenadas en dicha base, por medio del producto interno.&lt;br /&gt;
Este método es el utilizado en el código de [[media:Need4Butia.tar.gz |need4Butiá]].&lt;/div&gt;</summary>
		<author><name>Lmichele</name></author>	</entry>

	<entry>
		<id>http://164.73.124.35/inco/proyectos/butia/mediawiki/index.php?title=Aceler%C3%B3metro&amp;diff=2859</id>
		<title>Acelerómetro</title>
		<link rel="alternate" type="text/html" href="http://164.73.124.35/inco/proyectos/butia/mediawiki/index.php?title=Aceler%C3%B3metro&amp;diff=2859"/>
				<updated>2012-08-09T15:05:03Z</updated>
		
		<summary type="html">&lt;p&gt;Lmichele: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;La [http://es.wikipedia.org/wiki/Acelerometro página correspondiente de wikipedia] define un acelerómetro como:&lt;br /&gt;
&amp;quot;Se denomina '''acelerómetro''' a cualquier [http://es.wikipedia.org/wiki/Instrumento_de_medici%C3%B3n instrumento] destinado a medir [http://es.wikipedia.org/wiki/Aceleraci%C3%B3n aceleraciones].&lt;br /&gt;
Esto no es necesariamente la misma que la aceleración de coordenadas (cambio de la velocidad del dispositivo en el espacio), sino que es el tipo de aceleración asociadas con el fenómeno de peso experimentada por una masa de prueba que se encuentra en el marco de referencia del dispositivo. Un ejemplo en el que este tipo de aceleraciones son diferentes es cuando un acelerómetro medirá un valor sentado en el suelo, ya que las masas tienen un peso, a pesar de que no hay cambio de velocidad. Sin embargo, un acelerómetro en caída gravitacional libre hacia el centro de la Tierra medirá un valor de cero, ya que, a pesar de que su velocidad es cada vez mayor, está en un marco de referencia en el que no tiene peso.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
En las XO 1.75 es posible acceder al acelerómetro, leyendo del archivo especial '''/sys/devices/platform/lis3lv02d/position''', cuyo contenido tiene el siguiente formato:&lt;br /&gt;
&lt;br /&gt;
(acelx,acely,acelz)\n&lt;br /&gt;
&lt;br /&gt;
Lo que es fácilmente leíble en python con el siguiente código:&lt;br /&gt;
&lt;br /&gt;
def getXYZ():&lt;br /&gt;
         fh=open(&amp;quot;'''/sys/devices/platform/lis3lv02d/position'''&amp;quot;,&amp;quot;r&amp;quot;)&lt;br /&gt;
         (acelx, acely, acelz)=eval(fh.read())&lt;br /&gt;
         fh.close()&lt;br /&gt;
         return (acelx, acely, acelz)&lt;br /&gt;
&lt;br /&gt;
Se puede utilizar eval, ya que el formato del archivo se corresponde con el usado para leer ternas en python. Si bien la función definida cumple su cometido, es lenta, ya que en cada invocación es necesario pedirle al sistema operativo que cree un nuevo file descriptor. Por esta razón será más eficiente el mantener el archivo abierto, releyéndolo cada vez:&lt;br /&gt;
&lt;br /&gt;
def accel_init():&lt;br /&gt;
   global fh&lt;br /&gt;
   fh=open(&amp;quot;'''/sys/devices/platform/lis3lv02d/position'''&amp;quot;,&amp;quot;r&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
def getXYZ():&lt;br /&gt;
         fh.seek(0)&lt;br /&gt;
         (acelx, acely, acelz)=eval(fh.read())&lt;br /&gt;
         return (acelx, acely, acelz)&lt;br /&gt;
&lt;br /&gt;
def accel_close():&lt;br /&gt;
   fh.close()&lt;br /&gt;
&lt;br /&gt;
Este código devuelve siempre la aceleración en el mismo sistema de coordenadas, a veces es recomendable cambiarlo, por ejemplo cuando se desea que al comenzar un programa, la aceleración aparezca siempre en la dirección del eje z. Para esto se utilizan herramientas de álgebra lineal, por ejemplo, calculando una base orto-normal a partir de&lt;br /&gt;
&lt;br /&gt;
(acelx, acely, acelz), (0,1,0), (acelx, acely, acelz)^(0,1,0)&lt;br /&gt;
&lt;br /&gt;
Y calcular las coordenadas en dicha base, por medio del producto interno.&lt;br /&gt;
Este método es el utilizado en el código de [[Archivo:Need4Butia.tar.gz |need4Butiá]].&lt;/div&gt;</summary>
		<author><name>Lmichele</name></author>	</entry>

	<entry>
		<id>http://164.73.124.35/inco/proyectos/butia/mediawiki/index.php?title=Aceler%C3%B3metro&amp;diff=2858</id>
		<title>Acelerómetro</title>
		<link rel="alternate" type="text/html" href="http://164.73.124.35/inco/proyectos/butia/mediawiki/index.php?title=Aceler%C3%B3metro&amp;diff=2858"/>
				<updated>2012-08-09T15:04:18Z</updated>
		
		<summary type="html">&lt;p&gt;Lmichele: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;La [http://es.wikipedia.org/wiki/Acelerometro página correspondiente de wikipedia] define un acelerómetro como:&lt;br /&gt;
&amp;quot;Se denomina '''acelerómetro''' a cualquier [http://es.wikipedia.org/wiki/Instrumento_de_medici%C3%B3n instrumento] destinado a medir [http://es.wikipedia.org/wiki/Aceleraci%C3%B3n aceleraciones].&lt;br /&gt;
Esto no es necesariamente la misma que la aceleración de coordenadas (cambio de la velocidad del dispositivo en el espacio), sino que es el tipo de aceleración asociadas con el fenómeno de peso experimentada por una masa de prueba que se encuentra en el marco de referencia del dispositivo. Un ejemplo en el que este tipo de aceleraciones son diferentes es cuando un acelerómetro medirá un valor sentado en el suelo, ya que las masas tienen un peso, a pesar de que no hay cambio de velocidad. Sin embargo, un acelerómetro en caída gravitacional libre hacia el centro de la Tierra medirá un valor de cero, ya que, a pesar de que su velocidad es cada vez mayor, está en un marco de referencia en el que no tiene peso.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
En las XO 1.75 es posible acceder al acelerómetro, leyendo del archivo especial '''/sys/devices/platform/lis3lv02d/position''', cuyo contenido tiene el siguiente formato:&lt;br /&gt;
&lt;br /&gt;
(acelx,acely,acelz)\n&lt;br /&gt;
&lt;br /&gt;
Lo que es fácilmente leíble en python con el siguiente código:&lt;br /&gt;
&lt;br /&gt;
def getXYZ():&lt;br /&gt;
         fh=open(&amp;quot;'''/sys/devices/platform/lis3lv02d/position'''&amp;quot;,&amp;quot;r&amp;quot;)&lt;br /&gt;
         (acelx, acely, acelz)=eval(fh.read())&lt;br /&gt;
         fh.close()&lt;br /&gt;
         return (acelx, acely, acelz)&lt;br /&gt;
&lt;br /&gt;
Se puede utilizar eval, ya que el formato del archivo se corresponde con el usado para leer ternas en python. Si bien la función definida cumple su cometido, es lenta, ya que en cada invocación es necesario pedirle al sistema operativo que cree un nuevo file descriptor. Por esta razón será más eficiente el mantener el archivo abierto, releyéndolo cada vez:&lt;br /&gt;
&lt;br /&gt;
def accel_init():&lt;br /&gt;
   global fh&lt;br /&gt;
   fh=open(&amp;quot;'''/sys/devices/platform/lis3lv02d/position'''&amp;quot;,&amp;quot;r&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
def getXYZ():&lt;br /&gt;
         fh.seek(0)&lt;br /&gt;
         (acelx, acely, acelz)=eval(fh.read())&lt;br /&gt;
         return (acelx, acely, acelz)&lt;br /&gt;
&lt;br /&gt;
def accel_close():&lt;br /&gt;
   fh.close()&lt;br /&gt;
&lt;br /&gt;
Este código devuelve siempre la aceleración en el mismo sistema de coordenadas, a veces es recomendable cambiarlo, por ejemplo cuando se desea que al comenzar un programa, la aceleración aparezca siempre en la dirección del eje z. Para esto se utilizan herramientas de álgebra lineal, por ejemplo, calculando una base orto-normal a partir de&lt;br /&gt;
&lt;br /&gt;
(acelx, acely, acelz), (0,1,0), (acelx, acely, acelz)^(0,1,0)&lt;br /&gt;
&lt;br /&gt;
Y calcular las coordenadas en dicha base, por medio del producto interno.&lt;br /&gt;
Este método es el utilizado en el código de [[Archivo:Need4Butia.tar.gz|need4Butiá]].&lt;/div&gt;</summary>
		<author><name>Lmichele</name></author>	</entry>

	<entry>
		<id>http://164.73.124.35/inco/proyectos/butia/mediawiki/index.php?title=Archivo:Need4Butia.tar.gz&amp;diff=2857</id>
		<title>Archivo:Need4Butia.tar.gz</title>
		<link rel="alternate" type="text/html" href="http://164.73.124.35/inco/proyectos/butia/mediawiki/index.php?title=Archivo:Need4Butia.tar.gz&amp;diff=2857"/>
				<updated>2012-08-09T15:03:43Z</updated>
		
		<summary type="html">&lt;p&gt;Lmichele: Código de ejemplo de telepresencia en butiá usando el acelerómetro&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Código de ejemplo de telepresencia en butiá usando el acelerómetro&lt;/div&gt;</summary>
		<author><name>Lmichele</name></author>	</entry>

	<entry>
		<id>http://164.73.124.35/inco/proyectos/butia/mediawiki/index.php?title=Aceler%C3%B3metro&amp;diff=2856</id>
		<title>Acelerómetro</title>
		<link rel="alternate" type="text/html" href="http://164.73.124.35/inco/proyectos/butia/mediawiki/index.php?title=Aceler%C3%B3metro&amp;diff=2856"/>
				<updated>2012-08-09T14:59:54Z</updated>
		
		<summary type="html">&lt;p&gt;Lmichele: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;La [http://es.wikipedia.org/wiki/Acelerometro página correspondiente de wikipedia] define un acelerómetro como:&lt;br /&gt;
&amp;quot;Se denomina '''acelerómetro''' a cualquier [http://es.wikipedia.org/wiki/Instrumento_de_medici%C3%B3n instrumento] destinado a medir [http://es.wikipedia.org/wiki/Aceleraci%C3%B3n aceleraciones].&lt;br /&gt;
Esto no es necesariamente la misma que la aceleración de coordenadas (cambio de la velocidad del dispositivo en el espacio), sino que es el tipo de aceleración asociadas con el fenómeno de peso experimentada por una masa de prueba que se encuentra en el marco de referencia del dispositivo. Un ejemplo en el que este tipo de aceleraciones son diferentes es cuando un acelerómetro medirá un valor sentado en el suelo, ya que las masas tienen un peso, a pesar de que no hay cambio de velocidad. Sin embargo, un acelerómetro en caída gravitacional libre hacia el centro de la Tierra medirá un valor de cero, ya que, a pesar de que su velocidad es cada vez mayor, está en un marco de referencia en el que no tiene peso.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
En las XO 1.75 es posible acceder al acelerómetro, leyendo del archivo especial '''/sys/devices/platform/lis3lv02d/position''', cuyo contenido tiene el siguiente formato:&lt;br /&gt;
&lt;br /&gt;
(acelx,acely,acelz)\n&lt;br /&gt;
&lt;br /&gt;
Lo que es fácilmente leíble en python con el siguiente código:&lt;br /&gt;
&lt;br /&gt;
def getXYZ():&lt;br /&gt;
         fh=open(&amp;quot;'''/sys/devices/platform/lis3lv02d/position'''&amp;quot;,&amp;quot;r&amp;quot;)&lt;br /&gt;
         (acelx, acely, acelz)=eval(fh.read())&lt;br /&gt;
         fh.close()&lt;br /&gt;
         return (acelx, acely, acelz)&lt;br /&gt;
&lt;br /&gt;
Se puede utilizar eval, ya que el formato del archivo se corresponde con el usado para leer ternas en python. Si bien la función definida cumple su cometido, es lenta, ya que en cada invocación es necesario pedirle al sistema operativo que cree un nuevo file descriptor. Por esta razón será más eficiente el mantener el archivo abierto, releyéndolo cada vez:&lt;br /&gt;
&lt;br /&gt;
def accel_init():&lt;br /&gt;
   global fh&lt;br /&gt;
   fh=open(&amp;quot;'''/sys/devices/platform/lis3lv02d/position'''&amp;quot;,&amp;quot;r&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
def getXYZ():&lt;br /&gt;
         fh.seek(0)&lt;br /&gt;
         (acelx, acely, acelz)=eval(fh.read())&lt;br /&gt;
         return (acelx, acely, acelz)&lt;br /&gt;
&lt;br /&gt;
def accel_close():&lt;br /&gt;
   fh.close()&lt;br /&gt;
&lt;br /&gt;
Este código devuelve siempre la aceleración en el mismo sistema de coordenadas, a veces es recomendable cambiarlo, por ejemplo cuando se desea que al comenzar un programa, la aceleración aparezca siempre en la dirección del eje z. Para esto se utilizan herramientas de álgebra lineal, por ejemplo, calculando una base orto-normal a partir de&lt;br /&gt;
&lt;br /&gt;
(acelx, acely, acelz), (0,1,0), (acelx, acely, acelz)^(0,1,0)&lt;br /&gt;
&lt;br /&gt;
Y calcular las coordenadas en dicha base, por medio del producto interno.&lt;br /&gt;
Este método es el utilizado en el código de [[Archivo:need4Butia.py|need4Butiá]].&lt;/div&gt;</summary>
		<author><name>Lmichele</name></author>	</entry>

	<entry>
		<id>http://164.73.124.35/inco/proyectos/butia/mediawiki/index.php?title=Aceler%C3%B3metro&amp;diff=2855</id>
		<title>Acelerómetro</title>
		<link rel="alternate" type="text/html" href="http://164.73.124.35/inco/proyectos/butia/mediawiki/index.php?title=Aceler%C3%B3metro&amp;diff=2855"/>
				<updated>2012-08-09T14:59:02Z</updated>
		
		<summary type="html">&lt;p&gt;Lmichele: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;La [http://es.wikipedia.org/wiki/Acelerometro página correspondiente de wikipedia] define un acelerómetro como:&lt;br /&gt;
&amp;quot;Se denomina '''acelerómetro''' a cualquier [http://es.wikipedia.org/wiki/Instrumento_de_medici%C3%B3n instrumento] destinado a medir [http://es.wikipedia.org/wiki/Aceleraci%C3%B3n aceleraciones].&lt;br /&gt;
Esto no es necesariamente la misma que la aceleración de coordenadas (cambio de la velocidad del dispositivo en el espacio), sino que es el tipo de aceleración asociadas con el fenómeno de peso experimentada por una masa de prueba que se encuentra en el marco de referencia del dispositivo. Un ejemplo en el que este tipo de aceleraciones son diferentes es cuando un acelerómetro medirá un valor sentado en el suelo, ya que las masas tienen un peso, a pesar de que no hay cambio de velocidad. Sin embargo, un acelerómetro en caída gravitacional libre hacia el centro de la Tierra medirá un valor de cero, ya que, a pesar de que su velocidad es cada vez mayor, está en un marco de referencia en el que no tiene peso.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
En las XO 1.75 es posible acceder al acelerómetro, leyendo del archivo especial '''/sys/devices/platform/lis3lv02d/position''', cuyo contenido tiene el siguiente formato:&lt;br /&gt;
&lt;br /&gt;
(acelx,acely,acelz)\n&lt;br /&gt;
&lt;br /&gt;
Lo que es fácilmente leíble en python con el siguiente código:&lt;br /&gt;
&lt;br /&gt;
def getXYZ():&lt;br /&gt;
         fh=open(&amp;quot;'''/sys/devices/platform/lis3lv02d/position'''&amp;quot;,&amp;quot;r&amp;quot;)&lt;br /&gt;
         (acelx, acely, acelz)=eval(fh.read())&lt;br /&gt;
         fh.close()&lt;br /&gt;
         return (acelx, acely, acelz)&lt;br /&gt;
&lt;br /&gt;
Se puede utilizar eval, ya que el formato del archivo se corresponde con el usado para leer ternas en python. Si bien la función definida cumple su cometido, es lenta, ya que en cada invocación es necesario pedirle al sistema operativo que cree un nuevo file descriptor. Por esta razón será más eficiente el mantener el archivo abierto, releyéndolo cada vez:&lt;br /&gt;
&lt;br /&gt;
def accel_init():&lt;br /&gt;
   global fh&lt;br /&gt;
   fh=open(&amp;quot;'''/sys/devices/platform/lis3lv02d/position'''&amp;quot;,&amp;quot;r&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
def getXYZ():&lt;br /&gt;
         fh.seek(0)&lt;br /&gt;
         (acelx, acely, acelz)=eval(fh.read())&lt;br /&gt;
         return (acelx, acely, acelz)&lt;br /&gt;
&lt;br /&gt;
def accel_close():&lt;br /&gt;
   fh.close()&lt;br /&gt;
&lt;br /&gt;
Este código devuelve siempre la aceleración en el mismo sistema de coordenadas, a veces es recomendable cambiarlo, por ejemplo cuando se desea que al comenzar un programa, la aceleración aparezca siempre en la dirección del eje z. Para esto se utilizan herramientas de álgebra lineal, por ejemplo, calculando una base orto-normal a partir de&lt;br /&gt;
&lt;br /&gt;
(acelx, acely, acelz), (0,1,0), (acelx, acely, acelz)^(0,1,0)&lt;br /&gt;
&lt;br /&gt;
Y calcular las coordenadas en dicha base, por medio del producto interno.&lt;br /&gt;
Este método es el utilizado en el código de [[Media:need4Butia.py|need4Butiá]].&lt;/div&gt;</summary>
		<author><name>Lmichele</name></author>	</entry>

	<entry>
		<id>http://164.73.124.35/inco/proyectos/butia/mediawiki/index.php?title=Need4Buti%C3%A1&amp;diff=2854</id>
		<title>Need4Butiá</title>
		<link rel="alternate" type="text/html" href="http://164.73.124.35/inco/proyectos/butia/mediawiki/index.php?title=Need4Buti%C3%A1&amp;diff=2854"/>
				<updated>2012-08-09T14:58:18Z</updated>
		
		<summary type="html">&lt;p&gt;Lmichele: Página creada con '#butiaRemoto import butiaAPI import time import struct import math from numpy import linalg from numpy import matlib  #def getXY(in_file_f): #    x = 0		 #    y = 0 #    z = 0 #...'&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#butiaRemoto&lt;br /&gt;
import butiaAPI&lt;br /&gt;
import time&lt;br /&gt;
import struct&lt;br /&gt;
import math&lt;br /&gt;
from numpy import linalg&lt;br /&gt;
from numpy import matlib&lt;br /&gt;
&lt;br /&gt;
#def getXY(in_file_f):&lt;br /&gt;
#    x = 0		&lt;br /&gt;
#    y = 0&lt;br /&gt;
#    z = 0&lt;br /&gt;
#    event = in_file_f.read(16)&lt;br /&gt;
#    (time1,time2, type, code, value) = \&lt;br /&gt;
#    	struct.unpack(fmt,event)&lt;br /&gt;
#    time = time2 / 1000.0&lt;br /&gt;
#    if type == 2 or type == 3:&lt;br /&gt;
#	    if code == 0:&lt;br /&gt;
#		    x = value&lt;br /&gt;
#	    if code == 1:&lt;br /&gt;
#		    y = value&lt;br /&gt;
#	    if code == 2:&lt;br /&gt;
#		    z = value&lt;br /&gt;
#   if type == 0 and code == 0:&lt;br /&gt;
#	    sum = 0&lt;br /&gt;
#    return x,y&lt;br /&gt;
mor = (0,1,0)&lt;br /&gt;
xbase = (1,0,0)&lt;br /&gt;
ybase = (0,0,1)&lt;br /&gt;
def normal():&lt;br /&gt;
	xyz = getXYZ()&lt;br /&gt;
	tam = linalg.norm(xyz)&lt;br /&gt;
	mor = matlib.matrix(xyz)/tam&lt;br /&gt;
	print xyz,tam,mor&lt;br /&gt;
	ybase = matlib.cross(mor,(1,0,0))&lt;br /&gt;
	ybase /= linalg.norm(ybase)&lt;br /&gt;
	xbase = matlib.cross(ybase,mor)&lt;br /&gt;
	xbase /= linalg.norm(xbase)&lt;br /&gt;
	print mor,linalg.norm(mor)&lt;br /&gt;
	print xbase,linalg.norm(xbase)&lt;br /&gt;
	print ybase,linalg.norm(ybase)&lt;br /&gt;
	print matlib.inner(xbase,ybase),matlib.inner(xbase,mor)&lt;br /&gt;
	print matlib.inner((1,0,0),ybase),matlib.inner(ybase,mor)&lt;br /&gt;
	print matlib.inner(mor,xyz),&lt;br /&gt;
	print matlib.inner(xbase,xyz),&lt;br /&gt;
	print matlib.inner(ybase,xyz),&lt;br /&gt;
	print (matlib.inner(mor,xyz)**2 +&lt;br /&gt;
	 matlib.inner(mor,xyz)**2 +&lt;br /&gt;
	 matlib.inner(mor,xyz))**0.5&lt;br /&gt;
	return (xbase,mor,ybase)&lt;br /&gt;
	&lt;br /&gt;
ACCELEROMETER_DEVICE='/sys/devices/platform/lis3lv02d/position'&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def getXYZ():&lt;br /&gt;
        ''' return accelerometer xyz as a tuple '''&lt;br /&gt;
        try:&lt;br /&gt;
            fh.seek(0)&lt;br /&gt;
            string = fh.read()&lt;br /&gt;
            xyz = eval(string)&lt;br /&gt;
            xyz =tuple(map(lambda nuevo: int(nuevo),xyz))&lt;br /&gt;
            return xyz&lt;br /&gt;
        except IOError as ioerror:&lt;br /&gt;
                print ioerror&lt;br /&gt;
                return (0,0,0)&lt;br /&gt;
def getY():&lt;br /&gt;
	xyz=getXYZ()&lt;br /&gt;
	return matlib.inner(xyz,ybase)&lt;br /&gt;
&lt;br /&gt;
def getX():&lt;br /&gt;
	xyz=getXYZ()&lt;br /&gt;
	return matlib.inner(xyz,xbase)&lt;br /&gt;
&lt;br /&gt;
def dir(n):&lt;br /&gt;
	if (n&amp;gt;0):&lt;br /&gt;
		return ('1',str(n))&lt;br /&gt;
	else:&lt;br /&gt;
		return ('0',str(-n))&lt;br /&gt;
def dir2(iz,de):&lt;br /&gt;
	(sentIz,magIz)=dir(iz)&lt;br /&gt;
	(sentDe,magDe)=dir(de)&lt;br /&gt;
	return (str(sentIz),str(magIz),str(sentDe),str(magDe))&lt;br /&gt;
&lt;br /&gt;
butiabot = butiaAPI.robot('169.254.11.29')&lt;br /&gt;
modulos = butiabot.get_modules_list()&lt;br /&gt;
print modulos&lt;br /&gt;
&lt;br /&gt;
#butiabot.abrirSensor()&lt;br /&gt;
#butiabot.abrirMotores()&lt;br /&gt;
a = 'q' #no hace nada&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
fh = open(ACCELEROMETER_DEVICE,'r')&lt;br /&gt;
# Inicializo base en equilibrio&lt;br /&gt;
(xbase,mor,ybase)=normal()&lt;br /&gt;
time.sleep(1)&lt;br /&gt;
ANGULO_MAX = 500&lt;br /&gt;
MOTOR_MAX  = 1000&lt;br /&gt;
#try:&lt;br /&gt;
#while True:&lt;br /&gt;
#	print matlib.inner(mor,getXYZ()),&lt;br /&gt;
#	print matlib.inner(xbase,getXYZ()),&lt;br /&gt;
#	print matlib.inner(ybase,getXYZ())&lt;br /&gt;
#except:&lt;br /&gt;
#	pass&lt;br /&gt;
&lt;br /&gt;
while True:&lt;br /&gt;
	x1 = getX()[0]&lt;br /&gt;
	y1 = getY()[0]&lt;br /&gt;
	print(&amp;quot;x&amp;quot; + str(x1) + &amp;quot;y&amp;quot; + str(y1))&lt;br /&gt;
	#topeo a la mitad del recorrido&lt;br /&gt;
	iz = x1+y1&lt;br /&gt;
	de = -(x1-y1)&lt;br /&gt;
	if(max(abs(iz),abs(de))&amp;gt;1000):&lt;br /&gt;
		iz=iz*1000/max(abs(iz),abs(de))&lt;br /&gt;
		de=de*1000/max(abs(iz),abs(de))&lt;br /&gt;
	dires=dir2(iz,de)&lt;br /&gt;
	print dires			&lt;br /&gt;
	butiabot.set2MotorSpeed(*dires)			&lt;br /&gt;
print v		&lt;br /&gt;
&lt;br /&gt;
fh.close()&lt;br /&gt;
&lt;br /&gt;
#in_file.close()		&lt;br /&gt;
print &amp;quot;fin&amp;quot;&lt;/div&gt;</summary>
		<author><name>Lmichele</name></author>	</entry>

	<entry>
		<id>http://164.73.124.35/inco/proyectos/butia/mediawiki/index.php?title=Aceler%C3%B3metro&amp;diff=2853</id>
		<title>Acelerómetro</title>
		<link rel="alternate" type="text/html" href="http://164.73.124.35/inco/proyectos/butia/mediawiki/index.php?title=Aceler%C3%B3metro&amp;diff=2853"/>
				<updated>2012-08-09T14:57:18Z</updated>
		
		<summary type="html">&lt;p&gt;Lmichele: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;La [http://es.wikipedia.org/wiki/Acelerometro página correspondiente de wikipedia] define un acelerómetro como:&lt;br /&gt;
&amp;quot;Se denomina '''acelerómetro''' a cualquier [http://es.wikipedia.org/wiki/Instrumento_de_medici%C3%B3n instrumento] destinado a medir [http://es.wikipedia.org/wiki/Aceleraci%C3%B3n aceleraciones].&lt;br /&gt;
Esto no es necesariamente la misma que la aceleración de coordenadas (cambio de la velocidad del dispositivo en el espacio), sino que es el tipo de aceleración asociadas con el fenómeno de peso experimentada por una masa de prueba que se encuentra en el marco de referencia del dispositivo. Un ejemplo en el que este tipo de aceleraciones son diferentes es cuando un acelerómetro medirá un valor sentado en el suelo, ya que las masas tienen un peso, a pesar de que no hay cambio de velocidad. Sin embargo, un acelerómetro en caída gravitacional libre hacia el centro de la Tierra medirá un valor de cero, ya que, a pesar de que su velocidad es cada vez mayor, está en un marco de referencia en el que no tiene peso.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
En las XO 1.75 es posible acceder al acelerómetro, leyendo del archivo especial '''/sys/devices/platform/lis3lv02d/position''', cuyo contenido tiene el siguiente formato:&lt;br /&gt;
&lt;br /&gt;
(acelx,acely,acelz)\n&lt;br /&gt;
&lt;br /&gt;
Lo que es fácilmente leíble en python con el siguiente código:&lt;br /&gt;
&lt;br /&gt;
def getXYZ():&lt;br /&gt;
         fh=open(&amp;quot;'''/sys/devices/platform/lis3lv02d/position'''&amp;quot;,&amp;quot;r&amp;quot;)&lt;br /&gt;
         (acelx, acely, acelz)=eval(fh.read())&lt;br /&gt;
         fh.close()&lt;br /&gt;
         return (acelx, acely, acelz)&lt;br /&gt;
&lt;br /&gt;
Se puede utilizar eval, ya que el formato del archivo se corresponde con el usado para leer ternas en python. Si bien la función definida cumple su cometido, es lenta, ya que en cada invocación es necesario pedirle al sistema operativo que cree un nuevo file descriptor. Por esta razón será más eficiente el mantener el archivo abierto, releyéndolo cada vez:&lt;br /&gt;
&lt;br /&gt;
def accel_init():&lt;br /&gt;
   global fh&lt;br /&gt;
   fh=open(&amp;quot;'''/sys/devices/platform/lis3lv02d/position'''&amp;quot;,&amp;quot;r&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
def getXYZ():&lt;br /&gt;
         fh.seek(0)&lt;br /&gt;
         (acelx, acely, acelz)=eval(fh.read())&lt;br /&gt;
         return (acelx, acely, acelz)&lt;br /&gt;
&lt;br /&gt;
def accel_close():&lt;br /&gt;
   fh.close()&lt;br /&gt;
&lt;br /&gt;
Este código devuelve siempre la aceleración en el mismo sistema de coordenadas, a veces es recomendable cambiarlo, por ejemplo cuando se desea que al comenzar un programa, la aceleración aparezca siempre en la dirección del eje z. Para esto se utilizan herramientas de álgebra lineal, por ejemplo, calculando una base orto-normal a partir de&lt;br /&gt;
&lt;br /&gt;
(acelx, acely, acelz), (0,1,0), (acelx, acely, acelz)^(0,1,0)&lt;br /&gt;
&lt;br /&gt;
Y calcular las coordenadas en dicha base, por medio del producto interno.&lt;br /&gt;
Este método es el utilizado en el código de [[need4Butiá|Media:need4Butia.py]].&lt;/div&gt;</summary>
		<author><name>Lmichele</name></author>	</entry>

	<entry>
		<id>http://164.73.124.35/inco/proyectos/butia/mediawiki/index.php?title=Aceler%C3%B3metro&amp;diff=2852</id>
		<title>Acelerómetro</title>
		<link rel="alternate" type="text/html" href="http://164.73.124.35/inco/proyectos/butia/mediawiki/index.php?title=Aceler%C3%B3metro&amp;diff=2852"/>
				<updated>2012-08-09T14:15:47Z</updated>
		
		<summary type="html">&lt;p&gt;Lmichele: Definición&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;El acelerómetro es un sensor que mide las fuerzas que actúan sobre el mismo, tomando como marco de referencia el objeto en el que se encuentra, eso significa que si dicho objeto se encuentra en reposo, la medida del acelerómetro no será 0, sino que será una medida proporcional a la fuerza de gravedad en la que se encuentra.&lt;br /&gt;
&lt;br /&gt;
La [http://es.wikipedia.org/wiki/Acelerometro página correspondiente de wikipedia] define un acelerómetro como:&lt;br /&gt;
&amp;quot;Se denomina '''acelerómetro''' a cualquier [http://es.wikipedia.org/wiki/Instrumento_de_medici%C3%B3n instrumento] destinado a medir [http://es.wikipedia.org/wiki/Aceleraci%C3%B3n aceleraciones].&lt;br /&gt;
Esto no es necesariamente la misma que la aceleración de coordenadas (cambio de la velocidad del dispositivo en el espacio), sino que es el tipo de aceleración asociadas con el fenómeno de peso experimentada por una masa de prueba que se encuentra en el marco de referencia del dispositivo. Un ejemplo en el que este tipo de aceleraciones son diferentes es cuando un acelerómetro medirá un valor sentado en el suelo, ya que las masas tienen un peso, a pesar de que no hay cambio de velocidad. Sin embargo, un acelerómetro en caída gravitacional libre hacia el centro de la Tierra medirá un valor de cero, ya que, a pesar de que su velocidad es cada vez mayor, está en un marco de referencia en el que no tiene peso.&amp;quot;&lt;/div&gt;</summary>
		<author><name>Lmichele</name></author>	</entry>

	<entry>
		<id>http://164.73.124.35/inco/proyectos/butia/mediawiki/index.php?title=Butialo&amp;diff=1652</id>
		<title>Butialo</title>
		<link rel="alternate" type="text/html" href="http://164.73.124.35/inco/proyectos/butia/mediawiki/index.php?title=Butialo&amp;diff=1652"/>
				<updated>2012-02-03T17:44:53Z</updated>
		
		<summary type="html">&lt;p&gt;Lmichele: /* Ejemplo simple (otro) */ se cambia wait, por util.wait&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Archivo:Screenshot.png|thumb|right|300px|alt=Butialo, IDE de Lua para Butia|Butialo, Lua para Butia]]&lt;br /&gt;
Butialo es un entorno fácil de usar que permite programar a Butiá en el lenguaje Lua.&lt;br /&gt;
Lua es un lenguaje de scripting imperativo simple pero que a la vez permite crear programas sofisticados. Es un lenguaje dinámico, con manejo de memoria automático y es extremadamente rápido.&lt;br /&gt;
Butialo es un IDE derivado de Pippy (el entorno para Python provisto con las XO), que simplifica la creación de programas para Butiá autodetectando la presencia de componentes Butiá conectados y ofreciendo snippets de código para accederlos.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Instalación ==&lt;br /&gt;
&lt;br /&gt;
La actividad puede descargarse desde [http://activities.sugarlabs.org/sugar/addon/4457 el repositorio de actividades de Sugar]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Ejemplo simple ==&lt;br /&gt;
&lt;br /&gt;
Avanzar mientras no haya un obstaculo.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
Motores.setvel2mtr( 1, 500, 1, 500 )&lt;br /&gt;
while true do&lt;br /&gt;
   local dist = Dist.getDistancia()&lt;br /&gt;
   if dist&amp;lt;700 then&lt;br /&gt;
      Motores.setvel2mtr( 1, 0, 1, 0 )&lt;br /&gt;
      repeat&lt;br /&gt;
         wait(1)&lt;br /&gt;
         dist = Dist.getDistancia()&lt;br /&gt;
      until dist &amp;gt; 700&lt;br /&gt;
      Motores.setvel2mtr( 1, 500, 1, 500 )&lt;br /&gt;
   end&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
También se puede programar con eventos. Un programa equivalente al anterior puede ser el siguiente:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
local function adelante()&lt;br /&gt;
  Motores.setvel2mtr( 1, 500, 1, 500 )&lt;br /&gt;
end&lt;br /&gt;
local function esperar()&lt;br /&gt;
  Motores.setvel2mtr( 1, 0, 1, 0 )&lt;br /&gt;
  wait( 1 )&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
events.add( Dist.getDistancia, '&amp;lt;', 700, esperar )&lt;br /&gt;
events.add( Dist.getDistancia, '&amp;gt;', 700, adelante )&lt;br /&gt;
events.go()&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Ejemplo simple (otro) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Butiá con estabilidad dinámica. Se toma un Butiá, se le retiran las ruedas locas y se coloca un sensor de distancia IR apuntando al piso. Con el botón se activa y desactiva el comportamiento.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
local d		--lecturas de distancia&lt;br /&gt;
local eq	--posicion de equilibrio de d&lt;br /&gt;
local v		--velocidad calculada&lt;br /&gt;
&lt;br /&gt;
while true do&lt;br /&gt;
	print (&amp;quot;Presione el botón para comenzar&amp;quot;)&lt;br /&gt;
	repeat until Boton.getBoton()==1&lt;br /&gt;
&lt;br /&gt;
	eq = Dist.getDistancia() &lt;br /&gt;
	&lt;br /&gt;
	print(&amp;quot;Arrancando&amp;quot;, eq)&lt;br /&gt;
	util.wait(1)&lt;br /&gt;
&lt;br /&gt;
	repeat&lt;br /&gt;
		d = Dist.getDistancia()&lt;br /&gt;
		v = 100+5*math.abs(d-eq)&lt;br /&gt;
		if v &amp;gt; 1024 then v = 1024 end&lt;br /&gt;
		if d &amp;lt; eq then&lt;br /&gt;
			Motores.setvel2mtr(1, v, 1, v)&lt;br /&gt;
		else&lt;br /&gt;
			Motores.setvel2mtr(0, v, 0, v)&lt;br /&gt;
		end&lt;br /&gt;
	until Boton.getBoton()==1&lt;br /&gt;
&lt;br /&gt;
	print(&amp;quot;Fin&amp;quot;)&lt;br /&gt;
	Motores.setvel2mtr(1, 0, 1, 0)&lt;br /&gt;
	util.wait(1)&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;3A0-Jmpk3c0&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Util ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Butialo provee varias funciones auxiliares.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''util.wait( t )'''&lt;br /&gt;
&lt;br /&gt;
Pausa la ejecución del programa por t segundos.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''util.get_time()'''&lt;br /&gt;
&lt;br /&gt;
Devuelve el tiempo del sistema, en segundos.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''util.new_array()'''&lt;br /&gt;
&lt;br /&gt;
Lua provee una única estructura de datos, la tabla (array asociativo). Para facilitar la introducción a los conceptos de programación butialo provee el método util.new_array() que devuelve un array convencional. El array obtenido toma índices numéricos empezando en 1, y solo almacenará variables de un único tipo (determinado por la primer asignación que se haga). El array obtenido es dinámico y será expandido automáticamente cuando se agreguen elementos al final, y se contraerá cuando el último elemento se elimine. No se aceptan valores nil en el medio del array (&amp;quot;agujeros&amp;quot;). Las funciones estándar de Lua para tablas no funcionan con estos arrays. Los métodos disponible para manipular un array son&lt;br /&gt;
&lt;br /&gt;
a.len() :  Devuelve el número de elementos contenidos en el array.&lt;br /&gt;
&lt;br /&gt;
a.add( v ) : Agrega un elemento al final del array, aumentando su tamaño. Es lo mismo que escribir a[a.len()+1]=v&lt;br /&gt;
&lt;br /&gt;
a.remove_last() : Retira y devuelve el último elemento del array, acortándo el array. Es lo mismo que escribir a[a.len()]=nil&lt;br /&gt;
&lt;br /&gt;
a.containing() : Devuelve el tipo de elemento que está siendo almacenado en el array&lt;br /&gt;
&lt;br /&gt;
Ejemplo de manipulación de arays:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
local a = new_array()&lt;br /&gt;
for i=1, 5 do&lt;br /&gt;
  a[i]=&amp;quot;entrada&amp;quot; .. i&lt;br /&gt;
end&lt;br /&gt;
a.add(&amp;quot;borrar esto&amp;quot;)&lt;br /&gt;
a.remove_last()&lt;br /&gt;
a[2]=&amp;quot;entrada cambiada&amp;quot;&lt;br /&gt;
print(&amp;quot;Array conteniendo&amp;quot;, a.containing())&lt;br /&gt;
for i=1, a.len() do&lt;br /&gt;
	print(i, &amp;quot;:&amp;quot;, a[i])&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Eventos ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Butialo puede ser programado usando eventos. Un evento permite asociar una función a una condición: si la condición se cumple, la función se ejecuta. Se pueden registrar varios eventos, y estos se pueden agregar y eliminar en cualquier momento. Los eventos se ejecutan de forma bloqueante: cuando un evento se dispara, la función asociada se ejecuta hasta terminar y no puede ser interrumpida por otro evento. Es más, mientras un evento se está ejecutando, no se evalúan las condiciones de los otros eventos. El evento se dispara cuando la condición empieza a cumplirse, pero no continuará haciéndolo hasta que la condición deje de cumplirse.&lt;br /&gt;
&lt;br /&gt;
Para registrar un evento, se usa la función events.add&lt;br /&gt;
&lt;br /&gt;
'''events.add( func, op, reference, callback [, hysteresis [, name]] )'''&lt;br /&gt;
&lt;br /&gt;
Los párametros func, op y referencia especifican la condición que dispara el evento.&lt;br /&gt;
&lt;br /&gt;
func: la función que al ser evaluada devuelve el valor que queremos vigilar.&lt;br /&gt;
&lt;br /&gt;
op:   operador de comparación, puede ser '&amp;gt;', '&amp;lt;', '&amp;lt;=', '&amp;gt;=', '==' o '~='.&lt;br /&gt;
&lt;br /&gt;
referencia: valor de refencia con el que se comparará func()&lt;br /&gt;
&lt;br /&gt;
callback: la función que se va a invocar cuando se dispara el evento, o sea cuando se cumple que &amp;quot;func() op referencia&amp;quot;. Cuando se invoca callback(), se le pasa como parámetro el valor de func() que disparó el evento. O sea, se invocará &amp;quot;callback( func() )&amp;quot;&lt;br /&gt;
&lt;br /&gt;
hysteresis: un parámetro opcional, útil cuando se usan operadores de desigualdad.&lt;br /&gt;
&lt;br /&gt;
name: parametro opcional, el nombre del evento. Útil para identificar el evento si en otro momento se lo quiere desactivar.&lt;br /&gt;
&lt;br /&gt;
La función events.add devuelve el nombre asignado al evento (coincide con el parámetro name si fue provisto, sino se genera un nombre automáticamente). Esta función puede invocarse tanto desde el programa principal como desde una función callback.&lt;br /&gt;
&lt;br /&gt;
Un evento puede desactivarse usando la función events.remove. Tal como events.add, se puede invocar en cualquier momento. &lt;br /&gt;
&lt;br /&gt;
'''events.remove( name )'''&lt;br /&gt;
&lt;br /&gt;
name: el nombre del evento que se quiere desactivar&lt;br /&gt;
&lt;br /&gt;
Para empezar a procesar eventos se usa la llamada events.go&lt;br /&gt;
&lt;br /&gt;
'''events.go()'''&lt;br /&gt;
&lt;br /&gt;
Luego de invocada, el sistema queda bloqueado procesando eventos, invocando los callback según corresponda. Esto seguirá así hasta que se invoque la función events.stop&lt;br /&gt;
&lt;br /&gt;
'''events.stop()'''&lt;br /&gt;
&lt;br /&gt;
Esta función solo puede ser invocada en una función de callback para detener el procesamiento de eventos. Luego de invocada y terminada la función de callback responsable, el programa continuará ejecutándose en la línea siguiente al events.go.&lt;br /&gt;
&lt;br /&gt;
Como ejemplo, el siguiente programa imprime &amp;quot;tick&amp;quot; cada 2 segundos, hasta que se presiona un botón y el programa finaliza.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
local last = 0 --hora de la ultima vez que se imprimio tick&lt;br /&gt;
&lt;br /&gt;
local function get_elapsed()&lt;br /&gt;
  return util.get_time() - last&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function tick_callback ( v )&lt;br /&gt;
  last = util.get_time()&lt;br /&gt;
  print(&amp;quot;tick&amp;quot;, v)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function stop_callback()&lt;br /&gt;
  events.stop()&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
events.add( get_elapsed, &amp;quot;&amp;gt;=&amp;quot;, 2, tick_callback)&lt;br /&gt;
events.add( Boton.get_boton, &amp;quot;==&amp;quot;, 1, stop_callback )&lt;br /&gt;
events.go()&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Temas avanzados ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Se provee una librería que implementa un [[controlador PID]].&lt;/div&gt;</summary>
		<author><name>Lmichele</name></author>	</entry>

	</feed>