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

	<entry>
		<id>http://www.fing.edu.uy/inco/proyectos/butia/mediawiki/index.php?title=Linea_camara&amp;diff=7740</id>
		<title>Linea camara</title>
		<link rel="alternate" type="text/html" href="http://www.fing.edu.uy/inco/proyectos/butia/mediawiki/index.php?title=Linea_camara&amp;diff=7740"/>
				<updated>2015-09-19T23:51:18Z</updated>
		
		<summary type="html">&lt;p&gt;Camila.serena: /* Multimedia */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===Introducción===&lt;br /&gt;
&amp;lt;b&amp;gt;Consiga:&amp;lt;/b&amp;gt; Se desea implementar un seguidor de línea que perciba el entorno con una cámara.&lt;br /&gt;
La ventaja de su uso, es el poder percibir no solo el entorno local sino también el camino por venir para tomar la mejor decisión a futuro.&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Tutor:&amp;lt;/b&amp;gt; Federico Andrade&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Grupo:&amp;lt;/b&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
#Josefina Fasoli&lt;br /&gt;
#Gonzalo Herrera&lt;br /&gt;
#Camila Serena&lt;br /&gt;
&lt;br /&gt;
===Motivación===&lt;br /&gt;
Tomamos ejemplo de los seguidores de línea con sensores de grises y vimos que el hecho de que censan su entorno en un área pequeña no les permite realizar consideraciones respecto a la trayectoria óptima a recorrer. Solo cuentan con los datos actuales. En cambio, si utilizamos un seguidor dotado de una cámara podemos hacer consideraciones con respecto a la pista, no solo visualizando lo que necesita recorrerse en un determinado instante sino también de otros elementos de la pista que vendrán como ser que tan cerrada es una curva o si dos pendientes se anulan entre sí.&lt;br /&gt;
&lt;br /&gt;
===Algoritmo===&lt;br /&gt;
A partir de la imagen recabada por la cámara, se toman puntos del centro de la linea a seguir. Con los puntos identificados, se calculan las respectivas pendientes generadas, para luego promediarlas y transformar este nuevo valor en un factor f utilizado para calcular la velocidad de cada rueda, que permite que haga el movimiento correspondiente.  &lt;br /&gt;
&lt;br /&gt;
===Código===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
import pygame&lt;br /&gt;
import pygame.camera&lt;br /&gt;
import pygame.surfarray as surfarray&lt;br /&gt;
import sys &lt;br /&gt;
sys.path.insert(0, '/usr/share/sugar/activities/TurtleBots.activity/plugins/butia')&lt;br /&gt;
from pygame.locals import *&lt;br /&gt;
from pybot import usb4butia&lt;br /&gt;
import time&lt;br /&gt;
&lt;br /&gt;
pygame.init()&lt;br /&gt;
pygame.camera.init()&lt;br /&gt;
robot = usb4butia.USB4Butia()&lt;br /&gt;
robot.refresh()&lt;br /&gt;
&lt;br /&gt;
def capturarImg(camara):&lt;br /&gt;
	camara.start()&lt;br /&gt;
	im = camara.get_image()&lt;br /&gt;
	camara.stop()&lt;br /&gt;
	return im&lt;br /&gt;
&lt;br /&gt;
def inclinaciones(pixeles):&lt;br /&gt;
	i = 0&lt;br /&gt;
	l = largoLista(pixeles)&lt;br /&gt;
	l = l - 1&lt;br /&gt;
	incl = []&lt;br /&gt;
	while i &amp;lt; l:&lt;br /&gt;
		incl.append(inclinacion(pixeles[i],pixeles[i + 1]))&lt;br /&gt;
		i = i + 1&lt;br /&gt;
	return incl&lt;br /&gt;
&lt;br /&gt;
def largoLista(lista):&lt;br /&gt;
	i = 0&lt;br /&gt;
	for a in lista:&lt;br /&gt;
		i = i + 1&lt;br /&gt;
	return i&lt;br /&gt;
&lt;br /&gt;
def pendientesAfactores(pendientes):&lt;br /&gt;
	i = 0&lt;br /&gt;
	l = largoLista(pendientes)&lt;br /&gt;
	while i &amp;lt; l:&lt;br /&gt;
		if pendientes[i] &amp;gt; 30 or pendientes[i] == 0:&lt;br /&gt;
			pendientes[i] = 1&lt;br /&gt;
		elif pendientes[i] &amp;gt; 10:&lt;br /&gt;
			pendientes[i] = 1.1&lt;br /&gt;
		elif pendientes[i] &amp;gt; 5:&lt;br /&gt;
			pendientes[i] = 1.3&lt;br /&gt;
		elif pendientes[i] &amp;gt; 2:&lt;br /&gt;
			pendientes[i] = 1.5&lt;br /&gt;
		elif pendientes[i] &amp;gt; 0:&lt;br /&gt;
			pendientes[i] = 1.7&lt;br /&gt;
		elif pendientes[i] &amp;lt; -30:&lt;br /&gt;
			pendientes[i] = 1&lt;br /&gt;
		elif pendientes[i] &amp;lt; -10:&lt;br /&gt;
			pendientes[i] = 0.9&lt;br /&gt;
		elif pendientes[i] &amp;lt; -5:&lt;br /&gt;
			pendientes[i] = 0.7&lt;br /&gt;
		elif pendientes[i] &amp;lt; -2:&lt;br /&gt;
			pendientes[i] = 0.5&lt;br /&gt;
		else:&lt;br /&gt;
			pendientes[i] = 0.3&lt;br /&gt;
		i += 1&lt;br /&gt;
	return pendientes&lt;br /&gt;
&lt;br /&gt;
def calculoFactorVelocidad(pendientes):&lt;br /&gt;
	suma = float(0)&lt;br /&gt;
	largo = largoLista(pendientes)&lt;br /&gt;
	for i in range(0, largo -1):	&lt;br /&gt;
		suma += pendientes[i]&lt;br /&gt;
	suma = suma / largo&lt;br /&gt;
	return suma&lt;br /&gt;
&lt;br /&gt;
def inclinacion((x1,y1),(x2,y2)):&lt;br /&gt;
	if x2 == x1:&lt;br /&gt;
		m = 0&lt;br /&gt;
	else:	&lt;br /&gt;
		m = (y2 - y1) / (x2 - x1)&lt;br /&gt;
	return m&lt;br /&gt;
&lt;br /&gt;
def movimientoRobot(robot, f):&lt;br /&gt;
	if f &amp;gt; 1:&lt;br /&gt;
		if f == 2:&lt;br /&gt;
			f = 0&lt;br /&gt;
		else:&lt;br /&gt;
			f = f - 1&lt;br /&gt;
		f = 1 - f&lt;br /&gt;
		velocidadDerecha = 200 * f&lt;br /&gt;
		velocidadIzquierda = 200&lt;br /&gt;
	else:&lt;br /&gt;
		velocidadDerecha = 200&lt;br /&gt;
		velocidadIzquierda = 200 * f	&lt;br /&gt;
&lt;br /&gt;
	robot.set2MotorSpeed(1,int(velocidadDerecha),1,int(velocidadIzquierda))&lt;br /&gt;
	return 0 &lt;br /&gt;
&lt;br /&gt;
def hallarPixelesIma(im, cant):&lt;br /&gt;
	ima = surfarray.array3d(im)&lt;br /&gt;
	pixeles = []&lt;br /&gt;
	w = im.get_width()&lt;br /&gt;
	h = im.get_height()&lt;br /&gt;
	x = h - 1&lt;br /&gt;
	while x &amp;gt;= 0:&lt;br /&gt;
		i = 0&lt;br /&gt;
		while i &amp;lt; w and (int(ima[i][x][0]) + int(ima[i][x][1]) + int(ima[i][x][2])) / 3 &amp;gt; 120:&lt;br /&gt;
			i = i + 1&lt;br /&gt;
		if i &amp;lt; w:&lt;br /&gt;
			j = w - 1&lt;br /&gt;
			while j &amp;gt; 0 and (int(ima[j][x][0]) + int(ima[j][x][1]) + int(ima[j][x][2])) / 3 &amp;gt; 120:&lt;br /&gt;
				j = j - 1&lt;br /&gt;
			y = (i + j) / 2&lt;br /&gt;
			pixeles.append((y,x))&lt;br /&gt;
			x = x - 30&lt;br /&gt;
		else:&lt;br /&gt;
			x = x - 1&lt;br /&gt;
	return pixeles&lt;br /&gt;
&lt;br /&gt;
def obtenerX((x,y)):&lt;br /&gt;
	return x&lt;br /&gt;
&lt;br /&gt;
def centradoFactor(k,p):&lt;br /&gt;
	xs = 0&lt;br /&gt;
	for pix in p:&lt;br /&gt;
		xs += obtenerX(pix)&lt;br /&gt;
	xs = xs / largoLista(p)&lt;br /&gt;
	if xs &amp;lt; 25:&lt;br /&gt;
		 k = 1.9&lt;br /&gt;
	elif xs &amp;lt; 55:&lt;br /&gt;
		if k &amp;gt;= 1 and k &amp;lt; 1.6:&lt;br /&gt;
			k = k + 0.4&lt;br /&gt;
		elif k &amp;lt; 1:&lt;br /&gt;
			k = 1.5&lt;br /&gt;
		elif k &amp;lt; 1.7:&lt;br /&gt;
			k = k + 0.3&lt;br /&gt;
		elif k &amp;lt; 1.8:&lt;br /&gt;
			k = k + 0.2&lt;br /&gt;
	elif xs &amp;lt; 67:&lt;br /&gt;
		if k &amp;gt;= 1 and k &amp;lt; 1.7:&lt;br /&gt;
			k = k + 0.3&lt;br /&gt;
		elif k &amp;lt; 1:&lt;br /&gt;
			k = 1.3&lt;br /&gt;
	elif xs &amp;gt; 130:&lt;br /&gt;
		k = 0.1&lt;br /&gt;
	elif xs &amp;gt; 105:&lt;br /&gt;
		if k &amp;lt;= 1 and k &amp;gt; 0.4:&lt;br /&gt;
			k = k - 0.4&lt;br /&gt;
		elif k &amp;gt; 1:&lt;br /&gt;
			k = 0.5&lt;br /&gt;
		elif k &amp;gt; 0.3:&lt;br /&gt;
			k = k - 0.3&lt;br /&gt;
		elif k &amp;gt; 0.2:&lt;br /&gt;
			k= k - 0.2&lt;br /&gt;
	elif xs &amp;gt; 93:&lt;br /&gt;
		if k &amp;lt;= 1 and k &amp;gt; 0.3:&lt;br /&gt;
			k = k - 0.3&lt;br /&gt;
		elif k &amp;gt; 1:&lt;br /&gt;
			k  = 0.7&lt;br /&gt;
	return k&lt;br /&gt;
				&lt;br /&gt;
&lt;br /&gt;
camlist = pygame.camera.list_cameras()&lt;br /&gt;
if camlist:&lt;br /&gt;
	while cantVeces &amp;lt; 500:&lt;br /&gt;
		s = capturarImg(pygame.camera.Camera(camlist[0],(160,120)))&lt;br /&gt;
		p = hallarPixelesIma(s,cantVeces)&lt;br /&gt;
		pendientes = inclinaciones(p)&lt;br /&gt;
		factores = pendientesAfactores(pendientes)&lt;br /&gt;
		k = 1&lt;br /&gt;
		if largoLista(p) == 0:&lt;br /&gt;
			robot.set2MotorSpeed(0,0,0,0)&lt;br /&gt;
		else:&lt;br /&gt;
			if largoLista(p) &amp;gt; 1:			&lt;br /&gt;
				k = calculoFactorVelocidad(factores)&lt;br /&gt;
			k = centradoFactor(k,p)&lt;br /&gt;
			movimientoRobot(robot, k)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nota:&lt;br /&gt;
