Diferencia entre revisiones de «Ejemplos»
De Proyecto Butiá
					
										
					
					 (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   | + | == 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 =   | + | robot = usb4butia.USB4Butia()  | 
| − | + | ||
| − | + | ||
| − | + | ||
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.  | + |          linea = robot.getGray()  | 
         print linea  |          print linea  | ||
| − | + |         #guardamos el valor del sensor en linea y lo imprime en pantalla  | |
| − |          if linea >   | + | |
| + |          if linea > 2000:  | ||
                 veces = 1  |                  veces = 1  | ||
| − |                  robot.  | + |                  robot.set2MotorSpeed(0, 400, 0, 400)  | 
| − | + |                 #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  | 
| − |                          robot.  | + |                          robot.set2MotorSpeed(1, 400, 0, 400)  | 
                         gireDerecha = 0  |                          gireDerecha = 0  | ||
                 else:  |                  else:  | ||
| − |                          #  | + |                          #si gire a la izquierda ahora giro a la der  | 
| − |                          robot.  | + |                          robot.set2MotorSpeed(0, 400, 1, 400)  | 
                         gireDerecha = 1  |                          gireDerecha = 1  | ||
                 time.sleep(veces * 0.1)  |                  time.sleep(veces * 0.1)  | ||
| − |                  robot.  | + |                 #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.  | + | 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