From 2e2316e4711743e7983fc472fbec0e470df378a2 Mon Sep 17 00:00:00 2001 From: Siwat Sirichai Date: Sun, 30 Oct 2022 15:57:00 +0700 Subject: [PATCH] motion test --- kuukar/kuukar_collision.py | 2 +- kuukar/kuukar_config.py | 8 ++++---- kuukar/kuukar_cv.py | 4 ++-- kuukar/kuukar_environment.py | 6 +++--- kuukar/kuukar_lcd.py | 2 +- kuukar/kuukar_leds.py | 2 +- kuukar/kuukar_motion.py | 18 ++++++++++++------ kuukar/kuukar_nextion.py | 1 - kuukar/kuukar_sensors.py | 2 +- kuukar/kuukar_voice.py | 6 ++---- test.py | 28 ++++++++++++++++++++++++++++ 11 files changed, 55 insertions(+), 24 deletions(-) create mode 100644 test.py diff --git a/kuukar/kuukar_collision.py b/kuukar/kuukar_collision.py index 3668c44..a8814ef 100644 --- a/kuukar/kuukar_collision.py +++ b/kuukar/kuukar_collision.py @@ -1,5 +1,5 @@ from telemetrix_rpi_pico import telemetrix_rpi_pico -from kuukar_config import COLLISION_DETECTOR_PIN +from kuukar.kuukar_config import COLLISION_DETECTOR_PIN from kuukar_lcd import lcd from kuukar_leds import leds diff --git a/kuukar/kuukar_config.py b/kuukar/kuukar_config.py index afcaeb9..9ee47be 100644 --- a/kuukar/kuukar_config.py +++ b/kuukar/kuukar_config.py @@ -9,14 +9,14 @@ SONAR_3_TRIG_PIN = 4 SONAR_3_ECHO_PIN = 5 # Motor Pins -MOTOR_FL_F = 6 -MOTOR_FL_R = 7 +MOTOR_FL_F = 7 +MOTOR_FL_R = 6 MOTOR_FR_F = 8 MOTOR_FR_R = 9 MOTOR_RL_F = 10 MOTOR_RL_R = 11 -MOTOR_RR_F = 12 -MOTOR_RR_R = 13 +MOTOR_RR_F = 13 +MOTOR_RR_R = 12 # Full Speed 90 Degrees Turn Time TURN_TIME_FS_90DEG_MS = 1500 diff --git a/kuukar/kuukar_cv.py b/kuukar/kuukar_cv.py index 56cbc64..3a82684 100644 --- a/kuukar/kuukar_cv.py +++ b/kuukar/kuukar_cv.py @@ -1,5 +1,5 @@ -from kuukar_lcd import lcd -from kuukar_leds import leds +from kuukar.kuukar_lcd import lcd +from kuukar.kuukar_leds import leds class cv: diff --git a/kuukar/kuukar_environment.py b/kuukar/kuukar_environment.py index f355053..683f44e 100644 --- a/kuukar/kuukar_environment.py +++ b/kuukar/kuukar_environment.py @@ -1,8 +1,8 @@ import threading from time import sleep -from kuukar_lcd import lcd -from kuukar_leds import leds -from kuukar_sensors import sensors +from kuukar.kuukar_lcd import lcd +from kuukar.kuukar_leds import leds +from kuukar.kuukar_sensors import sensors class environment: diff --git a/kuukar/kuukar_lcd.py b/kuukar/kuukar_lcd.py index ae9146e..21afecd 100644 --- a/kuukar/kuukar_lcd.py +++ b/kuukar/kuukar_lcd.py @@ -1,4 +1,4 @@ -import kuukar_nextion +import kuukar.kuukar_nextion as kuukar_nextion class lcd: def __init__(self) -> None: self.nextion = kuukar_nextion.nextion() diff --git a/kuukar/kuukar_leds.py b/kuukar/kuukar_leds.py index 914e926..85a5871 100644 --- a/kuukar/kuukar_leds.py +++ b/kuukar/kuukar_leds.py @@ -2,7 +2,7 @@ import threading from time import perf_counter from telemetrix_rpi_pico import telemetrix_rpi_pico import time -from kuukar_config import LEDS_DATA_PIN, LEDS_NUM, HEADLIGHT_LEDS, LEFT_SIGNAL_LEDS, RIGHT_SIGNAL_LEDS, REVERSE_LEDS +from kuukar.kuukar_config import LEDS_DATA_PIN, LEDS_NUM, HEADLIGHT_LEDS, LEFT_SIGNAL_LEDS, RIGHT_SIGNAL_LEDS, REVERSE_LEDS class leds: diff --git a/kuukar/kuukar_motion.py b/kuukar/kuukar_motion.py index a3b8f80..254967e 100644 --- a/kuukar/kuukar_motion.py +++ b/kuukar/kuukar_motion.py @@ -1,8 +1,8 @@ from random import randint -from kuukar_config import MOTOR_FL_F, MOTOR_FL_R, MOTOR_FR_F, MOTOR_FR_R, MOTOR_RL_F, MOTOR_RL_R, MOTOR_RR_F, MOTOR_RR_R, TURN_TIME_FS_90DEG_MS +from kuukar.kuukar_config import MOTOR_FL_F, MOTOR_FL_R, MOTOR_FR_F, MOTOR_FR_R, MOTOR_RL_F, MOTOR_RL_R, MOTOR_RR_F, MOTOR_RR_R, TURN_TIME_FS_90DEG_MS import time -from kuukar_leds import leds -from kuukar_sensors import sensors +from kuukar.kuukar_leds import leds +from kuukar.kuukar_sensors import sensors from telemetrix_rpi_pico import telemetrix_rpi_pico import threading @@ -15,7 +15,7 @@ class motion: self.driver = driver_board self.leds = leds self.sensors = sensors - self.roam_thread = threading.Thread(target=self.roam_loop) + self.roam_thread = threading.Thread(target=self.__roam_looper) self.roam_thread.start() drive_pins = [MOTOR_FL_F, MOTOR_FL_R, MOTOR_FR_F, @@ -48,10 +48,16 @@ class motion: self.motor_write(MOTOR_RR_F, MOTOR_RR_R, -speed) time.sleep(duration) self.stop() + + def turn_cont(self, speed: int): if speed > 0: - self.leds.set_right_signal_led(False) + self.leds.set_right_signal_led(True) elif speed < 0: - self.leds.set_left_signal_led(False) + self.leds.set_left_signal_led(True) + self.motor_write(MOTOR_FL_F, MOTOR_FL_R, speed) + self.motor_write(MOTOR_FR_F, MOTOR_FR_R, -speed) + self.motor_write(MOTOR_RL_F, MOTOR_RL_R, speed) + self.motor_write(MOTOR_RR_F, MOTOR_RR_R, -speed) def stop(self): self.leds.set_left_signal_led(False) diff --git a/kuukar/kuukar_nextion.py b/kuukar/kuukar_nextion.py index e731ff9..58c4876 100644 --- a/kuukar/kuukar_nextion.py +++ b/kuukar/kuukar_nextion.py @@ -2,7 +2,6 @@ import binascii from time import sleep import serial import threading - from kuukar_config import SERIAL_LCD DATATYPE_NUMBER = '71' diff --git a/kuukar/kuukar_sensors.py b/kuukar/kuukar_sensors.py index d48be22..19768a8 100644 --- a/kuukar/kuukar_sensors.py +++ b/kuukar/kuukar_sensors.py @@ -1,6 +1,6 @@ from telemetrix_rpi_pico import telemetrix_rpi_pico -from kuukar_config import DHT22_PIN, SONAR_1_ECHO_PIN, SONAR_1_TRIG_PIN,\ +from kuukar.kuukar_config import DHT22_PIN, SONAR_1_ECHO_PIN, SONAR_1_TRIG_PIN,\ SONAR_2_ECHO_PIN, SONAR_2_TRIG_PIN, SONAR_3_ECHO_PIN, SONAR_3_TRIG_PIN,\ LIGHT_ANALOG_PIN diff --git a/kuukar/kuukar_voice.py b/kuukar/kuukar_voice.py index 8cdb489..edba7e2 100644 --- a/kuukar/kuukar_voice.py +++ b/kuukar/kuukar_voice.py @@ -1,7 +1,5 @@ -from kuukar_lcd import lcd -from kuukar_leds import leds -from kuukar_noise import noise - +from kuukar.kuukar_lcd import lcd +from kuukar.kuukar_leds import leds class voice: def __init__(self, lcd: lcd, leds: leds) -> None: diff --git a/test.py b/test.py new file mode 100644 index 0000000..f70e417 --- /dev/null +++ b/test.py @@ -0,0 +1,28 @@ +import time + +from telemetrix_rpi_pico import telemetrix_rpi_pico +import kuukar.kuukar_motion as kuukar_motion +import kuukar.kuukar_sensors as kuukar_sensors +from kuukar.kuukar_config import SERIAL_AUX_BOARD, SERIAL_DRIVER_BOARD +from kuukar.kuukar_config import MOTOR_FL_F, MOTOR_FL_R, MOTOR_FR_F, MOTOR_FR_R, MOTOR_RL_F, MOTOR_RL_R, MOTOR_RR_F, MOTOR_RR_R, TURN_TIME_FS_90DEG_MS + +driver_board = telemetrix_rpi_pico.TelemetrixRpiPico() +motion = kuukar_motion.motion(driver_board, None, None) + +motion.drive(30) + +def rot_test(): + while True: + speed = 30 + motion.motor_write(MOTOR_FL_F, MOTOR_FL_R, speed) + motion.motor_write(MOTOR_FR_F, MOTOR_FR_R, -speed) + motion.motor_write(MOTOR_RL_F, MOTOR_RL_R, speed) + motion.motor_write(MOTOR_RR_F, MOTOR_RR_R, -speed) + time.sleep(0.5) + speed = -speed + motion.motor_write(MOTOR_FL_F, MOTOR_FL_R, speed) + motion.motor_write(MOTOR_FR_F, MOTOR_FR_R, -speed) + motion.motor_write(MOTOR_RL_F, MOTOR_RL_R, speed) + motion.motor_write(MOTOR_RR_F, MOTOR_RR_R, -speed) + time.sleep(0.5) +