&lt;br /&gt;
===Multimedia===&lt;br /&gt;
Link a video de youtube: [https://www.youtube.com/watch?v=wj-8jSeCZ5A]&lt;br /&gt;
&lt;br /&gt;
===Trabajo a futuro===&lt;br /&gt;
&lt;br /&gt;
:*Seguir mejorando la eficiencia y/o trabajar sobre computadoras con mejor capacidad de procesamiento.&lt;br /&gt;
:*Parametrizar el factor de inclinación en base a la velocidad.&lt;br /&gt;
:*Reconocimiento del camino correcto frente a múltiples posibilidades.&lt;br /&gt;
:*Reconocimiento de obstáculos.&lt;/div&gt;</summary>
		<author><name>Camila.serena</name></author>	</entry>

	<entry>
		<id>http://www.fing.edu.uy/inco/proyectos/butia/mediawiki/index.php?title=Linea_camara&amp;diff=7739</id>
		<title>Linea camara</title>
		<link rel="alternate" type="text/html" href="http://www.fing.edu.uy/inco/proyectos/butia/mediawiki/index.php?title=Linea_camara&amp;diff=7739"/>
				<updated>2015-09-19T23:48:41Z</updated>
		
		<summary type="html">&lt;p&gt;Camila.serena: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===Introducción===&lt;br /&gt;
&amp;lt;b&amp;gt;Consiga:&amp;lt;/b&amp;gt; Se desea implementar un seguidor de línea que perciba el entorno con una cámara.&lt;br /&gt;
La ventaja de su uso, es el poder percibir no solo el entorno local sino también el camino por venir para tomar la mejor decisión a futuro.&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Tutor:&amp;lt;/b&amp;gt; Federico Andrade&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Grupo:&amp;lt;/b&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
#Josefina Fasoli&lt;br /&gt;
#Gonzalo Herrera&lt;br /&gt;
#Camila Serena&lt;br /&gt;
&lt;br /&gt;
===Motivación===&lt;br /&gt;
Tomamos ejemplo de los seguidores de línea con sensores de grises y vimos que el hecho de que censan su entorno en un área pequeña no les permite realizar consideraciones respecto a la trayectoria óptima a recorrer. Solo cuentan con los datos actuales. En cambio, si utilizamos un seguidor dotado de una cámara podemos hacer consideraciones con respecto a la pista, no solo visualizando lo que necesita recorrerse en un determinado instante sino también de otros elementos de la pista que vendrán como ser que tan cerrada es una curva o si dos pendientes se anulan entre sí.&lt;br /&gt;
&lt;br /&gt;
===Algoritmo===&lt;br /&gt;
A partir de la imagen recabada por la cámara, se toman puntos del centro de la linea a seguir. Con los puntos identificados, se calculan las respectivas pendientes generadas, para luego promediarlas y transformar este nuevo valor en un factor f utilizado para calcular la velocidad de cada rueda, que permite que haga el movimiento correspondiente.  &lt;br /&gt;
&lt;br /&gt;
===Código===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
import pygame&lt;br /&gt;
import pygame.camera&lt;br /&gt;
import pygame.surfarray as surfarray&lt;br /&gt;
import sys &lt;br /&gt;
sys.path.insert(0, '/usr/share/sugar/activities/TurtleBots.activity/plugins/butia')&lt;br /&gt;
from pygame.locals import *&lt;br /&gt;
from pybot import usb4butia&lt;br /&gt;
import time&lt;br /&gt;
&lt;br /&gt;
pygame.init()&lt;br /&gt;
pygame.camera.init()&lt;br /&gt;
robot = usb4butia.USB4Butia()&lt;br /&gt;
robot.refresh()&lt;br /&gt;
&lt;br /&gt;
def capturarImg(camara):&lt;br /&gt;
	camara.start()&lt;br /&gt;
	im = camara.get_image()&lt;br /&gt;
	camara.stop()&lt;br /&gt;
	return im&lt;br /&gt;
&lt;br /&gt;
def inclinaciones(pixeles):&lt;br /&gt;
	i = 0&lt;br /&gt;
	l = largoLista(pixeles)&lt;br /&gt;
	l = l - 1&lt;br /&gt;
	incl = []&lt;br /&gt;
	while i &amp;lt; l:&lt;br /&gt;
		incl.append(inclinacion(pixeles[i],pixeles[i + 1]))&lt;br /&gt;
		i = i + 1&lt;br /&gt;
	return incl&lt;br /&gt;
&lt;br /&gt;
def largoLista(lista):&lt;br /&gt;
	i = 0&lt;br /&gt;
	for a in lista:&lt;br /&gt;
		i = i + 1&lt;br /&gt;
	return i&lt;br /&gt;
&lt;br /&gt;
def pendientesAfactores(pendientes):&lt;br /&gt;
	i = 0&lt;br /&gt;
	l = largoLista(pendientes)&lt;br /&gt;
	while i &amp;lt; l:&lt;br /&gt;
		if pendientes[i] &amp;gt; 30 or pendientes[i] == 0:&lt;br /&gt;
			pendientes[i] = 1&lt;br /&gt;
		elif pendientes[i] &amp;gt; 10:&lt;br /&gt;
			pendientes[i] = 1.1&lt;br /&gt;
		elif pendientes[i] &amp;gt; 5:&lt;br /&gt;
			pendientes[i] = 1.3&lt;br /&gt;
		elif pendientes[i] &amp;gt; 2:&lt;br /&gt;
			pendientes[i] = 1.5&lt;br /&gt;
		elif pendientes[i] &amp;gt; 0:&lt;br /&gt;
			pendientes[i] = 1.7&lt;br /&gt;
		elif pendientes[i] &amp;lt; -30:&lt;br /&gt;
			pendientes[i] = 1&lt;br /&gt;
		elif pendientes[i] &amp;lt; -10:&lt;br /&gt;
			pendientes[i] = 0.9&lt;br /&gt;
		elif pendientes[i] &amp;lt; -5:&lt;br /&gt;
			pendientes[i] = 0.7&lt;br /&gt;
		elif pendientes[i] &amp;lt; -2:&lt;br /&gt;
			pendientes[i] = 0.5&lt;br /&gt;
		else:&lt;br /&gt;
			pendientes[i] = 0.3&lt;br /&gt;
		i += 1&lt;br /&gt;
	return pendientes&lt;br /&gt;
&lt;br /&gt;
def calculoFactorVelocidad(pendientes):&lt;br /&gt;
	suma = float(0)&lt;br /&gt;
	largo = largoLista(pendientes)&lt;br /&gt;
	for i in range(0, largo -1):	&lt;br /&gt;
		suma += pendientes[i]&lt;br /&gt;
	suma = suma / largo&lt;br /&gt;
	return suma&lt;br /&gt;
&lt;br /&gt;
def inclinacion((x1,y1),(x2,y2)):&lt;br /&gt;
	if x2 == x1:&lt;br /&gt;
		m = 0&lt;br /&gt;
	else:	&lt;br /&gt;
		m = (y2 - y1) / (x2 - x1)&lt;br /&gt;
	return m&lt;br /&gt;
&lt;br /&gt;
def movimientoRobot(robot, f):&lt;br /&gt;
	if f &amp;gt; 1:&lt;br /&gt;
		if f == 2:&lt;br /&gt;
			f = 0&lt;br /&gt;
		else:&lt;br /&gt;
			f = f - 1&lt;br /&gt;
		f = 1 - f&lt;br /&gt;
		velocidadDerecha = 200 * f&lt;br /&gt;
		velocidadIzquierda = 200&lt;br /&gt;
	else:&lt;br /&gt;
		velocidadDerecha = 200&lt;br /&gt;
		velocidadIzquierda = 200 * f	&lt;br /&gt;
&lt;br /&gt;
	robot.set2MotorSpeed(1,int(velocidadDerecha),1,int(velocidadIzquierda))&lt;br /&gt;
	return 0 &lt;br /&gt;
&lt;br /&gt;
def hallarPixelesIma(im, cant):&lt;br /&gt;
	ima = surfarray.array3d(im)&lt;br /&gt;
	pixeles = []&lt;br /&gt;
	w = im.get_width()&lt;br /&gt;
	h = im.get_height()&lt;br /&gt;
	x = h - 1&lt;br /&gt;
	while x &amp;gt;= 0:&lt;br /&gt;
		i = 0&lt;br /&gt;
		while i &amp;lt; w and (int(ima[i][x][0]) + int(ima[i][x][1]) + int(ima[i][x][2])) / 3 &amp;gt; 120:&lt;br /&gt;
			i = i + 1&lt;br /&gt;
		if i &amp;lt; w:&lt;br /&gt;
			j = w - 1&lt;br /&gt;
			while j &amp;gt; 0 and (int(ima[j][x][0]) + int(ima[j][x][1]) + int(ima[j][x][2])) / 3 &amp;gt; 120:&lt;br /&gt;
				j = j - 1&lt;br /&gt;
			y = (i + j) / 2&lt;br /&gt;
			pixeles.append((y,x))&lt;br /&gt;
			x = x - 30&lt;br /&gt;
		else:&lt;br /&gt;
			x = x - 1&lt;br /&gt;
	return pixeles&lt;br /&gt;
&lt;br /&gt;
def obtenerX((x,y)):&lt;br /&gt;
	return x&lt;br /&gt;
&lt;br /&gt;
def centradoFactor(k,p):&lt;br /&gt;
	xs = 0&lt;br /&gt;
	for pix in p:&lt;br /&gt;
		xs += obtenerX(pix)&lt;br /&gt;
	xs = xs / largoLista(p)&lt;br /&gt;
	if xs &amp;lt; 25:&lt;br /&gt;
		 k = 1.9&lt;br /&gt;
	elif xs &amp;lt; 55:&lt;br /&gt;
		if k &amp;gt;= 1 and k &amp;lt; 1.6:&lt;br /&gt;
			k = k + 0.4&lt;br /&gt;
		elif k &amp;lt; 1:&lt;br /&gt;
			k = 1.5&lt;br /&gt;
		elif k &amp;lt; 1.7:&lt;br /&gt;
			k = k + 0.3&lt;br /&gt;
		elif k &amp;lt; 1.8:&lt;br /&gt;
			k = k + 0.2&lt;br /&gt;
	elif xs &amp;lt; 67:&lt;br /&gt;
		if k &amp;gt;= 1 and k &amp;lt; 1.7:&lt;br /&gt;
			k = k + 0.3&lt;br /&gt;
		elif k &amp;lt; 1:&lt;br /&gt;
			k = 1.3&lt;br /&gt;
	elif xs &amp;gt; 130:&lt;br /&gt;
		k = 0.1&lt;br /&gt;
	elif xs &amp;gt; 105:&lt;br /&gt;
		if k &amp;lt;= 1 and k &amp;gt; 0.4:&lt;br /&gt;
			k = k - 0.4&lt;br /&gt;
		elif k &amp;gt; 1:&lt;br /&gt;
			k = 0.5&lt;br /&gt;
		elif k &amp;gt; 0.3:&lt;br /&gt;
			k = k - 0.3&lt;br /&gt;
		elif k &amp;gt; 0.2:&lt;br /&gt;
			k= k - 0.2&lt;br /&gt;
	elif xs &amp;gt; 93:&lt;br /&gt;
		if k &amp;lt;= 1 and k &amp;gt; 0.3:&lt;br /&gt;
			k = k - 0.3&lt;br /&gt;
		elif k &amp;gt; 1:&lt;br /&gt;
			k  = 0.7&lt;br /&gt;
	return k&lt;br /&gt;
				&lt;br /&gt;
&lt;br /&gt;
camlist = pygame.camera.list_cameras()&lt;br /&gt;
if camlist:&lt;br /&gt;
	while cantVeces &amp;lt; 500:&lt;br /&gt;
		s = capturarImg(pygame.camera.Camera(camlist[0],(160,120)))&lt;br /&gt;
		p = hallarPixelesIma(s,cantVeces)&lt;br /&gt;
		pendientes = inclinaciones(p)&lt;br /&gt;
		factores = pendientesAfactores(pendientes)&lt;br /&gt;
		k = 1&lt;br /&gt;
		if largoLista(p) == 0:&lt;br /&gt;
			robot.set2MotorSpeed(0,0,0,0)&lt;br /&gt;
		else:&lt;br /&gt;
			if largoLista(p) &amp;gt; 1:			&lt;br /&gt;
				k = calculoFactorVelocidad(factores)&lt;br /&gt;
			k = centradoFactor(k,p)&lt;br /&gt;
			movimientoRobot(robot, k)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nota:&lt;br /&gt;
&lt;br /&gt;
===Multimedia===&lt;br /&gt;
Link a video de youtube: [https://www.youtube.com/watch?v=wj-8jSeCZ5A]&lt;br /&gt;
&lt;br /&gt;
Imágenes:&lt;br /&gt;
[[Archivo:imgseguidorcamara2.jpg|400px]]&lt;br /&gt;
&lt;br /&gt;
===Trabajo a futuro===&lt;br /&gt;
&lt;br /&gt;
:*Seguir mejorando la eficiencia y/o trabajar sobre computadoras con mejor capacidad de procesamiento.&lt;br /&gt;
:*Parametrizar el factor de inclinación en base a la velocidad.&lt;br /&gt;
:*Reconocimiento del camino correcto frente a múltiples posibilidades.&lt;br /&gt;
:*Reconocimiento de obstáculos.&lt;/div&gt;</summary>
		<author><name>Camila.serena</name></author>	</entry>

	<entry>
		<id>http://www.fing.edu.uy/inco/proyectos/butia/mediawiki/index.php?title=Linea_camara&amp;diff=7738</id>
		<title>Linea camara</title>
		<link rel="alternate" type="text/html" href="http://www.fing.edu.uy/inco/proyectos/butia/mediawiki/index.php?title=Linea_camara&amp;diff=7738"/>
				<updated>2015-09-19T23:45:08Z</updated>
		
		<summary type="html">&lt;p&gt;Camila.serena: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===Introducción===&lt;br /&gt;
&amp;lt;b&amp;gt;Consiga:&amp;lt;/b&amp;gt; Se desea implementar un seguidor de línea que perciba el entorno con una cámara.&lt;br /&gt;
La ventaja de su uso, es el poder percibir no solo el entorno local sino también el camino por venir para tomar la mejor decisión a futuro.&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Tutor:&amp;lt;/b&amp;gt; Federico Andrade&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Grupo:&amp;lt;/b&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
#Josefina Fasoli&lt;br /&gt;
#Gonzalo Herrera&lt;br /&gt;
#Camila Serena&lt;br /&gt;
&lt;br /&gt;
===Motivación===&lt;br /&gt;
Tomamos ejemplo de los seguidores de línea con sensores de grises y vimos que el hecho de que censan su entorno en un área pequeña no les permite realizar consideraciones respecto a la trayectoria óptima a recorrer. Solo cuentan con los datos actuales. En cambio, si utilizamos un seguidor dotado de una cámara podemos hacer consideraciones con respecto a la pista, no solo visualizando lo que necesita recorrerse en un determinado instante sino también de otros elementos de la pista que vendrán como ser que tan cerrada es una curva o si dos pendientes se anulan entre sí.&lt;br /&gt;
&lt;br /&gt;
===Algoritmo===&lt;br /&gt;
A partir de la imagen recabada por la cámara, se toman puntos del centro de la linea a seguir. Con los puntos identificados, se calculan las respectivas pendientes generadas, para luego promediarlas y transformar este nuevo valor en un factor f utilizado para calcular la velocidad de cada rueda, que permite que haga el movimiento correspondiente.  &lt;br /&gt;
&lt;br /&gt;
===Código===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
import pygame&lt;br /&gt;
import pygame.camera&lt;br /&gt;
import pygame.surfarray as surfarray&lt;br /&gt;
import sys &lt;br /&gt;
sys.path.insert(0, '/usr/share/sugar/activities/TurtleBots.activity/plugins/butia')&lt;br /&gt;
from pygame.locals import *&lt;br /&gt;
from pybot import usb4butia&lt;br /&gt;
import time&lt;br /&gt;
&lt;br /&gt;
pygame.init()&lt;br /&gt;
pygame.camera.init()&lt;br /&gt;
robot = usb4butia.USB4Butia()&lt;br /&gt;
robot.refresh()&lt;br /&gt;
&lt;br /&gt;
def capturarImg(camara):&lt;br /&gt;
	camara.start()&lt;br /&gt;
	im = camara.get_image()&lt;br /&gt;
	camara.stop()&lt;br /&gt;
	return im&lt;br /&gt;
&lt;br /&gt;
def inclinaciones(pixeles):&lt;br /&gt;
	i = 0&lt;br /&gt;
	l = largoLista(pixeles)&lt;br /&gt;
	l = l - 1&lt;br /&gt;
	incl = []&lt;br /&gt;
	while i &amp;lt; l:&lt;br /&gt;
		incl.append(inclinacion(pixeles[i],pixeles[i + 1]))&lt;br /&gt;
		i = i + 1&lt;br /&gt;
	return incl&lt;br /&gt;
&lt;br /&gt;
def largoLista(lista):&lt;br /&gt;
	i = 0&lt;br /&gt;
	for a in lista:&lt;br /&gt;
		i = i + 1&lt;br /&gt;
	return i&lt;br /&gt;
&lt;br /&gt;
def pendientesAfactores(pendientes):&lt;br /&gt;
	i = 0&lt;br /&gt;
	l = largoLista(pendientes)&lt;br /&gt;
	while i &amp;lt; l:&lt;br /&gt;
		if pendientes[i] &amp;gt; 30 or pendientes[i] == 0:&lt;br /&gt;
			pendientes[i] = 1&lt;br /&gt;
		elif pendientes[i] &amp;gt; 10:&lt;br /&gt;
			pendientes[i] = 1.1&lt;br /&gt;
		elif pendientes[i] &amp;gt; 5:&lt;br /&gt;
			pendientes[i] = 1.3&lt;br /&gt;
		elif pendientes[i] &amp;gt; 2:&lt;br /&gt;
			pendientes[i] = 1.5&lt;br /&gt;
		elif pendientes[i] &amp;gt; 0:&lt;br /&gt;
			pendientes[i] = 1.7&lt;br /&gt;
		elif pendientes[i] &amp;lt; -30:&lt;br /&gt;
			pendientes[i] = 1&lt;br /&gt;
		elif pendientes[i] &amp;lt; -10:&lt;br /&gt;
			pendientes[i] = 0.9&lt;br /&gt;
		elif pendientes[i] &amp;lt; -5:&lt;br /&gt;
			pendientes[i] = 0.7&lt;br /&gt;
		elif pendientes[i] &amp;lt; -2:&lt;br /&gt;
			pendientes[i] = 0.5&lt;br /&gt;
		else:&lt;br /&gt;
			pendientes[i] = 0.3&lt;br /&gt;
		i += 1&lt;br /&gt;
	return pendientes&lt;br /&gt;
&lt;br /&gt;
def calculoFactorVelocidad(pendientes):&lt;br /&gt;
	suma = float(0)&lt;br /&gt;
	largo = largoLista(pendientes)&lt;br /&gt;
	for i in range(0, largo -1):	&lt;br /&gt;
		suma += pendientes[i]&lt;br /&gt;
	suma = suma / largo&lt;br /&gt;
	return suma&lt;br /&gt;
&lt;br /&gt;
def inclinacion((x1,y1),(x2,y2)):&lt;br /&gt;
	if x2 == x1:&lt;br /&gt;
		m = 0&lt;br /&gt;
	else:	&lt;br /&gt;
		m = (y2 - y1) / (x2 - x1)&lt;br /&gt;
	return m&lt;br /&gt;
&lt;br /&gt;
def movimientoRobot(robot, f):&lt;br /&gt;
	if f &amp;gt; 1:&lt;br /&gt;
		if f == 2:&lt;br /&gt;
			f = 0&lt;br /&gt;
		else:&lt;br /&gt;
			f = f - 1&lt;br /&gt;
		f = 1 - f&lt;br /&gt;
		velocidadDerecha = 200 * f&lt;br /&gt;
		velocidadIzquierda = 200&lt;br /&gt;
	else:&lt;br /&gt;
		velocidadDerecha = 200&lt;br /&gt;
		velocidadIzquierda = 200 * f	&lt;br /&gt;
&lt;br /&gt;
	robot.set2MotorSpeed(1,int(velocidadDerecha),1,int(velocidadIzquierda))&lt;br /&gt;
	return 0 &lt;br /&gt;
&lt;br /&gt;
def hallarPixelesIma(im, cant):&lt;br /&gt;
	ima = surfarray.array3d(im)&lt;br /&gt;
	pixeles = []&lt;br /&gt;
	w = im.get_width()&lt;br /&gt;
	h = im.get_height()&lt;br /&gt;
	x = h - 1&lt;br /&gt;
	while x &amp;gt;= 0:&lt;br /&gt;
		i = 0&lt;br /&gt;
		while i &amp;lt; w and (int(ima[i][x][0]) + int(ima[i][x][1]) + int(ima[i][x][2])) / 3 &amp;gt; 120:&lt;br /&gt;
			i = i + 1&lt;br /&gt;
		if i &amp;lt; w:&lt;br /&gt;
			j = w - 1&lt;br /&gt;
			while j &amp;gt; 0 and (int(ima[j][x][0]) + int(ima[j][x][1]) + int(ima[j][x][2])) / 3 &amp;gt; 120:&lt;br /&gt;
				j = j - 1&lt;br /&gt;
			y = (i + j) / 2&lt;br /&gt;
			pixeles.append((y,x))&lt;br /&gt;
			x = x - 30&lt;br /&gt;
		else:&lt;br /&gt;
			x = x - 1&lt;br /&gt;
	return pixeles&lt;br /&gt;
&lt;br /&gt;
def obtenerX((x,y)):&lt;br /&gt;
	return x&lt;br /&gt;
&lt;br /&gt;
def centradoFactor(k,p):&lt;br /&gt;
	xs = 0&lt;br /&gt;
	for pix in p:&lt;br /&gt;
		xs += obtenerX(pix)&lt;br /&gt;
	xs = xs / largoLista(p)&lt;br /&gt;
	if xs &amp;lt; 25:&lt;br /&gt;
		 k = 1.9&lt;br /&gt;
	elif xs &amp;lt; 55:&lt;br /&gt;
		if k &amp;gt;= 1 and k &amp;lt; 1.6:&lt;br /&gt;
			k = k + 0.4&lt;br /&gt;
		elif k &amp;lt; 1:&lt;br /&gt;
			k = 1.5&lt;br /&gt;
		elif k &amp;lt; 1.7:&lt;br /&gt;
			k = k + 0.3&lt;br /&gt;
		elif k &amp;lt; 1.8:&lt;br /&gt;
			k = k + 0.2&lt;br /&gt;
	elif xs &amp;lt; 67:&lt;br /&gt;
		if k &amp;gt;= 1 and k &amp;lt; 1.7:&lt;br /&gt;
			k = k + 0.3&lt;br /&gt;
		elif k &amp;lt; 1:&lt;br /&gt;
			k = 1.3&lt;br /&gt;
	elif xs &amp;gt; 130:&lt;br /&gt;
		k = 0.1&lt;br /&gt;
	elif xs &amp;gt; 105:&lt;br /&gt;
		if k &amp;lt;= 1 and k &amp;gt; 0.4:&lt;br /&gt;
			k = k - 0.4&lt;br /&gt;
		elif k &amp;gt; 1:&lt;br /&gt;
			k = 0.5&lt;br /&gt;
		elif k &amp;gt; 0.3:&lt;br /&gt;
			k = k - 0.3&lt;br /&gt;
		elif k &amp;gt; 0.2:&lt;br /&gt;
			k= k - 0.2&lt;br /&gt;
	elif xs &amp;gt; 93:&lt;br /&gt;
		if k &amp;lt;= 1 and k &amp;gt; 0.3:&lt;br /&gt;
			k = k - 0.3&lt;br /&gt;
		elif k &amp;gt; 1:&lt;br /&gt;
			k  = 0.7&lt;br /&gt;
	return k&lt;br /&gt;
				&lt;br /&gt;
&lt;br /&gt;
camlist = pygame.camera.list_cameras()&lt;br /&gt;
if camlist:&lt;br /&gt;
	while cantVeces &amp;lt; 500:&lt;br /&gt;
		s = capturarImg(pygame.camera.Camera(camlist[0],(160,120)))&lt;br /&gt;
		p = hallarPixelesIma(s,cantVeces)&lt;br /&gt;
		pendientes = inclinaciones(p)&lt;br /&gt;
		factores = pendientesAfactores(pendientes)&lt;br /&gt;
		k = 1&lt;br /&gt;
		if largoLista(p) == 0:&lt;br /&gt;
			robot.set2MotorSpeed(0,0,0,0)&lt;br /&gt;
		else:&lt;br /&gt;
			if largoLista(p) &amp;gt; 1:			&lt;br /&gt;
				k = calculoFactorVelocidad(factores)&lt;br /&gt;
			k = centradoFactor(k,p)&lt;br /&gt;
			movimientoRobot(robot, k)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nota:&lt;br /&gt;
&lt;br /&gt;
===Multimedia===&lt;br /&gt;
Link a video de youtube: [https://www.youtube.com/watch?v=wj-8jSeCZ5A]&lt;br /&gt;
&lt;br /&gt;
Imágenes:&lt;br /&gt;
[[Archivo:imgseguidorcamara2.jpg]]&lt;br /&gt;
&lt;br /&gt;
===Trabajo a futuro===&lt;br /&gt;
&lt;br /&gt;
:*Seguir mejorando la eficiencia y/o trabajar sobre computadoras con mejor capacidad de procesamiento.&lt;br /&gt;
:*Parametrizar el factor de inclinación en base a la velocidad.&lt;br /&gt;
:*Reconocimiento del camino correcto frente a múltiples posibilidades.&lt;br /&gt;
:*Reconocimiento de obstáculos.&lt;/div&gt;</summary>
		<author><name>Camila.serena</name></author>	</entry>

	<entry>
		<id>http://www.fing.edu.uy/inco/proyectos/butia/mediawiki/index.php?title=Linea_camara&amp;diff=7737</id>
		<title>Linea camara</title>
		<link rel="alternate" type="text/html" href="http://www.fing.edu.uy/inco/proyectos/butia/mediawiki/index.php?title=Linea_camara&amp;diff=7737"/>
				<updated>2015-09-19T21:55:37Z</updated>
		
		<summary type="html">&lt;p&gt;Camila.serena: /* Tener en cuenta */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===Introducción===&lt;br /&gt;
&amp;lt;b&amp;gt;Consiga:&amp;lt;/b&amp;gt; Se desea implementar un seguidor de línea que perciba el entorno con una cámara.&lt;br /&gt;
La ventaja de su uso, es el poder percibir no solo el entorno local sino también el camino por venir para tomar la mejor decisión a futuro.&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Tutor:&amp;lt;/b&amp;gt; Federico Andrade&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Grupo:&amp;lt;/b&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
#Josefina Fasoli&lt;br /&gt;
#Gonzalo Herrera&lt;br /&gt;
#Camila Serena&lt;br /&gt;
&lt;br /&gt;
===Motivación===&lt;br /&gt;
Tomamos ejemplo de los seguidores de línea con sensores de grises y vimos que el hecho de que censan su entorno en un área pequeña no les permite realizar consideraciones respecto a la trayectoria óptima a recorrer. Solo cuentan con los datos actuales. En cambio, si utilizamos un seguidor dotado de una cámara podemos hacer consideraciones con respecto a la pista, no solo visualizando lo que necesita recorrerse en un determinado instante sino también de otros elementos de la pista que vendrán como ser que tan cerrada es una curva o si dos pendientes se anulan entre sí.&lt;br /&gt;
&lt;br /&gt;
===Algoritmo===&lt;br /&gt;
A partir de la imagen recabada por la cámara, se toman puntos del centro de la linea a seguir. Con los puntos identificados, se calculan las respectivas pendientes generadas, para luego promediarlas y transformar este nuevo valor en un factor f utilizado para calcular la velocidad de cada rueda, que permite que haga el movimiento correspondiente.  &lt;br /&gt;
&lt;br /&gt;
===Código===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
import pygame&lt;br /&gt;
import pygame.camera&lt;br /&gt;
import pygame.surfarray as surfarray&lt;br /&gt;
import sys &lt;br /&gt;
sys.path.insert(0, '/usr/share/sugar/activities/TurtleBots.activity/plugins/butia')&lt;br /&gt;
from pygame.locals import *&lt;br /&gt;
from pybot import usb4butia&lt;br /&gt;
import time&lt;br /&gt;
&lt;br /&gt;
pygame.init()&lt;br /&gt;
pygame.camera.init()&lt;br /&gt;
robot = usb4butia.USB4Butia()&lt;br /&gt;
robot.refresh()&lt;br /&gt;
&lt;br /&gt;
def capturarImg(camara):&lt;br /&gt;
	camara.start()&lt;br /&gt;
	im = camara.get_image()&lt;br /&gt;
	camara.stop()&lt;br /&gt;
	return im&lt;br /&gt;
&lt;br /&gt;
def inclinaciones(pixeles):&lt;br /&gt;
	i = 0&lt;br /&gt;
	l = largoLista(pixeles)&lt;br /&gt;
	l = l - 1&lt;br /&gt;
	incl = []&lt;br /&gt;
	while i &amp;lt; l:&lt;br /&gt;
		incl.append(inclinacion(pixeles[i],pixeles[i + 1]))&lt;br /&gt;
		i = i + 1&lt;br /&gt;
	return incl&lt;br /&gt;
&lt;br /&gt;
def largoLista(lista):&lt;br /&gt;
	i = 0&lt;br /&gt;
	for a in lista:&lt;br /&gt;
		i = i + 1&lt;br /&gt;
	return i&lt;br /&gt;
&lt;br /&gt;
def pendientesAfactores(pendientes):&lt;br /&gt;
	i = 0&lt;br /&gt;
	l = largoLista(pendientes)&lt;br /&gt;
	while i &amp;lt; l:&lt;br /&gt;
		if pendientes[i] &amp;gt; 30 or pendientes[i] == 0:&lt;br /&gt;
			pendientes[i] = 1&lt;br /&gt;
		elif pendientes[i] &amp;gt; 10:&lt;br /&gt;
			pendientes[i] = 1.1&lt;br /&gt;
		elif pendientes[i] &amp;gt; 5:&lt;br /&gt;
			pendientes[i] = 1.3&lt;br /&gt;
		elif pendientes[i] &amp;gt; 2:&lt;br /&gt;
			pendientes[i] = 1.5&lt;br /&gt;
		elif pendientes[i] &amp;gt; 0:&lt;br /&gt;
			pendientes[i] = 1.7&lt;br /&gt;
		elif pendientes[i] &amp;lt; -30:&lt;br /&gt;
			pendientes[i] = 1&lt;br /&gt;
		elif pendientes[i] &amp;lt; -10:&lt;br /&gt;
			pendientes[i] = 0.9&lt;br /&gt;
		elif pendientes[i] &amp;lt; -5:&lt;br /&gt;
			pendientes[i] = 0.7&lt;br /&gt;
		elif pendientes[i] &amp;lt; -2:&lt;br /&gt;
			pendientes[i] = 0.5&lt;br /&gt;
		else:&lt;br /&gt;
			pendientes[i] = 0.3&lt;br /&gt;
		i += 1&lt;br /&gt;
	return pendientes&lt;br /&gt;
&lt;br /&gt;
def calculoFactorVelocidad(pendientes):&lt;br /&gt;
	suma = float(0)&lt;br /&gt;
	largo = largoLista(pendientes)&lt;br /&gt;
	for i in range(0, largo -1):	&lt;br /&gt;
		suma += pendientes[i]&lt;br /&gt;
	suma = suma / largo&lt;br /&gt;
	return suma&lt;br /&gt;
&lt;br /&gt;
def inclinacion((x1,y1),(x2,y2)):&lt;br /&gt;
	if x2 == x1:&lt;br /&gt;
		m = 0&lt;br /&gt;
	else:	&lt;br /&gt;
		m = (y2 - y1) / (x2 - x1)&lt;br /&gt;
	return m&lt;br /&gt;
&lt;br /&gt;
def movimientoRobot(robot, f):&lt;br /&gt;
	if f &amp;gt; 1:&lt;br /&gt;
		if f == 2:&lt;br /&gt;
			f = 0&lt;br /&gt;
		else:&lt;br /&gt;
			f = f - 1&lt;br /&gt;
		f = 1 - f&lt;br /&gt;
		velocidadDerecha = 200 * f&lt;br /&gt;
		velocidadIzquierda = 200&lt;br /&gt;
	else:&lt;br /&gt;
		velocidadDerecha = 200&lt;br /&gt;
		velocidadIzquierda = 200 * f	&lt;br /&gt;
&lt;br /&gt;
	robot.set2MotorSpeed(1,int(velocidadDerecha),1,int(velocidadIzquierda))&lt;br /&gt;
	return 0 &lt;br /&gt;
&lt;br /&gt;
def hallarPixelesIma(im, cant):&lt;br /&gt;
	ima = surfarray.array3d(im)&lt;br /&gt;
	pixeles = []&lt;br /&gt;
	w = im.get_width()&lt;br /&gt;
	h = im.get_height()&lt;br /&gt;
	x = h - 1&lt;br /&gt;
	while x &amp;gt;= 0:&lt;br /&gt;
		i = 0&lt;br /&gt;
		while i &amp;lt; w and (int(ima[i][x][0]) + int(ima[i][x][1]) + int(ima[i][x][2])) / 3 &amp;gt; 120:&lt;br /&gt;
			i = i + 1&lt;br /&gt;
		if i &amp;lt; w:&lt;br /&gt;
			j = w - 1&lt;br /&gt;
			while j &amp;gt; 0 and (int(ima[j][x][0]) + int(ima[j][x][1]) + int(ima[j][x][2])) / 3 &amp;gt; 120:&lt;br /&gt;
				j = j - 1&lt;br /&gt;
			y = (i + j) / 2&lt;br /&gt;
			pixeles.append((y,x))&lt;br /&gt;
			x = x - 30&lt;br /&gt;
		else:&lt;br /&gt;
			x = x - 1&lt;br /&gt;
	return pixeles&lt;br /&gt;
&lt;br /&gt;
def obtenerX((x,y)):&lt;br /&gt;
	return x&lt;br /&gt;
&lt;br /&gt;
def centradoFactor(k,p):&lt;br /&gt;
	xs = 0&lt;br /&gt;
	for pix in p:&lt;br /&gt;
		xs += obtenerX(pix)&lt;br /&gt;
	xs = xs / largoLista(p)&lt;br /&gt;
	if xs &amp;lt; 25:&lt;br /&gt;
		 k = 1.9&lt;br /&gt;
	elif xs &amp;lt; 55:&lt;br /&gt;
		if k &amp;gt;= 1 and k &amp;lt; 1.6:&lt;br /&gt;
			k = k + 0.4&lt;br /&gt;
		elif k &amp;lt; 1:&lt;br /&gt;
			k = 1.5&lt;br /&gt;
		elif k &amp;lt; 1.7:&lt;br /&gt;
			k = k + 0.3&lt;br /&gt;
		elif k &amp;lt; 1.8:&lt;br /&gt;
			k = k + 0.2&lt;br /&gt;
	elif xs &amp;lt; 67:&lt;br /&gt;
		if k &amp;gt;= 1 and k &amp;lt; 1.7:&lt;br /&gt;
			k = k + 0.3&lt;br /&gt;
		elif k &amp;lt; 1:&lt;br /&gt;
			k = 1.3&lt;br /&gt;
	elif xs &amp;gt; 130:&lt;br /&gt;
		k = 0.1&lt;br /&gt;
	elif xs &amp;gt; 105:&lt;br /&gt;
		if k &amp;lt;= 1 and k &amp;gt; 0.4:&lt;br /&gt;
			k = k - 0.4&lt;br /&gt;
		elif k &amp;gt; 1:&lt;br /&gt;
			k = 0.5&lt;br /&gt;
		elif k &amp;gt; 0.3:&lt;br /&gt;
			k = k - 0.3&lt;br /&gt;
		elif k &amp;gt; 0.2:&lt;br /&gt;
			k= k - 0.2&lt;br /&gt;
	elif xs &amp;gt; 93:&lt;br /&gt;
		if k &amp;lt;= 1 and k &amp;gt; 0.3:&lt;br /&gt;
			k = k - 0.3&lt;br /&gt;
		elif k &amp;gt; 1:&lt;br /&gt;
			k  = 0.7&lt;br /&gt;
	return k&lt;br /&gt;
				&lt;br /&gt;
&lt;br /&gt;
camlist = pygame.camera.list_cameras()&lt;br /&gt;
if camlist:&lt;br /&gt;
	while cantVeces &amp;lt; 500:&lt;br /&gt;
		s = capturarImg(pygame.camera.Camera(camlist[0],(160,120)))&lt;br /&gt;
		p = hallarPixelesIma(s,cantVeces)&lt;br /&gt;
		pendientes = inclinaciones(p)&lt;br /&gt;
		factores = pendientesAfactores(pendientes)&lt;br /&gt;
		k = 1&lt;br /&gt;
		if largoLista(p) == 0:&lt;br /&gt;
			robot.set2MotorSpeed(0,0,0,0)&lt;br /&gt;
		else:&lt;br /&gt;
			if largoLista(p) &amp;gt; 1:			&lt;br /&gt;
				k = calculoFactorVelocidad(factores)&lt;br /&gt;
			k = centradoFactor(k,p)&lt;br /&gt;
			movimientoRobot(robot, k)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nota:&lt;br /&gt;
&lt;br /&gt;
===Multimedia===&lt;br /&gt;
Link a video de youtube: [https://www.youtube.com/watch?v=wj-8jSeCZ5A]&lt;br /&gt;
&lt;br /&gt;
Imágenes:&lt;br /&gt;
[[Archivo:imgseguidorcamara2.jpg|200px|thumb|left|]]&lt;br /&gt;
&lt;br /&gt;
===Trabajo a futuro===&lt;br /&gt;
&lt;br /&gt;
:*Seguir mejorando la eficiencia y/o trabajar sobre computadoras con mejor capacidad de procesamiento.&lt;br /&gt;
:*Parametrizar el factor de inclinación en base a la velocidad.&lt;br /&gt;
:*Reconocimiento del camino correcto frente a múltiples posibilidades.&lt;br /&gt;
:*Reconocimiento de obstáculos.&lt;/div&gt;</summary>
		<author><name>Camila.serena</name></author>	</entry>

	<entry>
		<id>http://www.fing.edu.uy/inco/proyectos/butia/mediawiki/index.php?title=Linea_camara&amp;diff=7736</id>
		<title>Linea camara</title>
		<link rel="alternate" type="text/html" href="http://www.fing.edu.uy/inco/proyectos/butia/mediawiki/index.php?title=Linea_camara&amp;diff=7736"/>
				<updated>2015-09-19T21:55:08Z</updated>
		
		<summary type="html">&lt;p&gt;Camila.serena: /* Multimedia */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===Introducción===&lt;br /&gt;
&amp;lt;b&amp;gt;Consiga:&amp;lt;/b&amp;gt; Se desea implementar un seguidor de línea que perciba el entorno con una cámara.&lt;br /&gt;
La ventaja de su uso, es el poder percibir no solo el entorno local sino también el camino por venir para tomar la mejor decisión a futuro.&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Tutor:&amp;lt;/b&amp;gt; Federico Andrade&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Grupo:&amp;lt;/b&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
#Josefina Fasoli&lt;br /&gt;
#Gonzalo Herrera&lt;br /&gt;
#Camila Serena&lt;br /&gt;
&lt;br /&gt;
===Motivación===&lt;br /&gt;
Tomamos ejemplo de los seguidores de línea con sensores de grises y vimos que el hecho de que censan su entorno en un área pequeña no les permite realizar consideraciones respecto a la trayectoria óptima a recorrer. Solo cuentan con los datos actuales. En cambio, si utilizamos un seguidor dotado de una cámara podemos hacer consideraciones con respecto a la pista, no solo visualizando lo que necesita recorrerse en un determinado instante sino también de otros elementos de la pista que vendrán como ser que tan cerrada es una curva o si dos pendientes se anulan entre sí.&lt;br /&gt;
&lt;br /&gt;
===Algoritmo===&lt;br /&gt;
A partir de la imagen recabada por la cámara, se toman puntos del centro de la linea a seguir. Con los puntos identificados, se calculan las respectivas pendientes generadas, para luego promediarlas y transformar este nuevo valor en un factor f utilizado para calcular la velocidad de cada rueda, que permite que haga el movimiento correspondiente.  &lt;br /&gt;
&lt;br /&gt;
===Tener en cuenta===&lt;br /&gt;
&lt;br /&gt;
===Código===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
import pygame&lt;br /&gt;
import pygame.camera&lt;br /&gt;
import pygame.surfarray as surfarray&lt;br /&gt;
import sys &lt;br /&gt;
sys.path.insert(0, '/usr/share/sugar/activities/TurtleBots.activity/plugins/butia')&lt;br /&gt;
from pygame.locals import *&lt;br /&gt;
from pybot import usb4butia&lt;br /&gt;
import time&lt;br /&gt;
&lt;br /&gt;
pygame.init()&lt;br /&gt;
pygame.camera.init()&lt;br /&gt;
robot = usb4butia.USB4Butia()&lt;br /&gt;
robot.refresh()&lt;br /&gt;
&lt;br /&gt;
def capturarImg(camara):&lt;br /&gt;
	camara.start()&lt;br /&gt;
	im = camara.get_image()&lt;br /&gt;
	camara.stop()&lt;br /&gt;
	return im&lt;br /&gt;
&lt;br /&gt;
def inclinaciones(pixeles):&lt;br /&gt;
	i = 0&lt;br /&gt;
	l = largoLista(pixeles)&lt;br /&gt;
	l = l - 1&lt;br /&gt;
	incl = []&lt;br /&gt;
	while i &amp;lt; l:&lt;br /&gt;
		incl.append(inclinacion(pixeles[i],pixeles[i + 1]))&lt;br /&gt;
		i = i + 1&lt;br /&gt;
	return incl&lt;br /&gt;
&lt;br /&gt;
def largoLista(lista):&lt;br /&gt;
	i = 0&lt;br /&gt;
	for a in lista:&lt;br /&gt;
		i = i + 1&lt;br /&gt;
	return i&lt;br /&gt;
&lt;br /&gt;
def pendientesAfactores(pendientes):&lt;br /&gt;
	i = 0&lt;br /&gt;
	l = largoLista(pendientes)&lt;br /&gt;
	while i &amp;lt; l:&lt;br /&gt;
		if pendientes[i] &amp;gt; 30 or pendientes[i] == 0:&lt;br /&gt;
			pendientes[i] = 1&lt;br /&gt;
		elif pendientes[i] &amp;gt; 10:&lt;br /&gt;
			pendientes[i] = 1.1&lt;br /&gt;
		elif pendientes[i] &amp;gt; 5:&lt;br /&gt;
			pendientes[i] = 1.3&lt;br /&gt;
		elif pendientes[i] &amp;gt; 2:&lt;br /&gt;
			pendientes[i] = 1.5&lt;br /&gt;
		elif pendientes[i] &amp;gt; 0:&lt;br /&gt;
			pendientes[i] = 1.7&lt;br /&gt;
		elif pendientes[i] &amp;lt; -30:&lt;br /&gt;
			pendientes[i] = 1&lt;br /&gt;
		elif pendientes[i] &amp;lt; -10:&lt;br /&gt;
			pendientes[i] = 0.9&lt;br /&gt;
		elif pendientes[i] &amp;lt; -5:&lt;br /&gt;
			pendientes[i] = 0.7&lt;br /&gt;
		elif pendientes[i] &amp;lt; -2:&lt;br /&gt;
			pendientes[i] = 0.5&lt;br /&gt;
		else:&lt;br /&gt;
			pendientes[i] = 0.3&lt;br /&gt;
		i += 1&lt;br /&gt;
	return pendientes&lt;br /&gt;
&lt;br /&gt;
def calculoFactorVelocidad(pendientes):&lt;br /&gt;
	suma = float(0)&lt;br /&gt;
	largo = largoLista(pendientes)&lt;br /&gt;
	for i in range(0, largo -1):	&lt;br /&gt;
		suma += pendientes[i]&lt;br /&gt;
	suma = suma / largo&lt;br /&gt;
	return suma&lt;br /&gt;
&lt;br /&gt;
def inclinacion((x1,y1),(x2,y2)):&lt;br /&gt;
	if x2 == x1:&lt;br /&gt;
		m = 0&lt;br /&gt;
	else:	&lt;br /&gt;
		m = (y2 - y1) / (x2 - x1)&lt;br /&gt;
	return m&lt;br /&gt;
&lt;br /&gt;
def movimientoRobot(robot, f):&lt;br /&gt;
	if f &amp;gt; 1:&lt;br /&gt;
		if f == 2:&lt;br /&gt;
			f = 0&lt;br /&gt;
		else:&lt;br /&gt;
			f = f - 1&lt;br /&gt;
		f = 1 - f&lt;br /&gt;
		velocidadDerecha = 200 * f&lt;br /&gt;
		velocidadIzquierda = 200&lt;br /&gt;
	else:&lt;br /&gt;
		velocidadDerecha = 200&lt;br /&gt;
		velocidadIzquierda = 200 * f	&lt;br /&gt;
&lt;br /&gt;
	robot.set2MotorSpeed(1,int(velocidadDerecha),1,int(velocidadIzquierda))&lt;br /&gt;
	return 0 &lt;br /&gt;
&lt;br /&gt;
def hallarPixelesIma(im, cant):&lt;br /&gt;
	ima = surfarray.array3d(im)&lt;br /&gt;
	pixeles = []&lt;br /&gt;
	w = im.get_width()&lt;br /&gt;
	h = im.get_height()&lt;br /&gt;
	x = h - 1&lt;br /&gt;
	while x &amp;gt;= 0:&lt;br /&gt;
		i = 0&lt;br /&gt;
		while i &amp;lt; w and (int(ima[i][x][0]) + int(ima[i][x][1]) + int(ima[i][x][2])) / 3 &amp;gt; 120:&lt;br /&gt;
			i = i + 1&lt;br /&gt;
		if i &amp;lt; w:&lt;br /&gt;
			j = w - 1&lt;br /&gt;
			while j &amp;gt; 0 and (int(ima[j][x][0]) + int(ima[j][x][1]) + int(ima[j][x][2])) / 3 &amp;gt; 120:&lt;br /&gt;
				j = j - 1&lt;br /&gt;
			y = (i + j) / 2&lt;br /&gt;
			pixeles.append((y,x))&lt;br /&gt;
			x = x - 30&lt;br /&gt;
		else:&lt;br /&gt;
			x = x - 1&lt;br /&gt;
	return pixeles&lt;br /&gt;
&lt;br /&gt;
def obtenerX((x,y)):&lt;br /&gt;
	return x&lt;br /&gt;
&lt;br /&gt;
def centradoFactor(k,p):&lt;br /&gt;
	xs = 0&lt;br /&gt;
	for pix in p:&lt;br /&gt;
		xs += obtenerX(pix)&lt;br /&gt;
	xs = xs / largoLista(p)&lt;br /&gt;
	if xs &amp;lt; 25:&lt;br /&gt;
		 k = 1.9&lt;br /&gt;
	elif xs &amp;lt; 55:&lt;br /&gt;
		if k &amp;gt;= 1 and k &amp;lt; 1.6:&lt;br /&gt;
			k = k + 0.4&lt;br /&gt;
		elif k &amp;lt; 1:&lt;br /&gt;
			k = 1.5&lt;br /&gt;
		elif k &amp;lt; 1.7:&lt;br /&gt;
			k = k + 0.3&lt;br /&gt;
		elif k &amp;lt; 1.8:&lt;br /&gt;
			k = k + 0.2&lt;br /&gt;
	elif xs &amp;lt; 67:&lt;br /&gt;
		if k &amp;gt;= 1 and k &amp;lt; 1.7:&lt;br /&gt;
			k = k + 0.3&lt;br /&gt;
		elif k &amp;lt; 1:&lt;br /&gt;
			k = 1.3&lt;br /&gt;
	elif xs &amp;gt; 130:&lt;br /&gt;
		k = 0.1&lt;br /&gt;
	elif xs &amp;gt; 105:&lt;br /&gt;
		if k &amp;lt;= 1 and k &amp;gt; 0.4:&lt;br /&gt;
			k = k - 0.4&lt;br /&gt;
		elif k &amp;gt; 1:&lt;br /&gt;
			k = 0.5&lt;br /&gt;
		elif k &amp;gt; 0.3:&lt;br /&gt;
			k = k - 0.3&lt;br /&gt;
		elif k &amp;gt; 0.2:&lt;br /&gt;
			k= k - 0.2&lt;br /&gt;
	elif xs &amp;gt; 93:&lt;br /&gt;
		if k &amp;lt;= 1 and k &amp;gt; 0.3:&lt;br /&gt;
			k = k - 0.3&lt;br /&gt;
		elif k &amp;gt; 1:&lt;br /&gt;
			k  = 0.7&lt;br /&gt;
	return k&lt;br /&gt;
				&lt;br /&gt;
&lt;br /&gt;
camlist = pygame.camera.list_cameras()&lt;br /&gt;
if camlist:&lt;br /&gt;
	while cantVeces &amp;lt; 500:&lt;br /&gt;
		s = capturarImg(pygame.camera.Camera(camlist[0],(160,120)))&lt;br /&gt;
		p = hallarPixelesIma(s,cantVeces)&lt;br /&gt;
		pendientes = inclinaciones(p)&lt;br /&gt;
		factores = pendientesAfactores(pendientes)&lt;br /&gt;
		k = 1&lt;br /&gt;
		if largoLista(p) == 0:&lt;br /&gt;
			robot.set2MotorSpeed(0,0,0,0)&lt;br /&gt;
		else:&lt;br /&gt;
			if largoLista(p) &amp;gt; 1:			&lt;br /&gt;
				k = calculoFactorVelocidad(factores)&lt;br /&gt;
			k = centradoFactor(k,p)&lt;br /&gt;
			movimientoRobot(robot, k)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nota:&lt;br /&gt;
&lt;br /&gt;
===Multimedia===&lt;br /&gt;
Link a video de youtube: [https://www.youtube.com/watch?v=wj-8jSeCZ5A]&lt;br /&gt;
&lt;br /&gt;
Imágenes:&lt;br /&gt;
[[Archivo:imgseguidorcamara2.jpg|200px|thumb|left|]]&lt;br /&gt;
&lt;br /&gt;
===Trabajo a futuro===&lt;br /&gt;
&lt;br /&gt;
:*Seguir mejorando la eficiencia y/o trabajar sobre computadoras con mejor capacidad de procesamiento.&lt;br /&gt;
:*Parametrizar el factor de inclinación en base a la velocidad.&lt;br /&gt;
:*Reconocimiento del camino correcto frente a múltiples posibilidades.&lt;br /&gt;
:*Reconocimiento de obstáculos.&lt;/div&gt;</summary>
		<author><name>Camila.serena</name></author>	</entry>

	<entry>
		<id>http://www.fing.edu.uy/inco/proyectos/butia/mediawiki/index.php?title=Linea_camara&amp;diff=7735</id>
		<title>Linea camara</title>
		<link rel="alternate" type="text/html" href="http://www.fing.edu.uy/inco/proyectos/butia/mediawiki/index.php?title=Linea_camara&amp;diff=7735"/>
				<updated>2015-09-19T21:53:45Z</updated>
		
		<summary type="html">&lt;p&gt;Camila.serena: /* Multimedia */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===Introducción===&lt;br /&gt;
&amp;lt;b&amp;gt;Consiga:&amp;lt;/b&amp;gt; Se desea implementar un seguidor de línea que perciba el entorno con una cámara.&lt;br /&gt;
La ventaja de su uso, es el poder percibir no solo el entorno local sino también el camino por venir para tomar la mejor decisión a futuro.&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Tutor:&amp;lt;/b&amp;gt; Federico Andrade&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Grupo:&amp;lt;/b&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
#Josefina Fasoli&lt;br /&gt;
#Gonzalo Herrera&lt;br /&gt;
#Camila Serena&lt;br /&gt;
&lt;br /&gt;
===Motivación===&lt;br /&gt;
Tomamos ejemplo de los seguidores de línea con sensores de grises y vimos que el hecho de que censan su entorno en un área pequeña no les permite realizar consideraciones respecto a la trayectoria óptima a recorrer. Solo cuentan con los datos actuales. En cambio, si utilizamos un seguidor dotado de una cámara podemos hacer consideraciones con respecto a la pista, no solo visualizando lo que necesita recorrerse en un determinado instante sino también de otros elementos de la pista que vendrán como ser que tan cerrada es una curva o si dos pendientes se anulan entre sí.&lt;br /&gt;
&lt;br /&gt;
===Algoritmo===&lt;br /&gt;
A partir de la imagen recabada por la cámara, se toman puntos del centro de la linea a seguir. Con los puntos identificados, se calculan las respectivas pendientes generadas, para luego promediarlas y transformar este nuevo valor en un factor f utilizado para calcular la velocidad de cada rueda, que permite que haga el movimiento correspondiente.  &lt;br /&gt;
&lt;br /&gt;
===Tener en cuenta===&lt;br /&gt;
&lt;br /&gt;
===Código===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
import pygame&lt;br /&gt;
import pygame.camera&lt;br /&gt;
import pygame.surfarray as surfarray&lt;br /&gt;
import sys &lt;br /&gt;
sys.path.insert(0, '/usr/share/sugar/activities/TurtleBots.activity/plugins/butia')&lt;br /&gt;
from pygame.locals import *&lt;br /&gt;
from pybot import usb4butia&lt;br /&gt;
import time&lt;br /&gt;
&lt;br /&gt;
pygame.init()&lt;br /&gt;
pygame.camera.init()&lt;br /&gt;
robot = usb4butia.USB4Butia()&lt;br /&gt;
robot.refresh()&lt;br /&gt;
&lt;br /&gt;
def capturarImg(camara):&lt;br /&gt;
	camara.start()&lt;br /&gt;
	im = camara.get_image()&lt;br /&gt;
	camara.stop()&lt;br /&gt;
	return im&lt;br /&gt;
&lt;br /&gt;
def inclinaciones(pixeles):&lt;br /&gt;
	i = 0&lt;br /&gt;
	l = largoLista(pixeles)&lt;br /&gt;
	l = l - 1&lt;br /&gt;
	incl = []&lt;br /&gt;
	while i &amp;lt; l:&lt;br /&gt;
		incl.append(inclinacion(pixeles[i],pixeles[i + 1]))&lt;br /&gt;
		i = i + 1&lt;br /&gt;
	return incl&lt;br /&gt;
&lt;br /&gt;
def largoLista(lista):&lt;br /&gt;
	i = 0&lt;br /&gt;
	for a in lista:&lt;br /&gt;
		i = i + 1&lt;br /&gt;
	return i&lt;br /&gt;
&lt;br /&gt;
def pendientesAfactores(pendientes):&lt;br /&gt;
	i = 0&lt;br /&gt;
	l = largoLista(pendientes)&lt;br /&gt;
	while i &amp;lt; l:&lt;br /&gt;
		if pendientes[i] &amp;gt; 30 or pendientes[i] == 0:&lt;br /&gt;
			pendientes[i] = 1&lt;br /&gt;
		elif pendientes[i] &amp;gt; 10:&lt;br /&gt;
			pendientes[i] = 1.1&lt;br /&gt;
		elif pendientes[i] &amp;gt; 5:&lt;br /&gt;
			pendientes[i] = 1.3&lt;br /&gt;
		elif pendientes[i] &amp;gt; 2:&lt;br /&gt;
			pendientes[i] = 1.5&lt;br /&gt;
		elif pendientes[i] &amp;gt; 0:&lt;br /&gt;
			pendientes[i] = 1.7&lt;br /&gt;
		elif pendientes[i] &amp;lt; -30:&lt;br /&gt;
			pendientes[i] = 1&lt;br /&gt;
		elif pendientes[i] &amp;lt; -10:&lt;br /&gt;
			pendientes[i] = 0.9&lt;br /&gt;
		elif pendientes[i] &amp;lt; -5:&lt;br /&gt;
			pendientes[i] = 0.7&lt;br /&gt;
		elif pendientes[i] &amp;lt; -2:&lt;br /&gt;
			pendientes[i] = 0.5&lt;br /&gt;
		else:&lt;br /&gt;
			pendientes[i] = 0.3&lt;br /&gt;
		i += 1&lt;br /&gt;
	return pendientes&lt;br /&gt;
&lt;br /&gt;
def calculoFactorVelocidad(pendientes):&lt;br /&gt;
	suma = float(0)&lt;br /&gt;
	largo = largoLista(pendientes)&lt;br /&gt;
	for i in range(0, largo -1):	&lt;br /&gt;
		suma += pendientes[i]&lt;br /&gt;
	suma = suma / largo&lt;br /&gt;
	return suma&lt;br /&gt;
&lt;br /&gt;
def inclinacion((x1,y1),(x2,y2)):&lt;br /&gt;
	if x2 == x1:&lt;br /&gt;
		m = 0&lt;br /&gt;
	else:	&lt;br /&gt;
		m = (y2 - y1) / (x2 - x1)&lt;br /&gt;
	return m&lt;br /&gt;
&lt;br /&gt;
def movimientoRobot(robot, f):&lt;br /&gt;
	if f &amp;gt; 1:&lt;br /&gt;
		if f == 2:&lt;br /&gt;
			f = 0&lt;br /&gt;
		else:&lt;br /&gt;
			f = f - 1&lt;br /&gt;
		f = 1 - f&lt;br /&gt;
		velocidadDerecha = 200 * f&lt;br /&gt;
		velocidadIzquierda = 200&lt;br /&gt;
	else:&lt;br /&gt;
		velocidadDerecha = 200&lt;br /&gt;
		velocidadIzquierda = 200 * f	&lt;br /&gt;
&lt;br /&gt;
	robot.set2MotorSpeed(1,int(velocidadDerecha),1,int(velocidadIzquierda))&lt;br /&gt;
	return 0 &lt;br /&gt;
&lt;br /&gt;
def hallarPixelesIma(im, cant):&lt;br /&gt;
	ima = surfarray.array3d(im)&lt;br /&gt;
	pixeles = []&lt;br /&gt;
	w = im.get_width()&lt;br /&gt;
	h = im.get_height()&lt;br /&gt;
	x = h - 1&lt;br /&gt;
	while x &amp;gt;= 0:&lt;br /&gt;
		i = 0&lt;br /&gt;
		while i &amp;lt; w and (int(ima[i][x][0]) + int(ima[i][x][1]) + int(ima[i][x][2])) / 3 &amp;gt; 120:&lt;br /&gt;
			i = i + 1&lt;br /&gt;
		if i &amp;lt; w:&lt;br /&gt;
			j = w - 1&lt;br /&gt;
			while j &amp;gt; 0 and (int(ima[j][x][0]) + int(ima[j][x][1]) + int(ima[j][x][2])) / 3 &amp;gt; 120:&lt;br /&gt;
				j = j - 1&lt;br /&gt;
			y = (i + j) / 2&lt;br /&gt;
			pixeles.append((y,x))&lt;br /&gt;
			x = x - 30&lt;br /&gt;
		else:&lt;br /&gt;
			x = x - 1&lt;br /&gt;
	return pixeles&lt;br /&gt;
&lt;br /&gt;
def obtenerX((x,y)):&lt;br /&gt;
	return x&lt;br /&gt;
&lt;br /&gt;
def centradoFactor(k,p):&lt;br /&gt;
	xs = 0&lt;br /&gt;
	for pix in p:&lt;br /&gt;
		xs += obtenerX(pix)&lt;br /&gt;
	xs = xs / largoLista(p)&lt;br /&gt;
	if xs &amp;lt; 25:&lt;br /&gt;
		 k = 1.9&lt;br /&gt;
	elif xs &amp;lt; 55:&lt;br /&gt;
		if k &amp;gt;= 1 and k &amp;lt; 1.6:&lt;br /&gt;
			k = k + 0.4&lt;br /&gt;
		elif k &amp;lt; 1:&lt;br /&gt;
			k = 1.5&lt;br /&gt;
		elif k &amp;lt; 1.7:&lt;br /&gt;
			k = k + 0.3&lt;br /&gt;
		elif k &amp;lt; 1.8:&lt;br /&gt;
			k = k + 0.2&lt;br /&gt;
	elif xs &amp;lt; 67:&lt;br /&gt;
		if k &amp;gt;= 1 and k &amp;lt; 1.7:&lt;br /&gt;
			k = k + 0.3&lt;br /&gt;
		elif k &amp;lt; 1:&lt;br /&gt;
			k = 1.3&lt;br /&gt;
	elif xs &amp;gt; 130:&lt;br /&gt;
		k = 0.1&lt;br /&gt;
	elif xs &amp;gt; 105:&lt;br /&gt;
		if k &amp;lt;= 1 and k &amp;gt; 0.4:&lt;br /&gt;
			k = k - 0.4&lt;br /&gt;
		elif k &amp;gt; 1:&lt;br /&gt;
			k = 0.5&lt;br /&gt;
		elif k &amp;gt; 0.3:&lt;br /&gt;
			k = k - 0.3&lt;br /&gt;
		elif k &amp;gt; 0.2:&lt;br /&gt;
			k= k - 0.2&lt;br /&gt;
	elif xs &amp;gt; 93:&lt;br /&gt;
		if k &amp;lt;= 1 and k &amp;gt; 0.3:&lt;br /&gt;
			k = k - 0.3&lt;br /&gt;
		elif k &amp;gt; 1:&lt;br /&gt;
			k  = 0.7&lt;br /&gt;
	return k&lt;br /&gt;
				&lt;br /&gt;
&lt;br /&gt;
camlist = pygame.camera.list_cameras()&lt;br /&gt;
if camlist:&lt;br /&gt;
	while cantVeces &amp;lt; 500:&lt;br /&gt;
		s = capturarImg(pygame.camera.Camera(camlist[0],(160,120)))&lt;br /&gt;
		p = hallarPixelesIma(s,cantVeces)&lt;br /&gt;
		pendientes = inclinaciones(p)&lt;br /&gt;
		factores = pendientesAfactores(pendientes)&lt;br /&gt;
		k = 1&lt;br /&gt;
		if largoLista(p) == 0:&lt;br /&gt;
			robot.set2MotorSpeed(0,0,0,0)&lt;br /&gt;
		else:&lt;br /&gt;
			if largoLista(p) &amp;gt; 1:			&lt;br /&gt;
				k = calculoFactorVelocidad(factores)&lt;br /&gt;
			k = centradoFactor(k,p)&lt;br /&gt;
			movimientoRobot(robot, k)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nota:&lt;br /&gt;
&lt;br /&gt;
===Multimedia===&lt;br /&gt;
Link a video de youtube: [https://www.youtube.com/watch?v=wj-8jSeCZ5A]&lt;br /&gt;
&lt;br /&gt;
Imágenes:&lt;br /&gt;
[[Archivo:imgseguidorcamara2.png|200px|thumb|left|]]&lt;br /&gt;
&lt;br /&gt;
===Trabajo a futuro===&lt;br /&gt;
&lt;br /&gt;
:*Seguir mejorando la eficiencia y/o trabajar sobre computadoras con mejor capacidad de procesamiento.&lt;br /&gt;
:*Parametrizar el factor de inclinación en base a la velocidad.&lt;br /&gt;
:*Reconocimiento del camino correcto frente a múltiples posibilidades.&lt;br /&gt;
:*Reconocimiento de obstáculos.&lt;/div&gt;</summary>
		<author><name>Camila.serena</name></author>	</entry>

	<entry>
		<id>http://www.fing.edu.uy/inco/proyectos/butia/mediawiki/index.php?title=Archivo:Imgseguidorcamara2.jpg&amp;diff=7734</id>
		<title>Archivo:Imgseguidorcamara2.jpg</title>
		<link rel="alternate" type="text/html" href="http://www.fing.edu.uy/inco/proyectos/butia/mediawiki/index.php?title=Archivo:Imgseguidorcamara2.jpg&amp;diff=7734"/>
				<updated>2015-09-19T21:51:44Z</updated>
		
		<summary type="html">&lt;p&gt;Camila.serena: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Camila.serena</name></author>	</entry>

	<entry>
		<id>http://www.fing.edu.uy/inco/proyectos/butia/mediawiki/index.php?title=Archivo:Imgseguidorcamara1.jpg&amp;diff=7733</id>
		<title>Archivo:Imgseguidorcamara1.jpg</title>
		<link rel="alternate" type="text/html" href="http://www.fing.edu.uy/inco/proyectos/butia/mediawiki/index.php?title=Archivo:Imgseguidorcamara1.jpg&amp;diff=7733"/>
				<updated>2015-09-19T21:50:47Z</updated>
		
		<summary type="html">&lt;p&gt;Camila.serena: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Camila.serena</name></author>	</entry>

	<entry>
		<id>http://www.fing.edu.uy/inco/proyectos/butia/mediawiki/index.php?title=Linea_camara&amp;diff=7418</id>
		<title>Linea camara</title>
		<link rel="alternate" type="text/html" href="http://www.fing.edu.uy/inco/proyectos/butia/mediawiki/index.php?title=Linea_camara&amp;diff=7418"/>
				<updated>2015-07-02T00:41:34Z</updated>
		
		<summary type="html">&lt;p&gt;Camila.serena: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===Introducción===&lt;br /&gt;
&amp;lt;b&amp;gt;Consiga:&amp;lt;/b&amp;gt; Se desea implementar un seguidor de línea que perciba el entorno con una cámara.&lt;br /&gt;
La ventaja de su uso, es el poder percibir no solo el entorno local sino también el camino por venir para tomar la mejor decisión a futuro.&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Tutor:&amp;lt;/b&amp;gt; Federico Andrade&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Grupo:&amp;lt;/b&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
#Josefina Fasoli&lt;br /&gt;
#Gonzalo Herrera&lt;br /&gt;
#Camila Serena&lt;br /&gt;
&lt;br /&gt;
===Motivación===&lt;br /&gt;
Tomamos ejemplo de los seguidores de línea con sensores de grises y vimos que el hecho de que censan su entorno en un área pequeña no les permite realizar consideraciones respecto a la trayectoria óptima a recorrer. Solo cuentan con los datos actuales. En cambio, si utilizamos un seguidor dotado de una cámara podemos hacer consideraciones con respecto a la pista, no solo visualizando lo que necesita recorrerse en un determinado instante sino también de otros elementos de la pista que vendrán como ser que tan cerrada es una curva o si dos pendientes se anulan entre sí.&lt;br /&gt;
&lt;br /&gt;
===Algoritmo===&lt;br /&gt;
A partir de la imagen recabada por la cámara, se toman puntos del centro de la linea a seguir. Con los puntos identificados, se calculan las respectivas pendientes generadas, para luego promediarlas y transformar este nuevo valor en un factor f utilizado para calcular la velocidad de cada rueda, que permite que haga el movimiento correspondiente.  &lt;br /&gt;
&lt;br /&gt;
===Tener en cuenta===&lt;br /&gt;
&lt;br /&gt;
===Código===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
import pygame&lt;br /&gt;
import pygame.camera&lt;br /&gt;
import pygame.surfarray as surfarray&lt;br /&gt;
import sys &lt;br /&gt;
sys.path.insert(0, '/usr/share/sugar/activities/TurtleBots.activity/plugins/butia')&lt;br /&gt;
from pygame.locals import *&lt;br /&gt;
from pybot import usb4butia&lt;br /&gt;
import time&lt;br /&gt;
&lt;br /&gt;
pygame.init()&lt;br /&gt;
pygame.camera.init()&lt;br /&gt;
robot = usb4butia.USB4Butia()&lt;br /&gt;
robot.refresh()&lt;br /&gt;
&lt;br /&gt;
def capturarImg(camara):&lt;br /&gt;
	camara.start()&lt;br /&gt;
	im = camara.get_image()&lt;br /&gt;
	camara.stop()&lt;br /&gt;
	return im&lt;br /&gt;
&lt;br /&gt;
def inclinaciones(pixeles):&lt;br /&gt;
	i = 0&lt;br /&gt;
	l = largoLista(pixeles)&lt;br /&gt;
	l = l - 1&lt;br /&gt;
	incl = []&lt;br /&gt;
	while i &amp;lt; l:&lt;br /&gt;
		incl.append(inclinacion(pixeles[i],pixeles[i + 1]))&lt;br /&gt;
		i = i + 1&lt;br /&gt;
	return incl&lt;br /&gt;
&lt;br /&gt;
def largoLista(lista):&lt;br /&gt;
	i = 0&lt;br /&gt;
	for a in lista:&lt;br /&gt;
		i = i + 1&lt;br /&gt;
	return i&lt;br /&gt;
&lt;br /&gt;
def pendientesAfactores(pendientes):&lt;br /&gt;
	i = 0&lt;br /&gt;
	l = largoLista(pendientes)&lt;br /&gt;
	while i &amp;lt; l:&lt;br /&gt;
		if pendientes[i] &amp;gt; 30 or pendientes[i] == 0:&lt;br /&gt;
			pendientes[i] = 1&lt;br /&gt;
		elif pendientes[i] &amp;gt; 10:&lt;br /&gt;
			pendientes[i] = 1.1&lt;br /&gt;
		elif pendientes[i] &amp;gt; 5:&lt;br /&gt;
			pendientes[i] = 1.3&lt;br /&gt;
		elif pendientes[i] &amp;gt; 2:&lt;br /&gt;
			pendientes[i] = 1.5&lt;br /&gt;
		elif pendientes[i] &amp;gt; 0:&lt;br /&gt;
			pendientes[i] = 1.7&lt;br /&gt;
		elif pendientes[i] &amp;lt; -30:&lt;br /&gt;
			pendientes[i] = 1&lt;br /&gt;
		elif pendientes[i] &amp;lt; -10:&lt;br /&gt;
			pendientes[i] = 0.9&lt;br /&gt;
		elif pendientes[i] &amp;lt; -5:&lt;br /&gt;
			pendientes[i] = 0.7&lt;br /&gt;
		elif pendientes[i] &amp;lt; -2:&lt;br /&gt;
			pendientes[i] = 0.5&lt;br /&gt;
		else:&lt;br /&gt;
			pendientes[i] = 0.3&lt;br /&gt;
		i += 1&lt;br /&gt;
	return pendientes&lt;br /&gt;
&lt;br /&gt;
def calculoFactorVelocidad(pendientes):&lt;br /&gt;
	suma = float(0)&lt;br /&gt;
	largo = largoLista(pendientes)&lt;br /&gt;
	for i in range(0, largo -1):	&lt;br /&gt;
		suma += pendientes[i]&lt;br /&gt;
	suma = suma / largo&lt;br /&gt;
	return suma&lt;br /&gt;
&lt;br /&gt;
def inclinacion((x1,y1),(x2,y2)):&lt;br /&gt;
	if x2 == x1:&lt;br /&gt;
		m = 0&lt;br /&gt;
	else:	&lt;br /&gt;
		m = (y2 - y1) / (x2 - x1)&lt;br /&gt;
	return m&lt;br /&gt;
&lt;br /&gt;
def movimientoRobot(robot, f):&lt;br /&gt;
	if f &amp;gt; 1:&lt;br /&gt;
		if f == 2:&lt;br /&gt;
			f = 0&lt;br /&gt;
		else:&lt;br /&gt;
			f = f - 1&lt;br /&gt;
		f = 1 - f&lt;br /&gt;
		velocidadDerecha = 200 * f&lt;br /&gt;
		velocidadIzquierda = 200&lt;br /&gt;
	else:&lt;br /&gt;
		velocidadDerecha = 200&lt;br /&gt;
		velocidadIzquierda = 200 * f	&lt;br /&gt;
&lt;br /&gt;
	robot.set2MotorSpeed(1,int(velocidadDerecha),1,int(velocidadIzquierda))&lt;br /&gt;
	return 0 &lt;br /&gt;
&lt;br /&gt;
def hallarPixelesIma(im, cant):&lt;br /&gt;
	ima = surfarray.array3d(im)&lt;br /&gt;
	pixeles = []&lt;br /&gt;
	w = im.get_width()&lt;br /&gt;
	h = im.get_height()&lt;br /&gt;
	x = h - 1&lt;br /&gt;
	while x &amp;gt;= 0:&lt;br /&gt;
		i = 0&lt;br /&gt;
		while i &amp;lt; w and (int(ima[i][x][0]) + int(ima[i][x][1]) + int(ima[i][x][2])) / 3 &amp;gt; 120:&lt;br /&gt;
			i = i + 1&lt;br /&gt;
		if i &amp;lt; w:&lt;br /&gt;
			j = w - 1&lt;br /&gt;
			while j &amp;gt; 0 and (int(ima[j][x][0]) + int(ima[j][x][1]) + int(ima[j][x][2])) / 3 &amp;gt; 120:&lt;br /&gt;
				j = j - 1&lt;br /&gt;
			y = (i + j) / 2&lt;br /&gt;
			pixeles.append((y,x))&lt;br /&gt;
			x = x - 30&lt;br /&gt;
		else:&lt;br /&gt;
			x = x - 1&lt;br /&gt;
	return pixeles&lt;br /&gt;
&lt;br /&gt;
def obtenerX((x,y)):&lt;br /&gt;
	return x&lt;br /&gt;
&lt;br /&gt;
def centradoFactor(k,p):&lt;br /&gt;
	xs = 0&lt;br /&gt;
	for pix in p:&lt;br /&gt;
		xs += obtenerX(pix)&lt;br /&gt;
	xs = xs / largoLista(p)&lt;br /&gt;
	if xs &amp;lt; 25:&lt;br /&gt;
		 k = 1.9&lt;br /&gt;
	elif xs &amp;lt; 55:&lt;br /&gt;
		if k &amp;gt;= 1 and k &amp;lt; 1.6:&lt;br /&gt;
			k = k + 0.4&lt;br /&gt;
		elif k &amp;lt; 1:&lt;br /&gt;
			k = 1.5&lt;br /&gt;
		elif k &amp;lt; 1.7:&lt;br /&gt;
			k = k + 0.3&lt;br /&gt;
		elif k &amp;lt; 1.8:&lt;br /&gt;
			k = k + 0.2&lt;br /&gt;
	elif xs &amp;lt; 67:&lt;br /&gt;
		if k &amp;gt;= 1 and k &amp;lt; 1.7:&lt;br /&gt;
			k = k + 0.3&lt;br /&gt;
		elif k &amp;lt; 1:&lt;br /&gt;
			k = 1.3&lt;br /&gt;
	elif xs &amp;gt; 130:&lt;br /&gt;
		k = 0.1&lt;br /&gt;
	elif xs &amp;gt; 105:&lt;br /&gt;
		if k &amp;lt;= 1 and k &amp;gt; 0.4:&lt;br /&gt;
			k = k - 0.4&lt;br /&gt;
		elif k &amp;gt; 1:&lt;br /&gt;
			k = 0.5&lt;br /&gt;
		elif k &amp;gt; 0.3:&lt;br /&gt;
			k = k - 0.3&lt;br /&gt;
		elif k &amp;gt; 0.2:&lt;br /&gt;
			k= k - 0.2&lt;br /&gt;
	elif xs &amp;gt; 93:&lt;br /&gt;
		if k &amp;lt;= 1 and k &amp;gt; 0.3:&lt;br /&gt;
			k = k - 0.3&lt;br /&gt;
		elif k &amp;gt; 1:&lt;br /&gt;
			k  = 0.7&lt;br /&gt;
	return k&lt;br /&gt;
				&lt;br /&gt;
&lt;br /&gt;
camlist = pygame.camera.list_cameras()&lt;br /&gt;
if camlist:&lt;br /&gt;
	while cantVeces &amp;lt; 500:&lt;br /&gt;
		s = capturarImg(pygame.camera.Camera(camlist[0],(160,120)))&lt;br /&gt;
		p = hallarPixelesIma(s,cantVeces)&lt;br /&gt;
		pendientes = inclinaciones(p)&lt;br /&gt;
		factores = pendientesAfactores(pendientes)&lt;br /&gt;
		k = 1&lt;br /&gt;
		if largoLista(p) == 0:&lt;br /&gt;
			robot.set2MotorSpeed(0,0,0,0)&lt;br /&gt;
		else:&lt;br /&gt;
			if largoLista(p) &amp;gt; 1:			&lt;br /&gt;
				k = calculoFactorVelocidad(factores)&lt;br /&gt;
			k = centradoFactor(k,p)&lt;br /&gt;
			movimientoRobot(robot, k)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nota:&lt;br /&gt;
&lt;br /&gt;
===Multimedia===&lt;br /&gt;
Link a video de youtube: [https://www.youtube.com/watch?v=wj-8jSeCZ5A]&lt;br /&gt;
&lt;br /&gt;
Imágenes:&lt;br /&gt;
&lt;br /&gt;
===Trabajo a futuro===&lt;br /&gt;
&lt;br /&gt;
:*Seguir mejorando la eficiencia y/o trabajar sobre computadoras con mejor capacidad de procesamiento.&lt;br /&gt;
:*Parametrizar el factor de inclinación en base a la velocidad.&lt;br /&gt;
:*Reconocimiento del camino correcto frente a múltiples posibilidades.&lt;br /&gt;
:*Reconocimiento de obstáculos.&lt;/div&gt;</summary>
		<author><name>Camila.serena</name></author>	</entry>

	<entry>
		<id>http://www.fing.edu.uy/inco/proyectos/butia/mediawiki/index.php?title=Linea_camara&amp;diff=7417</id>
		<title>Linea camara</title>
		<link rel="alternate" type="text/html" href="http://www.fing.edu.uy/inco/proyectos/butia/mediawiki/index.php?title=Linea_camara&amp;diff=7417"/>
				<updated>2015-07-02T00:21:57Z</updated>
		
		<summary type="html">&lt;p&gt;Camila.serena: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===Introducción===&lt;br /&gt;
&amp;lt;b&amp;gt;Consiga:&amp;lt;/b&amp;gt; Se desea implementar un seguidor de línea que perciba el entorno con una cámara.&lt;br /&gt;
La ventaja de su uso, es el poder percibir no solo el entorno local sino también el camino por venir para tomar la mejor decisión a futuro.&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Tutor:&amp;lt;/b&amp;gt; Federico Andrade&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Grupo:&amp;lt;/b&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
#Josefina Fasoli&lt;br /&gt;
#Gonzalo Herrera&lt;br /&gt;
#Camila Serena&lt;br /&gt;
&lt;br /&gt;
===Algoritmo===&lt;br /&gt;
A partir de la imagen recabada por la cámara, se toman puntos del centro de la linea a seguir. Con los puntos identificados, se calculan las respectivas pendientes generadas, para luego promediarlas y transformar este nuevo valor en un factor f utilizado para calcular la velocidad de cada rueda, que permite que haga el movimiento correspondiente.  &lt;br /&gt;
&lt;br /&gt;
===Código===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
import pygame&lt;br /&gt;
import pygame.camera&lt;br /&gt;
import pygame.surfarray as surfarray&lt;br /&gt;
import sys &lt;br /&gt;
sys.path.insert(0, '/usr/share/sugar/activities/TurtleBots.activity/plugins/butia')&lt;br /&gt;
from pygame.locals import *&lt;br /&gt;
from pybot import usb4butia&lt;br /&gt;
import time&lt;br /&gt;
&lt;br /&gt;
pygame.init()&lt;br /&gt;
pygame.camera.init()&lt;br /&gt;
robot = usb4butia.USB4Butia()&lt;br /&gt;
robot.refresh()&lt;br /&gt;
&lt;br /&gt;
def capturarImg(camara):&lt;br /&gt;
	camara.start()&lt;br /&gt;
	im = camara.get_image()&lt;br /&gt;
	camara.stop()&lt;br /&gt;
	return im&lt;br /&gt;
&lt;br /&gt;
def inclinaciones(pixeles):&lt;br /&gt;
	i = 0&lt;br /&gt;
	l = largoLista(pixeles)&lt;br /&gt;
	l = l - 1&lt;br /&gt;
	incl = []&lt;br /&gt;
	while i &amp;lt; l:&lt;br /&gt;
		incl.append(inclinacion(pixeles[i],pixeles[i + 1]))&lt;br /&gt;
		i = i + 1&lt;br /&gt;
	return incl&lt;br /&gt;
&lt;br /&gt;
def largoLista(lista):&lt;br /&gt;
	i = 0&lt;br /&gt;
	for a in lista:&lt;br /&gt;
		i = i + 1&lt;br /&gt;
	return i&lt;br /&gt;
&lt;br /&gt;
def pendientesAfactores(pendientes):&lt;br /&gt;
	i = 0&lt;br /&gt;
	l = largoLista(pendientes)&lt;br /&gt;
	while i &amp;lt; l:&lt;br /&gt;
		if pendientes[i] &amp;gt; 30 or pendientes[i] == 0:&lt;br /&gt;
			pendientes[i] = 1&lt;br /&gt;
		elif pendientes[i] &amp;gt; 10:&lt;br /&gt;
			pendientes[i] = 1.1&lt;br /&gt;
		elif pendientes[i] &amp;gt; 5:&lt;br /&gt;
			pendientes[i] = 1.3&lt;br /&gt;
		elif pendientes[i] &amp;gt; 2:&lt;br /&gt;
			pendientes[i] = 1.5&lt;br /&gt;
		elif pendientes[i] &amp;gt; 0:&lt;br /&gt;
			pendientes[i] = 1.7&lt;br /&gt;
		elif pendientes[i] &amp;lt; -30:&lt;br /&gt;
			pendientes[i] = 1&lt;br /&gt;
		elif pendientes[i] &amp;lt; -10:&lt;br /&gt;
			pendientes[i] = 0.9&lt;br /&gt;
		elif pendientes[i] &amp;lt; -5:&lt;br /&gt;
			pendientes[i] = 0.7&lt;br /&gt;
		elif pendientes[i] &amp;lt; -2:&lt;br /&gt;
			pendientes[i] = 0.5&lt;br /&gt;
		else:&lt;br /&gt;
			pendientes[i] = 0.3&lt;br /&gt;
		i += 1&lt;br /&gt;
	return pendientes&lt;br /&gt;
&lt;br /&gt;
def calculoFactorVelocidad(pendientes):&lt;br /&gt;
	suma = float(0)&lt;br /&gt;
	largo = largoLista(pendientes)&lt;br /&gt;
	for i in range(0, largo -1):	&lt;br /&gt;
		suma += pendientes[i]&lt;br /&gt;
	suma = suma / largo&lt;br /&gt;
	return suma&lt;br /&gt;
&lt;br /&gt;
def inclinacion((x1,y1),(x2,y2)):&lt;br /&gt;
	if x2 == x1:&lt;br /&gt;
		m = 0&lt;br /&gt;
	else:	&lt;br /&gt;
		m = (y2 - y1) / (x2 - x1)&lt;br /&gt;
	return m&lt;br /&gt;
&lt;br /&gt;
def movimientoRobot(robot, f):&lt;br /&gt;
	if f &amp;gt; 1:&lt;br /&gt;
		if f == 2:&lt;br /&gt;
			f = 0&lt;br /&gt;
		else:&lt;br /&gt;
			f = f - 1&lt;br /&gt;
		f = 1 - f&lt;br /&gt;
		velocidadDerecha = 200 * f&lt;br /&gt;
		velocidadIzquierda = 200&lt;br /&gt;
	else:&lt;br /&gt;
		velocidadDerecha = 200&lt;br /&gt;
		velocidadIzquierda = 200 * f	&lt;br /&gt;
&lt;br /&gt;
	robot.set2MotorSpeed(1,int(velocidadDerecha),1,int(velocidadIzquierda))&lt;br /&gt;
	return 0 &lt;br /&gt;
&lt;br /&gt;
def hallarPixelesIma(im, cant):&lt;br /&gt;
	ima = surfarray.array3d(im)&lt;br /&gt;
	pixeles = []&lt;br /&gt;
	w = im.get_width()&lt;br /&gt;
	h = im.get_height()&lt;br /&gt;
	x = h - 1&lt;br /&gt;
	while x &amp;gt;= 0:&lt;br /&gt;
		i = 0&lt;br /&gt;
		while i &amp;lt; w and (int(ima[i][x][0]) + int(ima[i][x][1]) + int(ima[i][x][2])) / 3 &amp;gt; 120:&lt;br /&gt;
			i = i + 1&lt;br /&gt;
		if i &amp;lt; w:&lt;br /&gt;
			j = w - 1&lt;br /&gt;
			while j &amp;gt; 0 and (int(ima[j][x][0]) + int(ima[j][x][1]) + int(ima[j][x][2])) / 3 &amp;gt; 120:&lt;br /&gt;
				j = j - 1&lt;br /&gt;
			y = (i + j) / 2&lt;br /&gt;
			pixeles.append((y,x))&lt;br /&gt;
			x = x - 30&lt;br /&gt;
		else:&lt;br /&gt;
			x = x - 1&lt;br /&gt;
	return pixeles&lt;br /&gt;
&lt;br /&gt;
def obtenerX((x,y)):&lt;br /&gt;
	return x&lt;br /&gt;
&lt;br /&gt;
def centradoFactor(k,p):&lt;br /&gt;
	xs = 0&lt;br /&gt;
	for pix in p:&lt;br /&gt;
		xs += obtenerX(pix)&lt;br /&gt;
	xs = xs / largoLista(p)&lt;br /&gt;
	if xs &amp;lt; 25:&lt;br /&gt;
		 k = 1.9&lt;br /&gt;
	elif xs &amp;lt; 55:&lt;br /&gt;
		if k &amp;gt;= 1 and k &amp;lt; 1.6:&lt;br /&gt;
			k = k + 0.4&lt;br /&gt;
		elif k &amp;lt; 1:&lt;br /&gt;
			k = 1.5&lt;br /&gt;
		elif k &amp;lt; 1.7:&lt;br /&gt;
			k = k + 0.3&lt;br /&gt;
		elif k &amp;lt; 1.8:&lt;br /&gt;
			k = k + 0.2&lt;br /&gt;
	elif xs &amp;lt; 67:&lt;br /&gt;
		if k &amp;gt;= 1 and k &amp;lt; 1.7:&lt;br /&gt;
			k = k + 0.3&lt;br /&gt;
		elif k &amp;lt; 1:&lt;br /&gt;
			k = 1.3&lt;br /&gt;
	elif xs &amp;gt; 130:&lt;br /&gt;
		k = 0.1&lt;br /&gt;
	elif xs &amp;gt; 105:&lt;br /&gt;
		if k &amp;lt;= 1 and k &amp;gt; 0.4:&lt;br /&gt;
			k = k - 0.4&lt;br /&gt;
		elif k &amp;gt; 1:&lt;br /&gt;
			k = 0.5&lt;br /&gt;
		elif k &amp;gt; 0.3:&lt;br /&gt;
			k = k - 0.3&lt;br /&gt;
		elif k &amp;gt; 0.2:&lt;br /&gt;
			k= k - 0.2&lt;br /&gt;
	elif xs &amp;gt; 93:&lt;br /&gt;
		if k &amp;lt;= 1 and k &amp;gt; 0.3:&lt;br /&gt;
			k = k - 0.3&lt;br /&gt;
		elif k &amp;gt; 1:&lt;br /&gt;
			k  = 0.7&lt;br /&gt;
	return k&lt;br /&gt;
				&lt;br /&gt;
&lt;br /&gt;
camlist = pygame.camera.list_cameras()&lt;br /&gt;
if camlist:&lt;br /&gt;
	while cantVeces &amp;lt; 500:&lt;br /&gt;
		s = capturarImg(pygame.camera.Camera(camlist[0],(160,120)))&lt;br /&gt;
		p = hallarPixelesIma(s,cantVeces)&lt;br /&gt;
		pendientes = inclinaciones(p)&lt;br /&gt;
		factores = pendientesAfactores(pendientes)&lt;br /&gt;
		k = 1&lt;br /&gt;
		if largoLista(p) == 0:&lt;br /&gt;
			robot.set2MotorSpeed(0,0,0,0)&lt;br /&gt;
		else:&lt;br /&gt;
			if largoLista(p) &amp;gt; 1:			&lt;br /&gt;
				k = calculoFactorVelocidad(factores)&lt;br /&gt;
			k = centradoFactor(k,p)&lt;br /&gt;
			movimientoRobot(robot, k)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Multimedia===&lt;br /&gt;
Link a video de youtube: [https://www.youtube.com/watch?v=wj-8jSeCZ5A]&lt;br /&gt;
&lt;br /&gt;
Imágenes:&lt;br /&gt;
&lt;br /&gt;
===Trabajo a futuro===&lt;br /&gt;
&lt;br /&gt;
:*Seguir mejorando la eficiencia y/o trabajar sobre computadoras con mejor capacidad de procesamiento.&lt;br /&gt;
:*Parametrizar el factor de inclinación en base a la velocidad.&lt;br /&gt;
:*Reconocimiento del camino correcto frente a múltiples posibilidades.&lt;br /&gt;
:*Reconocimiento de obstáculos.&lt;/div&gt;</summary>
		<author><name>Camila.serena</name></author>	</entry>

	<entry>
		<id>http://www.fing.edu.uy/inco/proyectos/butia/mediawiki/index.php?title=Linea_camara&amp;diff=7416</id>
		<title>Linea camara</title>
		<link rel="alternate" type="text/html" href="http://www.fing.edu.uy/inco/proyectos/butia/mediawiki/index.php?title=Linea_camara&amp;diff=7416"/>
				<updated>2015-07-02T00:17:29Z</updated>
		
		<summary type="html">&lt;p&gt;Camila.serena: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===Introducción===&lt;br /&gt;
&amp;lt;b&amp;gt;Consiga:&amp;lt;/b&amp;gt; Realizar un seguidor de línea utilizando una cámara en lugar de un sensor de grises para captar el entorno.&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Tutor:&amp;lt;/b&amp;gt; Federico Andrade&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Grupo:&amp;lt;/b&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
#Josefina Fasoli&lt;br /&gt;
#Gonzalo Herrera&lt;br /&gt;
#Camila Serena&lt;br /&gt;
&lt;br /&gt;
===Objetivo===&lt;br /&gt;
Se desea implementar un seguidor de línea que perciba el entorno con una cámara.&lt;br /&gt;
La ventaja de su uso, es el poder percibir no solo el entorno local sino también el camino por venir para tomar la mejor decisión a futuro&lt;br /&gt;
&lt;br /&gt;
===Algoritmo===&lt;br /&gt;
A partir de la imagen recabada por la cámara, se toman puntos del centro de la linea a seguir. Con los puntos identificados, se calculan las respectivas pendientes generadas, para luego promediarlas y transformar este nuevo valor en un factor f utilizado para calcular la velocidad de cada rueda, que permite que haga el movimiento correspondiente.  &lt;br /&gt;
&lt;br /&gt;
===Código===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
import pygame&lt;br /&gt;
import pygame.camera&lt;br /&gt;
import pygame.surfarray as surfarray&lt;br /&gt;
import sys &lt;br /&gt;
sys.path.insert(0, '/usr/share/sugar/activities/TurtleBots.activity/plugins/butia')&lt;br /&gt;
from pygame.locals import *&lt;br /&gt;
from pybot import usb4butia&lt;br /&gt;
import time&lt;br /&gt;
&lt;br /&gt;
pygame.init()&lt;br /&gt;
pygame.camera.init()&lt;br /&gt;
robot = usb4butia.USB4Butia()&lt;br /&gt;
robot.refresh()&lt;br /&gt;
&lt;br /&gt;
def saveSurface(pixels, filename):&lt;br /&gt;
	try:&lt;br /&gt;
		surf = pygame.surfarray.make_surface(pixels)&lt;br /&gt;
	except IndexError:&lt;br /&gt;
		(width, height, colours) = pixels.shape&lt;br /&gt;
		surf = pygame.display.set_mode((width, height))&lt;br /&gt;
		pygame.surfarray.blit_array(surf, pixels)&lt;br /&gt;
	pygame.image.save(surf, filename)&lt;br /&gt;
&lt;br /&gt;
def capturarImg(camara):&lt;br /&gt;
	camara.start()&lt;br /&gt;
	im = camara.get_image()&lt;br /&gt;
	camara.stop()&lt;br /&gt;
	return im&lt;br /&gt;
&lt;br /&gt;
def inclinaciones(pixeles):&lt;br /&gt;
	i = 0&lt;br /&gt;
	l = largoLista(pixeles)&lt;br /&gt;
	l = l - 1&lt;br /&gt;
	incl = []&lt;br /&gt;
	while i &amp;lt; l:&lt;br /&gt;
		incl.append(inclinacion(pixeles[i],pixeles[i + 1]))&lt;br /&gt;
		i = i + 1&lt;br /&gt;
	return incl&lt;br /&gt;
&lt;br /&gt;
def largoLista(lista):&lt;br /&gt;
	i = 0&lt;br /&gt;
	for a in lista:&lt;br /&gt;
		i = i + 1&lt;br /&gt;
	return i&lt;br /&gt;
&lt;br /&gt;
def pendientesAfactores(pendientes):&lt;br /&gt;
	i = 0&lt;br /&gt;
	l = largoLista(pendientes)&lt;br /&gt;
	while i &amp;lt; l:&lt;br /&gt;
		if pendientes[i] &amp;gt; 30 or pendientes[i] == 0:&lt;br /&gt;
			pendientes[i] = 1&lt;br /&gt;
		elif pendientes[i] &amp;gt; 10:&lt;br /&gt;
			pendientes[i] = 1.1&lt;br /&gt;
		elif pendientes[i] &amp;gt; 5:&lt;br /&gt;
			pendientes[i] = 1.3&lt;br /&gt;
		elif pendientes[i] &amp;gt; 2:&lt;br /&gt;
			pendientes[i] = 1.5&lt;br /&gt;
		elif pendientes[i] &amp;gt; 0:&lt;br /&gt;
			pendientes[i] = 1.7&lt;br /&gt;
		elif pendientes[i] &amp;lt; -30:&lt;br /&gt;
			pendientes[i] = 1&lt;br /&gt;
		elif pendientes[i] &amp;lt; -10:&lt;br /&gt;
			pendientes[i] = 0.9&lt;br /&gt;
		elif pendientes[i] &amp;lt; -5:&lt;br /&gt;
			pendientes[i] = 0.7&lt;br /&gt;
		elif pendientes[i] &amp;lt; -2:&lt;br /&gt;
			pendientes[i] = 0.5&lt;br /&gt;
		else:&lt;br /&gt;
			pendientes[i] = 0.3&lt;br /&gt;
		i += 1&lt;br /&gt;
	return pendientes&lt;br /&gt;
&lt;br /&gt;
def calculoFactorVelocidad(pendientes):&lt;br /&gt;
	suma = float(0)&lt;br /&gt;
	largo = largoLista(pendientes)&lt;br /&gt;
	for i in range(0, largo -1):	&lt;br /&gt;
		suma += pendientes[i]&lt;br /&gt;
	suma = suma / largo&lt;br /&gt;
	return suma&lt;br /&gt;
&lt;br /&gt;
def inclinacion((x1,y1),(x2,y2)):&lt;br /&gt;
	if x2 == x1:&lt;br /&gt;
		m = 0&lt;br /&gt;
	else:	&lt;br /&gt;
		m = (y2 - y1) / (x2 - x1)&lt;br /&gt;
	return m&lt;br /&gt;
&lt;br /&gt;
def movimientoRobot(robot, f):&lt;br /&gt;
	if f &amp;gt; 1:&lt;br /&gt;
		if f == 2:&lt;br /&gt;
			f = 0&lt;br /&gt;
		else:&lt;br /&gt;
			f = f - 1&lt;br /&gt;
		f = 1 - f&lt;br /&gt;
		velocidadDerecha = 200 * f&lt;br /&gt;
		velocidadIzquierda = 200&lt;br /&gt;
	else:&lt;br /&gt;
		velocidadDerecha = 200&lt;br /&gt;
		velocidadIzquierda = 200 * f	&lt;br /&gt;
&lt;br /&gt;
	robot.set2MotorSpeed(1,int(velocidadDerecha),1,int(velocidadIzquierda))&lt;br /&gt;
	return 0 &lt;br /&gt;
&lt;br /&gt;
def hallarPixelesIma(im, cant):&lt;br /&gt;
	ima = surfarray.array3d(im)&lt;br /&gt;
	pixeles = []&lt;br /&gt;
	w = im.get_width()&lt;br /&gt;
	h = im.get_height()&lt;br /&gt;
	x = h - 1&lt;br /&gt;
	while x &amp;gt;= 0:&lt;br /&gt;
		i = 0&lt;br /&gt;
		while i &amp;lt; w and (int(ima[i][x][0]) + int(ima[i][x][1]) + int(ima[i][x][2])) / 3 &amp;gt; 120:&lt;br /&gt;
			i = i + 1&lt;br /&gt;
		if i &amp;lt; w:&lt;br /&gt;
			j = w - 1&lt;br /&gt;
			while j &amp;gt; 0 and (int(ima[j][x][0]) + int(ima[j][x][1]) + int(ima[j][x][2])) / 3 &amp;gt; 120:&lt;br /&gt;
				j = j - 1&lt;br /&gt;
			y = (i + j) / 2&lt;br /&gt;
			pixeles.append((y,x))&lt;br /&gt;
			x = x - 30&lt;br /&gt;
		else:&lt;br /&gt;
			x = x - 1&lt;br /&gt;
	return pixeles&lt;br /&gt;
&lt;br /&gt;
def estaCentrado((x,y)):&lt;br /&gt;
	return (x &amp;gt; 50 and x &amp;lt; 270)&lt;br /&gt;
&lt;br /&gt;
def izquierda((x,y)):&lt;br /&gt;
	 return (x &amp;lt; 50)&lt;br /&gt;
&lt;br /&gt;
def derecha((x,y)):&lt;br /&gt;
	return (x &amp;gt; 270)&lt;br /&gt;
&lt;br /&gt;
def calculoFactorDescentrado(p):&lt;br /&gt;
	factorDescentrado = 1&lt;br /&gt;
	hayCentrados = False;&lt;br /&gt;
	i = 0&lt;br /&gt;
	cantPixeles = largoLista(p)&lt;br /&gt;
	while i &amp;lt; cantPixeles and not hayCentrados:&lt;br /&gt;
		if estaCentrado(p[i]):&lt;br /&gt;
			hayCentrado = True&lt;br /&gt;
		i += 1&lt;br /&gt;
	if(not hayCentrados):&lt;br /&gt;
		if(izquierda(p[0])):&lt;br /&gt;
			factorDescentrado = 1.9&lt;br /&gt;
		elif(derecha(p[0])):&lt;br /&gt;
			factorDescentrado = 0.1&lt;br /&gt;
	return factorDescentrado	&lt;br /&gt;
&lt;br /&gt;
def obtenerX((x,y)):&lt;br /&gt;
	return x&lt;br /&gt;
&lt;br /&gt;
def centradoFactor(k,p):&lt;br /&gt;
	xs = 0&lt;br /&gt;
	for pix in p:&lt;br /&gt;
		xs += obtenerX(pix)&lt;br /&gt;
	xs = xs / largoLista(p)&lt;br /&gt;
	if xs &amp;lt; 25:&lt;br /&gt;
		 k = 1.9&lt;br /&gt;
	elif xs &amp;lt; 55:&lt;br /&gt;
		if k &amp;gt;= 1 and k &amp;lt; 1.6:&lt;br /&gt;
			k = k + 0.4&lt;br /&gt;
		elif k &amp;lt; 1:&lt;br /&gt;
			k = 1.5&lt;br /&gt;
		elif k &amp;lt; 1.7:&lt;br /&gt;
			k = k + 0.3&lt;br /&gt;
		elif k &amp;lt; 1.8:&lt;br /&gt;
			k = k + 0.2&lt;br /&gt;
	elif xs &amp;lt; 67:&lt;br /&gt;
		if k &amp;gt;= 1 and k &amp;lt; 1.7:&lt;br /&gt;
			k = k + 0.3&lt;br /&gt;
		elif k &amp;lt; 1:&lt;br /&gt;
			k = 1.3&lt;br /&gt;
	elif xs &amp;gt; 130:&lt;br /&gt;
		k = 0.1&lt;br /&gt;
	elif xs &amp;gt; 105:&lt;br /&gt;
		if k &amp;lt;= 1 and k &amp;gt; 0.4:&lt;br /&gt;
			k = k - 0.4&lt;br /&gt;
		elif k &amp;gt; 1:&lt;br /&gt;
			k = 0.5&lt;br /&gt;
		elif k &amp;gt; 0.3:&lt;br /&gt;
			k = k - 0.3&lt;br /&gt;
		elif k &amp;gt; 0.2:&lt;br /&gt;
			k= k - 0.2&lt;br /&gt;
	elif xs &amp;gt; 93:&lt;br /&gt;
		if k &amp;lt;= 1 and k &amp;gt; 0.3:&lt;br /&gt;
			k = k - 0.3&lt;br /&gt;
		elif k &amp;gt; 1:&lt;br /&gt;
			k  = 0.7&lt;br /&gt;
	return k&lt;br /&gt;
				&lt;br /&gt;
&lt;br /&gt;
camlist = pygame.camera.list_cameras()&lt;br /&gt;
if camlist:&lt;br /&gt;
	while cantVeces &amp;lt; 500:&lt;br /&gt;
		s = capturarImg(pygame.camera.Camera(camlist[0],(160,120)))&lt;br /&gt;
		p = hallarPixelesIma(s,cantVeces)&lt;br /&gt;
		pendientes = inclinaciones(p)&lt;br /&gt;
		factores = pendientesAfactores(pendientes)&lt;br /&gt;
		k = 1&lt;br /&gt;
		if largoLista(p) == 0:&lt;br /&gt;
			robot.set2MotorSpeed(0,0,0,0)&lt;br /&gt;
		else:&lt;br /&gt;
			if largoLista(p) &amp;gt; 1:			&lt;br /&gt;
				k = calculoFactorVelocidad(factores)&lt;br /&gt;
			k = centradoFactor(k,p)&lt;br /&gt;
			movimientoRobot(robot, k)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Multimedia===&lt;br /&gt;
Link a video de youtube: [https://www.youtube.com/watch?v=wj-8jSeCZ5A]&lt;br /&gt;
&lt;br /&gt;
Imágenes:&lt;br /&gt;
&lt;br /&gt;
===Trabajo a futuro===&lt;br /&gt;
&lt;br /&gt;
:*Seguir mejorando la eficiencia y/o trabajar sobre computadoras con mejor capacidad de procesamiento.&lt;br /&gt;
:*Parametrizar el factor de inclinación en base a la velocidad.&lt;br /&gt;
:*Reconocimiento del camino correcto frente a múltiples posibilidades.&lt;br /&gt;
:*Reconocimiento de obstáculos.&lt;/div&gt;</summary>
		<author><name>Camila.serena</name></author>	</entry>

	<entry>
		<id>http://www.fing.edu.uy/inco/proyectos/butia/mediawiki/index.php?title=Linea_camara&amp;diff=7415</id>
		<title>Linea camara</title>
		<link rel="alternate" type="text/html" href="http://www.fing.edu.uy/inco/proyectos/butia/mediawiki/index.php?title=Linea_camara&amp;diff=7415"/>
				<updated>2015-07-02T00:14:26Z</updated>
		
		<summary type="html">&lt;p&gt;Camila.serena: /* Multimedia */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===Introducción===&lt;br /&gt;
&amp;lt;b&amp;gt;Consiga:&amp;lt;/b&amp;gt; Realizar un seguidor de línea utilizando una cámara en lugar de un sensor de grises para captar el entorno.&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Tutor:&amp;lt;/b&amp;gt; Federico Andrade&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Grupo:&amp;lt;/b&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
#Josefina Fasoli&lt;br /&gt;
#Gonzalo Herrera&lt;br /&gt;
#Camila Serena&lt;br /&gt;
&lt;br /&gt;
===Algoritmo===&lt;br /&gt;
A partir de la imagen recabada por la cámara, se toman puntos del centro de la linea a seguir. Con los puntos identificados, se calculan las respectivas pendientes generadas, para luego promediarlas y transformar este nuevo valor en un factor f utilizado para calcular la velocidad de cada rueda, que permite que haga el movimiento correspondiente.  &lt;br /&gt;
&lt;br /&gt;
===Código===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
import pygame&lt;br /&gt;
import pygame.camera&lt;br /&gt;
import pygame.surfarray as surfarray&lt;br /&gt;
import sys &lt;br /&gt;
sys.path.insert(0, '/usr/share/sugar/activities/TurtleBots.activity/plugins/butia')&lt;br /&gt;
from pygame.locals import *&lt;br /&gt;
from pybot import usb4butia&lt;br /&gt;
import time&lt;br /&gt;
&lt;br /&gt;
pygame.init()&lt;br /&gt;
pygame.camera.init()&lt;br /&gt;
robot = usb4butia.USB4Butia()&lt;br /&gt;
robot.refresh()&lt;br /&gt;
&lt;br /&gt;
def saveSurface(pixels, filename):&lt;br /&gt;
	try:&lt;br /&gt;
		surf = pygame.surfarray.make_surface(pixels)&lt;br /&gt;
	except IndexError:&lt;br /&gt;
		(width, height, colours) = pixels.shape&lt;br /&gt;
		surf = pygame.display.set_mode((width, height))&lt;br /&gt;
		pygame.surfarray.blit_array(surf, pixels)&lt;br /&gt;
	pygame.image.save(surf, filename)&lt;br /&gt;
&lt;br /&gt;
def capturarImg(camara):&lt;br /&gt;
	camara.start()&lt;br /&gt;
	im = camara.get_image()&lt;br /&gt;
	camara.stop()&lt;br /&gt;
	return im&lt;br /&gt;
&lt;br /&gt;
def inclinaciones(pixeles):&lt;br /&gt;
	i = 0&lt;br /&gt;
	l = largoLista(pixeles)&lt;br /&gt;
	l = l - 1&lt;br /&gt;
	incl = []&lt;br /&gt;
	while i &amp;lt; l:&lt;br /&gt;
		incl.append(inclinacion(pixeles[i],pixeles[i + 1]))&lt;br /&gt;
		i = i + 1&lt;br /&gt;
	return incl&lt;br /&gt;
&lt;br /&gt;
def largoLista(lista):&lt;br /&gt;
	i = 0&lt;br /&gt;
	for a in lista:&lt;br /&gt;
		i = i + 1&lt;br /&gt;
	return i&lt;br /&gt;
&lt;br /&gt;
def pendientesAfactores(pendientes):&lt;br /&gt;
	i = 0&lt;br /&gt;
	l = largoLista(pendientes)&lt;br /&gt;
	while i &amp;lt; l:&lt;br /&gt;
		if pendientes[i] &amp;gt; 30 or pendientes[i] == 0:&lt;br /&gt;
			pendientes[i] = 1&lt;br /&gt;
		elif pendientes[i] &amp;gt; 10:&lt;br /&gt;
			pendientes[i] = 1.1&lt;br /&gt;
		elif pendientes[i] &amp;gt; 5:&lt;br /&gt;
			pendientes[i] = 1.3&lt;br /&gt;
		elif pendientes[i] &amp;gt; 2:&lt;br /&gt;
			pendientes[i] = 1.5&lt;br /&gt;
		elif pendientes[i] &amp;gt; 0:&lt;br /&gt;
			pendientes[i] = 1.7&lt;br /&gt;
		elif pendientes[i] &amp;lt; -30:&lt;br /&gt;
			pendientes[i] = 1&lt;br /&gt;
		elif pendientes[i] &amp;lt; -10:&lt;br /&gt;
			pendientes[i] = 0.9&lt;br /&gt;
		elif pendientes[i] &amp;lt; -5:&lt;br /&gt;
			pendientes[i] = 0.7&lt;br /&gt;
		elif pendientes[i] &amp;lt; -2:&lt;br /&gt;
			pendientes[i] = 0.5&lt;br /&gt;
		else:&lt;br /&gt;
			pendientes[i] = 0.3&lt;br /&gt;
		i += 1&lt;br /&gt;
	return pendientes&lt;br /&gt;
&lt;br /&gt;
def calculoFactorVelocidad(pendientes):&lt;br /&gt;
	suma = float(0)&lt;br /&gt;
	largo = largoLista(pendientes)&lt;br /&gt;
	for i in range(0, largo -1):	&lt;br /&gt;
		suma += pendientes[i]&lt;br /&gt;
	suma = suma / largo&lt;br /&gt;
	return suma&lt;br /&gt;
&lt;br /&gt;
def inclinacion((x1,y1),(x2,y2)):&lt;br /&gt;
	if x2 == x1:&lt;br /&gt;
		m = 0&lt;br /&gt;
	else:	&lt;br /&gt;
		m = (y2 - y1) / (x2 - x1)&lt;br /&gt;
	return m&lt;br /&gt;
&lt;br /&gt;
def movimientoRobot(robot, f):&lt;br /&gt;
	if f &amp;gt; 1:&lt;br /&gt;
		if f == 2:&lt;br /&gt;
			f = 0&lt;br /&gt;
		else:&lt;br /&gt;
			f = f - 1&lt;br /&gt;
		f = 1 - f&lt;br /&gt;
		velocidadDerecha = 200 * f&lt;br /&gt;
		velocidadIzquierda = 200&lt;br /&gt;
	else:&lt;br /&gt;
		velocidadDerecha = 200&lt;br /&gt;
		velocidadIzquierda = 200 * f	&lt;br /&gt;
&lt;br /&gt;
	robot.set2MotorSpeed(1,int(velocidadDerecha),1,int(velocidadIzquierda))&lt;br /&gt;
	return 0 &lt;br /&gt;
&lt;br /&gt;
def hallarPixelesIma(im, cant):&lt;br /&gt;
	ima = surfarray.array3d(im)&lt;br /&gt;
	pixeles = []&lt;br /&gt;
	w = im.get_width()&lt;br /&gt;
	h = im.get_height()&lt;br /&gt;
	x = h - 1&lt;br /&gt;
	while x &amp;gt;= 0:&lt;br /&gt;
		i = 0&lt;br /&gt;
		while i &amp;lt; w and (int(ima[i][x][0]) + int(ima[i][x][1]) + int(ima[i][x][2])) / 3 &amp;gt; 120:&lt;br /&gt;
			i = i + 1&lt;br /&gt;
		if i &amp;lt; w:&lt;br /&gt;
			j = w - 1&lt;br /&gt;
			while j &amp;gt; 0 and (int(ima[j][x][0]) + int(ima[j][x][1]) + int(ima[j][x][2])) / 3 &amp;gt; 120:&lt;br /&gt;
				j = j - 1&lt;br /&gt;
			y = (i + j) / 2&lt;br /&gt;
			pixeles.append((y,x))&lt;br /&gt;
			x = x - 30&lt;br /&gt;
		else:&lt;br /&gt;
			x = x - 1&lt;br /&gt;
	return pixeles&lt;br /&gt;
&lt;br /&gt;
def estaCentrado((x,y)):&lt;br /&gt;
	return (x &amp;gt; 50 and x &amp;lt; 270)&lt;br /&gt;
&lt;br /&gt;
def izquierda((x,y)):&lt;br /&gt;
	 return (x &amp;lt; 50)&lt;br /&gt;
&lt;br /&gt;
def derecha((x,y)):&lt;br /&gt;
	return (x &amp;gt; 270)&lt;br /&gt;
&lt;br /&gt;
def calculoFactorDescentrado(p):&lt;br /&gt;
	factorDescentrado = 1&lt;br /&gt;
	hayCentrados = False;&lt;br /&gt;
	i = 0&lt;br /&gt;
	cantPixeles = largoLista(p)&lt;br /&gt;
	while i &amp;lt; cantPixeles and not hayCentrados:&lt;br /&gt;
		if estaCentrado(p[i]):&lt;br /&gt;
			hayCentrado = True&lt;br /&gt;
		i += 1&lt;br /&gt;
	if(not hayCentrados):&lt;br /&gt;
		if(izquierda(p[0])):&lt;br /&gt;
			factorDescentrado = 1.9&lt;br /&gt;
		elif(derecha(p[0])):&lt;br /&gt;
			factorDescentrado = 0.1&lt;br /&gt;
	return factorDescentrado	&lt;br /&gt;
&lt;br /&gt;
def obtenerX((x,y)):&lt;br /&gt;
	return x&lt;br /&gt;
&lt;br /&gt;
def centradoFactor(k,p):&lt;br /&gt;
	xs = 0&lt;br /&gt;
	for pix in p:&lt;br /&gt;
		xs += obtenerX(pix)&lt;br /&gt;
	xs = xs / largoLista(p)&lt;br /&gt;
	if xs &amp;lt; 25:&lt;br /&gt;
		 k = 1.9&lt;br /&gt;
	elif xs &amp;lt; 55:&lt;br /&gt;
		if k &amp;gt;= 1 and k &amp;lt; 1.6:&lt;br /&gt;
			k = k + 0.4&lt;br /&gt;
		elif k &amp;lt; 1:&lt;br /&gt;
			k = 1.5&lt;br /&gt;
		elif k &amp;lt; 1.7:&lt;br /&gt;
			k = k + 0.3&lt;br /&gt;
		elif k &amp;lt; 1.8:&lt;br /&gt;
			k = k + 0.2&lt;br /&gt;
	elif xs &amp;lt; 67:&lt;br /&gt;
		if k &amp;gt;= 1 and k &amp;lt; 1.7:&lt;br /&gt;
			k = k + 0.3&lt;br /&gt;
		elif k &amp;lt; 1:&lt;br /&gt;
			k = 1.3&lt;br /&gt;
	elif xs &amp;gt; 130:&lt;br /&gt;
		k = 0.1&lt;br /&gt;
	elif xs &amp;gt; 105:&lt;br /&gt;
		if k &amp;lt;= 1 and k &amp;gt; 0.4:&lt;br /&gt;
			k = k - 0.4&lt;br /&gt;
		elif k &amp;gt; 1:&lt;br /&gt;
			k = 0.5&lt;br /&gt;
		elif k &amp;gt; 0.3:&lt;br /&gt;
			k = k - 0.3&lt;br /&gt;
		elif k &amp;gt; 0.2:&lt;br /&gt;
			k= k - 0.2&lt;br /&gt;
	elif xs &amp;gt; 93:&lt;br /&gt;
		if k &amp;lt;= 1 and k &amp;gt; 0.3:&lt;br /&gt;
			k = k - 0.3&lt;br /&gt;
		elif k &amp;gt; 1:&lt;br /&gt;
			k  = 0.7&lt;br /&gt;
	return k&lt;br /&gt;
				&lt;br /&gt;
&lt;br /&gt;
camlist = pygame.camera.list_cameras()&lt;br /&gt;
if camlist:&lt;br /&gt;
	while cantVeces &amp;lt; 500:&lt;br /&gt;
		s = capturarImg(pygame.camera.Camera(camlist[0],(160,120)))&lt;br /&gt;
		p = hallarPixelesIma(s,cantVeces)&lt;br /&gt;
		pendientes = inclinaciones(p)&lt;br /&gt;
		factores = pendientesAfactores(pendientes)&lt;br /&gt;
		k = 1&lt;br /&gt;
		if largoLista(p) == 0:&lt;br /&gt;
			robot.set2MotorSpeed(0,0,0,0)&lt;br /&gt;
		else:&lt;br /&gt;
			if largoLista(p) &amp;gt; 1:			&lt;br /&gt;
				k = calculoFactorVelocidad(factores)&lt;br /&gt;
			k = centradoFactor(k,p)&lt;br /&gt;
			movimientoRobot(robot, k)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Multimedia===&lt;br /&gt;
Link a video de youtube: [https://www.youtube.com/watch?v=wj-8jSeCZ5A]&lt;br /&gt;
&lt;br /&gt;
Imágenes:&lt;/div&gt;</summary>
		<author><name>Camila.serena</name></author>	</entry>

	<entry>
		<id>http://www.fing.edu.uy/inco/proyectos/butia/mediawiki/index.php?title=Linea_camara&amp;diff=7414</id>
		<title>Linea camara</title>
		<link rel="alternate" type="text/html" href="http://www.fing.edu.uy/inco/proyectos/butia/mediawiki/index.php?title=Linea_camara&amp;diff=7414"/>
				<updated>2015-07-02T00:12:39Z</updated>
		
		<summary type="html">&lt;p&gt;Camila.serena: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===Introducción===&lt;br /&gt;
&amp;lt;b&amp;gt;Consiga:&amp;lt;/b&amp;gt; Realizar un seguidor de línea utilizando una cámara en lugar de un sensor de grises para captar el entorno.&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Tutor:&amp;lt;/b&amp;gt; Federico Andrade&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Grupo:&amp;lt;/b&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
#Josefina Fasoli&lt;br /&gt;
#Gonzalo Herrera&lt;br /&gt;
#Camila Serena&lt;br /&gt;
&lt;br /&gt;
===Algoritmo===&lt;br /&gt;
A partir de la imagen recabada por la cámara, se toman puntos del centro de la linea a seguir. Con los puntos identificados, se calculan las respectivas pendientes generadas, para luego promediarlas y transformar este nuevo valor en un factor f utilizado para calcular la velocidad de cada rueda, que permite que haga el movimiento correspondiente.  &lt;br /&gt;
&lt;br /&gt;
===Código===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
import pygame&lt;br /&gt;
import pygame.camera&lt;br /&gt;
import pygame.surfarray as surfarray&lt;br /&gt;
import sys &lt;br /&gt;
sys.path.insert(0, '/usr/share/sugar/activities/TurtleBots.activity/plugins/butia')&lt;br /&gt;
from pygame.locals import *&lt;br /&gt;
from pybot import usb4butia&lt;br /&gt;
import time&lt;br /&gt;
&lt;br /&gt;
pygame.init()&lt;br /&gt;
pygame.camera.init()&lt;br /&gt;
robot = usb4butia.USB4Butia()&lt;br /&gt;
robot.refresh()&lt;br /&gt;
&lt;br /&gt;
def saveSurface(pixels, filename):&lt;br /&gt;
	try:&lt;br /&gt;
		surf = pygame.surfarray.make_surface(pixels)&lt;br /&gt;
	except IndexError:&lt;br /&gt;
		(width, height, colours) = pixels.shape&lt;br /&gt;
		surf = pygame.display.set_mode((width, height))&lt;br /&gt;
		pygame.surfarray.blit_array(surf, pixels)&lt;br /&gt;
	pygame.image.save(surf, filename)&lt;br /&gt;
&lt;br /&gt;
def capturarImg(camara):&lt;br /&gt;
	camara.start()&lt;br /&gt;
	im = camara.get_image()&lt;br /&gt;
	camara.stop()&lt;br /&gt;
	return im&lt;br /&gt;
&lt;br /&gt;
def inclinaciones(pixeles):&lt;br /&gt;
	i = 0&lt;br /&gt;
	l = largoLista(pixeles)&lt;br /&gt;
	l = l - 1&lt;br /&gt;
	incl = []&lt;br /&gt;
	while i &amp;lt; l:&lt;br /&gt;
		incl.append(inclinacion(pixeles[i],pixeles[i + 1]))&lt;br /&gt;
		i = i + 1&lt;br /&gt;
	return incl&lt;br /&gt;
&lt;br /&gt;
def largoLista(lista):&lt;br /&gt;
	i = 0&lt;br /&gt;
	for a in lista:&lt;br /&gt;
		i = i + 1&lt;br /&gt;
	return i&lt;br /&gt;
&lt;br /&gt;
def pendientesAfactores(pendientes):&lt;br /&gt;
	i = 0&lt;br /&gt;
	l = largoLista(pendientes)&lt;br /&gt;
	while i &amp;lt; l:&lt;br /&gt;
		if pendientes[i] &amp;gt; 30 or pendientes[i] == 0:&lt;br /&gt;
			pendientes[i] = 1&lt;br /&gt;
		elif pendientes[i] &amp;gt; 10:&lt;br /&gt;
			pendientes[i] = 1.1&lt;br /&gt;
		elif pendientes[i] &amp;gt; 5:&lt;br /&gt;
			pendientes[i] = 1.3&lt;br /&gt;
		elif pendientes[i] &amp;gt; 2:&lt;br /&gt;
			pendientes[i] = 1.5&lt;br /&gt;
		elif pendientes[i] &amp;gt; 0:&lt;br /&gt;
			pendientes[i] = 1.7&lt;br /&gt;
		elif pendientes[i] &amp;lt; -30:&lt;br /&gt;
			pendientes[i] = 1&lt;br /&gt;
		elif pendientes[i] &amp;lt; -10:&lt;br /&gt;
			pendientes[i] = 0.9&lt;br /&gt;
		elif pendientes[i] &amp;lt; -5:&lt;br /&gt;
			pendientes[i] = 0.7&lt;br /&gt;
		elif pendientes[i] &amp;lt; -2:&lt;br /&gt;
			pendientes[i] = 0.5&lt;br /&gt;
		else:&lt;br /&gt;
			pendientes[i] = 0.3&lt;br /&gt;
		i += 1&lt;br /&gt;
	return pendientes&lt;br /&gt;
&lt;br /&gt;
def calculoFactorVelocidad(pendientes):&lt;br /&gt;
	suma = float(0)&lt;br /&gt;
	largo = largoLista(pendientes)&lt;br /&gt;
	for i in range(0, largo -1):	&lt;br /&gt;
		suma += pendientes[i]&lt;br /&gt;
	suma = suma / largo&lt;br /&gt;
	return suma&lt;br /&gt;
&lt;br /&gt;
def inclinacion((x1,y1),(x2,y2)):&lt;br /&gt;
	if x2 == x1:&lt;br /&gt;
		m = 0&lt;br /&gt;
	else:	&lt;br /&gt;
		m = (y2 - y1) / (x2 - x1)&lt;br /&gt;
	return m&lt;br /&gt;
&lt;br /&gt;
def movimientoRobot(robot, f):&lt;br /&gt;
	if f &amp;gt; 1:&lt;br /&gt;
		if f == 2:&lt;br /&gt;
			f = 0&lt;br /&gt;
		else:&lt;br /&gt;
			f = f - 1&lt;br /&gt;
		f = 1 - f&lt;br /&gt;
		velocidadDerecha = 200 * f&lt;br /&gt;
		velocidadIzquierda = 200&lt;br /&gt;
	else:&lt;br /&gt;
		velocidadDerecha = 200&lt;br /&gt;
		velocidadIzquierda = 200 * f	&lt;br /&gt;
&lt;br /&gt;
	robot.set2MotorSpeed(1,int(velocidadDerecha),1,int(velocidadIzquierda))&lt;br /&gt;
	return 0 &lt;br /&gt;
&lt;br /&gt;
def hallarPixelesIma(im, cant):&lt;br /&gt;
	ima = surfarray.array3d(im)&lt;br /&gt;
	pixeles = []&lt;br /&gt;
	w = im.get_width()&lt;br /&gt;
	h = im.get_height()&lt;br /&gt;
	x = h - 1&lt;br /&gt;
	while x &amp;gt;= 0:&lt;br /&gt;
		i = 0&lt;br /&gt;
		while i &amp;lt; w and (int(ima[i][x][0]) + int(ima[i][x][1]) + int(ima[i][x][2])) / 3 &amp;gt; 120:&lt;br /&gt;
			i = i + 1&lt;br /&gt;
		if i &amp;lt; w:&lt;br /&gt;
			j = w - 1&lt;br /&gt;
			while j &amp;gt; 0 and (int(ima[j][x][0]) + int(ima[j][x][1]) + int(ima[j][x][2])) / 3 &amp;gt; 120:&lt;br /&gt;
				j = j - 1&lt;br /&gt;
			y = (i + j) / 2&lt;br /&gt;
			pixeles.append((y,x))&lt;br /&gt;
			x = x - 30&lt;br /&gt;
		else:&lt;br /&gt;
			x = x - 1&lt;br /&gt;
	return pixeles&lt;br /&gt;
&lt;br /&gt;
def estaCentrado((x,y)):&lt;br /&gt;
	return (x &amp;gt; 50 and x &amp;lt; 270)&lt;br /&gt;
&lt;br /&gt;
def izquierda((x,y)):&lt;br /&gt;
	 return (x &amp;lt; 50)&lt;br /&gt;
&lt;br /&gt;
def derecha((x,y)):&lt;br /&gt;
	return (x &amp;gt; 270)&lt;br /&gt;
&lt;br /&gt;
def calculoFactorDescentrado(p):&lt;br /&gt;
	factorDescentrado = 1&lt;br /&gt;
	hayCentrados = False;&lt;br /&gt;
	i = 0&lt;br /&gt;
	cantPixeles = largoLista(p)&lt;br /&gt;
	while i &amp;lt; cantPixeles and not hayCentrados:&lt;br /&gt;
		if estaCentrado(p[i]):&lt;br /&gt;
			hayCentrado = True&lt;br /&gt;
		i += 1&lt;br /&gt;
	if(not hayCentrados):&lt;br /&gt;
		if(izquierda(p[0])):&lt;br /&gt;
			factorDescentrado = 1.9&lt;br /&gt;
		elif(derecha(p[0])):&lt;br /&gt;
			factorDescentrado = 0.1&lt;br /&gt;
	return factorDescentrado	&lt;br /&gt;
&lt;br /&gt;
def obtenerX((x,y)):&lt;br /&gt;
	return x&lt;br /&gt;
&lt;br /&gt;
def centradoFactor(k,p):&lt;br /&gt;
	xs = 0&lt;br /&gt;
	for pix in p:&lt;br /&gt;
		xs += obtenerX(pix)&lt;br /&gt;
	xs = xs / largoLista(p)&lt;br /&gt;
	if xs &amp;lt; 25:&lt;br /&gt;
		 k = 1.9&lt;br /&gt;
	elif xs &amp;lt; 55:&lt;br /&gt;
		if k &amp;gt;= 1 and k &amp;lt; 1.6:&lt;br /&gt;
			k = k + 0.4&lt;br /&gt;
		elif k &amp;lt; 1:&lt;br /&gt;
			k = 1.5&lt;br /&gt;
		elif k &amp;lt; 1.7:&lt;br /&gt;
			k = k + 0.3&lt;br /&gt;
		elif k &amp;lt; 1.8:&lt;br /&gt;
			k = k + 0.2&lt;br /&gt;
	elif xs &amp;lt; 67:&lt;br /&gt;
		if k &amp;gt;= 1 and k &amp;lt; 1.7:&lt;br /&gt;
			k = k + 0.3&lt;br /&gt;
		elif k &amp;lt; 1:&lt;br /&gt;
			k = 1.3&lt;br /&gt;
	elif xs &amp;gt; 130:&lt;br /&gt;
		k = 0.1&lt;br /&gt;
	elif xs &amp;gt; 105:&lt;br /&gt;
		if k &amp;lt;= 1 and k &amp;gt; 0.4:&lt;br /&gt;
			k = k - 0.4&lt;br /&gt;
		elif k &amp;gt; 1:&lt;br /&gt;
			k = 0.5&lt;br /&gt;
		elif k &amp;gt; 0.3:&lt;br /&gt;
			k = k - 0.3&lt;br /&gt;
		elif k &amp;gt; 0.2:&lt;br /&gt;
			k= k - 0.2&lt;br /&gt;
	elif xs &amp;gt; 93:&lt;br /&gt;
		if k &amp;lt;= 1 and k &amp;gt; 0.3:&lt;br /&gt;
			k = k - 0.3&lt;br /&gt;
		elif k &amp;gt; 1:&lt;br /&gt;
			k  = 0.7&lt;br /&gt;
	return k&lt;br /&gt;
				&lt;br /&gt;
&lt;br /&gt;
camlist = pygame.camera.list_cameras()&lt;br /&gt;
if camlist:&lt;br /&gt;
	while cantVeces &amp;lt; 500:&lt;br /&gt;
		s = capturarImg(pygame.camera.Camera(camlist[0],(160,120)))&lt;br /&gt;
		p = hallarPixelesIma(s,cantVeces)&lt;br /&gt;
		pendientes = inclinaciones(p)&lt;br /&gt;
		factores = pendientesAfactores(pendientes)&lt;br /&gt;
		k = 1&lt;br /&gt;
		if largoLista(p) == 0:&lt;br /&gt;
			robot.set2MotorSpeed(0,0,0,0)&lt;br /&gt;
		else:&lt;br /&gt;
			if largoLista(p) &amp;gt; 1:			&lt;br /&gt;
				k = calculoFactorVelocidad(factores)&lt;br /&gt;
			k = centradoFactor(k,p)&lt;br /&gt;
			movimientoRobot(robot, k)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Multimedia===&lt;br /&gt;
Link a video de youtube:&lt;br /&gt;
&lt;br /&gt;
Imágenes:&lt;/div&gt;</summary>
		<author><name>Camila.serena</name></author>	</entry>

	<entry>
		<id>http://www.fing.edu.uy/inco/proyectos/butia/mediawiki/index.php?title=Linea_camara&amp;diff=7296</id>
		<title>Linea camara</title>
		<link rel="alternate" type="text/html" href="http://www.fing.edu.uy/inco/proyectos/butia/mediawiki/index.php?title=Linea_camara&amp;diff=7296"/>
				<updated>2015-06-29T16:57:14Z</updated>
		
		<summary type="html">&lt;p&gt;Camila.serena: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===Introducción===&lt;br /&gt;
&amp;lt;b&amp;gt;Consiga:&amp;lt;/b&amp;gt; Realizar un seguidor de línea utilizando una cámara en lugar de un sensor de grises para captar el entorno.&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Tutor:&amp;lt;/b&amp;gt; Federico Andrade&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Grupo:&amp;lt;/b&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
#Josefina Fasoli&lt;br /&gt;
#Gonzalo Herrera&lt;br /&gt;
#Camila Serena&lt;br /&gt;
&lt;br /&gt;
===Algoritmo===&lt;br /&gt;
A partir de la imagen recabada por la cámara, se toman puntos del centro de la linea a seguir. Con los puntos identificados, se calculan las respectivas pendientes generadas, para luego promediarlas y transformar este nuevo valor en un factor f utilizado para calcular la velocidad de cada rueda, que permite que haga el movimiento correspondiente.  &lt;br /&gt;
&lt;br /&gt;
===Código===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
def main():&lt;br /&gt;
    print &amp;quot;Hello World!&amp;quot;&lt;br /&gt;
&lt;br /&gt;
if __name__ == '__main__':&lt;br /&gt;
    main()&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Multimedia===&lt;br /&gt;
Link a video de youtube:&lt;br /&gt;
&lt;br /&gt;
Imágenes:&lt;/div&gt;</summary>
		<author><name>Camila.serena</name></author>	</entry>

	<entry>
		<id>http://www.fing.edu.uy/inco/proyectos/butia/mediawiki/index.php?title=Los_supersonicos&amp;diff=6934</id>
		<title>Los supersonicos</title>
		<link rel="alternate" type="text/html" href="http://www.fing.edu.uy/inco/proyectos/butia/mediawiki/index.php?title=Los_supersonicos&amp;diff=6934"/>
				<updated>2015-04-25T15:32:31Z</updated>
		
		<summary type="html">&lt;p&gt;Camila.serena: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===Integrantes===&lt;br /&gt;
&amp;lt;b&amp;gt;Butiá&amp;lt;/b&amp;gt;&lt;br /&gt;
*&lt;br /&gt;
*&lt;br /&gt;
*&lt;br /&gt;
&amp;lt;b&amp;gt;Lego&amp;lt;/b&amp;gt;&lt;br /&gt;
*Camila Serena&lt;br /&gt;
*Josefina Fasoli&lt;br /&gt;
*Gonzalo Herrera&lt;br /&gt;
===El trabajo realizado por cada sub-equipo y las decisiones tomadas.===&lt;br /&gt;
&amp;lt;b&amp;gt;Butiá&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Lego&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Con el kit lego se pretendía resolver el problema de salvar al gato y poder devolverlo a su hogar. Para esto nuestro equipo armo una garra, que a su vez tenia la movilidad de subir y bajar, lo que permitía agarrar al gato desde arriba y tenes menos probabilidades de tirar el árbol con la garra. La garra fue lograda con un motor lego y un sistema de engranajes. Una de las paletas de la garra sigue el mismo giro que el motor y la otra el giro contrario gracias al uso de engranajes, lo que genera el cerrar o abrir de la garra.  &lt;br /&gt;
===Aspectos de integración de los equipos.===&lt;br /&gt;
En esta parte, ambos equipos tuvimos que coordinar ambos kits para cumplir el objetivo. En nuestro caso el mayor desafio se presento al tener que posicionar la garra exactamente encima del gato para poder salvarlo exitosamente.&lt;br /&gt;
===Código desarrollado.===&lt;br /&gt;
[[Archivo:DesafioButia.png]]&lt;br /&gt;
===Material multimedia.===&lt;br /&gt;
[[Archivo:RobotSupersonicos.jpg]]&lt;/div&gt;</summary>
		<author><name>Camila.serena</name></author>	</entry>

	<entry>
		<id>http://www.fing.edu.uy/inco/proyectos/butia/mediawiki/index.php?title=Los_supersonicos&amp;diff=6933</id>
		<title>Los supersonicos</title>
		<link rel="alternate" type="text/html" href="http://www.fing.edu.uy/inco/proyectos/butia/mediawiki/index.php?title=Los_supersonicos&amp;diff=6933"/>
				<updated>2015-04-25T15:32:08Z</updated>
		
		<summary type="html">&lt;p&gt;Camila.serena: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===Integrantes===&lt;br /&gt;
&amp;lt;b&amp;gt;Butiá&amp;lt;/b&amp;gt;&lt;br /&gt;
*&lt;br /&gt;
*&lt;br /&gt;
*&lt;br /&gt;
&amp;lt;b&amp;gt;Lego&amp;lt;/b&amp;gt;&lt;br /&gt;
*Camila Serena&lt;br /&gt;
*Josefina Fasoli&lt;br /&gt;
*Gonzalo Herrera&lt;br /&gt;
===El trabajo realizado por cada sub-equipo y las decisiones tomadas.===&lt;br /&gt;
&amp;lt;b&amp;gt;Butia&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Lego&amp;lt;/b&amp;gt;&lt;br /&gt;
Con el kit lego se pretendía resolver el problema de salvar al gato y poder devolverlo a su hogar. Para esto nuestro equipo armo una garra, que a su vez tenia la movilidad de subir y bajar, lo que permitía agarrar al gato desde arriba y tenes menos probabilidades de tirar el árbol con la garra. La garra fue lograda con un motor lego y un sistema de engranajes. Una de las paletas de la garra sigue el mismo giro que el motor y la otra el giro contrario gracias al uso de engranajes, lo que genera el cerrar o abrir de la garra.  &lt;br /&gt;
===Aspectos de integración de los equipos.===&lt;br /&gt;
En esta parte, ambos equipos tuvimos que coordinar ambos kits para cumplir el objetivo. En nuestro caso el mayor desafio se presento al tener que posicionar la garra exactamente encima del gato para poder salvarlo exitosamente.&lt;br /&gt;
===Código desarrollado.===&lt;br /&gt;
[[Archivo:DesafioButia.png]]&lt;br /&gt;
===Material multimedia.===&lt;br /&gt;
[[Archivo:RobotSupersonicos.jpg]]&lt;/div&gt;</summary>
		<author><name>Camila.serena</name></author>	</entry>

	<entry>
		<id>http://www.fing.edu.uy/inco/proyectos/butia/mediawiki/index.php?title=Los_supersonicos&amp;diff=6932</id>
		<title>Los supersonicos</title>
		<link rel="alternate" type="text/html" href="http://www.fing.edu.uy/inco/proyectos/butia/mediawiki/index.php?title=Los_supersonicos&amp;diff=6932"/>
				<updated>2015-04-25T15:31:49Z</updated>
		
		<summary type="html">&lt;p&gt;Camila.serena: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===Integrantes===&lt;br /&gt;
&amp;lt;b&amp;gt;Butiá&amp;lt;/b&amp;gt;&lt;br /&gt;
*&lt;br /&gt;
*&lt;br /&gt;
*&lt;br /&gt;
&amp;lt;b&amp;gt;Lego&amp;lt;/b&amp;gt;&lt;br /&gt;
*Camila Serena&lt;br /&gt;
*Josefina Fasoli&lt;br /&gt;
*Gonzalo Herrera&lt;br /&gt;
===El trabajo realizado por cada sub-equipo y las decisiones tomadas.===&lt;br /&gt;
&amp;lt;b&amp;gt;Butia&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Lego&amp;lt;/b&amp;gt;&lt;br /&gt;
Con el kit lego se pretendía resolver el problema de salvar al gato y poder devolverlo a su hogar. Para esto nuestro equipo armo una garra, que a su vez tenia la movilidad de subir y bajar, lo que permitía agarrar al gato desde arriba y tenes menos probabilidades de tirar el árbol con la garra. La garra fue lograda con un motor lego y un sistema de engranajes. Una de las paletas de la garra sigue el mismo giro que el motor y la otra el giro contrario gracias al uso de engranajes, lo que genera el cerrar o abrir de la garra.  &lt;br /&gt;
===Aspectos de integración de los equipos.===&lt;br /&gt;
En esta parte, ambos equipos tuvimos que coordinar ambos kits para cumplir el objetivo. En nuestro caso el mayor desafio se presento al tener que posicionar la garra exactamente encima del gato para poder salvarlo exitosamente.&lt;br /&gt;
===Código desarrollado.===&lt;br /&gt;
[[Archivo:DesafioButia.png]]&lt;br /&gt;
===Material multimedia.===&lt;br /&gt;
[[Archivo:RobotSupersonicos.jpg]]&lt;/div&gt;</summary>
		<author><name>Camila.serena</name></author>	</entry>

	<entry>
		<id>http://www.fing.edu.uy/inco/proyectos/butia/mediawiki/index.php?title=Los_supersonicos&amp;diff=6931</id>
		<title>Los supersonicos</title>
		<link rel="alternate" type="text/html" href="http://www.fing.edu.uy/inco/proyectos/butia/mediawiki/index.php?title=Los_supersonicos&amp;diff=6931"/>
				<updated>2015-04-25T15:17:18Z</updated>
		
		<summary type="html">&lt;p&gt;Camila.serena: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===Integrantes===&lt;br /&gt;
&amp;lt;b&amp;gt;Butiá&amp;lt;/b&amp;gt;&lt;br /&gt;
*&lt;br /&gt;
*&lt;br /&gt;
*&lt;br /&gt;
&amp;lt;b&amp;gt;Lego&amp;lt;/b&amp;gt;&lt;br /&gt;
*Camila Serena&lt;br /&gt;
*Josefina Fasoli&lt;br /&gt;
*Gonzalo Herrera&lt;br /&gt;
===El trabajo realizado por cada sub-equipo y las decisiones tomadas.===&lt;br /&gt;
&lt;br /&gt;
===Aspectos de integración de los equipos.===&lt;br /&gt;
&lt;br /&gt;
===Código desarrollado.===&lt;br /&gt;
[[Archivo:DesafioButia.png]]&lt;br /&gt;
===Material multimedia.===&lt;br /&gt;
[[Archivo:RobotSupersonicos.jpg]]&lt;/div&gt;</summary>
		<author><name>Camila.serena</name></author>	</entry>

	<entry>
		<id>http://www.fing.edu.uy/inco/proyectos/butia/mediawiki/index.php?title=Archivo:RobotSupersonicos.jpg&amp;diff=6930</id>
		<title>Archivo:RobotSupersonicos.jpg</title>
		<link rel="alternate" type="text/html" href="http://www.fing.edu.uy/inco/proyectos/butia/mediawiki/index.php?title=Archivo:RobotSupersonicos.jpg&amp;diff=6930"/>
				<updated>2015-04-25T15:16:33Z</updated>
		
		<summary type="html">&lt;p&gt;Camila.serena: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Camila.serena</name></author>	</entry>

	<entry>
		<id>http://www.fing.edu.uy/inco/proyectos/butia/mediawiki/index.php?title=Los_supersonicos&amp;diff=6929</id>
		<title>Los supersonicos</title>
		<link rel="alternate" type="text/html" href="http://www.fing.edu.uy/inco/proyectos/butia/mediawiki/index.php?title=Los_supersonicos&amp;diff=6929"/>
				<updated>2015-04-25T15:07:50Z</updated>
		
		<summary type="html">&lt;p&gt;Camila.serena: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===Integrantes===&lt;br /&gt;
&amp;lt;b&amp;gt;Butiá&amp;lt;/b&amp;gt;&lt;br /&gt;
*&lt;br /&gt;
*&lt;br /&gt;
*&lt;br /&gt;
&amp;lt;b&amp;gt;Lego&amp;lt;/b&amp;gt;&lt;br /&gt;
*Camila Serena&lt;br /&gt;
*Josefina Fasoli&lt;br /&gt;
*Gonzalo Herrera&lt;br /&gt;
===El trabajo realizado por cada sub-equipo y las decisiones tomadas.===&lt;br /&gt;
&lt;br /&gt;
===Aspectos de integración de los equipos.===&lt;br /&gt;
&lt;br /&gt;
===Código desarrollado.===&lt;br /&gt;
[[Archivo:DesafioButia.png]]&lt;br /&gt;
===Material multimedia.===&lt;/div&gt;</summary>
		<author><name>Camila.serena</name></author>	</entry>

	<entry>
		<id>http://www.fing.edu.uy/inco/proyectos/butia/mediawiki/index.php?title=Archivo:DesafioButia.png&amp;diff=6928</id>
		<title>Archivo:DesafioButia.png</title>
		<link rel="alternate" type="text/html" href="http://www.fing.edu.uy/inco/proyectos/butia/mediawiki/index.php?title=Archivo:DesafioButia.png&amp;diff=6928"/>
				<updated>2015-04-25T15:06:42Z</updated>
		
		<summary type="html">&lt;p&gt;Camila.serena: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Camila.serena</name></author>	</entry>

	<entry>
		<id>http://www.fing.edu.uy/inco/proyectos/butia/mediawiki/index.php?title=Grupo_10&amp;diff=6870</id>
		<title>Grupo 10</title>
		<link rel="alternate" type="text/html" href="http://www.fing.edu.uy/inco/proyectos/butia/mediawiki/index.php?title=Grupo_10&amp;diff=6870"/>
				<updated>2015-04-19T01:33:00Z</updated>
		
		<summary type="html">&lt;p&gt;Camila.serena: /* Sensores utilizados y pruebas */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&lt;br /&gt;
== Integrantes ==&lt;br /&gt;
 &lt;br /&gt;
* Camila Serena&lt;br /&gt;
* Gonzalo Herrera&lt;br /&gt;
* Josefina Fasoli&lt;br /&gt;
* Vanessa Revetria&lt;br /&gt;
&lt;br /&gt;
==Desarrollo de la actividad==&lt;br /&gt;
&lt;br /&gt;
Durante la primera parte del desarrollo de esta actividad nos dedicamos a tomar mediciones de los distintos sensores del kit butiá y del kit lego.&lt;br /&gt;
&lt;br /&gt;
==Sensores utilizados y pruebas==&lt;br /&gt;
&lt;br /&gt;
Se realizaron dos tipos de pruebas sobre ambos kits. El primer tipo consistió en la medición de los rangos de trabajo de los distintos sensores. El segundo trató de tomar un conjunto de mediciones en el mismo estado y calcular con los mismos, el margen de error (media y desviación estándar) con el que trabajan los sensores.&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
*&amp;lt;i&amp;gt;Botón&amp;lt;/i&amp;gt;&lt;br /&gt;
En ambos kits el sensor de botón funcionaba devolviendo 0 cuando no se encontraba presionado y 1 o max_int (65535) cuando si lo estaba, en lego y butiá respectivamente.&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
*&amp;lt;i&amp;gt;Escala de grises&amp;lt;/i&amp;gt;&lt;br /&gt;
Butiá: El sensor de escala de grises del kit butiá determina (según la superficie a la que se está apuntando) la cantidad de blanco y negro. Da un valor que indica esta valor en una escala de grises entre 0 y 65535.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
! Escala de grises &lt;br /&gt;
|-&lt;br /&gt;
|55744&lt;br /&gt;
|-&lt;br /&gt;
|51648&lt;br /&gt;
|-&lt;br /&gt;
|51648&lt;br /&gt;
|-&lt;br /&gt;
|51776&lt;br /&gt;
|-&lt;br /&gt;
|51648&lt;br /&gt;
|-&lt;br /&gt;
|51648&lt;br /&gt;
|-&lt;br /&gt;
|51904&lt;br /&gt;
|-&lt;br /&gt;
|51776&lt;br /&gt;
|-&lt;br /&gt;
|51904&lt;br /&gt;
|-&lt;br /&gt;
|51904&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Media: 52160&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Desviación estándar: 421.42&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Lego: No contábamos con este tipo de sensor.&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
*&amp;lt;i&amp;gt;Distancia&amp;lt;/i&amp;gt;&lt;br /&gt;
Butiá: El sensor de distancia del kit Butiá consiste en un sensor de doble cámara infrarroja que permite percibir objetos y calcular la distancia en base a las mismas. Dado que funciona con cámaras la iluminación puede afectar la distancia y no resulta ser tan preciso en distancia aunque garantiza que el objeto sensado se encuentra frente al sensor.&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Lego: El sensor de distancia del kit lego funciona en base a ultrasonido. Suele ser más preciso que el sensor butiá en lo que refiere a distancias y no depende de luz para funcionar. Sin embargo tiene la desventaja de que percibe los objetos enviado señales en forma de &amp;quot;cono&amp;quot; por lo que puede percibir objetos que no estén directamente delante del sensor y dar una falsa impresión de la detección de un obstáculo.&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Distancia Butiá  &lt;br /&gt;
! Distancia Lego  &lt;br /&gt;
(al piso)&lt;br /&gt;
!Distancia Lego &lt;br /&gt;
(medición del sensor, &lt;br /&gt;
otro enfrente)&lt;br /&gt;
!Distancia Lego &lt;br /&gt;
(al techo) &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|33792||73||48||83&lt;br /&gt;
|-&lt;br /&gt;
|34688||73||48||83&lt;br /&gt;
|-&lt;br /&gt;
|34304||73||48||83&lt;br /&gt;
|-&lt;br /&gt;
|34624||73||48||83&lt;br /&gt;
|-&lt;br /&gt;
|34880||73||48||83&lt;br /&gt;
|-&lt;br /&gt;
|34816||73||48||83&lt;br /&gt;
|-&lt;br /&gt;
|35136||73||48||83&lt;br /&gt;
|-&lt;br /&gt;
|34816||73||48||83&lt;br /&gt;
|-&lt;br /&gt;
|34944||73||48||83&lt;br /&gt;
|-&lt;br /&gt;
|35072||73||48||83&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Media:&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Butia: 34707.2&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Lego: 0&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Desviación estándar:&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Butiá: 133.06&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Lego: 0&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
*&amp;lt;i&amp;gt;Sonido&amp;lt;/i&amp;gt;&lt;br /&gt;
Lego: El sensor de sonido del kit lego permite captar los decibeles del ambiente y usarlos como input para el funcionamiento del robot. &lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Butia: Para el kit Butia no contábamos con un sensor separado para el sonido, pero se puede utilizar el micrófono de la computadora usada para el control del robot, para obtener mediciones (sonido, volumen frecuencia) del entorno. El rango de valores devuelto va de 0 a 100.&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Sensor de sonido &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
|-&lt;br /&gt;
|188&lt;br /&gt;
|-&lt;br /&gt;
|161&lt;br /&gt;
|-&lt;br /&gt;
|314&lt;br /&gt;
|-&lt;br /&gt;
|175&lt;br /&gt;
|-&lt;br /&gt;
|113&lt;br /&gt;
|-&lt;br /&gt;
|223&lt;br /&gt;
|-&lt;br /&gt;
|311&lt;br /&gt;
|-&lt;br /&gt;
|226&lt;br /&gt;
|-&lt;br /&gt;
|84&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
*&amp;lt;i&amp;gt;Luz&amp;lt;/i&amp;gt;&lt;br /&gt;
Butia: El sensor de luz del kit butiá permite obtener información de la iluminación del ambiente en el que se está desempeñando el robot. Devuelve valores entre 0 y 65535. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Lego: El sensor de luz del kit Lego distingue entre luz y oscuridad además de poder determinar la intensidad de la luz del lugar o de diferentes colores.&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Luz Butiá (sobre mesa varnizada)&lt;br /&gt;
!Luz Butiá (sobre superficie gris matte)  &lt;br /&gt;
!Luz Butiá (luz ambiente)&lt;br /&gt;
!Luz Lego  (apuntando a linterna) &lt;br /&gt;
!Luz Lego  (medición del sensor, otro enfrente)&lt;br /&gt;
!Luz Lego  (medición desde la mesa)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|20304||16000||36416||469||79||60&lt;br /&gt;
|-&lt;br /&gt;
|15488||16440||35392||406||69||59&lt;br /&gt;
|-&lt;br /&gt;
|15616||16512||35496||401||72||62&lt;br /&gt;
|-&lt;br /&gt;
|15424||16448||35712||372||73||63&lt;br /&gt;
|-&lt;br /&gt;
|15680||16512||35712||376||75||60&lt;br /&gt;
|-&lt;br /&gt;
|15552||16576||35840||369||73||57&lt;br /&gt;
|-&lt;br /&gt;
|15488||16448||35264||368||76||56&lt;br /&gt;
|-&lt;br /&gt;
|15488||16576||35776||372||72||54&lt;br /&gt;
|-&lt;br /&gt;
|15680||16704||35008||363||73||53&lt;br /&gt;
|-&lt;br /&gt;
|15888||16512||35136||362||75||27&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Media:&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Butiá (mesa): 16070.8&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Luz (Superficie gris matte): 16472.8&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Butiá (ambiente): 35575.2&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Butiá (lamparita): 385.8&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Lego (sensor): 73.7&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Lego (mesa): 55.1&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Desviación:&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Butiá (mesa): 499.03&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Luz (Superficie gris matte): 61.38&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Butiá (ambiente): 136.4&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Butiá (lamparita): 10.86&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Lego (sensor): 0.9&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Lego (mesa): 3.5&lt;br /&gt;
&lt;br /&gt;
==Actuadores utilizados y pruebas==&lt;br /&gt;
Los actuadores utilizados en ambos kits fueron las ruedas (motores) de cada uno respectivamente.&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Butiá:&amp;lt;/b&amp;gt;&lt;br /&gt;
El kit Butiá 2.0 incluye motores de corriente continua. La velocidad de estos motores es controlada por la cantidad de corriente enviada al motor y la distancia que se traslada el robot debe ser controlada tomando en cuenta el tiempo durante el cual se le entrega corriente a los motores y la velocidad (que determina la cantidad de corriente) de los mismos. &lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Lego:&amp;lt;/b&amp;gt;&lt;br /&gt;
El kit lego incluye motores servo que permiten mayor control sobre el motor. Uno puede consultar a cada momento la posición del motor y al iniciar los motores se puede indicar tanto la potencia como la cantidad de rotaciones que se quiere que del mismo. Esto último brinda una manipulación mucho más precisa del movimiento lo que puede resultar muy útil.&lt;br /&gt;
&lt;br /&gt;
==Conclusiones==&lt;br /&gt;
&lt;br /&gt;
===Generales===&lt;br /&gt;
&lt;br /&gt;
Pudimos concluir con esta experiencia, que aunque algunos sensores pueden ser más elaborados que otros, todos tienen cierto margen de error que es importante considerar para la implementación de la lógica del robot. Pudimos apreciar las distintas ventajas y desventajas de ambos kits, pero no se puede elegir uno sobre el otro, creemos que cualquiera de ellos son grandes herramientas de aprendizaje y el usarlos es conjunto para un mismo fin potencia su uso. &lt;br /&gt;
&lt;br /&gt;
===Comparación de los dos Kits (Ventajas y Desventajas de cada uno)===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
A primera vista, una diferencia importante es el tamaño de cada kit. El butia al ser pensado para poder trabajar con las ceibal XO de forma autónoma requiere ser de mayor tamaño. Esto puede verse como una desventaja frente al kit lego, pero es un punto a favor, pensándolo desde el punto de vista de niños que quieren ¿customizar? a la hora de agregar piezas, el tiene una superficie mayor con peso es una ventaja.  Una gran ventaja del Butiá es su característica de ser opensource, por lo que se le pueden agregar una gran cantidad de sensores creados por uno mismo y no se esta limitado al catálogo del fabricante.&lt;br /&gt;
&lt;br /&gt;
Otras diferencias entre ambos kits es el de los tipos de motores utilizados en cada uno. Los motores de corriente continua (Butia) son menos precisos frente a los tipo servo (Lego), pero logran una mayor velocidad. Los sensores de distancia también presentan diferencias. En el kit lego, con un sensor a base de ultrasonido se logra una mayor precisión, pero pierde cuando hay otros objetos en la periferia, en cambio en el kit Butia, el sensor tiene menos precisión, pero asegura el sensar el objeto que tiene delante.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;/div&gt;</summary>
		<author><name>Camila.serena</name></author>	</entry>

	<entry>
		<id>http://www.fing.edu.uy/inco/proyectos/butia/mediawiki/index.php?title=Grupo_10&amp;diff=6869</id>
		<title>Grupo 10</title>
		<link rel="alternate" type="text/html" href="http://www.fing.edu.uy/inco/proyectos/butia/mediawiki/index.php?title=Grupo_10&amp;diff=6869"/>
				<updated>2015-04-19T01:28:51Z</updated>
		
		<summary type="html">&lt;p&gt;Camila.serena: /* Sensores utilizados y pruebas */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&lt;br /&gt;
== Integrantes ==&lt;br /&gt;
 &lt;br /&gt;
* Camila Serena&lt;br /&gt;
* Gonzalo Herrera&lt;br /&gt;
* Josefina Fasoli&lt;br /&gt;
* Vanessa Revetria&lt;br /&gt;
&lt;br /&gt;
==Desarrollo de la actividad==&lt;br /&gt;
&lt;br /&gt;
Durante la primera parte del desarrollo de esta actividad nos dedicamos a tomar mediciones de los distintos sensores del kit butiá y del kit lego.&lt;br /&gt;
&lt;br /&gt;
==Sensores utilizados y pruebas==&lt;br /&gt;
&lt;br /&gt;
Se realizaron dos tipos de pruebas sobre ambos kits. El primer tipo consistió en la medición de los rangos de trabajo de los distintos sensores. El segundo trató de tomar un conjunto de mediciones en el mismo estado y calcular con los mismos, el margen de error (media y desviación estándar) con el que trabajan los sensores.&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
*&amp;lt;i&amp;gt;Botón&amp;lt;/i&amp;gt;&lt;br /&gt;
En ambos kits el sensor de botón funcionaba devolviendo 0 cuando no se encontraba presionado y 1 o max_int (65535) cuando si lo estaba, en lego y butiá respectivamente.&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
*&amp;lt;i&amp;gt;Escala de grises&amp;lt;/i&amp;gt;&lt;br /&gt;
Butiá: El sensor de escala de grises del kit butiá determina (según la superficie a la que se está apuntando) la cantidad de blanco y negro. Da un valor que indica esta valor en una escala de grises entre 0 y 65535.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
! Escala de grises &lt;br /&gt;
|-&lt;br /&gt;
|55744&lt;br /&gt;
|-&lt;br /&gt;
|51648&lt;br /&gt;
|-&lt;br /&gt;
|51648&lt;br /&gt;
|-&lt;br /&gt;
|51776&lt;br /&gt;
|-&lt;br /&gt;
|51648&lt;br /&gt;
|-&lt;br /&gt;
|51648&lt;br /&gt;
|-&lt;br /&gt;
|51904&lt;br /&gt;
|-&lt;br /&gt;
|51776&lt;br /&gt;
|-&lt;br /&gt;
|51904&lt;br /&gt;
|-&lt;br /&gt;
|51904&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Media: 52160&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Desviación estándar: 421.42&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Lego: No contábamos con este tipo de sensor.&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
*&amp;lt;i&amp;gt;Distancia&amp;lt;/i&amp;gt;&lt;br /&gt;
Butiá: El sensor de distancia del kit Butiá consiste en un sensor de doble cámara infrarroja que permite percibir objetos y calcular la distancia en base a las mismas. Dado que funciona con cámaras la iluminación puede afectar la distancia y no resulta ser tan preciso en distancia aunque garantiza que el objeto sensado se encuentra frente al sensor.&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Lego: El sensor de distancia del kit lego funciona en base a ultrasonido. Suele ser más preciso que el sensor butiá en lo que refiere a distancias y no depende de luz para funcionar. Sin embargo tiene la desventaja de que percibe los objetos enviado señales en forma de &amp;quot;cono&amp;quot; por lo que puede percibir objetos que no estén directamente delante del sensor y dar una falsa impresión de la detección de un obstáculo.&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Distancia Butiá  &lt;br /&gt;
! Distancia Lego  &lt;br /&gt;
(al piso)&lt;br /&gt;
!Distancia Lego &lt;br /&gt;
(medición del sensor, &lt;br /&gt;
otro enfrente)&lt;br /&gt;
!Distancia Lego &lt;br /&gt;
(desde la mesa) &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|33792||73||48||83&lt;br /&gt;
|-&lt;br /&gt;
|34688||73||48||83&lt;br /&gt;
|-&lt;br /&gt;
|34304||73||48||83&lt;br /&gt;
|-&lt;br /&gt;
|34624||73||48||83&lt;br /&gt;
|-&lt;br /&gt;
|34880||73||48||83&lt;br /&gt;
|-&lt;br /&gt;
|34816||73||48||83&lt;br /&gt;
|-&lt;br /&gt;
|35136||73||48||83&lt;br /&gt;
|-&lt;br /&gt;
|34816||73||48||83&lt;br /&gt;
|-&lt;br /&gt;
|34944||73||48||83&lt;br /&gt;
|-&lt;br /&gt;
|35072||73||48||83&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Media:&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Butia: 34707.2&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Lego: 0&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Desviación estándar:&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Butiá: 133.06&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Lego: 0&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
*&amp;lt;i&amp;gt;Sonido&amp;lt;/i&amp;gt;&lt;br /&gt;
Lego: El sensor de sonido del kit lego permite captar los decibeles del ambiente y usarlos como input para el funcionamiento del robot. &lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Butia: Para el kit Butia no contábamos con un sensor separado para el sonido, pero se puede utilizar el micrófono de la computadora usada para el control del robot, para obtener mediciones (sonido, volumen frecuencia) del entorno. El rango de valores devuelto va de 0 a 100.&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Sensor de sonido &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
|-&lt;br /&gt;
|188&lt;br /&gt;
|-&lt;br /&gt;
|161&lt;br /&gt;
|-&lt;br /&gt;
|314&lt;br /&gt;
|-&lt;br /&gt;
|175&lt;br /&gt;
|-&lt;br /&gt;
|113&lt;br /&gt;
|-&lt;br /&gt;
|223&lt;br /&gt;
|-&lt;br /&gt;
|311&lt;br /&gt;
|-&lt;br /&gt;
|226&lt;br /&gt;
|-&lt;br /&gt;
|84&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
*&amp;lt;i&amp;gt;Luz&amp;lt;/i&amp;gt;&lt;br /&gt;
Butia: El sensor de luz del kit butiá permite obtener información de la iluminación del ambiente en el que se está desempeñando el robot. Devuelve valores entre 0 y 65535. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Lego: El sensor de luz del kit Lego distingue entre luz y oscuridad además de poder determinar la intensidad de la luz del lugar o de diferentes colores.&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Luz Butiá (sobre mesa varnizada)&lt;br /&gt;
!Luz Butiá (sobre superficie gris matte)  &lt;br /&gt;
!Luz Butiá (luz ambiente)&lt;br /&gt;
!Luz Lego  (apuntando a linterna) &lt;br /&gt;
!Luz Lego  (medición del sensor, otro enfrente)&lt;br /&gt;
!Luz Lego  (medición desde la mesa)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|20304||16000||36416||469||79||60&lt;br /&gt;
|-&lt;br /&gt;
|15488||16440||35392||406||69||59&lt;br /&gt;
|-&lt;br /&gt;
|15616||16512||35496||401||72||62&lt;br /&gt;
|-&lt;br /&gt;
|15424||16448||35712||372||73||63&lt;br /&gt;
|-&lt;br /&gt;
|15680||16512||35712||376||75||60&lt;br /&gt;
|-&lt;br /&gt;
|15552||16576||35840||369||73||57&lt;br /&gt;
|-&lt;br /&gt;
|15488||16448||35264||368||76||56&lt;br /&gt;
|-&lt;br /&gt;
|15488||16576||35776||372||72||54&lt;br /&gt;
|-&lt;br /&gt;
|15680||16704||35008||363||73||53&lt;br /&gt;
|-&lt;br /&gt;
|15888||16512||35136||362||75||27&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Media:&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Butiá (mesa): 16070.8&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Luz (Superficie gris matte): 16472.8&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Butiá (ambiente): 35575.2&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Butiá (lamparita): 385.8&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Lego (sensor): 73.7&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Lego (mesa): 55.1&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Desviación:&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Butiá (mesa): 499.03&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Luz (Superficie gris matte): 61.38&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Butiá (ambiente): 136.4&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Butiá (lamparita): 10.86&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Lego (sensor): 0.9&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Lego (mesa): 3.5&lt;br /&gt;
&lt;br /&gt;
==Actuadores utilizados y pruebas==&lt;br /&gt;
Los actuadores utilizados en ambos kits fueron las ruedas (motores) de cada uno respectivamente.&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Butiá:&amp;lt;/b&amp;gt;&lt;br /&gt;
El kit Butiá 2.0 incluye motores de corriente continua. La velocidad de estos motores es controlada por la cantidad de corriente enviada al motor y la distancia que se traslada el robot debe ser controlada tomando en cuenta el tiempo durante el cual se le entrega corriente a los motores y la velocidad (que determina la cantidad de corriente) de los mismos. &lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Lego:&amp;lt;/b&amp;gt;&lt;br /&gt;
El kit lego incluye motores servo que permiten mayor control sobre el motor. Uno puede consultar a cada momento la posición del motor y al iniciar los motores se puede indicar tanto la potencia como la cantidad de rotaciones que se quiere que del mismo. Esto último brinda una manipulación mucho más precisa del movimiento lo que puede resultar muy útil.&lt;br /&gt;
&lt;br /&gt;
==Conclusiones==&lt;br /&gt;
&lt;br /&gt;
===Generales===&lt;br /&gt;
&lt;br /&gt;
Pudimos concluir con esta experiencia, que aunque algunos sensores pueden ser más elaborados que otros, todos tienen cierto margen de error que es importante considerar para la implementación de la lógica del robot. Pudimos apreciar las distintas ventajas y desventajas de ambos kits, pero no se puede elegir uno sobre el otro, creemos que cualquiera de ellos son grandes herramientas de aprendizaje y el usarlos es conjunto para un mismo fin potencia su uso. &lt;br /&gt;
&lt;br /&gt;
===Comparación de los dos Kits (Ventajas y Desventajas de cada uno)===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
A primera vista, una diferencia importante es el tamaño de cada kit. El butia al ser pensado para poder trabajar con las ceibal XO de forma autónoma requiere ser de mayor tamaño. Esto puede verse como una desventaja frente al kit lego, pero es un punto a favor, pensándolo desde el punto de vista de niños que quieren ¿customizar? a la hora de agregar piezas, el tiene una superficie mayor con peso es una ventaja.  Una gran ventaja del Butiá es su característica de ser opensource, por lo que se le pueden agregar una gran cantidad de sensores creados por uno mismo y no se esta limitado al catálogo del fabricante.&lt;br /&gt;
&lt;br /&gt;
Otras diferencias entre ambos kits es el de los tipos de motores utilizados en cada uno. Los motores de corriente continua (Butia) son menos precisos frente a los tipo servo (Lego), pero logran una mayor velocidad. Los sensores de distancia también presentan diferencias. En el kit lego, con un sensor a base de ultrasonido se logra una mayor precisión, pero pierde cuando hay otros objetos en la periferia, en cambio en el kit Butia, el sensor tiene menos precisión, pero asegura el sensar el objeto que tiene delante.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;/div&gt;</summary>
		<author><name>Camila.serena</name></author>	</entry>

	<entry>
		<id>http://www.fing.edu.uy/inco/proyectos/butia/mediawiki/index.php?title=Grupo_10&amp;diff=6868</id>
		<title>Grupo 10</title>
		<link rel="alternate" type="text/html" href="http://www.fing.edu.uy/inco/proyectos/butia/mediawiki/index.php?title=Grupo_10&amp;diff=6868"/>
				<updated>2015-04-19T01:27:42Z</updated>
		
		<summary type="html">&lt;p&gt;Camila.serena: /* Sensores utilizados y pruebas */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&lt;br /&gt;
== Integrantes ==&lt;br /&gt;
 &lt;br /&gt;
* Camila Serena&lt;br /&gt;
* Gonzalo Herrera&lt;br /&gt;
* Josefina Fasoli&lt;br /&gt;
* Vanessa Revetria&lt;br /&gt;
&lt;br /&gt;
==Desarrollo de la actividad==&lt;br /&gt;
&lt;br /&gt;
Durante la primera parte del desarrollo de esta actividad nos dedicamos a tomar mediciones de los distintos sensores del kit butiá y del kit lego.&lt;br /&gt;
&lt;br /&gt;
==Sensores utilizados y pruebas==&lt;br /&gt;
&lt;br /&gt;
Se realizaron dos tipos de pruebas sobre ambos kits. El primer tipo consistió en la medición de los rangos de trabajo de los distintos sensores. El segundo trató de tomar un conjunto de mediciones en el mismo estado y calcular con los mismos, el margen de error (media y desviación estándar) con el que trabajan los sensores.&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
*&amp;lt;i&amp;gt;Botón&amp;lt;/i&amp;gt;&lt;br /&gt;
En ambos kits el sensor de botón funcionaba devolviendo 0 cuando no se encontraba presionado y 1 o max_int (65535) cuando si lo estaba, en lego y butiá respectivamente.&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
*&amp;lt;i&amp;gt;Escala de grises&amp;lt;/i&amp;gt;&lt;br /&gt;
Butiá: El sensor de escala de grises del kit butiá determina (según la superficie a la que se está apuntando) la cantidad de blanco y negro. Da un valor que indica esta valor en una escala de grises entre 0 y 65535.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
! Escala de grises &lt;br /&gt;
|-&lt;br /&gt;
|55744&lt;br /&gt;
|-&lt;br /&gt;
|51648&lt;br /&gt;
|-&lt;br /&gt;
|51648&lt;br /&gt;
|-&lt;br /&gt;
|51776&lt;br /&gt;
|-&lt;br /&gt;
|51648&lt;br /&gt;
|-&lt;br /&gt;
|51648&lt;br /&gt;
|-&lt;br /&gt;
|51904&lt;br /&gt;
|-&lt;br /&gt;
|51776&lt;br /&gt;
|-&lt;br /&gt;
|51904&lt;br /&gt;
|-&lt;br /&gt;
|51904&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Media: 52160&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Desviación estándar: 421.42&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Lego: No contábamos con este tipo de sensor.&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
*&amp;lt;i&amp;gt;Distancia&amp;lt;/i&amp;gt;&lt;br /&gt;
Butiá: El sensor de distancia del kit Butiá consiste en un sensor de doble cámara infrarroja que permite percibir objetos y calcular la distancia en base a las mismas. Dado que funciona con cámaras la iluminación puede afectar la distancia y no resulta ser tan preciso en distancia aunque garantiza que el objeto sensado se encuentra frente al sensor.&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Lego: El sensor de distancia del kit lego funciona en base a ultrasonido. Suele ser más preciso que el sensor butiá en lo que refiere a distancias y no depende de luz para funcionar. Sin embargo tiene la desventaja de que percibe los objetos enviado señales en forma de &amp;quot;cono&amp;quot; por lo que puede percibir objetos que no estén directamente delante del sensor y dar una falsa impresión de la detección de un obstáculo.&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Distancia Butiá  &lt;br /&gt;
! Distancia Lego  &lt;br /&gt;
(al piso)&lt;br /&gt;
!Distancia Lego &lt;br /&gt;
(medición del sensor, &lt;br /&gt;
otro enfrente)&lt;br /&gt;
!Distancia Lego &lt;br /&gt;
(desde la mesa) &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|33792||73||48||83&lt;br /&gt;
|-&lt;br /&gt;
|34688||73||48||83&lt;br /&gt;
|-&lt;br /&gt;
|34304||73||48||83&lt;br /&gt;
|-&lt;br /&gt;
|34624||73||48||83&lt;br /&gt;
|-&lt;br /&gt;
|34880||73||48||83&lt;br /&gt;
|-&lt;br /&gt;
|34816||73||48||83&lt;br /&gt;
|-&lt;br /&gt;
|35136||73||48||83&lt;br /&gt;
|-&lt;br /&gt;
|34816||73||48||83&lt;br /&gt;
|-&lt;br /&gt;
|34944||73||48||83&lt;br /&gt;
|-&lt;br /&gt;
|35072||73||48||83&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Media:&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Butia: 34707.2&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Lego: 0&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Desviación estándar:&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Butiá: 133.06&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Lego: 0&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
*&amp;lt;i&amp;gt;Sonido&amp;lt;/i&amp;gt;&lt;br /&gt;
Lego: El sensor de sonido del kit lego permite captar los decibeles del ambiente y usarlos como input para el funcionamiento del robot. &lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Butia: Para el kit Butia no contábamos con un sensor separado para el sonido, pero se puede utilizar el micrófono de la computadora usada para el control del robot, para obtener mediciones (sonido, volumen frecuencia) del entorno. El rango de valores devuelto va de 0 a 100.&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Sensor de sonido &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
|-&lt;br /&gt;
|188&lt;br /&gt;
|-&lt;br /&gt;
|161&lt;br /&gt;
|-&lt;br /&gt;
|314&lt;br /&gt;
|-&lt;br /&gt;
|175&lt;br /&gt;
|-&lt;br /&gt;
|113&lt;br /&gt;
|-&lt;br /&gt;
|223&lt;br /&gt;
|-&lt;br /&gt;
|311&lt;br /&gt;
|-&lt;br /&gt;
|226&lt;br /&gt;
|-&lt;br /&gt;
|84&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
*&amp;lt;i&amp;gt;Luz&amp;lt;/i&amp;gt;&lt;br /&gt;
Butia: El sensor de luz del kit butiá permite obtener información de la iluminación del ambiente en el que se está desempeñando el robot. Devuelve valores entre 0 y 65535. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Lego: El sensor de luz del kit Lego distingue entre luz y oscuridad además de poder determinar la intensidad de la luz del lugar o de diferentes colores.&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Luz Butiá (sobre mesa varnizada)&lt;br /&gt;
!Luz Butiá (sobre superficie gris matte)  &lt;br /&gt;
!Luz Butiá (luz ambiente)&lt;br /&gt;
!Luz Lego  (apuntando a linterna) &lt;br /&gt;
!Luz Lego  (medición del sensor, otro enfrente)&lt;br /&gt;
!Luz Lego  (medición desde la mesa)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|20304||16000||36416||469||79||60&lt;br /&gt;
|-&lt;br /&gt;
|15488||16440||35392||406||69||59&lt;br /&gt;
|-&lt;br /&gt;
|15616||16512||35496||401||72||62&lt;br /&gt;
|-&lt;br /&gt;
|15424||16448||35712||372||73||63&lt;br /&gt;
|-&lt;br /&gt;
|15680||16512||35712||376||75||60&lt;br /&gt;
|-&lt;br /&gt;
|15552||16576||35840||369||73||57&lt;br /&gt;
|-&lt;br /&gt;
|15488||16448||35264||368||76||56&lt;br /&gt;
|-&lt;br /&gt;
|15488||16576||35776||372||72||54&lt;br /&gt;
|-&lt;br /&gt;
|15680||16704||35008||363||73||53&lt;br /&gt;
|-&lt;br /&gt;
|15888||16512||35136||362||75||27&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Media:&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Butiá (mesa): 16070.8&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Luz (Superficie gris matte): 16472.8&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Butiá (ambiente): 35575.2&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Butiá (lamparita): 385.8&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Lego (sensor): 73.7&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Lego (mesa): 55.1&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Desviación:&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Butiá (mesa): 499.03&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Luz (Superficie gris matte): 61.38&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Butiá (ambiente): 136.4&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Butiá (lamparita): 10.86&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Lego (sensor): 0.9&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Lego (mesa): 3.5&lt;br /&gt;
&lt;br /&gt;
==Actuadores utilizados y pruebas==&lt;br /&gt;
Los actuadores utilizados en ambos kits fueron las ruedas (motores) de cada uno respectivamente.&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Butiá:&amp;lt;/b&amp;gt;&lt;br /&gt;
El kit Butiá 2.0 incluye motores de corriente continua. La velocidad de estos motores es controlada por la cantidad de corriente enviada al motor y la distancia que se traslada el robot debe ser controlada tomando en cuenta el tiempo durante el cual se le entrega corriente a los motores y la velocidad (que determina la cantidad de corriente) de los mismos. &lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Lego:&amp;lt;/b&amp;gt;&lt;br /&gt;
El kit lego incluye motores servo que permiten mayor control sobre el motor. Uno puede consultar a cada momento la posición del motor y al iniciar los motores se puede indicar tanto la potencia como la cantidad de rotaciones que se quiere que del mismo. Esto último brinda una manipulación mucho más precisa del movimiento lo que puede resultar muy útil.&lt;br /&gt;
&lt;br /&gt;
==Conclusiones==&lt;br /&gt;
&lt;br /&gt;
===Generales===&lt;br /&gt;
&lt;br /&gt;
Pudimos concluir con esta experiencia, que aunque algunos sensores pueden ser más elaborados que otros, todos tienen cierto margen de error que es importante considerar para la implementación de la lógica del robot. Pudimos apreciar las distintas ventajas y desventajas de ambos kits, pero no se puede elegir uno sobre el otro, creemos que cualquiera de ellos son grandes herramientas de aprendizaje y el usarlos es conjunto para un mismo fin potencia su uso. &lt;br /&gt;
&lt;br /&gt;
===Comparación de los dos Kits (Ventajas y Desventajas de cada uno)===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
A primera vista, una diferencia importante es el tamaño de cada kit. El butia al ser pensado para poder trabajar con las ceibal XO de forma autónoma requiere ser de mayor tamaño. Esto puede verse como una desventaja frente al kit lego, pero es un punto a favor, pensándolo desde el punto de vista de niños que quieren ¿customizar? a la hora de agregar piezas, el tiene una superficie mayor con peso es una ventaja.  Una gran ventaja del Butiá es su característica de ser opensource, por lo que se le pueden agregar una gran cantidad de sensores creados por uno mismo y no se esta limitado al catálogo del fabricante.&lt;br /&gt;
&lt;br /&gt;
Otras diferencias entre ambos kits es el de los tipos de motores utilizados en cada uno. Los motores de corriente continua (Butia) son menos precisos frente a los tipo servo (Lego), pero logran una mayor velocidad. Los sensores de distancia también presentan diferencias. En el kit lego, con un sensor a base de ultrasonido se logra una mayor precisión, pero pierde cuando hay otros objetos en la periferia, en cambio en el kit Butia, el sensor tiene menos precisión, pero asegura el sensar el objeto que tiene delante.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;/div&gt;</summary>
		<author><name>Camila.serena</name></author>	</entry>

	<entry>
		<id>http://www.fing.edu.uy/inco/proyectos/butia/mediawiki/index.php?title=Grupo_10&amp;diff=6867</id>
		<title>Grupo 10</title>
		<link rel="alternate" type="text/html" href="http://www.fing.edu.uy/inco/proyectos/butia/mediawiki/index.php?title=Grupo_10&amp;diff=6867"/>
				<updated>2015-04-19T01:27:06Z</updated>
		
		<summary type="html">&lt;p&gt;Camila.serena: /* Sensores utilizados y pruebas */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&lt;br /&gt;
== Integrantes ==&lt;br /&gt;
 &lt;br /&gt;
* Camila Serena&lt;br /&gt;
* Gonzalo Herrera&lt;br /&gt;
* Josefina Fasoli&lt;br /&gt;
* Vanessa Revetria&lt;br /&gt;
&lt;br /&gt;
==Desarrollo de la actividad==&lt;br /&gt;
&lt;br /&gt;
Durante la primera parte del desarrollo de esta actividad nos dedicamos a tomar mediciones de los distintos sensores del kit butiá y del kit lego.&lt;br /&gt;
&lt;br /&gt;
==Sensores utilizados y pruebas==&lt;br /&gt;
&lt;br /&gt;
Se realizaron dos tipos de pruebas sobre ambos kits. El primer tipo consistió en la medición de los rangos de trabajo de los distintos sensores. El segundo trató de tomar un conjunto de mediciones en el mismo estado y calcular con los mismos, el margen de error (media y desviación estándar) con el que trabajan los sensores.&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
*&amp;lt;i&amp;gt;Botón&amp;lt;/i&amp;gt;&lt;br /&gt;
En ambos kits el sensor de botón funcionaba devolviendo 0 cuando no se encontraba presionado y 1 o max_int (65535) cuando si lo estaba, en lego y butiá respectivamente.&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
*&amp;lt;i&amp;gt;Escala de grises&amp;lt;/i&amp;gt;&lt;br /&gt;
Butiá: El sensor de escala de grises del kit butiá determina (según la superficie a la que se está apuntando) la cantidad de blanco y negro. Da un valor que indica esta valor en una escala de grises entre 0 y 65535.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
! Escala de grises &lt;br /&gt;
|-&lt;br /&gt;
|55744&lt;br /&gt;
|-&lt;br /&gt;
|51648&lt;br /&gt;
|-&lt;br /&gt;
|51648&lt;br /&gt;
|-&lt;br /&gt;
|51776&lt;br /&gt;
|-&lt;br /&gt;
|51648&lt;br /&gt;
|-&lt;br /&gt;
|51648&lt;br /&gt;
|-&lt;br /&gt;
|51904&lt;br /&gt;
|-&lt;br /&gt;
|51776&lt;br /&gt;
|-&lt;br /&gt;
|51904&lt;br /&gt;
|-&lt;br /&gt;
|51904&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Media: 52160&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Desviación estándar: 421.42&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Lego: No contábamos con este tipo de sensor.&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
*&amp;lt;i&amp;gt;Distancia&amp;lt;/i&amp;gt;&lt;br /&gt;
Butiá: El sensor de distancia del kit Butiá consiste en un sensor de doble cámara infrarroja que permite percibir objetos y calcular la distancia en base a las mismas. Dado que funciona con cámaras la iluminación puede afectar la distancia y no resulta ser tan preciso en distancia aunque garantiza que el objeto sensado se encuentra frente al sensor.&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Lego: El sensor de distancia del kit lego funciona en base a ultrasonido. Suele ser más preciso que el sensor butiá en lo que refiere a distancias y no depende de luz para funcionar. Sin embargo tiene la desventaja de que percibe los objetos enviado señales en forma de &amp;quot;cono&amp;quot; por lo que puede percibir objetos que no estén directamente delante del sensor y dar una falsa impresión de la detección de un obstáculo.&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Distancia Butiá  &lt;br /&gt;
! Distancia Lego  &lt;br /&gt;
(al piso)&lt;br /&gt;
!Distancia Lego &lt;br /&gt;
(medición del sensor, &lt;br /&gt;
otro enfrente)&lt;br /&gt;
!Distancia Lego &lt;br /&gt;
(desde la mesa) &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|33792||73||48||83&lt;br /&gt;
|-&lt;br /&gt;
|34688||73||48||83&lt;br /&gt;
|-&lt;br /&gt;
|34304||73||48||83&lt;br /&gt;
|-&lt;br /&gt;
|34624||73||48||83&lt;br /&gt;
|-&lt;br /&gt;
|34880||73||48||83&lt;br /&gt;
|-&lt;br /&gt;
|34816||73||48||83&lt;br /&gt;
|-&lt;br /&gt;
|35136||73||48||83&lt;br /&gt;
|-&lt;br /&gt;
|34816||73||48||83&lt;br /&gt;
|-&lt;br /&gt;
|34944||73||48||83&lt;br /&gt;
|-&lt;br /&gt;
|35072||73||48||83&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Media:&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Butia: 34707.2&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Lego: 0&lt;br /&gt;
Desviación estándar:&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Butiá: 133.06&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Lego: 0&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
*&amp;lt;i&amp;gt;Sonido&amp;lt;/i&amp;gt;&lt;br /&gt;
Lego: El sensor de sonido del kit lego permite captar los decibeles del ambiente y usarlos como input para el funcionamiento del robot. &lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Butia: Para el kit Butia no contábamos con un sensor separado para el sonido, pero se puede utilizar el micrófono de la computadora usada para el control del robot, para obtener mediciones (sonido, volumen frecuencia) del entorno. El rango de valores devuelto va de 0 a 100.&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Sensor de sonido &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
|-&lt;br /&gt;
|188&lt;br /&gt;
|-&lt;br /&gt;
|161&lt;br /&gt;
|-&lt;br /&gt;
|314&lt;br /&gt;
|-&lt;br /&gt;
|175&lt;br /&gt;
|-&lt;br /&gt;
|113&lt;br /&gt;
|-&lt;br /&gt;
|223&lt;br /&gt;
|-&lt;br /&gt;
|311&lt;br /&gt;
|-&lt;br /&gt;
|226&lt;br /&gt;
|-&lt;br /&gt;
|84&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
*&amp;lt;i&amp;gt;Luz&amp;lt;/i&amp;gt;&lt;br /&gt;
Butia: El sensor de luz del kit butiá permite obtener información de la iluminación del ambiente en el que se está desempeñando el robot. Devuelve valores entre 0 y 65535. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Lego: El sensor de luz del kit Lego distingue entre luz y oscuridad además de poder determinar la intensidad de la luz del lugar o de diferentes colores.&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Luz Butiá (sobre mesa varnizada)&lt;br /&gt;
!Luz Butiá (sobre superficie gris matte)  &lt;br /&gt;
!Luz Butiá (luz ambiente)&lt;br /&gt;
!Luz Lego  (apuntando a linterna) &lt;br /&gt;
!Luz Lego  (medición del sensor, otro enfrente)&lt;br /&gt;
!Luz Lego  (medición desde la mesa)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|20304||16000||36416||469||79||60&lt;br /&gt;
|-&lt;br /&gt;
|15488||16440||35392||406||69||59&lt;br /&gt;
|-&lt;br /&gt;
|15616||16512||35496||401||72||62&lt;br /&gt;
|-&lt;br /&gt;
|15424||16448||35712||372||73||63&lt;br /&gt;
|-&lt;br /&gt;
|15680||16512||35712||376||75||60&lt;br /&gt;
|-&lt;br /&gt;
|15552||16576||35840||369||73||57&lt;br /&gt;
|-&lt;br /&gt;
|15488||16448||35264||368||76||56&lt;br /&gt;
|-&lt;br /&gt;
|15488||16576||35776||372||72||54&lt;br /&gt;
|-&lt;br /&gt;
|15680||16704||35008||363||73||53&lt;br /&gt;
|-&lt;br /&gt;
|15888||16512||35136||362||75||27&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Media:&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Butiá (mesa): 16070.8&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Luz (Superficie gris matte): 16472.8&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Butiá (ambiente): 35575.2&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Butiá (lamparita): 385.8&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Lego (sensor): 73.7&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Lego (mesa): 55.1&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Desviación:&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Butiá (mesa): 499.03&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Luz (Superficie gris matte): 61.38&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Butiá (ambiente): 136.4&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Butiá (lamparita): 10.86&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Lego (sensor): 0.9&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Lego (mesa): 3.5&lt;br /&gt;
&lt;br /&gt;
==Actuadores utilizados y pruebas==&lt;br /&gt;
Los actuadores utilizados en ambos kits fueron las ruedas (motores) de cada uno respectivamente.&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Butiá:&amp;lt;/b&amp;gt;&lt;br /&gt;
El kit Butiá 2.0 incluye motores de corriente continua. La velocidad de estos motores es controlada por la cantidad de corriente enviada al motor y la distancia que se traslada el robot debe ser controlada tomando en cuenta el tiempo durante el cual se le entrega corriente a los motores y la velocidad (que determina la cantidad de corriente) de los mismos. &lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Lego:&amp;lt;/b&amp;gt;&lt;br /&gt;
El kit lego incluye motores servo que permiten mayor control sobre el motor. Uno puede consultar a cada momento la posición del motor y al iniciar los motores se puede indicar tanto la potencia como la cantidad de rotaciones que se quiere que del mismo. Esto último brinda una manipulación mucho más precisa del movimiento lo que puede resultar muy útil.&lt;br /&gt;
&lt;br /&gt;
==Conclusiones==&lt;br /&gt;
&lt;br /&gt;
===Generales===&lt;br /&gt;
&lt;br /&gt;
Pudimos concluir con esta experiencia, que aunque algunos sensores pueden ser más elaborados que otros, todos tienen cierto margen de error que es importante considerar para la implementación de la lógica del robot. Pudimos apreciar las distintas ventajas y desventajas de ambos kits, pero no se puede elegir uno sobre el otro, creemos que cualquiera de ellos son grandes herramientas de aprendizaje y el usarlos es conjunto para un mismo fin potencia su uso. &lt;br /&gt;
&lt;br /&gt;
===Comparación de los dos Kits (Ventajas y Desventajas de cada uno)===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
A primera vista, una diferencia importante es el tamaño de cada kit. El butia al ser pensado para poder trabajar con las ceibal XO de forma autónoma requiere ser de mayor tamaño. Esto puede verse como una desventaja frente al kit lego, pero es un punto a favor, pensándolo desde el punto de vista de niños que quieren ¿customizar? a la hora de agregar piezas, el tiene una superficie mayor con peso es una ventaja.  Una gran ventaja del Butiá es su característica de ser opensource, por lo que se le pueden agregar una gran cantidad de sensores creados por uno mismo y no se esta limitado al catálogo del fabricante.&lt;br /&gt;
&lt;br /&gt;
Otras diferencias entre ambos kits es el de los tipos de motores utilizados en cada uno. Los motores de corriente continua (Butia) son menos precisos frente a los tipo servo (Lego), pero logran una mayor velocidad. Los sensores de distancia también presentan diferencias. En el kit lego, con un sensor a base de ultrasonido se logra una mayor precisión, pero pierde cuando hay otros objetos en la periferia, en cambio en el kit Butia, el sensor tiene menos precisión, pero asegura el sensar el objeto que tiene delante.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;/div&gt;</summary>
		<author><name>Camila.serena</name></author>	</entry>

	<entry>
		<id>http://www.fing.edu.uy/inco/proyectos/butia/mediawiki/index.php?title=Grupo_10&amp;diff=6866</id>
		<title>Grupo 10</title>
		<link rel="alternate" type="text/html" href="http://www.fing.edu.uy/inco/proyectos/butia/mediawiki/index.php?title=Grupo_10&amp;diff=6866"/>
				<updated>2015-04-19T01:25:24Z</updated>
		
		<summary type="html">&lt;p&gt;Camila.serena: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&lt;br /&gt;
== Integrantes ==&lt;br /&gt;
 &lt;br /&gt;
* Camila Serena&lt;br /&gt;
* Gonzalo Herrera&lt;br /&gt;
* Josefina Fasoli&lt;br /&gt;
* Vanessa Revetria&lt;br /&gt;
&lt;br /&gt;
==Desarrollo de la actividad==&lt;br /&gt;
&lt;br /&gt;
Durante la primera parte del desarrollo de esta actividad nos dedicamos a tomar mediciones de los distintos sensores del kit butiá y del kit lego.&lt;br /&gt;
&lt;br /&gt;
==Sensores utilizados y pruebas==&lt;br /&gt;
&lt;br /&gt;
Se realizaron dos tipos de pruebas sobre ambos kits. El primer tipo consistió en la medición de los rangos de trabajo de los distintos sensores. El segundo trató de tomar un conjunto de mediciones en el mismo estado y calcular con los mismos, el margen de error (media y desviación estándar) con el que trabajan los sensores.&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
*&amp;lt;i&amp;gt;Botón&amp;lt;/i&amp;gt;&lt;br /&gt;
En ambos kits el sensor de botón funcionaba devolviendo 0 cuando no se encontraba presionado y 1 o max_int (65535) cuando si lo estaba, en lego y butiá respectivamente.&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
*&amp;lt;i&amp;gt;Escala de grises&amp;lt;/i&amp;gt;&lt;br /&gt;
Butiá: El sensor de escala de grises del kit butiá determina (según la superficie a la que se está apuntando) la cantidad de blanco y negro. Da un valor que indica esta valor en una escala de grises entre 0 y 65535.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
! Escala de grises &lt;br /&gt;
|-&lt;br /&gt;
|55744&lt;br /&gt;
|-&lt;br /&gt;
|51648&lt;br /&gt;
|-&lt;br /&gt;
|51648&lt;br /&gt;
|-&lt;br /&gt;
|51776&lt;br /&gt;
|-&lt;br /&gt;
|51648&lt;br /&gt;
|-&lt;br /&gt;
|51648&lt;br /&gt;
|-&lt;br /&gt;
|51904&lt;br /&gt;
|-&lt;br /&gt;
|51776&lt;br /&gt;
|-&lt;br /&gt;
|51904&lt;br /&gt;
|-&lt;br /&gt;
|51904&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Media: 52160&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Desviación estándar: 421.42&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Lego: No contábamos con este tipo de sensor.&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
*&amp;lt;i&amp;gt;Distancia&amp;lt;/i&amp;gt;&lt;br /&gt;
Butiá: El sensor de distancia del kit Butiá consiste en un sensor de doble cámara infrarroja que permite percibir objetos y calcular la distancia en base a las mismas. Dado que funciona con cámaras la iluminación puede afectar la distancia y no resulta ser tan preciso en distancia aunque garantiza que el objeto sensado se encuentra frente al sensor.&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Lego: El sensor de distancia del kit lego funciona en base a ultrasonido. Suele ser más preciso que el sensor butiá en lo que refiere a distancias y no depende de luz para funcionar. Sin embargo tiene la desventaja de que percibe los objetos enviado señales en forma de &amp;quot;cono&amp;quot; por lo que puede percibir objetos que no estén directamente delante del sensor y dar una falsa impresión de la detección de un obstáculo.&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Distancia Butiá  &lt;br /&gt;
! Distancia Lego  &lt;br /&gt;
(al piso)&lt;br /&gt;
!Distancia Lego &lt;br /&gt;
(medición del sensor, &lt;br /&gt;
otro enfrente)&lt;br /&gt;
!Distancia Lego &lt;br /&gt;
(desde la mesa) &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|33792||73||48||83&lt;br /&gt;
|-&lt;br /&gt;
|34688||73||48||83&lt;br /&gt;
|-&lt;br /&gt;
|34304||73||48||83&lt;br /&gt;
|-&lt;br /&gt;
|34624||73||48||83&lt;br /&gt;
|-&lt;br /&gt;
|34880||73||48||83&lt;br /&gt;
|-&lt;br /&gt;
|34816||73||48||83&lt;br /&gt;
|-&lt;br /&gt;
|35136||73||48||83&lt;br /&gt;
|-&lt;br /&gt;
|34816||73||48||83&lt;br /&gt;
|-&lt;br /&gt;
|34944||73||48||83&lt;br /&gt;
|-&lt;br /&gt;
|35072||73||48||83&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Media:&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Butia: 34707.2&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Lego: 0&lt;br /&gt;
Desviación estándar:&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Butiá: 133.06&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Lego: 0&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
*&amp;lt;i&amp;gt;Sonido&amp;lt;/i&amp;gt;&lt;br /&gt;
Lego: El sensor de sonido del kit lego permite captar los decibeles del ambiente y usarlos como input para el funcionamiento del robot. &lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Butia: Para el kit Butia no contábamos con un sensor separado para el sonido, pero se puede utilizar el micrófono de la computadora usada para el control del robot, para obtener mediciones (sonido, volumen frecuencia) del entorno. El rango de valores devuelto va de 0 a 100.&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Sensor de sonido &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
|-&lt;br /&gt;
|188&lt;br /&gt;
|-&lt;br /&gt;
|161&lt;br /&gt;
|-&lt;br /&gt;
|314&lt;br /&gt;
|-&lt;br /&gt;
|175&lt;br /&gt;
|-&lt;br /&gt;
|113&lt;br /&gt;
|-&lt;br /&gt;
|223&lt;br /&gt;
|-&lt;br /&gt;
|311&lt;br /&gt;
|-&lt;br /&gt;
|226&lt;br /&gt;
|-&lt;br /&gt;
|84&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
*&amp;lt;i&amp;gt;Luz&amp;lt;/i&amp;gt;&lt;br /&gt;
Butia: El sensor de luz del kit butiá permite obtener información de la iluminación del ambiente en el que se está desempeñando el robot. Devuelve valores entre 0 y 65535. &lt;br /&gt;
&lt;br /&gt;
Esto capaz va explicado en las tablas de valores?????//Con este sensor, se tomó  nota de distintos valores al ser apuntado a las distintas superficies, comenzamos apuntando a la mesa de trabajo (corta distancia), que es una superficie barnizada y los valores rondaron entre 15480-15650, luego tomamos los valores sobre una superficie matte, con misma luz de ambiente dando un rango entre 16440-16680. Al sensar la luz ambiente (sensor en el aire, ninguna superficie cerca) los valores dados fueron entre 35400-35780.&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Lego: El sensor de luz del kit Lego distingue entre luz y oscuridad además de poder determinar la intensidad de la luz del lugar o de diferentes colores.&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Luz Butiá (sobre mesa varnizada)&lt;br /&gt;
!Luz Butiá (sobre superficie gris matte)  &lt;br /&gt;
!Luz Butiá (luz ambiente)&lt;br /&gt;
!Luz Lego  (apuntando a linterna) &lt;br /&gt;
!Luz Lego  (medición del sensor, otro enfrente)&lt;br /&gt;
!Luz Lego  (medición desde la mesa)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|20304||16000||36416||469||79||60&lt;br /&gt;
|-&lt;br /&gt;
|15488||16440||35392||406||69||59&lt;br /&gt;
|-&lt;br /&gt;
|15616||16512||35496||401||72||62&lt;br /&gt;
|-&lt;br /&gt;
|15424||16448||35712||372||73||63&lt;br /&gt;
|-&lt;br /&gt;
|15680||16512||35712||376||75||60&lt;br /&gt;
|-&lt;br /&gt;
|15552||16576||35840||369||73||57&lt;br /&gt;
|-&lt;br /&gt;
|15488||16448||35264||368||76||56&lt;br /&gt;
|-&lt;br /&gt;
|15488||16576||35776||372||72||54&lt;br /&gt;
|-&lt;br /&gt;
|15680||16704||35008||363||73||53&lt;br /&gt;
|-&lt;br /&gt;
|15888||16512||35136||362||75||27&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Media:&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Butiá (mesa): 16070.8&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Luz (Superficie gris matte): 16472.8&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Butiá (ambiente): 35575.2&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Butiá (lamparita): 385.8&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Lego (sensor): 73.7&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Lego (mesa): 55.1&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Desviación:&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Butiá (mesa): 499.03&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Luz (Superficie gris matte): 61.38&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Butiá (ambiente): 136.4&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Butiá (lamparita): 10.86&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Lego (sensor): 0.9&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Lego (mesa): 3.5&lt;br /&gt;
&lt;br /&gt;
==Actuadores utilizados y pruebas==&lt;br /&gt;
Los actuadores utilizados en ambos kits fueron las ruedas (motores) de cada uno respectivamente.&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Butiá:&amp;lt;/b&amp;gt;&lt;br /&gt;
El kit Butiá 2.0 incluye motores de corriente continua. La velocidad de estos motores es controlada por la cantidad de corriente enviada al motor y la distancia que se traslada el robot debe ser controlada tomando en cuenta el tiempo durante el cual se le entrega corriente a los motores y la velocidad (que determina la cantidad de corriente) de los mismos. &lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Lego:&amp;lt;/b&amp;gt;&lt;br /&gt;
El kit lego incluye motores servo que permiten mayor control sobre el motor. Uno puede consultar a cada momento la posición del motor y al iniciar los motores se puede indicar tanto la potencia como la cantidad de rotaciones que se quiere que del mismo. Esto último brinda una manipulación mucho más precisa del movimiento lo que puede resultar muy útil.&lt;br /&gt;
&lt;br /&gt;
==Conclusiones==&lt;br /&gt;
&lt;br /&gt;
===Generales===&lt;br /&gt;
&lt;br /&gt;
Pudimos concluir con esta experiencia, que aunque algunos sensores pueden ser más elaborados que otros, todos tienen cierto margen de error que es importante considerar para la implementación de la lógica del robot. Pudimos apreciar las distintas ventajas y desventajas de ambos kits, pero no se puede elegir uno sobre el otro, creemos que cualquiera de ellos son grandes herramientas de aprendizaje y el usarlos es conjunto para un mismo fin potencia su uso. &lt;br /&gt;
&lt;br /&gt;
===Comparación de los dos Kits (Ventajas y Desventajas de cada uno)===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
A primera vista, una diferencia importante es el tamaño de cada kit. El butia al ser pensado para poder trabajar con las ceibal XO de forma autónoma requiere ser de mayor tamaño. Esto puede verse como una desventaja frente al kit lego, pero es un punto a favor, pensándolo desde el punto de vista de niños que quieren ¿customizar? a la hora de agregar piezas, el tiene una superficie mayor con peso es una ventaja.  Una gran ventaja del Butiá es su característica de ser opensource, por lo que se le pueden agregar una gran cantidad de sensores creados por uno mismo y no se esta limitado al catálogo del fabricante.&lt;br /&gt;
&lt;br /&gt;
Otras diferencias entre ambos kits es el de los tipos de motores utilizados en cada uno. Los motores de corriente continua (Butia) son menos precisos frente a los tipo servo (Lego), pero logran una mayor velocidad. Los sensores de distancia también presentan diferencias. En el kit lego, con un sensor a base de ultrasonido se logra una mayor precisión, pero pierde cuando hay otros objetos en la periferia, en cambio en el kit Butia, el sensor tiene menos precisión, pero asegura el sensar el objeto que tiene delante.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;/div&gt;</summary>
		<author><name>Camila.serena</name></author>	</entry>

	<entry>
		<id>http://www.fing.edu.uy/inco/proyectos/butia/mediawiki/index.php?title=Grupo_10&amp;diff=6865</id>
		<title>Grupo 10</title>
		<link rel="alternate" type="text/html" href="http://www.fing.edu.uy/inco/proyectos/butia/mediawiki/index.php?title=Grupo_10&amp;diff=6865"/>
				<updated>2015-04-19T01:20:26Z</updated>
		
		<summary type="html">&lt;p&gt;Camila.serena: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&lt;br /&gt;
== Integrantes ==&lt;br /&gt;
 &lt;br /&gt;
* Camila Serena&lt;br /&gt;
* Gonzalo Herrera&lt;br /&gt;
* Josefina Fasoli&lt;br /&gt;
* Vanessa Revetria&lt;br /&gt;
&lt;br /&gt;
==Desarrollo de la actividad==&lt;br /&gt;
&lt;br /&gt;
Durante la primera parte del desarrollo de esta actividad nos dedicamos a tomar mediciones de los distintos sensores del kit butiá y del kit lego.&lt;br /&gt;
&lt;br /&gt;
==Sensores utilizados y pruebas==&lt;br /&gt;
&lt;br /&gt;
Se realizaron dos tipos de pruebas sobre ambos kits. El primer tipo consistió en la medición de los rangos de trabajo de los distintos sensores. El segundo trató de tomar un conjunto de mediciones en el mismo estado y calcular con los mismos, el margen de error (media y desviación estándar) con el que trabajan los sensores.&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
*&amp;lt;i&amp;gt;Botón&amp;lt;/i&amp;gt;&lt;br /&gt;
En ambos kits el sensor de botón funcionaba devolviendo 0 cuando no se encontraba presionado y 1 o max_int (65535) cuando si lo estaba, en lego y butiá respectivamente.&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
*&amp;lt;i&amp;gt;Escala de grises&amp;lt;/i&amp;gt;&lt;br /&gt;
Butiá: El sensor de escala de grises del kit butiá determina (según la superficie a la que se está apuntando) la cantidad de blanco y negro. Da un valor que indica esta valor en una escala de grises entre 0 y 65535.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
! Escala de grises &lt;br /&gt;
|-&lt;br /&gt;
|55744&lt;br /&gt;
|-&lt;br /&gt;
|51648&lt;br /&gt;
|-&lt;br /&gt;
|51648&lt;br /&gt;
|-&lt;br /&gt;
|51776&lt;br /&gt;
|-&lt;br /&gt;
|51648&lt;br /&gt;
|-&lt;br /&gt;
|51648&lt;br /&gt;
|-&lt;br /&gt;
|51904&lt;br /&gt;
|-&lt;br /&gt;
|51776&lt;br /&gt;
|-&lt;br /&gt;
|51904&lt;br /&gt;
|-&lt;br /&gt;
|51904&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Media: 52160&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Desviación estándar: 421.42&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Lego: No contábamos con este tipo de sensor.&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
*&amp;lt;i&amp;gt;Distancia&amp;lt;/i&amp;gt;&lt;br /&gt;
Butiá: El sensor de distancia del kit Butiá consiste en un sensor de doble cámara infrarroja que permite percibir objetos y calcular la distancia en base a las mismas. Dado que funciona con cámaras la iluminación puede afectar la distancia y no resulta ser tan preciso en distancia aunque garantiza que el objeto sensado se encuentra frente al sensor.&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Lego: El sensor de distancia del kit lego funciona en base a ultrasonido. Suele ser más preciso que el sensor butiá en lo que refiere a distancias y no depende de luz para funcionar. Sin embargo tiene la desventaja de que percibe los objetos enviado señales en forma de &amp;quot;cono&amp;quot; por lo que puede percibir objetos que no estén directamente delante del sensor y dar una falsa impresión de la detección de un obstáculo.&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Distancia Butiá  &lt;br /&gt;
! Distancia Lego  &lt;br /&gt;
(al piso)&lt;br /&gt;
!Distancia Lego &lt;br /&gt;
(medición del sensor, &lt;br /&gt;
otro enfrente)&lt;br /&gt;
!Distancia Lego &lt;br /&gt;
(desde la mesa) &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|33792||73||48||83&lt;br /&gt;
|-&lt;br /&gt;
|34688||73||48||83&lt;br /&gt;
|-&lt;br /&gt;
|34304||73||48||83&lt;br /&gt;
|-&lt;br /&gt;
|34624||73||48||83&lt;br /&gt;
|-&lt;br /&gt;
|34880||73||48||83&lt;br /&gt;
|-&lt;br /&gt;
|34816||73||48||83&lt;br /&gt;
|-&lt;br /&gt;
|35136||73||48||83&lt;br /&gt;
|-&lt;br /&gt;
|34816||73||48||83&lt;br /&gt;
|-&lt;br /&gt;
|34944||73||48||83&lt;br /&gt;
|-&lt;br /&gt;
|35072||73||48||83&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Media:&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Butia: 34707.2&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Lego: 0&lt;br /&gt;
Desviación estándar:&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Butiá: 133.06&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Lego: 0&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
*&amp;lt;i&amp;gt;Sonido&amp;lt;/i&amp;gt;&lt;br /&gt;
Lego: El sensor de sonido del kit lego permite captar los decibeles del ambiente y usarlos como input para el funcionamiento del robot. &lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Butia: Para el kit Butia no contábamos con un sensor separado para el sonido, pero se puede utilizar el micrófono de la computadora usada para el control del robot, para obtener mediciones (sonido, volumen frecuencia) del entorno. El rango de valores devuelto va de 0 a 100.&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Sensor de sonido &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
|-&lt;br /&gt;
|188&lt;br /&gt;
|-&lt;br /&gt;
|161&lt;br /&gt;
|-&lt;br /&gt;
|314&lt;br /&gt;
|-&lt;br /&gt;
|175&lt;br /&gt;
|-&lt;br /&gt;
|113&lt;br /&gt;
|-&lt;br /&gt;
|223&lt;br /&gt;
|-&lt;br /&gt;
|311&lt;br /&gt;
|-&lt;br /&gt;
|226&lt;br /&gt;
|-&lt;br /&gt;
|84&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
*&amp;lt;i&amp;gt;Luz&amp;lt;/i&amp;gt;&lt;br /&gt;
Butia: El sensor de luz del kit butiá permite obtener información de la iluminación del ambiente en el que se está desempeñando el robot. Devuelve valores entre 0 y 65535. &lt;br /&gt;
&lt;br /&gt;
Esto capaz va explicado en las tablas de valores?????//Con este sensor, se tomó  nota de distintos valores al ser apuntado a las distintas superficies, comenzamos apuntando a la mesa de trabajo (corta distancia), que es una superficie barnizada y los valores rondaron entre 15480-15650, luego tomamos los valores sobre una superficie matte, con misma luz de ambiente dando un rango entre 16440-16680. Al sensar la luz ambiente (sensor en el aire, ninguna superficie cerca) los valores dados fueron entre 35400-35780.&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Lego: El sensor de luz del kit Lego distingue entre luz y oscuridad además de poder determinar la intensidad de la luz del lugar o de diferentes colores.&lt;br /&gt;
&amp;lt;br/&amp;gt;{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Luz Butiá &lt;br /&gt;
(orientado a &lt;br /&gt;
la mesa varnizada)&lt;br /&gt;
!Luz Butiá (Superficie gris matte)  &lt;br /&gt;
!Luz Butiá  &lt;br /&gt;
(luz ambiente)&lt;br /&gt;
!Luz Butiá (lamparita) &lt;br /&gt;
!Luz Lego &lt;br /&gt;
(medición del sensor,  &lt;br /&gt;
otro enfrente)&lt;br /&gt;
!Luz Lego &lt;br /&gt;
(medición desde la mesa)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|20304||16000||36416||469||79||60&lt;br /&gt;
|-&lt;br /&gt;
|15488||16440||35392||406||69||59&lt;br /&gt;
|-&lt;br /&gt;
|15616||16512||35496||401||72||62&lt;br /&gt;
|-&lt;br /&gt;
|15424||16448||35712||372||73||63&lt;br /&gt;
|-&lt;br /&gt;
|15680||16512||35712||376||75||60&lt;br /&gt;
|-&lt;br /&gt;
|15552||16576||35840||369||73||57&lt;br /&gt;
|-&lt;br /&gt;
|15488||16448||35264||368||76||56&lt;br /&gt;
|-&lt;br /&gt;
|15488||16576||35776||372||72||54&lt;br /&gt;
|-&lt;br /&gt;
|15680||16704||35008||363||73||53&lt;br /&gt;
|-&lt;br /&gt;
|15888||16512||35136||362||75||27&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Media:&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Butiá (mesa): 16070.8&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Butiá (ambiente): 35575.2&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Butiá (lamparita): 385.8&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Lego (sensor): 73.7&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Lego (mesa): 55.1&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Desviación:&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Butiá (mesa): 499.03&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Butiá (ambiente): 136.4&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Butiá (lamparita): 10.86&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Lego (sensor): 0.9&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Lego (mesa): 3.5&lt;br /&gt;
&lt;br /&gt;
==Actuadores utilizados y pruebas==&lt;br /&gt;
Los actuadores utilizados en ambos kits fueron las ruedas (motores) de cada uno respectivamente.&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Butiá:&amp;lt;/b&amp;gt;&lt;br /&gt;
El kit Butiá 2.0 incluye motores de corriente continua. La velocidad de estos motores es controlada por la cantidad de corriente enviada al motor y la distancia que se traslada el robot debe ser controlada tomando en cuenta el tiempo durante el cual se le entrega corriente a los motores y la velocidad (que determina la cantidad de corriente) de los mismos. &lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Lego:&amp;lt;/b&amp;gt;&lt;br /&gt;
El kit lego incluye motores servo que permiten mayor control sobre el motor. Uno puede consultar a cada momento la posición del motor y al iniciar los motores se puede indicar tanto la potencia como la cantidad de rotaciones que se quiere que del mismo. Esto último brinda una manipulación mucho más precisa del movimiento lo que puede resultar muy útil.&lt;br /&gt;
&lt;br /&gt;
==Conclusiones==&lt;br /&gt;
&lt;br /&gt;
===Generales===&lt;br /&gt;
&lt;br /&gt;
Pudimos concluir con esta experiencia, que aunque algunos sensores pueden ser más elaborados que otros, todos tienen cierto margen de error que es importante considerar para la implementación de la lógica del robot. Pudimos apreciar las distintas ventajas y desventajas de ambos kits, pero no se puede elegir uno sobre el otro, creemos que cualquiera de ellos son grandes herramientas de aprendizaje y el usarlos es conjunto para un mismo fin potencia su uso. &lt;br /&gt;
&lt;br /&gt;
===Comparación de los dos Kits (Ventajas y Desventajas de cada uno)===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
A primera vista, una diferencia importante es el tamaño de cada kit. El butia al ser pensado para poder trabajar con las ceibal XO de forma autónoma requiere ser de mayor tamaño. Esto puede verse como una desventaja frente al kit lego, pero es un punto a favor, pensándolo desde el punto de vista de niños que quieren ¿customizar? a la hora de agregar piezas, el tiene una superficie mayor con peso es una ventaja.  Una gran ventaja del Butiá es su característica de ser opensource, por lo que se le pueden agregar una gran cantidad de sensores creados por uno mismo y no se esta limitado al catálogo del fabricante.&lt;br /&gt;
&lt;br /&gt;
Otras diferencias entre ambos kits es el de los tipos de motores utilizados en cada uno. Los motores de corriente continua (Butia) son menos precisos frente a los tipo servo (Lego), pero logran una mayor velocidad. Los sensores de distancia también presentan diferencias. En el kit lego, con un sensor a base de ultrasonido se logra una mayor precisión, pero pierde cuando hay otros objetos en la periferia, en cambio en el kit Butia, el sensor tiene menos precisión, pero asegura el sensar el objeto que tiene delante.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;/div&gt;</summary>
		<author><name>Camila.serena</name></author>	</entry>

	<entry>
		<id>http://www.fing.edu.uy/inco/proyectos/butia/mediawiki/index.php?title=Grupo_10&amp;diff=6864</id>
		<title>Grupo 10</title>
		<link rel="alternate" type="text/html" href="http://www.fing.edu.uy/inco/proyectos/butia/mediawiki/index.php?title=Grupo_10&amp;diff=6864"/>
				<updated>2015-04-19T01:20:08Z</updated>
		
		<summary type="html">&lt;p&gt;Camila.serena: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&lt;br /&gt;
== Integrantes ==&lt;br /&gt;
 &lt;br /&gt;
* Camila Serena&lt;br /&gt;
* Gonzalo Herrera&lt;br /&gt;
* Josefina Fasoli&lt;br /&gt;
* Vanessa Revetria&lt;br /&gt;
&lt;br /&gt;
==Desarrollo de la actividad==&lt;br /&gt;
&lt;br /&gt;
Durante la primera parte del desarrollo de esta actividad nos dedicamos a tomar mediciones de los distintos sensores del kit butiá y del kit lego.&lt;br /&gt;
&lt;br /&gt;
==Sensores utilizados y pruebas==&lt;br /&gt;
&lt;br /&gt;
Se realizaron dos tipos de pruebas sobre ambos kits. El primer tipo consistió en la medición de los rangos de trabajo de los distintos sensores. El segundo trató de tomar un conjunto de mediciones en el mismo estado y calcular con los mismos, el margen de error (media y desviación estándar) con el que trabajan los sensores.&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
*&amp;lt;i&amp;gt;Botón&amp;lt;/i&amp;gt;&lt;br /&gt;
En ambos kits el sensor de botón funcionaba devolviendo 0 cuando no se encontraba presionado y 1 o max_int (65535) cuando si lo estaba, en lego y butiá respectivamente.&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
*&amp;lt;i&amp;gt;Escala de grises&amp;lt;/i&amp;gt;&lt;br /&gt;
Butiá: El sensor de escala de grises del kit butiá determina (según la superficie a la que se está apuntando) la cantidad de blanco y negro. Da un valor que indica esta valor en una escala de grises entre 0 y 65535.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
! Escala de grises &lt;br /&gt;
|-&lt;br /&gt;
|55744&lt;br /&gt;
|-&lt;br /&gt;
|51648&lt;br /&gt;
|-&lt;br /&gt;
|51648&lt;br /&gt;
|-&lt;br /&gt;
|51776&lt;br /&gt;
|-&lt;br /&gt;
|51648&lt;br /&gt;
|-&lt;br /&gt;
|51648&lt;br /&gt;
|-&lt;br /&gt;
|51904&lt;br /&gt;
|-&lt;br /&gt;
|51776&lt;br /&gt;
|-&lt;br /&gt;
|51904&lt;br /&gt;
|-&lt;br /&gt;
|51904&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Media: 52160&lt;br /&gt;
Desviación estándar: 421.42&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Lego: No contábamos con este tipo de sensor.&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
*&amp;lt;i&amp;gt;Distancia&amp;lt;/i&amp;gt;&lt;br /&gt;
Butiá: El sensor de distancia del kit Butiá consiste en un sensor de doble cámara infrarroja que permite percibir objetos y calcular la distancia en base a las mismas. Dado que funciona con cámaras la iluminación puede afectar la distancia y no resulta ser tan preciso en distancia aunque garantiza que el objeto sensado se encuentra frente al sensor.&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Lego: El sensor de distancia del kit lego funciona en base a ultrasonido. Suele ser más preciso que el sensor butiá en lo que refiere a distancias y no depende de luz para funcionar. Sin embargo tiene la desventaja de que percibe los objetos enviado señales en forma de &amp;quot;cono&amp;quot; por lo que puede percibir objetos que no estén directamente delante del sensor y dar una falsa impresión de la detección de un obstáculo.&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Distancia Butiá  &lt;br /&gt;
! Distancia Lego  &lt;br /&gt;
(al piso)&lt;br /&gt;
!Distancia Lego &lt;br /&gt;
(medición del sensor, &lt;br /&gt;
otro enfrente)&lt;br /&gt;
!Distancia Lego &lt;br /&gt;
(desde la mesa) &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|33792||73||48||83&lt;br /&gt;
|-&lt;br /&gt;
|34688||73||48||83&lt;br /&gt;
|-&lt;br /&gt;
|34304||73||48||83&lt;br /&gt;
|-&lt;br /&gt;
|34624||73||48||83&lt;br /&gt;
|-&lt;br /&gt;
|34880||73||48||83&lt;br /&gt;
|-&lt;br /&gt;
|34816||73||48||83&lt;br /&gt;
|-&lt;br /&gt;
|35136||73||48||83&lt;br /&gt;
|-&lt;br /&gt;
|34816||73||48||83&lt;br /&gt;
|-&lt;br /&gt;
|34944||73||48||83&lt;br /&gt;
|-&lt;br /&gt;
|35072||73||48||83&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Media:&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Butia: 34707.2&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Lego: 0&lt;br /&gt;
Desviación estándar:&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Butiá: 133.06&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Lego: 0&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
*&amp;lt;i&amp;gt;Sonido&amp;lt;/i&amp;gt;&lt;br /&gt;
Lego: El sensor de sonido del kit lego permite captar los decibeles del ambiente y usarlos como input para el funcionamiento del robot. &lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Butia: Para el kit Butia no contábamos con un sensor separado para el sonido, pero se puede utilizar el micrófono de la computadora usada para el control del robot, para obtener mediciones (sonido, volumen frecuencia) del entorno. El rango de valores devuelto va de 0 a 100.&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Sensor de sonido &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
|-&lt;br /&gt;
|188&lt;br /&gt;
|-&lt;br /&gt;
|161&lt;br /&gt;
|-&lt;br /&gt;
|314&lt;br /&gt;
|-&lt;br /&gt;
|175&lt;br /&gt;
|-&lt;br /&gt;
|113&lt;br /&gt;
|-&lt;br /&gt;
|223&lt;br /&gt;
|-&lt;br /&gt;
|311&lt;br /&gt;
|-&lt;br /&gt;
|226&lt;br /&gt;
|-&lt;br /&gt;
|84&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
*&amp;lt;i&amp;gt;Luz&amp;lt;/i&amp;gt;&lt;br /&gt;
Butia: El sensor de luz del kit butiá permite obtener información de la iluminación del ambiente en el que se está desempeñando el robot. Devuelve valores entre 0 y 65535. &lt;br /&gt;
&lt;br /&gt;
Esto capaz va explicado en las tablas de valores?????//Con este sensor, se tomó  nota de distintos valores al ser apuntado a las distintas superficies, comenzamos apuntando a la mesa de trabajo (corta distancia), que es una superficie barnizada y los valores rondaron entre 15480-15650, luego tomamos los valores sobre una superficie matte, con misma luz de ambiente dando un rango entre 16440-16680. Al sensar la luz ambiente (sensor en el aire, ninguna superficie cerca) los valores dados fueron entre 35400-35780.&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Lego: El sensor de luz del kit Lego distingue entre luz y oscuridad además de poder determinar la intensidad de la luz del lugar o de diferentes colores.&lt;br /&gt;
&amp;lt;br/&amp;gt;{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Luz Butiá &lt;br /&gt;
(orientado a &lt;br /&gt;
la mesa varnizada)&lt;br /&gt;
!Luz Butiá (Superficie gris matte)  &lt;br /&gt;
!Luz Butiá  &lt;br /&gt;
(luz ambiente)&lt;br /&gt;
!Luz Butiá (lamparita) &lt;br /&gt;
!Luz Lego &lt;br /&gt;
(medición del sensor,  &lt;br /&gt;
otro enfrente)&lt;br /&gt;
!Luz Lego &lt;br /&gt;
(medición desde la mesa)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|20304||16000||36416||469||79||60&lt;br /&gt;
|-&lt;br /&gt;
|15488||16440||35392||406||69||59&lt;br /&gt;
|-&lt;br /&gt;
|15616||16512||35496||401||72||62&lt;br /&gt;
|-&lt;br /&gt;
|15424||16448||35712||372||73||63&lt;br /&gt;
|-&lt;br /&gt;
|15680||16512||35712||376||75||60&lt;br /&gt;
|-&lt;br /&gt;
|15552||16576||35840||369||73||57&lt;br /&gt;
|-&lt;br /&gt;
|15488||16448||35264||368||76||56&lt;br /&gt;
|-&lt;br /&gt;
|15488||16576||35776||372||72||54&lt;br /&gt;
|-&lt;br /&gt;
|15680||16704||35008||363||73||53&lt;br /&gt;
|-&lt;br /&gt;
|15888||16512||35136||362||75||27&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Media:&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Butiá (mesa): 16070.8&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Butiá (ambiente): 35575.2&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Butiá (lamparita): 385.8&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Lego (sensor): 73.7&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Lego (mesa): 55.1&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Desviación:&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Butiá (mesa): 499.03&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Butiá (ambiente): 136.4&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Butiá (lamparita): 10.86&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Lego (sensor): 0.9&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Lego (mesa): 3.5&lt;br /&gt;
&lt;br /&gt;
==Actuadores utilizados y pruebas==&lt;br /&gt;
Los actuadores utilizados en ambos kits fueron las ruedas (motores) de cada uno respectivamente.&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Butiá:&amp;lt;/b&amp;gt;&lt;br /&gt;
El kit Butiá 2.0 incluye motores de corriente continua. La velocidad de estos motores es controlada por la cantidad de corriente enviada al motor y la distancia que se traslada el robot debe ser controlada tomando en cuenta el tiempo durante el cual se le entrega corriente a los motores y la velocidad (que determina la cantidad de corriente) de los mismos. &lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Lego:&amp;lt;/b&amp;gt;&lt;br /&gt;
El kit lego incluye motores servo que permiten mayor control sobre el motor. Uno puede consultar a cada momento la posición del motor y al iniciar los motores se puede indicar tanto la potencia como la cantidad de rotaciones que se quiere que del mismo. Esto último brinda una manipulación mucho más precisa del movimiento lo que puede resultar muy útil.&lt;br /&gt;
&lt;br /&gt;
==Conclusiones==&lt;br /&gt;
&lt;br /&gt;
===Generales===&lt;br /&gt;
&lt;br /&gt;
Pudimos concluir con esta experiencia, que aunque algunos sensores pueden ser más elaborados que otros, todos tienen cierto margen de error que es importante considerar para la implementación de la lógica del robot. Pudimos apreciar las distintas ventajas y desventajas de ambos kits, pero no se puede elegir uno sobre el otro, creemos que cualquiera de ellos son grandes herramientas de aprendizaje y el usarlos es conjunto para un mismo fin potencia su uso. &lt;br /&gt;
&lt;br /&gt;
===Comparación de los dos Kits (Ventajas y Desventajas de cada uno)===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
A primera vista, una diferencia importante es el tamaño de cada kit. El butia al ser pensado para poder trabajar con las ceibal XO de forma autónoma requiere ser de mayor tamaño. Esto puede verse como una desventaja frente al kit lego, pero es un punto a favor, pensándolo desde el punto de vista de niños que quieren ¿customizar? a la hora de agregar piezas, el tiene una superficie mayor con peso es una ventaja.  Una gran ventaja del Butiá es su característica de ser opensource, por lo que se le pueden agregar una gran cantidad de sensores creados por uno mismo y no se esta limitado al catálogo del fabricante.&lt;br /&gt;
&lt;br /&gt;
Otras diferencias entre ambos kits es el de los tipos de motores utilizados en cada uno. Los motores de corriente continua (Butia) son menos precisos frente a los tipo servo (Lego), pero logran una mayor velocidad. Los sensores de distancia también presentan diferencias. En el kit lego, con un sensor a base de ultrasonido se logra una mayor precisión, pero pierde cuando hay otros objetos en la periferia, en cambio en el kit Butia, el sensor tiene menos precisión, pero asegura el sensar el objeto que tiene delante.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;/div&gt;</summary>
		<author><name>Camila.serena</name></author>	</entry>

	<entry>
		<id>http://www.fing.edu.uy/inco/proyectos/butia/mediawiki/index.php?title=Grupo_10&amp;diff=6863</id>
		<title>Grupo 10</title>
		<link rel="alternate" type="text/html" href="http://www.fing.edu.uy/inco/proyectos/butia/mediawiki/index.php?title=Grupo_10&amp;diff=6863"/>
				<updated>2015-04-19T01:19:05Z</updated>
		
		<summary type="html">&lt;p&gt;Camila.serena: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&lt;br /&gt;
== Integrantes ==&lt;br /&gt;
 &lt;br /&gt;
* Camila Serena&lt;br /&gt;
* Gonzalo Herrera&lt;br /&gt;
* Josefina Fasoli&lt;br /&gt;
* Vanessa Revetria&lt;br /&gt;
&lt;br /&gt;
==Desarrollo de la actividad==&lt;br /&gt;
&lt;br /&gt;
Durante la primera parte del desarrollo de esta actividad nos dedicamos a tomar mediciones de los distintos sensores del kit butiá y del kit lego.&lt;br /&gt;
&lt;br /&gt;
==Sensores utilizados y pruebas==&lt;br /&gt;
&lt;br /&gt;
Se realizaron dos tipos de pruebas sobre ambos kits. El primer tipo consistió en la medición de los rangos de trabajo de los distintos sensores. El segundo trató de tomar un conjunto de mediciones en el mismo estado y calcular con los mismos, el margen de error (media y desviación estándar) con el que trabajan los sensores.&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
*&amp;lt;i&amp;gt;Botón&amp;lt;/i&amp;gt;&lt;br /&gt;
En ambos kits el sensor de botón funcionaba devolviendo 0 cuando no se encontraba presionado y 1 o max_int (65535) cuando si lo estaba, en lego y butiá respectivamente.&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
*&amp;lt;i&amp;gt;Escala de grises&amp;lt;/i&amp;gt;&lt;br /&gt;
Butiá: El sensor de escala de grises del kit butiá determina (según la superficie a la que se está apuntando) la cantidad de blanco y negro. Da un valor que indica esta valor en una escala de grises entre 0 y 65535.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
! Escala de grises &lt;br /&gt;
(desde la mesa)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|55744&lt;br /&gt;
|-&lt;br /&gt;
|51648&lt;br /&gt;
|-&lt;br /&gt;
|51648&lt;br /&gt;
|-&lt;br /&gt;
|51776&lt;br /&gt;
|-&lt;br /&gt;
|51648&lt;br /&gt;
|-&lt;br /&gt;
|51648&lt;br /&gt;
|-&lt;br /&gt;
|51904&lt;br /&gt;
|-&lt;br /&gt;
|51776&lt;br /&gt;
|-&lt;br /&gt;
|51904&lt;br /&gt;
|-&lt;br /&gt;
|51904&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Media:&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Escala de grises (desde la mesa): 52160&lt;br /&gt;
&lt;br /&gt;
Desviación estándar:&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Escala de grises (desde la mesa): 421.42&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Lego: No contábamos con este tipo de sensor.&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
*&amp;lt;i&amp;gt;Distancia&amp;lt;/i&amp;gt;&lt;br /&gt;
Butiá: El sensor de distancia del kit Butiá consiste en un sensor de doble cámara infrarroja que permite percibir objetos y calcular la distancia en base a las mismas. Dado que funciona con cámaras la iluminación puede afectar la distancia y no resulta ser tan preciso en distancia aunque garantiza que el objeto sensado se encuentra frente al sensor.&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Lego: El sensor de distancia del kit lego funciona en base a ultrasonido. Suele ser más preciso que el sensor butiá en lo que refiere a distancias y no depende de luz para funcionar. Sin embargo tiene la desventaja de que percibe los objetos enviado señales en forma de &amp;quot;cono&amp;quot; por lo que puede percibir objetos que no estén directamente delante del sensor y dar una falsa impresión de la detección de un obstáculo.&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Distancia Butiá  &lt;br /&gt;
! Distancia Lego  &lt;br /&gt;
(al piso)&lt;br /&gt;
!Distancia Lego &lt;br /&gt;
(medición del sensor, &lt;br /&gt;
otro enfrente)&lt;br /&gt;
!Distancia Lego &lt;br /&gt;
(desde la mesa) &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|33792||73||48||83&lt;br /&gt;
|-&lt;br /&gt;
|34688||73||48||83&lt;br /&gt;
|-&lt;br /&gt;
|34304||73||48||83&lt;br /&gt;
|-&lt;br /&gt;
|34624||73||48||83&lt;br /&gt;
|-&lt;br /&gt;
|34880||73||48||83&lt;br /&gt;
|-&lt;br /&gt;
|34816||73||48||83&lt;br /&gt;
|-&lt;br /&gt;
|35136||73||48||83&lt;br /&gt;
|-&lt;br /&gt;
|34816||73||48||83&lt;br /&gt;
|-&lt;br /&gt;
|34944||73||48||83&lt;br /&gt;
|-&lt;br /&gt;
|35072||73||48||83&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Media:&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Butia: 34707.2&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Lego: 0&lt;br /&gt;
Desviación estándar:&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Butiá: 133.06&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Lego: 0&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
*&amp;lt;i&amp;gt;Sonido&amp;lt;/i&amp;gt;&lt;br /&gt;
Lego: El sensor de sonido del kit lego permite captar los decibeles del ambiente y usarlos como input para el funcionamiento del robot. &lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Butia: Para el kit Butia no contábamos con un sensor separado para el sonido, pero se puede utilizar el micrófono de la computadora usada para el control del robot, para obtener mediciones (sonido, volumen frecuencia) del entorno. El rango de valores devuelto va de 0 a 100.&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Sensor de sonido &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
|-&lt;br /&gt;
|188&lt;br /&gt;
|-&lt;br /&gt;
|161&lt;br /&gt;
|-&lt;br /&gt;
|314&lt;br /&gt;
|-&lt;br /&gt;
|175&lt;br /&gt;
|-&lt;br /&gt;
|113&lt;br /&gt;
|-&lt;br /&gt;
|223&lt;br /&gt;
|-&lt;br /&gt;
|311&lt;br /&gt;
|-&lt;br /&gt;
|226&lt;br /&gt;
|-&lt;br /&gt;
|84&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
*&amp;lt;i&amp;gt;Luz&amp;lt;/i&amp;gt;&lt;br /&gt;
Butia: El sensor de luz del kit butiá permite obtener información de la iluminación del ambiente en el que se está desempeñando el robot. Devuelve valores entre 0 y 65535. &lt;br /&gt;
&lt;br /&gt;
Esto capaz va explicado en las tablas de valores?????//Con este sensor, se tomó  nota de distintos valores al ser apuntado a las distintas superficies, comenzamos apuntando a la mesa de trabajo (corta distancia), que es una superficie barnizada y los valores rondaron entre 15480-15650, luego tomamos los valores sobre una superficie matte, con misma luz de ambiente dando un rango entre 16440-16680. Al sensar la luz ambiente (sensor en el aire, ninguna superficie cerca) los valores dados fueron entre 35400-35780.&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Lego: El sensor de luz del kit Lego distingue entre luz y oscuridad además de poder determinar la intensidad de la luz del lugar o de diferentes colores.&lt;br /&gt;
&amp;lt;br/&amp;gt;{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Luz Butiá &lt;br /&gt;
(orientado a &lt;br /&gt;
la mesa varnizada)&lt;br /&gt;
!Luz Butiá (Superficie gris matte)  &lt;br /&gt;
!Luz Butiá  &lt;br /&gt;
(luz ambiente)&lt;br /&gt;
!Luz Butiá (lamparita) &lt;br /&gt;
!Luz Lego &lt;br /&gt;
(medición del sensor,  &lt;br /&gt;
otro enfrente)&lt;br /&gt;
!Luz Lego &lt;br /&gt;
(medición desde la mesa)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|20304||16000||36416||469||79||60&lt;br /&gt;
|-&lt;br /&gt;
|15488||16440||35392||406||69||59&lt;br /&gt;
|-&lt;br /&gt;
|15616||16512||35496||401||72||62&lt;br /&gt;
|-&lt;br /&gt;
|15424||16448||35712||372||73||63&lt;br /&gt;
|-&lt;br /&gt;
|15680||16512||35712||376||75||60&lt;br /&gt;
|-&lt;br /&gt;
|15552||16576||35840||369||73||57&lt;br /&gt;
|-&lt;br /&gt;
|15488||16448||35264||368||76||56&lt;br /&gt;
|-&lt;br /&gt;
|15488||16576||35776||372||72||54&lt;br /&gt;
|-&lt;br /&gt;
|15680||16704||35008||363||73||53&lt;br /&gt;
|-&lt;br /&gt;
|15888||16512||35136||362||75||27&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Media:&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Butiá (mesa): 16070.8&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Butiá (ambiente): 35575.2&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Butiá (lamparita): 385.8&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Lego (sensor): 73.7&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Lego (mesa): 55.1&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Desviación:&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Butiá (mesa): 499.03&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Butiá (ambiente): 136.4&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Butiá (lamparita): 10.86&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Lego (sensor): 0.9&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Lego (mesa): 3.5&lt;br /&gt;
&lt;br /&gt;
==Actuadores utilizados y pruebas==&lt;br /&gt;
Los actuadores utilizados en ambos kits fueron las ruedas (motores) de cada uno respectivamente.&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Butiá:&amp;lt;/b&amp;gt;&lt;br /&gt;
El kit Butiá 2.0 incluye motores de corriente continua. La velocidad de estos motores es controlada por la cantidad de corriente enviada al motor y la distancia que se traslada el robot debe ser controlada tomando en cuenta el tiempo durante el cual se le entrega corriente a los motores y la velocidad (que determina la cantidad de corriente) de los mismos. &lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Lego:&amp;lt;/b&amp;gt;&lt;br /&gt;
El kit lego incluye motores servo que permiten mayor control sobre el motor. Uno puede consultar a cada momento la posición del motor y al iniciar los motores se puede indicar tanto la potencia como la cantidad de rotaciones que se quiere que del mismo. Esto último brinda una manipulación mucho más precisa del movimiento lo que puede resultar muy útil.&lt;br /&gt;
&lt;br /&gt;
==Conclusiones==&lt;br /&gt;
&lt;br /&gt;
===Generales===&lt;br /&gt;
&lt;br /&gt;
Pudimos concluir con esta experiencia, que aunque algunos sensores pueden ser más elaborados que otros, todos tienen cierto margen de error que es importante considerar para la implementación de la lógica del robot. Pudimos apreciar las distintas ventajas y desventajas de ambos kits, pero no se puede elegir uno sobre el otro, creemos que cualquiera de ellos son grandes herramientas de aprendizaje y el usarlos es conjunto para un mismo fin potencia su uso. &lt;br /&gt;
&lt;br /&gt;
===Comparación de los dos Kits (Ventajas y Desventajas de cada uno)===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
A primera vista, una diferencia importante es el tamaño de cada kit. El butia al ser pensado para poder trabajar con las ceibal XO de forma autónoma requiere ser de mayor tamaño. Esto puede verse como una desventaja frente al kit lego, pero es un punto a favor, pensándolo desde el punto de vista de niños que quieren ¿customizar? a la hora de agregar piezas, el tiene una superficie mayor con peso es una ventaja.  Una gran ventaja del Butiá es su característica de ser opensource, por lo que se le pueden agregar una gran cantidad de sensores creados por uno mismo y no se esta limitado al catálogo del fabricante.&lt;br /&gt;
&lt;br /&gt;
Otras diferencias entre ambos kits es el de los tipos de motores utilizados en cada uno. Los motores de corriente continua (Butia) son menos precisos frente a los tipo servo (Lego), pero logran una mayor velocidad. Los sensores de distancia también presentan diferencias. En el kit lego, con un sensor a base de ultrasonido se logra una mayor precisión, pero pierde cuando hay otros objetos en la periferia, en cambio en el kit Butia, el sensor tiene menos precisión, pero asegura el sensar el objeto que tiene delante.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;/div&gt;</summary>
		<author><name>Camila.serena</name></author>	</entry>

	<entry>
		<id>http://www.fing.edu.uy/inco/proyectos/butia/mediawiki/index.php?title=Grupo_10&amp;diff=6862</id>
		<title>Grupo 10</title>
		<link rel="alternate" type="text/html" href="http://www.fing.edu.uy/inco/proyectos/butia/mediawiki/index.php?title=Grupo_10&amp;diff=6862"/>
				<updated>2015-04-19T01:12:09Z</updated>
		
		<summary type="html">&lt;p&gt;Camila.serena: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&lt;br /&gt;
== Integrantes ==&lt;br /&gt;
 &lt;br /&gt;
* Camila Serena&lt;br /&gt;
* Gonzalo Herrera&lt;br /&gt;
* Josefina Fasoli&lt;br /&gt;
* Vanessa Revetria&lt;br /&gt;
&lt;br /&gt;
==Desarrollo de la actividad==&lt;br /&gt;
&lt;br /&gt;
Durante la primera parte del desarrollo de esta actividad nos dedicamos a tomar mediciones de los distintos sensores del kit butiá y del kit lego.&lt;br /&gt;
&lt;br /&gt;
==Sensores utilizados y pruebas==&lt;br /&gt;
&lt;br /&gt;
Se realizaron dos tipos de pruebas sobre ambos kits. El primer tipo consistió en la medición de los rangos de trabajo de los distintos sensores. El segundo trató de tomar un conjunto de mediciones en el mismo estado y calcular con los mismos, el margen de error (media y desviación estándar) con el que trabajan los sensores.&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
*&amp;lt;i&amp;gt;Botón&amp;lt;/i&amp;gt;&lt;br /&gt;
En ambos kits el sensor de botón funcionaba devolviendo 0 cuando no se encontraba presionado y 1 o max_int (65535) cuando si lo estaba, en lego y butiá respectivamente.&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
*&amp;lt;i&amp;gt;Escala de grises&amp;lt;/i&amp;gt;&lt;br /&gt;
Butiá: El sensor de escala de grises del kit butiá determina (según la superficie a la que se está apuntando) la cantidad de blanco y negro. Da un valor que indica esta valor en una escala de grises entre 0 y 65535.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
! Escala de grises &lt;br /&gt;
(desde la mesa)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|55744&lt;br /&gt;
|-&lt;br /&gt;
|51648&lt;br /&gt;
|-&lt;br /&gt;
|51648&lt;br /&gt;
|-&lt;br /&gt;
|51776&lt;br /&gt;
|-&lt;br /&gt;
|51648&lt;br /&gt;
|-&lt;br /&gt;
|51648&lt;br /&gt;
|-&lt;br /&gt;
|51904&lt;br /&gt;
|-&lt;br /&gt;
|51776&lt;br /&gt;
|-&lt;br /&gt;
|51904&lt;br /&gt;
|-&lt;br /&gt;
|51904&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Media:&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Escala de grises: 16472.8&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Escala de grises (desde la mesa): 52160&lt;br /&gt;
&lt;br /&gt;
Desviación estándar:&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Escala de grises: 61.38&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Escala de grises (desde la mesa): 421.42&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Lego: No contábamos con este tipo de sensor.&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
*&amp;lt;i&amp;gt;Distancia&amp;lt;/i&amp;gt;&lt;br /&gt;
Butiá: El sensor de distancia del kit Butiá consiste en un sensor de doble cámara infrarroja que permite percibir objetos y calcular la distancia en base a las mismas. Dado que funciona con cámaras la iluminación puede afectar la distancia y no resulta ser tan preciso en distancia aunque garantiza que el objeto sensado se encuentra frente al sensor.&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Lego: El sensor de distancia del kit lego funciona en base a ultrasonido. Suele ser más preciso que el sensor butiá en lo que refiere a distancias y no depende de luz para funcionar. Sin embargo tiene la desventaja de que percibe los objetos enviado señales en forma de &amp;quot;cono&amp;quot; por lo que puede percibir objetos que no estén directamente delante del sensor y dar una falsa impresión de la detección de un obstáculo.&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Distancia Butiá  &lt;br /&gt;
! Distancia Lego  &lt;br /&gt;
(al piso)&lt;br /&gt;
!Distancia Lego &lt;br /&gt;
(medición del sensor, &lt;br /&gt;
otro enfrente)&lt;br /&gt;
!Distancia Lego &lt;br /&gt;
(desde la mesa) &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|33792||73||48||83&lt;br /&gt;
|-&lt;br /&gt;
|34688||73||48||83&lt;br /&gt;
|-&lt;br /&gt;
|34304||73||48||83&lt;br /&gt;
|-&lt;br /&gt;
|34624||73||48||83&lt;br /&gt;
|-&lt;br /&gt;
|34880||73||48||83&lt;br /&gt;
|-&lt;br /&gt;
|34816||73||48||83&lt;br /&gt;
|-&lt;br /&gt;
|35136||73||48||83&lt;br /&gt;
|-&lt;br /&gt;
|34816||73||48||83&lt;br /&gt;
|-&lt;br /&gt;
|34944||73||48||83&lt;br /&gt;
|-&lt;br /&gt;
|35072||73||48||83&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Media:&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Butia: 34707.2&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Lego: 0&lt;br /&gt;
Desviación estándar:&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Butiá: 133.06&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Lego: 0&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
*&amp;lt;i&amp;gt;Sonido&amp;lt;/i&amp;gt;&lt;br /&gt;
Lego: El sensor de sonido del kit lego permite captar los decibeles del ambiente y usarlos como input para el funcionamiento del robot. &lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Butia: Para el kit Butia no contábamos con un sensor separado para el sonido, pero se puede utilizar el micrófono de la computadora usada para el control del robot, para obtener mediciones (sonido, volumen frecuencia) del entorno. El rango de valores devuelto va de 0 a 100.&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Sensor de sonido &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
|-&lt;br /&gt;
|188&lt;br /&gt;
|-&lt;br /&gt;
|161&lt;br /&gt;
|-&lt;br /&gt;
|314&lt;br /&gt;
|-&lt;br /&gt;
|175&lt;br /&gt;
|-&lt;br /&gt;
|113&lt;br /&gt;
|-&lt;br /&gt;
|223&lt;br /&gt;
|-&lt;br /&gt;
|311&lt;br /&gt;
|-&lt;br /&gt;
|226&lt;br /&gt;
|-&lt;br /&gt;
|84&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
*&amp;lt;i&amp;gt;Luz&amp;lt;/i&amp;gt;&lt;br /&gt;
Butia: El sensor de luz del kit butiá permite obtener información de la iluminación del ambiente en el que se está desempeñando el robot. Devuelve valores entre 0 y 65535. &lt;br /&gt;
&lt;br /&gt;
Esto capaz va explicado en las tablas de valores?????//Con este sensor, se tomó  nota de distintos valores al ser apuntado a las distintas superficies, comenzamos apuntando a la mesa de trabajo (corta distancia), que es una superficie barnizada y los valores rondaron entre 15480-15650, luego tomamos los valores sobre una superficie matte, con misma luz de ambiente dando un rango entre 16440-16680. Al sensar la luz ambiente (sensor en el aire, ninguna superficie cerca) los valores dados fueron entre 35400-35780.&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Lego: El sensor de luz del kit Lego distingue entre luz y oscuridad además de poder determinar la intensidad de la luz del lugar o de diferentes colores.&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Luz Butiá &lt;br /&gt;
(orientado a &lt;br /&gt;
la mesa)  &lt;br /&gt;
! Luz Butiá  &lt;br /&gt;
(luz ambiente)&lt;br /&gt;
!Luz Butiá (lamparita) &lt;br /&gt;
!Luz Lego &lt;br /&gt;
(medición del sensor,  &lt;br /&gt;
otro enfrente)&lt;br /&gt;
!Luz Lego &lt;br /&gt;
(medición desde la mesa)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|20304||36416||469||79||60&lt;br /&gt;
|-&lt;br /&gt;
|15488||35392||406||69||59&lt;br /&gt;
|-&lt;br /&gt;
|15616||35496||401||72||62&lt;br /&gt;
|-&lt;br /&gt;
|15424||35712||372||73||63&lt;br /&gt;
|-&lt;br /&gt;
|15680||35712||376||75||60&lt;br /&gt;
|-&lt;br /&gt;
|15552||35840||369||73||57&lt;br /&gt;
|-&lt;br /&gt;
|15488||35264||368||76||56&lt;br /&gt;
|-&lt;br /&gt;
|15488||35776||372||72||54&lt;br /&gt;
|-&lt;br /&gt;
|15680||35008||363||73||53&lt;br /&gt;
|-&lt;br /&gt;
|15888||35136||362||75||27&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Media:&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Butiá (mesa): 16070.8&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Butiá (ambiente): 35575.2&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Butiá (lamparita): 385.8&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Lego (sensor): 73.7&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Lego (mesa): 55.1&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Desviación:&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Butiá (mesa): 499.03&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Butiá (ambiente): 136.4&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Butiá (lamparita): 10.86&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Lego (sensor): 0.9&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Lego (mesa): 3.5&lt;br /&gt;
&lt;br /&gt;
==Actuadores utilizados y pruebas==&lt;br /&gt;
Los actuadores utilizados en ambos kits fueron las ruedas (motores) de cada uno respectivamente.&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Butiá:&amp;lt;/b&amp;gt;&lt;br /&gt;
El kit Butiá 2.0 incluye motores de corriente continua. La velocidad de estos motores es controlada por la cantidad de corriente enviada al motor y la distancia que se traslada el robot debe ser controlada tomando en cuenta el tiempo durante el cual se le entrega corriente a los motores y la velocidad (que determina la cantidad de corriente) de los mismos. &lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Lego:&amp;lt;/b&amp;gt;&lt;br /&gt;
El kit lego incluye motores servo que permiten mayor control sobre el motor. Uno puede consultar a cada momento la posición del motor y al iniciar los motores se puede indicar tanto la potencia como la cantidad de rotaciones que se quiere que del mismo. Esto último brinda una manipulación mucho más precisa del movimiento lo que puede resultar muy útil.&lt;br /&gt;
&lt;br /&gt;
==Conclusiones==&lt;br /&gt;
&lt;br /&gt;
===Generales===&lt;br /&gt;
&lt;br /&gt;
Pudimos concluir con esta experiencia, que aunque algunos sensores pueden ser más elaborados que otros, todos tienen cierto margen de error que es importante considerar para la implementación de la lógica del robot. Pudimos apreciar las distintas ventajas y desventajas de ambos kits, pero no se puede elegir uno sobre el otro, creemos que cualquiera de ellos son grandes herramientas de aprendizaje y el usarlos es conjunto para un mismo fin potencia su uso. &lt;br /&gt;
&lt;br /&gt;
===Comparación de los dos Kits (Ventajas y Desventajas de cada uno)===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
A primera vista, una diferencia importante es el tamaño de cada kit. El butia al ser pensado para poder trabajar con las ceibal XO de forma autónoma requiere ser de mayor tamaño. Esto puede verse como una desventaja frente al kit lego, pero es un punto a favor, pensándolo desde el punto de vista de niños que quieren ¿customizar? a la hora de agregar piezas, el tiene una superficie mayor con peso es una ventaja.  Una gran ventaja del Butiá es su característica de ser opensource, por lo que se le pueden agregar una gran cantidad de sensores creados por uno mismo y no se esta limitado al catálogo del fabricante.&lt;br /&gt;
&lt;br /&gt;
Otras diferencias entre ambos kits es el de los tipos de motores utilizados en cada uno. Los motores de corriente continua (Butia) son menos precisos frente a los tipo servo (Lego), pero logran una mayor velocidad. Los sensores de distancia también presentan diferencias. En el kit lego, con un sensor a base de ultrasonido se logra una mayor precisión, pero pierde cuando hay otros objetos en la periferia, en cambio en el kit Butia, el sensor tiene menos precisión, pero asegura el sensar el objeto que tiene delante.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;/div&gt;</summary>
		<author><name>Camila.serena</name></author>	</entry>

	<entry>
		<id>http://www.fing.edu.uy/inco/proyectos/butia/mediawiki/index.php?title=Grupo_10&amp;diff=6861</id>
		<title>Grupo 10</title>
		<link rel="alternate" type="text/html" href="http://www.fing.edu.uy/inco/proyectos/butia/mediawiki/index.php?title=Grupo_10&amp;diff=6861"/>
				<updated>2015-04-19T01:06:16Z</updated>
		
		<summary type="html">&lt;p&gt;Camila.serena: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&lt;br /&gt;
== Integrantes ==&lt;br /&gt;
 &lt;br /&gt;
* Camila Serena&lt;br /&gt;
* Gonzalo Herrera&lt;br /&gt;
* Josefina Fasoli&lt;br /&gt;
* Vanessa Revetria&lt;br /&gt;
&lt;br /&gt;
==Desarrollo de la actividad==&lt;br /&gt;
&lt;br /&gt;
Durante la primera parte del desarrollo de esta actividad nos dedicamos a tomar mediciones de los distintos sensores del kit butiá y del kit lego.&lt;br /&gt;
&lt;br /&gt;
==Sensores utilizados y pruebas==&lt;br /&gt;
&lt;br /&gt;
Se realizaron dos tipos de pruebas sobre ambos kits. El primer tipo consistió en la medición de los rangos de trabajo de los distintos sensores. El segundo trató de tomar un conjunto de mediciones en el mismo estado y calcular con los mismos, el margen de error (media y desviación estándar) con el que trabajan los sensores.&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
*&amp;lt;i&amp;gt;Botón&amp;lt;/i&amp;gt;&lt;br /&gt;
En ambos kits el sensor de botón funcionaba devolviendo 0 cuando no se encontraba presionado y 1 o max_int (65535) cuando si lo estaba, en lego y butiá respectivamente.&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
*&amp;lt;i&amp;gt;Escala de grises&amp;lt;/i&amp;gt;&lt;br /&gt;
Butiá: El sensor de escala de grises del kit butiá determina (según la superficie a la que se está apuntando) la cantidad de blanco y negro. Da un valor que indica esta valor en una escala de grises entre 0 y 65535.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Escala de grises &lt;br /&gt;
! Escala de grises &lt;br /&gt;
(desde la mesa)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|16000||55744&lt;br /&gt;
|-&lt;br /&gt;
|16440||51648&lt;br /&gt;
|-&lt;br /&gt;
|16512||51648&lt;br /&gt;
|-&lt;br /&gt;
|16448||51776&lt;br /&gt;
|-&lt;br /&gt;
|16512||51648&lt;br /&gt;
|-&lt;br /&gt;
|16576||51648&lt;br /&gt;
|-&lt;br /&gt;
|16448||51904&lt;br /&gt;
|-&lt;br /&gt;
|16576||51776&lt;br /&gt;
|-&lt;br /&gt;
|16704||51904&lt;br /&gt;
|-&lt;br /&gt;
|16512||51904&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Media:&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Escala de grises: 16472.8&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Escala de grises (desde la mesa): 52160&lt;br /&gt;
&lt;br /&gt;
Desviación estándar:&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Escala de grises: 61.38&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Escala de grises (desde la mesa): 421.42&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Lego: No contábamos con este tipo de sensor.&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
*&amp;lt;i&amp;gt;Distancia&amp;lt;/i&amp;gt;&lt;br /&gt;
Butiá: El sensor de distancia del kit Butiá consiste en un sensor de doble cámara infrarroja que permite percibir objetos y calcular la distancia en base a las mismas. Dado que funciona con cámaras la iluminación puede afectar la distancia y no resulta ser tan preciso en distancia aunque garantiza que el objeto sensado se encuentra frente al sensor.&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Lego: El sensor de distancia del kit lego funciona en base a ultrasonido. Suele ser más preciso que el sensor butiá en lo que refiere a distancias y no depende de luz para funcionar. Sin embargo tiene la desventaja de que percibe los objetos enviado señales en forma de &amp;quot;cono&amp;quot; por lo que puede percibir objetos que no estén directamente delante del sensor y dar una falsa impresión de la detección de un obstáculo.&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Distancia Butiá  &lt;br /&gt;
! Distancia Lego  &lt;br /&gt;
(al piso)&lt;br /&gt;
!Distancia Lego &lt;br /&gt;
(medición del sensor, &lt;br /&gt;
otro enfrente)&lt;br /&gt;
!Distancia Lego &lt;br /&gt;
(desde la mesa) &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|33792||73||48||83&lt;br /&gt;
|-&lt;br /&gt;
|34688||73||48||83&lt;br /&gt;
|-&lt;br /&gt;
|34304||73||48||83&lt;br /&gt;
|-&lt;br /&gt;
|34624||73||48||83&lt;br /&gt;
|-&lt;br /&gt;
|34880||73||48||83&lt;br /&gt;
|-&lt;br /&gt;
|34816||73||48||83&lt;br /&gt;
|-&lt;br /&gt;
|35136||73||48||83&lt;br /&gt;
|-&lt;br /&gt;
|34816||73||48||83&lt;br /&gt;
|-&lt;br /&gt;
|34944||73||48||83&lt;br /&gt;
|-&lt;br /&gt;
|35072||73||48||83&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Media:&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Butia: 34707.2&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Lego: 0&lt;br /&gt;
Desviación estándar:&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Butiá: 133.06&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Lego: 0&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
*&amp;lt;i&amp;gt;Sonido&amp;lt;/i&amp;gt;&lt;br /&gt;
Lego: El sensor de sonido del kit lego permite captar los decibeles del ambiente y usarlos como input para el funcionamiento del robot. &lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Butia: Para el kit Butia no contábamos con un sensor separado para el sonido, pero se puede utilizar el micrófono de la computadora usada para el control del robot, para obtener mediciones (sonido, volumen frecuencia) del entorno. El rango de valores devuelto va de 0 a 100.&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Sensor de sonido &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
|-&lt;br /&gt;
|188&lt;br /&gt;
|-&lt;br /&gt;
|161&lt;br /&gt;
|-&lt;br /&gt;
|314&lt;br /&gt;
|-&lt;br /&gt;
|175&lt;br /&gt;
|-&lt;br /&gt;
|113&lt;br /&gt;
|-&lt;br /&gt;
|223&lt;br /&gt;
|-&lt;br /&gt;
|311&lt;br /&gt;
|-&lt;br /&gt;
|226&lt;br /&gt;
|-&lt;br /&gt;
|84&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
*&amp;lt;i&amp;gt;Luz&amp;lt;/i&amp;gt;&lt;br /&gt;
Butia: El sensor de luz del kit butiá permite obtener información de la iluminación del ambiente en el que se está desempeñando el robot. Devuelve valores entre 0 y 65535. &lt;br /&gt;
&lt;br /&gt;
Esto capaz va explicado en las tablas de valores?????//Con este sensor, se tomó  nota de distintos valores al ser apuntado a las distintas superficies, comenzamos apuntando a la mesa de trabajo (corta distancia), que es una superficie barnizada y los valores rondaron entre 15480-15650, luego tomamos los valores sobre una superficie matte, con misma luz de ambiente dando un rango entre 16440-16680. Al sensar la luz ambiente (sensor en el aire, ninguna superficie cerca) los valores dados fueron entre 35400-35780.&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Lego: El sensor de luz del kit Lego distingue entre luz y oscuridad además de poder determinar la intensidad de la luz del lugar o de diferentes colores.&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Luz Butiá &lt;br /&gt;
(orientado a &lt;br /&gt;
la mesa)  &lt;br /&gt;
! Luz Butiá  &lt;br /&gt;
(luz ambiente)&lt;br /&gt;
!Luz Butiá (lamparita) &lt;br /&gt;
!Luz Lego &lt;br /&gt;
(medición del sensor,  &lt;br /&gt;
otro enfrente)&lt;br /&gt;
!Luz Lego &lt;br /&gt;
(medición desde la mesa)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|20304||36416||469||79||60&lt;br /&gt;
|-&lt;br /&gt;
|15488||35392||406||69||59&lt;br /&gt;
|-&lt;br /&gt;
|15616||35496||401||72||62&lt;br /&gt;
|-&lt;br /&gt;
|15424||35712||372||73||63&lt;br /&gt;
|-&lt;br /&gt;
|15680||35712||376||75||60&lt;br /&gt;
|-&lt;br /&gt;
|15552||35840||369||73||57&lt;br /&gt;
|-&lt;br /&gt;
|15488||35264||368||76||56&lt;br /&gt;
|-&lt;br /&gt;
|15488||35776||372||72||54&lt;br /&gt;
|-&lt;br /&gt;
|15680||35008||363||73||53&lt;br /&gt;
|-&lt;br /&gt;
|15888||35136||362||75||27&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Media:&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Butiá (mesa): 16070.8&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Butiá (ambiente): 35575.2&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Butiá (lamparita): 385.8&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Lego (sensor): 73.7&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Lego (mesa): 55.1&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Desviación:&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Butiá (mesa): 499.03&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Butiá (ambiente): 136.4&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Butiá (lamparita): 10.86&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Lego (sensor): 0.9&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Lego (mesa): 3.5&lt;br /&gt;
&lt;br /&gt;
==Actuadores utilizados y pruebas==&lt;br /&gt;
Los actuadores utilizados en ambos kits fueron las ruedas (motores) de cada uno respectivamente.&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Butiá:&amp;lt;/b&amp;gt;&lt;br /&gt;
El kit Butiá 2.0 incluye motores de corriente continua. La velocidad de estos motores es controlada por la cantidad de corriente enviada al motor y la distancia que se traslada el robot debe ser controlada tomando en cuenta el tiempo durante el cual se le entrega corriente a los motores y la velocidad (que determina la cantidad de corriente) de los mismos. &lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Lego:&amp;lt;/b&amp;gt;&lt;br /&gt;
El kit lego incluye motores servo que permiten mayor control sobre el motor. Uno puede consultar a cada momento la posición del motor y al iniciar los motores se puede indicar tanto la potencia como la cantidad de rotaciones que se quiere que del mismo. Esto último brinda una manipulación mucho más precisa del movimiento lo que puede resultar muy útil.&lt;br /&gt;
&lt;br /&gt;
==Conclusiones==&lt;br /&gt;
&lt;br /&gt;
===Generales===&lt;br /&gt;
&lt;br /&gt;
Pudimos concluir con esta experiencia, que aunque algunos sensores pueden ser más elaborados que otros, todos tienen cierto margen de error que es importante considerar para la implementación de la lógica del robot. Pudimos apreciar las distintas ventajas y desventajas de ambos kits, pero no se puede elegir uno sobre el otro, creemos que cualquiera de ellos son grandes herramientas de aprendizaje y el usarlos es conjunto para un mismo fin potencia su uso. &lt;br /&gt;
&lt;br /&gt;
===Comparación de los dos Kits (Ventajas y Desventajas de cada uno)===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
A primera vista, una diferencia importante es el tamaño de cada kit. El butia al ser pensado para poder trabajar con las ceibal XO de forma autónoma requiere ser de mayor tamaño. Esto puede verse como una desventaja frente al kit lego, pero es un punto a favor, pensándolo desde el punto de vista de niños que quieren ¿customizar? a la hora de agregar piezas, el tiene una superficie mayor con peso es una ventaja.  Una gran ventaja del Butiá es su característica de ser opensource, por lo que se le pueden agregar una gran cantidad de sensores creados por uno mismo y no se esta limitado al catálogo del fabricante.&lt;br /&gt;
&lt;br /&gt;
Otras diferencias entre ambos kits es el de los tipos de motores utilizados en cada uno. Los motores de corriente continua (Butia) son menos precisos frente a los tipo servo (Lego), pero logran una mayor velocidad. Los sensores de distancia también presentan diferencias. En el kit lego, con un sensor a base de ultrasonido se logra una mayor precisión, pero pierde cuando hay otros objetos en la periferia, en cambio en el kit Butia, el sensor tiene menos precisión, pero asegura el sensar el objeto que tiene delante.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;/div&gt;</summary>
		<author><name>Camila.serena</name></author>	</entry>

	<entry>
		<id>http://www.fing.edu.uy/inco/proyectos/butia/mediawiki/index.php?title=Grupo_10&amp;diff=6834</id>
		<title>Grupo 10</title>
		<link rel="alternate" type="text/html" href="http://www.fing.edu.uy/inco/proyectos/butia/mediawiki/index.php?title=Grupo_10&amp;diff=6834"/>
				<updated>2015-04-18T18:56:49Z</updated>
		
		<summary type="html">&lt;p&gt;Camila.serena: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&lt;br /&gt;
== Integrantes ==&lt;br /&gt;
 &lt;br /&gt;
* Camila Serena&lt;br /&gt;
* Gonzalo Herrera&lt;br /&gt;
* Josefina Fasoli&lt;br /&gt;
* Vanessa Revetria&lt;br /&gt;
&lt;br /&gt;
==Desarrollo de la actividad==&lt;br /&gt;
&lt;br /&gt;
Durante la primera parte del desarrollo de esta actividad nos dedicamos a tomar mediciones de los distintos sensores del kit butiá y del kit lego.&lt;br /&gt;
&lt;br /&gt;
==Sensores utilizados y pruebas==&lt;br /&gt;
&lt;br /&gt;
Se realizaron dos tipos de pruebas sobre ambos kits. El primer tipo consistió en la medición de los rangos de trabajo de los distintos sensores. El segundo trató de tomar un conjunto de mediciones en el mismo estado y calcular con los mismos, el margen de error (media y desviación estándar) con el que trabajan los sensores.&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
*&amp;lt;i&amp;gt;Botón&amp;lt;/i&amp;gt;&lt;br /&gt;
En ambos kits el sensor de botón funcionaba devolviendo 0 cuando no se encontraba presionado y 1 o max_int (65535) cuando si lo estaba en lego y butia respectivamente.&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
*&amp;lt;i&amp;gt;Escala de grises&amp;lt;/i&amp;gt;&lt;br /&gt;
Butia: El sensor de escala de grises del kit butiá determina (según la superficie a la que se está apuntando) la cantidad de blanco y negro. Da un valor que indica esta valor en una escala de grises entre 0 y 65535.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Escala de grises &lt;br /&gt;
! Escala de grises &lt;br /&gt;
(desde la mesa)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|16000||55744&lt;br /&gt;
|-&lt;br /&gt;
|16440||51648&lt;br /&gt;
|-&lt;br /&gt;
|16512||51648&lt;br /&gt;
|-&lt;br /&gt;
|16448||51776&lt;br /&gt;
|-&lt;br /&gt;
|16512||51648&lt;br /&gt;
|-&lt;br /&gt;
|16576||51648&lt;br /&gt;
|-&lt;br /&gt;
|16448||51904&lt;br /&gt;
|-&lt;br /&gt;
|16576||51776&lt;br /&gt;
|-&lt;br /&gt;
|16704||51904&lt;br /&gt;
|-&lt;br /&gt;
|16512||51904&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Lego: No contábamos con este tipo de sensor.&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
*&amp;lt;i&amp;gt;Distancia&amp;lt;/i&amp;gt;&lt;br /&gt;
Butiá: El sensor de distancia del kit Butiá consiste en un sensor de doble cámara infrarroja que permite percibir objetos y calcular la distancia en base a las mismas. Dado que funciona con cámaras la iluminación puede afectar la distancia y no resulta ser tan preciso en distancia aunque garantiza que el objeto sensado se encuentra frente al sensor.&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Lego: El sensor de distancia del kit lego funciona en base a ultrasonido. Suele ser más preciso que el sensor butiá en lo que refiere a distancias y no depende de luz para funcionar. Sin embargo tiene la desventaja de que percibe los objetos enviado señales en forma de &amp;quot;cono&amp;quot; por lo que puede percibir objetos que no estén directamente delante del sensor y dar una falsa impresión de la detección de un obstáculo.&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Distancia Butiá  &lt;br /&gt;
! Distancia Lego  &lt;br /&gt;
(al piso)&lt;br /&gt;
!Distancia Lego &lt;br /&gt;
(medición del sensor, &lt;br /&gt;
otro enfrente)&lt;br /&gt;
!Distancia Lego &lt;br /&gt;
(desde la mesa) &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|33792||73||48||150&lt;br /&gt;
|-&lt;br /&gt;
|34688||73||48||83&lt;br /&gt;
|-&lt;br /&gt;
|34304||73||48||83&lt;br /&gt;
|-&lt;br /&gt;
|34624||73||48||83&lt;br /&gt;
|-&lt;br /&gt;
|34880||73||48||83&lt;br /&gt;
|-&lt;br /&gt;
|34816||73||48||83&lt;br /&gt;
|-&lt;br /&gt;
|35136||73||48||83&lt;br /&gt;
|-&lt;br /&gt;
|34816||73||48||83&lt;br /&gt;
|-&lt;br /&gt;
|34944||73||48||83&lt;br /&gt;
|-&lt;br /&gt;
|35072||73||48||83&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
*&amp;lt;i&amp;gt;Sonido&amp;lt;/i&amp;gt;&lt;br /&gt;
Lego: El sensor de sonido del kit lego permite captar los decibeles del ambiente y usarlos como input para el funcionamiento del robot. &lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Butia: Para el kit Butia no contábamos con un sensor separado para el sonido, pero se puede utilizar el micrófono de la computadora usada para el control del robot, para obtener mediciones (sonido, volumen frecuencia) del entorno.&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Sensor de sonido &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
|-&lt;br /&gt;
|188&lt;br /&gt;
|-&lt;br /&gt;
|161&lt;br /&gt;
|-&lt;br /&gt;
|314&lt;br /&gt;
|-&lt;br /&gt;
|175&lt;br /&gt;
|-&lt;br /&gt;
|113&lt;br /&gt;
|-&lt;br /&gt;
|223&lt;br /&gt;
|-&lt;br /&gt;
|311&lt;br /&gt;
|-&lt;br /&gt;
|226&lt;br /&gt;
|-&lt;br /&gt;
|84&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
*&amp;lt;i&amp;gt;Luz&amp;lt;/i&amp;gt;&lt;br /&gt;
Butia: El sensor de luz del kit butiá permite obtener información de la iluminación del ambiente en el que se está desempeñando el robot. Devuelve valores entre 0 y max_int. &lt;br /&gt;
&lt;br /&gt;
Esto capaz va explicado en las tablas de valores?????//Con este sensor, se tomó  nota de distintos valores al ser apuntado a las distintas superficies, comenzamos apuntando a la mesa de trabajo (corta distancia), que es una superficie barnizada y los valores rondaron entre 15480-15650, luego tomamos los valores sobre una superficie matte, con misma luz de ambiente dando un rango entre 16440-16680. Al sensar la luz ambiente (sensor en el aire, ninguna superficie cerca) los valores dados fueron entre 35400-35780.&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Lego: El sensor de luz del kit Lego distingue entre luz y oscuridad además de poder determinar la intensidad de la luz del lugar o de diferentes colores. Devuelve un rango de valores entre (? lo tenemos?)&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Actuadores utilizados y pruebas==&lt;br /&gt;
Los actuadores utilizados en ambos kits fueron las ruedas (motores) de cada uno respectivamente.&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Butiá:&amp;lt;/b&amp;gt;&lt;br /&gt;
El kit Butiá 2.0 incluye motores de corriente continua. La velocidad de estos motores es controlada por la cantidad de corriente enviada al motor y la distancia que se traslada el robot debe ser controlada tomando en cuenta el tiempo durante el cual se le entrega corriente a los motores y la velocidad (que determina la cantidad de corriente) de los mismos. &lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Lego:&amp;lt;/b&amp;gt;&lt;br /&gt;
El kit lego incluye motores servo que permiten mayor control sobre el motor. Uno puede consultar a cada momento la posición del motor y al iniciar los motores se puede indicar tanto la potencia como la cantidad de rotaciones que se quiere que del mismo. Esto último brinda una manipulación mucho más precisa del movimiento lo que puede resultar muy útil.&lt;br /&gt;
&lt;br /&gt;
==Conclusiones==&lt;br /&gt;
&lt;br /&gt;
===Generales===&lt;br /&gt;
&lt;br /&gt;
Pudimos concluir con esta experiencia, que aunque algunos sensores pueden ser más elaborados que otros, todos tienen cierto margen de error que es importante considerar para la implementación de la lógica del robot. Pudimos apreciar las distintas ventajas y desventajas de ambos kits, pero no se puede elegir uno sobre el otro, creemos que cualquiera de ellos son grandes herramientas de aprendizaje y el usarlos es conjunto para un mismo fin potencia su uso. (?)&lt;br /&gt;
&lt;br /&gt;
===Comparación de los dos Kits (Ventajas y Desventajas de cada uno)===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
===Las diferencias encontradas en ambos kits::===&lt;br /&gt;
&lt;br /&gt;
A primera vista, una diferencia importante es el tamaño de cada kit. El butia al ser pensado para poder trabajar con las ceibal XO de forma autónoma requiere ser de mayor tamaño. Esto puede verse como una desventaja frente al kit lego, pero es un punto a favor, pensándolo desde el punto de vista de niños que quieren ¿customizar? a la hora de agregar piezas, el tiene una superficie mayor con peso es una ventaja. (frutas y verduras?) Una gran ventaja del Butiá es su característica de ser opensource, por lo que se le pueden agregar una gran cantidad de sensores creados por uno mismo y no se esta limitado al catálogo del fabricante. (more fruits!)&lt;br /&gt;
&lt;br /&gt;
Otras diferencias entre ambos kits es el de los tipos de motores utilizados en cada uno. Los motores de corriente continua (Butia) son menos precisos frente a los tipo servo (Lego), pero logran una mayor velocidad. Los sensores de distancia también presentan diferencias. En el kit lego, con un sensor a base de ultrasonido se logra una mayor precisión, pero pierde cuando hay otros objetos en la periferia, en cambio en el kit Butia, el sensor tiene menos precisión, pero asegura el sensar el objeto delantero.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;/div&gt;</summary>
		<author><name>Camila.serena</name></author>	</entry>

	<entry>
		<id>http://www.fing.edu.uy/inco/proyectos/butia/mediawiki/index.php?title=Grupo_laboratorio_10_2015&amp;diff=6531</id>
		<title>Grupo laboratorio 10 2015</title>
		<link rel="alternate" type="text/html" href="http://www.fing.edu.uy/inco/proyectos/butia/mediawiki/index.php?title=Grupo_laboratorio_10_2015&amp;diff=6531"/>
				<updated>2015-04-10T02:29:28Z</updated>
		
		<summary type="html">&lt;p&gt;Camila.serena: /* Integrantes */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Integrantes ==&lt;br /&gt;
&lt;br /&gt;
Camila Serena&lt;br /&gt;
&lt;br /&gt;
Gonzalo Herrera&lt;br /&gt;
&lt;br /&gt;
Josefina Fasoli&lt;br /&gt;
&lt;br /&gt;
Vanessa Revetria&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Primer Programa ==&lt;br /&gt;
Este programa permite mover a la tortuga por la pantalla utilizando las teclas 'Barra' (Adelante), 'Z' (Izquierda) y 'M' (Derecha), y según los niveles de luz captados por la cámara web, el rastro de la tortuga cambia su color. Ai se presiona la tecla 'Supr' se borra el rastro hecho y vuelve la tortuga a su posicion original.&lt;br /&gt;
&lt;br /&gt;
'''Sensores:''' Teclado, Cámara.&lt;br /&gt;
'''Actuadores:''' Pantalla.&lt;br /&gt;
&lt;br /&gt;
'''Video:''' [https://www.youtube.com/watch?v=9RgHQr50z5k]&lt;br /&gt;
&lt;br /&gt;
'''Codigo:'''[[Archivo:ejercicio1lab102015.png]]&lt;br /&gt;
&lt;br /&gt;
== Segundo Programa ==&lt;br /&gt;
Este programa capta sonidos mediante el micrófono, dibujando círculos de distintos diámetros relacionados al valor de volumen captado. &lt;br /&gt;
&lt;br /&gt;
'''Sensores:''' Micrófono.&lt;br /&gt;
'''Actuadores:''' Pantalla.&lt;br /&gt;
&lt;br /&gt;
'''Video:''' [https://www.youtube.com/watch?v=Mk7gyoGqIc8&amp;amp;feature=youtu.be]&lt;br /&gt;
&lt;br /&gt;
'''Codigo:''' [[Archivo:Ejercicio2lab102015.png]]&lt;/div&gt;</summary>
		<author><name>Camila.serena</name></author>	</entry>

	<entry>
		<id>http://www.fing.edu.uy/inco/proyectos/butia/mediawiki/index.php?title=Grupo_laboratorio_10_2015&amp;diff=6530</id>
		<title>Grupo laboratorio 10 2015</title>
		<link rel="alternate" type="text/html" href="http://www.fing.edu.uy/inco/proyectos/butia/mediawiki/index.php?title=Grupo_laboratorio_10_2015&amp;diff=6530"/>
				<updated>2015-04-10T02:28:36Z</updated>
		
		<summary type="html">&lt;p&gt;Camila.serena: /* Primer Programa */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Integrantes ==&lt;br /&gt;
&lt;br /&gt;
Camila Serena&lt;br /&gt;
&lt;br /&gt;
Gonzalo Herrera&lt;br /&gt;
&lt;br /&gt;
Josefina Fasoli&lt;br /&gt;
&lt;br /&gt;
Vanessa Revetria&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[http://www.example.com Título del enlace]== Primer Programa ==&lt;br /&gt;
Este programa permite mover a la tortuga por la pantalla utilizando las teclas 'Barra' (Adelante), 'Z' (Izquierda) y 'M' (Derecha), y según los niveles de luz captados por la cámara web, el rastro de la tortuga cambia su color. Ai se presiona la tecla 'Supr' se borra el rastro hecho y vuelve la tortuga a su posicion original.&lt;br /&gt;
&lt;br /&gt;
'''Sensores:''' Teclado, Cámara.&lt;br /&gt;
'''Actuadores:''' Pantalla.&lt;br /&gt;
&lt;br /&gt;
'''Video:''' [https://www.youtube.com/watch?v=9RgHQr50z5k]&lt;br /&gt;
&lt;br /&gt;
'''Codigo:'''[[Archivo:ejercicio1lab102015.png]]&lt;br /&gt;
&lt;br /&gt;
== Segundo Programa ==&lt;br /&gt;
Este programa capta sonidos mediante el micrófono, dibujando círculos de distintos diámetros relacionados al valor de volumen captado. &lt;br /&gt;
&lt;br /&gt;
'''Sensores:''' Micrófono.&lt;br /&gt;
'''Actuadores:''' Pantalla.&lt;br /&gt;
&lt;br /&gt;
'''Video:''' [https://www.youtube.com/watch?v=Mk7gyoGqIc8&amp;amp;feature=youtu.be]&lt;br /&gt;
&lt;br /&gt;
'''Codigo:''' [[Archivo:Ejercicio2lab102015.png]]&lt;/div&gt;</summary>
		<author><name>Camila.serena</name></author>	</entry>

	<entry>
		<id>http://www.fing.edu.uy/inco/proyectos/butia/mediawiki/index.php?title=Grupo_laboratorio_10_2015&amp;diff=6529</id>
		<title>Grupo laboratorio 10 2015</title>
		<link rel="alternate" type="text/html" href="http://www.fing.edu.uy/inco/proyectos/butia/mediawiki/index.php?title=Grupo_laboratorio_10_2015&amp;diff=6529"/>
				<updated>2015-04-10T02:13:53Z</updated>
		
		<summary type="html">&lt;p&gt;Camila.serena: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Integrantes ==&lt;br /&gt;
&lt;br /&gt;
Camila Serena&lt;br /&gt;
&lt;br /&gt;
Gonzalo Herrera&lt;br /&gt;
&lt;br /&gt;
Josefina Fasoli&lt;br /&gt;
&lt;br /&gt;
Vanessa Revetria&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Primer Programa ==&lt;br /&gt;
Este programa permite mover a la tortuga por la pantalla utilizando las teclas 'Barra' (Adelante), 'Z' (Izquierda) y 'M' (Derecha), y según los niveles de luz captados por la cámara web, el rastro de la tortuga cambia su color. Ai se presiona la tecla 'Supr' se borra el rastro hecho y vuelve la tortuga a su posicion original.&lt;br /&gt;
&lt;br /&gt;
'''Sensores:''' Teclado, Cámara.&lt;br /&gt;
'''Actuadores:''' Pantalla.&lt;br /&gt;
&lt;br /&gt;
'''Video:''' []&lt;br /&gt;
&lt;br /&gt;
'''Codigo:'''[[Archivo:ejercicio1lab102015.png]]&lt;br /&gt;
&lt;br /&gt;
== Segundo Programa ==&lt;br /&gt;
Este programa capta sonidos mediante el micrófono, dibujando círculos de distintos diámetros relacionados al valor de volumen captado. &lt;br /&gt;
&lt;br /&gt;
'''Sensores:''' Micrófono.&lt;br /&gt;
'''Actuadores:''' Pantalla.&lt;br /&gt;
&lt;br /&gt;
'''Video:''' [https://www.youtube.com/watch?v=Mk7gyoGqIc8&amp;amp;feature=youtu.be]&lt;br /&gt;
&lt;br /&gt;
'''Codigo:''' [[Archivo:Ejercicio2lab102015.png]]&lt;/div&gt;</summary>
		<author><name>Camila.serena</name></author>	</entry>

	<entry>
		<id>http://www.fing.edu.uy/inco/proyectos/butia/mediawiki/index.php?title=Archivo:Ejercicio1lab102015.png&amp;diff=6528</id>
		<title>Archivo:Ejercicio1lab102015.png</title>
		<link rel="alternate" type="text/html" href="http://www.fing.edu.uy/inco/proyectos/butia/mediawiki/index.php?title=Archivo:Ejercicio1lab102015.png&amp;diff=6528"/>
				<updated>2015-04-10T02:13:10Z</updated>
		
		<summary type="html">&lt;p&gt;Camila.serena: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Camila.serena</name></author>	</entry>

	<entry>
		<id>http://www.fing.edu.uy/inco/proyectos/butia/mediawiki/index.php?title=Grupo_laboratorio_10_2015&amp;diff=6418</id>
		<title>Grupo laboratorio 10 2015</title>
		<link rel="alternate" type="text/html" href="http://www.fing.edu.uy/inco/proyectos/butia/mediawiki/index.php?title=Grupo_laboratorio_10_2015&amp;diff=6418"/>
				<updated>2015-04-09T18:07:26Z</updated>
		
		<summary type="html">&lt;p&gt;Camila.serena: /* Primer Programa */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Integrantes ==&lt;br /&gt;
&lt;br /&gt;
Camila Serena&lt;br /&gt;
&lt;br /&gt;
Gonzalo Herrera&lt;br /&gt;
&lt;br /&gt;
Josefina Fasoli&lt;br /&gt;
&lt;br /&gt;
Vanessa Revetria&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Primer Programa ==&lt;br /&gt;
Este programa permite mover a la tortuga por la pantalla utilizando las teclas 'Barra' (Adelante), 'Z' (Izquierda) y 'M' (Derecha), y según los niveles de luz captados por la cámara web, el rastro de la tortuga cambia su color. Ai se presiona la tecla 'Supr' se borra el rastro hecho y vuelve la tortuga a su posicion original.&lt;br /&gt;
&lt;br /&gt;
'''Sensores:''' Teclado, Cámara.&lt;br /&gt;
'''Actuadores:''' Pantalla.&lt;br /&gt;
&lt;br /&gt;
'''Video:''' []&lt;br /&gt;
&lt;br /&gt;
'''Codigo:'''&lt;br /&gt;
&lt;br /&gt;
== Segundo Programa ==&lt;br /&gt;
Este programa capta sonidos mediante el micrófono, dibujando círculos de distintos diámetros relacionados al valor de volumen captado. &lt;br /&gt;
&lt;br /&gt;
'''Sensores:''' Micrófono.&lt;br /&gt;
'''Actuadores:''' Pantalla.&lt;br /&gt;
&lt;br /&gt;
'''Video:''' [https://www.youtube.com/watch?v=Mk7gyoGqIc8&amp;amp;feature=youtu.be]&lt;br /&gt;
&lt;br /&gt;
'''Codigo:''' [[Archivo:Ejercicio2lab102015.png]]&lt;/div&gt;</summary>
		<author><name>Camila.serena</name></author>	</entry>

	<entry>
		<id>http://www.fing.edu.uy/inco/proyectos/butia/mediawiki/index.php?title=Grupo_laboratorio_10_2015&amp;diff=6412</id>
		<title>Grupo laboratorio 10 2015</title>
		<link rel="alternate" type="text/html" href="http://www.fing.edu.uy/inco/proyectos/butia/mediawiki/index.php?title=Grupo_laboratorio_10_2015&amp;diff=6412"/>
				<updated>2015-04-09T14:29:50Z</updated>
		
		<summary type="html">&lt;p&gt;Camila.serena: /* Segundo Programa */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Integrantes ==&lt;br /&gt;
&lt;br /&gt;
Camila Serena&lt;br /&gt;
&lt;br /&gt;
Gonzalo Herrera&lt;br /&gt;
&lt;br /&gt;
Josefina Fasoli&lt;br /&gt;
&lt;br /&gt;
Vanessa Revetria&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Primer Programa ==&lt;br /&gt;
Este programa permite mover a la tortuga por la pantalla utilizando las teclas 'Barra' (Adelante), 'Z' (Izquierda) y 'M' (Derecha), y según los niveles de luz captados por la cámara web, el rastro de la tortuga cambia su color.&lt;br /&gt;
&lt;br /&gt;
'''Sensores:''' Teclado, Cámara.&lt;br /&gt;
'''Actuadores:''' Pantalla.&lt;br /&gt;
&lt;br /&gt;
'''Video:''' []&lt;br /&gt;
&lt;br /&gt;
'''Codigo:'''&lt;br /&gt;
&lt;br /&gt;
== Segundo Programa ==&lt;br /&gt;
Este programa capta sonidos mediante el micrófono, dibujando círculos de distintos diámetros relacionados al valor de volumen captado. &lt;br /&gt;
&lt;br /&gt;
'''Sensores:''' Micrófono.&lt;br /&gt;
'''Actuadores:''' Pantalla.&lt;br /&gt;
&lt;br /&gt;
'''Video:''' [https://www.youtube.com/watch?v=Mk7gyoGqIc8&amp;amp;feature=youtu.be]&lt;br /&gt;
&lt;br /&gt;
'''Codigo:''' [[Archivo:Ejercicio2lab102015.png]]&lt;/div&gt;</summary>
		<author><name>Camila.serena</name></author>	</entry>

	<entry>
		<id>http://www.fing.edu.uy/inco/proyectos/butia/mediawiki/index.php?title=Archivo:Ejercicio2lab102015.png&amp;diff=6411</id>
		<title>Archivo:Ejercicio2lab102015.png</title>
		<link rel="alternate" type="text/html" href="http://www.fing.edu.uy/inco/proyectos/butia/mediawiki/index.php?title=Archivo:Ejercicio2lab102015.png&amp;diff=6411"/>
				<updated>2015-04-09T14:29:14Z</updated>
		
		<summary type="html">&lt;p&gt;Camila.serena: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Camila.serena</name></author>	</entry>

	<entry>
		<id>http://www.fing.edu.uy/inco/proyectos/butia/mediawiki/index.php?title=Grupo_laboratorio_10_2015&amp;diff=6381</id>
		<title>Grupo laboratorio 10 2015</title>
		<link rel="alternate" type="text/html" href="http://www.fing.edu.uy/inco/proyectos/butia/mediawiki/index.php?title=Grupo_laboratorio_10_2015&amp;diff=6381"/>
				<updated>2015-04-09T13:48:59Z</updated>
		
		<summary type="html">&lt;p&gt;Camila.serena: /* Primer Programa */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Integrantes ==&lt;br /&gt;
&lt;br /&gt;
Camila Serena&lt;br /&gt;
&lt;br /&gt;
Gonzalo Herrera&lt;br /&gt;
&lt;br /&gt;
Josefina Fasoli&lt;br /&gt;
&lt;br /&gt;
Vanessa Revetria&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Primer Programa ==&lt;br /&gt;
Este programa permite mover a la tortuga por la pantalla utilizando las teclas 'Barra' (Adelante), 'Z' (Izquierda) y 'M' (Derecha), y según los niveles de luz captados por la cámara web, el rastro de la tortuga cambia su color.&lt;br /&gt;
&lt;br /&gt;
'''Sensores:''' Teclado, Cámara.&lt;br /&gt;
'''Actuadores:''' Pantalla.&lt;br /&gt;
&lt;br /&gt;
'''Video:''' []&lt;br /&gt;
&lt;br /&gt;
'''Codigo:'''&lt;br /&gt;
&lt;br /&gt;
== Segundo Programa ==&lt;br /&gt;
Este programa capta sonidos mediante el micrófono, dibujando círculos de distintos diámetros relacionados al valor de volumen captado. &lt;br /&gt;
&lt;br /&gt;
'''Sensores:''' Micrófono.&lt;br /&gt;
'''Actuadores:''' Pantalla.&lt;br /&gt;
&lt;br /&gt;
'''Video:''' [https://www.youtube.com/watch?v=Mk7gyoGqIc8&amp;amp;feature=youtu.be]&lt;br /&gt;
&lt;br /&gt;
'''Codigo:'''&lt;/div&gt;</summary>
		<author><name>Camila.serena</name></author>	</entry>

	<entry>
		<id>http://www.fing.edu.uy/inco/proyectos/butia/mediawiki/index.php?title=Grupo_laboratorio_10_2015&amp;diff=6380</id>
		<title>Grupo laboratorio 10 2015</title>
		<link rel="alternate" type="text/html" href="http://www.fing.edu.uy/inco/proyectos/butia/mediawiki/index.php?title=Grupo_laboratorio_10_2015&amp;diff=6380"/>
				<updated>2015-04-09T13:47:52Z</updated>
		
		<summary type="html">&lt;p&gt;Camila.serena: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Integrantes ==&lt;br /&gt;
&lt;br /&gt;
Camila Serena&lt;br /&gt;
&lt;br /&gt;
Gonzalo Herrera&lt;br /&gt;
&lt;br /&gt;
Josefina Fasoli&lt;br /&gt;
&lt;br /&gt;
Vanessa Revetria&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Primer Programa ==&lt;br /&gt;
Este programa permite mover a la tortuga por la pantalla utilizando las teclas 'Barra' (Adelante), 'Z' (Izquierda) y 'M' (Derecha), y según los niveles de luz captados por la cámara, el rastro de la tortuga cambia su color.&lt;br /&gt;
&lt;br /&gt;
'''Sensores:''' Teclado, Cámara.&lt;br /&gt;
'''Actuadores:''' Pantalla.&lt;br /&gt;
&lt;br /&gt;
'''Video:''' []&lt;br /&gt;
&lt;br /&gt;
'''Codigo:'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Segundo Programa ==&lt;br /&gt;
Este programa capta sonidos mediante el micrófono, dibujando círculos de distintos diámetros relacionados al valor de volumen captado. &lt;br /&gt;
&lt;br /&gt;
'''Sensores:''' Micrófono.&lt;br /&gt;
'''Actuadores:''' Pantalla.&lt;br /&gt;
&lt;br /&gt;
'''Video:''' [https://www.youtube.com/watch?v=Mk7gyoGqIc8&amp;amp;feature=youtu.be]&lt;br /&gt;
&lt;br /&gt;
'''Codigo:'''&lt;/div&gt;</summary>
		<author><name>Camila.serena</name></author>	</entry>

	<entry>
		<id>http://www.fing.edu.uy/inco/proyectos/butia/mediawiki/index.php?title=Grupo_laboratorio_10_2015&amp;diff=6379</id>
		<title>Grupo laboratorio 10 2015</title>
		<link rel="alternate" type="text/html" href="http://www.fing.edu.uy/inco/proyectos/butia/mediawiki/index.php?title=Grupo_laboratorio_10_2015&amp;diff=6379"/>
				<updated>2015-04-09T13:47:35Z</updated>
		
		<summary type="html">&lt;p&gt;Camila.serena: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Integrantes ==&lt;br /&gt;
&lt;br /&gt;
Camila Serena&lt;br /&gt;
&lt;br /&gt;
Gonzalo Herrera&lt;br /&gt;
&lt;br /&gt;
Josefina Fasoli&lt;br /&gt;
&lt;br /&gt;
Vanessa Revetria&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Primer Programa ==&lt;br /&gt;
Este programa permite mover a la tortuga por la pantalla utilizando las teclas 'Barra' (Adelante), 'Z' (Izquierda) y 'M' (Derecha), y según los niveles de luz captados por la cámara, el rastro de la tortuga cambia su color.&lt;br /&gt;
&lt;br /&gt;
'''Sensores:''' Teclado, Cámara.&lt;br /&gt;
'''Actuadores:''' Pantalla.&lt;br /&gt;
&lt;br /&gt;
'''Video:''' []&lt;br /&gt;
&lt;br /&gt;
'''Codigo:'''&lt;br /&gt;
&lt;br /&gt;
El programa &lt;br /&gt;
&lt;br /&gt;
== Segundo Programa ==&lt;br /&gt;
Este programa capta sonidos mediante el micrófono, dibujando círculos de distintos diámetros relacionados al valor de volumen captado. &lt;br /&gt;
&lt;br /&gt;
'''Sensores:''' Micrófono.&lt;br /&gt;
'''Actuadores:''' Pantalla.&lt;br /&gt;
&lt;br /&gt;
'''Video:''' [https://www.youtube.com/watch?v=Mk7gyoGqIc8&amp;amp;feature=youtu.be]&lt;br /&gt;
&lt;br /&gt;
'''Codigo:'''&lt;/div&gt;</summary>
		<author><name>Camila.serena</name></author>	</entry>

	<entry>
		<id>http://www.fing.edu.uy/inco/proyectos/butia/mediawiki/index.php?title=Grupo_laboratorio_10_2015&amp;diff=6374</id>
		<title>Grupo laboratorio 10 2015</title>
		<link rel="alternate" type="text/html" href="http://www.fing.edu.uy/inco/proyectos/butia/mediawiki/index.php?title=Grupo_laboratorio_10_2015&amp;diff=6374"/>
				<updated>2015-04-09T13:41:32Z</updated>
		
		<summary type="html">&lt;p&gt;Camila.serena: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Integrantes ==&lt;br /&gt;
&lt;br /&gt;
Camila Serena&lt;br /&gt;
&lt;br /&gt;
Gonzalo Herrera&lt;br /&gt;
&lt;br /&gt;
Josefina Fasoli&lt;br /&gt;
&lt;br /&gt;
Vanessa Revetria&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Primer Programa ==&lt;br /&gt;
&lt;br /&gt;
'''Sensores:''' Teclado, Cámara.&lt;br /&gt;
'''Actuadores:''' Pantalla.&lt;br /&gt;
&lt;br /&gt;
El programa &lt;br /&gt;
&lt;br /&gt;
== Segundo Programa ==&lt;br /&gt;
Este programa capta sonidos mediante el micrófono, dibujando círculos de distintos diámetros relacionados al valor de volumen captado. &lt;br /&gt;
&lt;br /&gt;
'''Sensores:''' Micrófono.&lt;br /&gt;
'''Actuadores:''' Pantalla.&lt;br /&gt;
&lt;br /&gt;
Video: [https://www.youtube.com/watch?v=Mk7gyoGqIc8&amp;amp;feature=youtu.be]&lt;br /&gt;
&lt;br /&gt;
Codigo:&lt;/div&gt;</summary>
		<author><name>Camila.serena</name></author>	</entry>

	<entry>
		<id>http://www.fing.edu.uy/inco/proyectos/butia/mediawiki/index.php?title=Grupo_laboratorio_10_2015&amp;diff=6371</id>
		<title>Grupo laboratorio 10 2015</title>
		<link rel="alternate" type="text/html" href="http://www.fing.edu.uy/inco/proyectos/butia/mediawiki/index.php?title=Grupo_laboratorio_10_2015&amp;diff=6371"/>
				<updated>2015-04-09T13:28:01Z</updated>
		
		<summary type="html">&lt;p&gt;Camila.serena: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Integrantes ==&lt;br /&gt;
&lt;br /&gt;
Camila Serena&lt;br /&gt;
&lt;br /&gt;
Gonzalo Herrera&lt;br /&gt;
&lt;br /&gt;
Josefina Fasoli&lt;br /&gt;
&lt;br /&gt;
Vanessa Revetria&lt;/div&gt;</summary>
		<author><name>Camila.serena</name></author>	</entry>

	<entry>
		<id>http://www.fing.edu.uy/inco/proyectos/butia/mediawiki/index.php?title=Grupo_laboratorio_10_2015&amp;diff=6370</id>
		<title>Grupo laboratorio 10 2015</title>
		<link rel="alternate" type="text/html" href="http://www.fing.edu.uy/inco/proyectos/butia/mediawiki/index.php?title=Grupo_laboratorio_10_2015&amp;diff=6370"/>
				<updated>2015-04-09T13:27:24Z</updated>
		
		<summary type="html">&lt;p&gt;Camila.serena: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Integrantes:]]&lt;br /&gt;
&lt;br /&gt;
Camila Serena&lt;br /&gt;
&lt;br /&gt;
Gonzalo Herrera&lt;br /&gt;
&lt;br /&gt;
Josefina Fasoli&lt;br /&gt;
&lt;br /&gt;
Vanessa Revetria&lt;/div&gt;</summary>
		<author><name>Camila.serena</name></author>	</entry>

	</feed>