Diferencia entre revisiones de «Seguidor de Luz»

De Proyecto Butiá
Saltar a: navegación, buscar
(Implementación)
(Implementación)
Línea 46: Línea 46:
 
     def isBigger(num1, num2, tolerance):
 
     def isBigger(num1, num2, tolerance):
 
         return (num1 - tolerance)>num2
 
         return (num1 - tolerance)>num2
 +
 +
Para eliminar las diferencias en las mediciones de los sensores provocadas por la luz ambiente almacenamos
 +
el valor inicial y para eliminar errores de medición de los sensores utilizamos el promedio de 10 mediciones
 +
 +
    acumulateTopLight = 0
 +
    for i in range(10):
 +
        acumulateTopLight += robot.getLight(1)
 +
    topLight_init = acumulateTopLight / 10
 +
 +
    acumulateBottomLight = 0
 +
    for i in range(10):
 +
        acumulateBottomLight += robot.getLight(3)
 +
    bottomLight_init =  acumulateBottomLight / 10
 +
 +
    acumulateLeftLight = 0
 +
    for i in range(10):
 +
        acumulateLeftLight += robot.getLight(5)
 +
    leftLight_init = acumulateLeftLight / 10
 +
 +
    acumulateRightLight = 0
 +
    for i in range(10):
 +
        acumulateRightLight += robot.getLight(6)
 +
    rightLight_init = acumulateRightLight /10
  
 
==Trabajo a futuro==
 
==Trabajo a futuro==

Revisión del 17:01 27 jun 2020

Introducción

Materiales

  • Kit Robótico Butia.
  • 4 sensores de luz.
  • Esfera de Espuma Plast.
  • Carton sueco o similares.
  • Cinta Aisladora.
  • XO/pc con TurtleBots y el Plugin de Butia.

Construcción

Paso 1: Retirar la rueda derecha del Kit butia junto a su soporte.

Paso 2: Unir dos barras de encastre en forma de L y con dos tornillos fijarlas a la rueda.

Paso 3: Recortar un soporte auxiliar para el motor y con cinta aisladora unirlo al la rueda izquierda del robot Butiá.

Paso 4: Cortar un Cuadrado de cartón de 25 cm de lado, realizarle los agujeros correspondientes y con dos tornillos unirlo a la L de barras de encastre.

Paso 5: Tomar media esfera de espuma Plast y pegar con cinta doble faz los cuatro sensores de luz.

Paso 6: Conectar los sensores a los respectivo puertos de la placa Butiá. En este ejemplo : 1 - Arriba, 3 - Abajo, 5 - Izquierda, 6 Derecha.

Paso 7: Recortar dos soportes en cartón para que el robot Butiá permanezca en forma vertical y unirlos al robot.

Implementación

Importamos la librería PyBot

   sys.path.insert(0, '/home/olpc/Activities/TurtleBots.activity/plugins/butia')
   sys.path.insert(0, "/usr/share/sugar/activities/TurtleBots.activity/plugins/butia")

Importamos el módulo de pybot

   from pybot import usb4butia

Generamos una instancia de la placa USB4Butia

   robot = usb4butia.USB4Butia()
   robot.refresh()


Definimos una comprador de dos números aplicando un tolerancia

   tolerance = 5000
   def isBigger(num1, num2, tolerance):
       return (num1 - tolerance)>num2

Para eliminar las diferencias en las mediciones de los sensores provocadas por la luz ambiente almacenamos el valor inicial y para eliminar errores de medición de los sensores utilizamos el promedio de 10 mediciones

   acumulateTopLight = 0
   for i in range(10):
       acumulateTopLight += robot.getLight(1) 
   topLight_init = acumulateTopLight / 10
   acumulateBottomLight = 0
   for i in range(10):
       acumulateBottomLight += robot.getLight(3)
   bottomLight_init =  acumulateBottomLight / 10
   acumulateLeftLight = 0
   for i in range(10):
       acumulateLeftLight += robot.getLight(5)
   leftLight_init = acumulateLeftLight / 10
   acumulateRightLight = 0
   for i in range(10):
       acumulateRightLight += robot.getLight(6)
   rightLight_init = acumulateRightLight /10

Trabajo a futuro