def __init__(self, debug=False, db="config", bus_number=1, channel=FRONT_WHEEL_CHANNEL): ''' setup channels and basic stuff ''' self.db = filedb.fileDB(db=db) self._channel = channel self._straight_angle = 90 self.turning_max = 45 self._turning_offset = int( self.db.get('turning_offset', default_value=0)) self.wheel = Servo.Servo(self._channel, bus_number=bus_number, offset=self.turning_offset) self.debug = debug if self._DEBUG: print(self._DEBUG_INFO, 'Front wheel PWM channel:', self._channel) print(self._DEBUG_INFO, 'Front wheel offset value:', self.turning_offset) self._angle = { "left": self._min_angle, "straight": self._straight_angle, "right": self._max_angle } if self._DEBUG: print( self._DEBUG_INFO, 'left angle: %s, straight angle: %s, right angle: %s' % (self._angle["left"], self._angle["straight"], self._angle["right"]))
def __init__(self, lancer_exp=True, MatCode=False, db="Points", defaultPoint="Point0", setTimer=True): # Initialisation variables self.db = filedb.fileDB(db=db) self.__lastpoint = Point.get_db_point(defaultPoint, self.db) self.__com = Communication('/dev/ttyACM0') self.__Oparam = Param() self.__Oparam.config() self.__Oparam.calib() self.__side = Switch.cote() if not self.__side: self.__lastpoint.mirror() self.__move = Move(self.__Oparam.odrv0) self.__MatCode = MatCode self.__traj = Trajectoire(param=self.__Oparam, move=self.__move, initial_point=self.__lastpoint, Solo=self.__MatCode) self.__com.waitEndMove(Communication.MSG["Initialisation"]) if setTimer: self.__lidar = RPLidar( '/dev/ttyUSB0') #self.__lidar = Lidar('/dev/ttyUSB0') self.__timer = RIR_timer( self.__com, (self.__Oparam, self.__move), self.__lidar, lancer_exp) # Test: placé avant __init_physical self.__lidar.start_motor() self.set_ready()
def __init__(self, debug=False, bus_number=1, db="config"): ''' Init the direction channel and pwm channel ''' self.forward_A = True self.forward_B = True self.db = filedb.fileDB(db=db) self.forward_A = int(self.db.get('forward_A', default_value=1)) self.forward_B = int(self.db.get('forward_B', default_value=1)) self.left_wheel = TB6612.Motor(self.Motor_A, offset=self.forward_A) self.right_wheel = TB6612.Motor(self.Motor_B, offset=self.forward_B) self.pwm = PCA9685.PWM(bus_number=bus_number) def _set_a_pwm(value): pulse_wide = self.pwm.map(value, 0, 100, 0, 4095) self.pwm.write(self.PWM_A, 0, pulse_wide) def _set_b_pwm(value): pulse_wide = self.pwm.map(value, 0, 100, 0, 4095) self.pwm.write(self.PWM_B, 0, pulse_wide) self.left_wheel.pwm = _set_a_pwm self.right_wheel.pwm = _set_b_pwm self._speed = 0 self.debug = debug if self._DEBUG: print self._DEBUG_INFO, 'Set left wheel to #%d, PWM channel to %d' % (self.Motor_A, self.PWM_A) print self._DEBUG_INFO, 'Set right wheel to #%d, PWM channel to %d' % (self.Motor_B, self.PWM_B)
def __init__(self, bus_number=1, db="config"): """ Init the direction channel and pwm channel """ self.db = filedb.fileDB(db=db) self.forward_A = int(self.db.get("forward_A", default_value=1)) self.forward_B = int(self.db.get("forward_B", default_value=0)) self.left_wheel = L298N.Motor(self.Motor_IN1, self.Motor_IN2, offset=self.forward_A, is_left=True) self.right_wheel = L298N.Motor(self.Motor_IN3, self.Motor_IN4, offset=self.forward_B, is_left=False) # PWM Setup self.pwm = PCA9685.PWM(bus_number=bus_number) def _set_a_pwm(value): pulse_wide = self.pwm.map(value, 0, 100, 0, 4095) self.pwm.write(self.PWM_A, 0, int(pulse_wide)) def _set_b_pwm(value): pulse_wide = self.pwm.map(value, 0, 100, 0, 4095) self.pwm.write(self.PWM_B, 0, int(pulse_wide)) self.left_wheel.pwm = _set_a_pwm self.right_wheel.pwm = _set_b_pwm self._speed = 0 self.debug = int(self.db.get("debug", default_value=0)) if self._DEBUG: print(self._DEBUG_INFO, 'Set left wheel to IN1 #%d, IN2 #%d PWM channel to %d' % (self.Motor_IN1, self.Motor_IN2, self.PWM_A)) print(self._DEBUG_INFO, 'Set right wheel to IN3 #%d, IN4 #%d PWM channel to %d' % (self.Motor_IN3, self.Motor_IN3, self.PWM_B))
def __init__(self, debug=False, db="config"): ''' setup channels and basic stuff ''' self.db = filedb.fileDB(db=db) self._straight_angle = 0 self.turning_max = 40 self._min_angle = -self.turning_max self._max_angle = self.turning_max self._turning_offset = int( self.db.get('turning_offset', default_value=0)) self._angle = { "left": self._min_angle, "straight": self._straight_angle, "right": self._max_angle } self._nowAngle = self._straight_angle
def __init__(self, debug=False, bus_number=1, db="config", address=0x40): ''' Init the servo channel ''' self.db = filedb.fileDB(db=db) self.pan_offset = int(self.db.get('pan_offset', default_value=0)) self.tilt_offset = int(self.db.get('tilt_offset', default_value=0)) self.pan_servo = Servo.Servo(self.pan_channel, bus_number=bus_number, offset=self.pan_offset, address= address ) self.tilt_servo = Servo.Servo(self.tilt_channel, bus_number=bus_number, offset=self.tilt_offset, address = address) self.debug = debug if self._DEBUG: print self._DEBUG_INFO, 'Pan servo channel:', self.pan_channel print self._DEBUG_INFO, 'Tilt servo channel:', self.tilt_channel print self._DEBUG_INFO, 'Pan offset value:', self.pan_offset print self._DEBUG_INFO, 'Tilt offset value:', self.tilt_offset self.current_pan = 0 self.current_tilt = 0 self.ready()
self.close_all() self.display_status = 'SCREENSAVER' def close_all(self): mirror.text.pack_forget() mirror.picture.pack_forget() mirror.clock.pack_forget() mirror.weather.pack_forget() mirror.news.pack_forget() mirror.text.is_displayed = False mirror.clock.is_displayed = False mirror.weather.is_displayed = False mirror.news.is_displayed = False self.random_timer_stop() conf = filedb.fileDB(db=CODE_DIR+'config/config') def main(): global mirror, gooole_assistant, status_handler mirror = Mirror() gooole_assistant = Google_Assistant() status_handler = Status_Handler() status_handler.start() gooole_assistant.start() mirror.tk.mainloop() def destory(): status_handler.status_detect.join() gooole_assistant.google_assistant.join() quit()
def close_all(self): mirror.text.pack_forget() mirror.picture.pack_forget() mirror.clock.pack_forget() mirror.weather.pack_forget() mirror.news.pack_forget() mirror.text.is_displayed = False mirror.clock.is_displayed = False mirror.weather.is_displayed = False mirror.news.is_displayed = False mirror.news.is_detail_displayed = False self.random_timer_stop() conf = filedb.fileDB(db=CODE_DIR + 'samba_files/config.txt') def main(): global mirror, google_assistant, status_handler run_command('xset s off') run_command('xset -dpms') mirror = Mirror() google_assistant = Google_Assistant() status_handler = Status_Handler() status_handler.start() google_assistant.start() mirror.tk.mainloop()