Diferencia entre revisiones de «Ejemplos»

De Proyecto Butiá
Saltar a: navegación, buscar
(Página creada con 'import butiaAPI import time robot = butiaAPI.robot() robot.abrirSensor() robot.abrirMotores() i = 0 veces = 1 gireDerecha = 0 while i<200: i += 1 linea = rob...')
 
(Seguidor de líneas a ambos lados)
 
(No se muestran 3 ediciones intermedias de 3 usuarios)
Línea 1: Línea 1:
import butiaAPI
+
== Seguidor de líneas a ambos lados ==
 +
<syntaxhighlight lang="python">
 +
#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
 
import time
  
robot = butiaAPI.robot()
+
robot = usb4butia.USB4Butia()
 
+
robot.abrirSensor()
+
robot.abrirMotores()
+
  
 
i = 0
 
i = 0
 
veces = 1
 
veces = 1
gireDerecha = 0
+
gireDerecha = 0  
 +
#inicializacion de variables
  
 
while i<200:
 
while i<200:
 +
        #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
         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 >2000 los motores avanzan
 
         else:
 
         else:
 
                 if gireDerecha == 1:
 
                 if gireDerecha == 1:
                         #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:
                         #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)
                 robot.setVelocidadMotores("0", "0", "0", "0")
+
                #procesa la info
 +
                 robot.set2MotorSpeed(0, 0, 0, 0)
  
 
                 veces += 1
 
                 veces += 1
 
+
                #incrementa el angulo de giro
 
         time.sleep(0.2)
 
         time.sleep(0.2)
  
robot.setVelocidadMotores("0", "0", "0", "0")
+
robot.set2MotorSpeed(0, 0, 0, 0)
 +
#se detiene
 +
</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