Beispiel #1
0
    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"]))
Beispiel #2
0
    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)
Beispiel #4
0
    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))
Beispiel #5
0
 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
Beispiel #6
0
	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()
Beispiel #8
0
    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()