Diferencia entre revisiones de «Ejemplos»

De Proyecto Butiá
Saltar a: navegación, buscar
(Seguidor de líneas a ambos lados)
Línea 1: Línea 1:
 
== Seguidor de líneas a ambos lados ==
 
== Seguidor de líneas a ambos lados ==
 
<syntaxhighlight lang="python">
 
<syntaxhighlight lang="python">
 +
#si no estoy en la carpeta
 +
import sys
 +
sys.path.insert(0, '/home/olpc/Activities/TurtleBots.activity/plugins/butia')
 +
 
import butiaAPI
 
import butiaAPI
 
import time
 
import time
  
 
robot = butiaAPI.robot()
 
robot = butiaAPI.robot()
 
robot.abrirSensor()
 
robot.abrirMotores()
 
  
 
i = 0
 
i = 0
Línea 17: Línea 18:
 
         #creamos la variable i para que se ejecutara 199 veces y no por siempre
 
         #creamos la variable i para que se ejecutara 199 veces y no por siempre
 
         i += 1
 
         i += 1
         linea = robot.getEscalaGris()
+
         linea = robot.getGray()
 
         print linea
 
         print linea
 
         #guardamos el valor del sensor en linea y lo imprime en pantalla
 
         #guardamos el valor del sensor en linea y lo imprime en pantalla
Línea 23: Línea 24:
 
         if linea > "200":
 
         if linea > "200":
 
                 veces = 1
 
                 veces = 1
                 robot.setVelocidadMotores("0", "400", "0", "400")
+
                 robot.set2MotorSpeed(0, 400, 0, 400)
 
                 #si el valor del sensor es >200 los motores avanzan
 
                 #si el valor del sensor es >200 los motores avanzan
 
         else:
 
         else:
 
                 if gireDerecha == 1:
 
                 if gireDerecha == 1:
 
                         #si gire a la derecha ahora giro a la izq
 
                         #si gire a la derecha ahora giro a la izq
                         robot.setVelocidadMotores("1", "400", "0", "400")
+
                         robot.set2MotorSpeed(1, 400, 0, 400)
 
                         gireDerecha = 0
 
                         gireDerecha = 0
  
 
                 else:
 
                 else:
 
                         #si gire a la izquierda ahora giro a la der
 
                         #si gire a la izquierda ahora giro a la der
                         robot.setVelocidadMotores("0", "400", "1", "400")
+
                         robot.set2MotorSpeed(0, 400, 1, 400)
 
                         gireDerecha = 1
 
                         gireDerecha = 1
 
                  
 
                  
 
                 time.sleep(veces * 0.1)
 
                 time.sleep(veces * 0.1)
 
                 #procesa la info
 
                 #procesa la info
                 robot.setVelocidadMotores("0", "0", "0", "0")
+
                 robot.set2MotorSpeed(0, 0, 0, 0)
  
 
                 veces += 1
 
                 veces += 1
Línea 44: Línea 45:
 
         time.sleep(0.2)
 
         time.sleep(0.2)
  
robot.setVelocidadMotores("0", "0", "0", "0")
+
robot.set2MotorSpeed(0, 0, 0, 0)
 
#se detiene
 
#se detiene
 
</syntaxhighlight>
 
</syntaxhighlight>

Revisión del 23:47 24 feb 2013

Seguidor de líneas a ambos lados

#si no estoy en la carpeta
import sys
sys.path.insert(0, '/home/olpc/Activities/TurtleBots.activity/plugins/butia')

import butiaAPI
import time

robot = butiaAPI.robot()

i = 0
veces = 1
gireDerecha = 0 
#inicializacion de variables

while i<200:
        #creamos la variable i para que se ejecutara 199 veces y no por siempre
        i += 1
        linea = robot.getGray()
        print linea
        #guardamos el valor del sensor en linea y lo imprime en pantalla
       
        if linea > "200":
                veces = 1
                robot.set2MotorSpeed(0, 400, 0, 400)
                #si el valor del sensor es >200 los motores avanzan
        else:
                if gireDerecha == 1:
                        #si gire a la derecha ahora giro a la izq
                        robot.set2MotorSpeed(1, 400, 0, 400)
                        gireDerecha = 0

                else:
                        #si gire a la izquierda ahora giro a la der
                        robot.set2MotorSpeed(0, 400, 1, 400)
                        gireDerecha = 1
                
                time.sleep(veces * 0.1)
                #procesa la info
                robot.set2MotorSpeed(0, 0, 0, 0)

                veces += 1
                #incrementa el angulo de giro
        time.sleep(0.2)

robot.set2MotorSpeed(0, 0, 0, 0)
#se detiene