#!/usr/bin/python print (""" Naloga 11: Robot naj drži smer - če ga obrnemo iz začetne smeri, naj se zasuka nazaj v prvotno smer. Ob pritisku na stikalo, naj se resetira (smer nastavi na 0). """) import sys sys.path.append('/home/user/codeq') import time from mindstorms_widgets import mindstorms_widgets def sgn(x): return -1 if x<0 else (1 if x>0 else 0) robot = mindstorms_widgets() robot.connect_motor( 'left' ) robot.connect_motor( 'right' ) robot.connect_sensor( 'gyro' ) robot.connect_sensor( 'touch' ) smer = hitrost = 0 robot.reset_gyro() robot.gyro_set_mode( 'angle' ) prev_smer = -1 while 1: smer = robot.gyro_sensor_measure() if smer!=prev_smer: print ("Kot:", smer) prev_smer = smer if robot.touch_sensor_measure(): robot.reset_gyro() print ( robot.gyro_sensor_measure() ) if abs(smer) < 10: hitrost = 10*sgn(smer) else: if abs(smer) > 100: hitrost = 100*sgn(smer) else: hitrost = smer if abs(smer) > 1: L, R = -hitrost, hitrost else: L = R = 0 robot.move_tank('on', lr_power=[L,R])