Diferencia entre revisiones de «Ejemplos»

De Proyecto Butiá
Saltar a: navegación, buscar
(Seguidor de líneas a ambos lados)
 
(No se muestra una edición intermedia del mismo usuario)
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">
import butiaAPI
+
#si no estoy en la carpeta
import time
+
import sys
 +
sys.path.insert(0, '/home/olpc/Activities/TurtleBots.activity/plugins/butia')
  
robot = butiaAPI.robot()
+
from pybot import usb4butia
 +
import time
  
robot.abrirSensor()
+
robot = usb4butia.USB4Butia()
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
 
        
 
        
         if linea > "200":
+
         if linea > 2000:
 
                 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 >2000 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 actual del 18:01 29 mar 2014

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')

from pybot import usb4butia
import time

robot = usb4butia.USB4Butia()

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 > 2000:
                veces = 1
                robot.set2MotorSpeed(0, 400, 0, 400)
                #si el valor del sensor es >2000 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