Compare commits
8 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 60384d4367 | |||
| a91e79a02a | |||
| ffd89e5698 | |||
| 17db936432 | |||
| d3a740e705 | |||
| 960fd598c9 | |||
| f3460290e5 | |||
| 345da15b22 |
@@ -1,49 +0,0 @@
|
|||||||
from pybricks.hubs import PrimeHub
|
|
||||||
from pybricks.pupdevices import Motor, ColorSensor, UltrasonicSensor, ForceSensor
|
|
||||||
from pybricks.parameters import Button, Color, Direction, Port, Side, Stop
|
|
||||||
from pybricks.robotics import DriveBase
|
|
||||||
from pybricks.tools import wait, StopWatch
|
|
||||||
|
|
||||||
hub = PrimeHub()
|
|
||||||
class ColorSensorDiagnostics:
|
|
||||||
def __init__(self):
|
|
||||||
self.colorsensor = None
|
|
||||||
self.port_map = {
|
|
||||||
"A": Port.A,
|
|
||||||
"B": Port.B,
|
|
||||||
"C": Port.C,
|
|
||||||
"D": Port.D,
|
|
||||||
"E": Port.E,
|
|
||||||
"F": Port.F,
|
|
||||||
}
|
|
||||||
def initializeColorSensor(self):
|
|
||||||
valid_ports = {"A", "B", "C", "D", "E", "F"}
|
|
||||||
while True:
|
|
||||||
colorinput = input(
|
|
||||||
"This will test your color sensor.\n"
|
|
||||||
"Enter the port for the color sensor you would like to test (A, B, C, D, E, or F): "
|
|
||||||
).strip().upper()
|
|
||||||
if colorinput not in valid_ports:
|
|
||||||
print("Invalid port. Please enter A-F.")
|
|
||||||
continue
|
|
||||||
try:
|
|
||||||
if self.colorsensor is None:
|
|
||||||
self.colorsensor = ColorSensor(self.port_map[colorinput])
|
|
||||||
print(f"Color Sensor initialized on port {colorinput}.")
|
|
||||||
else:
|
|
||||||
print(f"Reusing existing color sensor on port {colorinput}.")
|
|
||||||
break
|
|
||||||
|
|
||||||
except OSError as e:
|
|
||||||
if e.errno == 16: # EBUSY
|
|
||||||
print(f"Port {colorinput} is already in use. Reusing existing color sensor.")
|
|
||||||
break
|
|
||||||
else:
|
|
||||||
print(f"Error initializing color sensor on port {colorinput}: {e}")
|
|
||||||
print("Make sure a color sensor is actually connected to this port.")
|
|
||||||
self.colorsensor = None
|
|
||||||
self.colorsensor.detectable_colors(Color.RED, Color.YELLOW, Color.GREEN, Color.BLUE, Color.WHITE, Color.NONE)
|
|
||||||
def printOutput(self):
|
|
||||||
while True:
|
|
||||||
print("HSV output:", self.colorsensor.hsv)
|
|
||||||
print("Detected color:", self.colorsensor.color())
|
|
||||||
@@ -1,49 +0,0 @@
|
|||||||
from pybricks.hubs import PrimeHub
|
|
||||||
from pybricks.pupdevices import Motor
|
|
||||||
from pybricks.parameters import Button, Color, Direction, Port, Side, Stop
|
|
||||||
from pybricks.robotics import DriveBase
|
|
||||||
from pybricks.tools import wait, StopWatch
|
|
||||||
|
|
||||||
from usys import stdin
|
|
||||||
from uselect import poll
|
|
||||||
|
|
||||||
hub = PrimeHub()
|
|
||||||
port_map = {
|
|
||||||
"A": Port.A,
|
|
||||||
"B": Port.B,
|
|
||||||
"C": Port.C,
|
|
||||||
"D": Port.D,
|
|
||||||
"E": Port.E,
|
|
||||||
"F": Port.F,
|
|
||||||
}
|
|
||||||
leftmotorport = input("Enter the left motor port: ")
|
|
||||||
left_motor = Motor(port_map[leftmotorport], Direction.COUNTERCLOCKWISE)
|
|
||||||
rightmotorport = input("Enter the right motor port: ")
|
|
||||||
right_motor = Motor(port_map[rightmotorport],Direction.CLOCKWISE) # Specify default direction
|
|
||||||
|
|
||||||
# DriveBase configuration
|
|
||||||
WHEEL_DIAMETER = 68.8 # mm (adjust for your wheels)
|
|
||||||
AXLE_TRACK = 180 # mm (distance between wheels)
|
|
||||||
drive_base = DriveBase(left_motor, right_motor, WHEEL_DIAMETER, AXLE_TRACK)
|
|
||||||
drive_base.settings(600, 500, 300, 200)
|
|
||||||
drive_base.use_gyro(True)
|
|
||||||
# Register the standard input so we can read keyboard presses.
|
|
||||||
keyboard = poll()
|
|
||||||
keyboard.register(stdin)
|
|
||||||
|
|
||||||
while True:
|
|
||||||
# Check if a key has been pressed.
|
|
||||||
if keyboard.poll(0):
|
|
||||||
# Read the key and print it.
|
|
||||||
key = stdin.read(1)
|
|
||||||
print("You pressed:", key)
|
|
||||||
if(key == "W"):
|
|
||||||
print("Insert robot go forward code here")
|
|
||||||
elif(key == "A"):
|
|
||||||
print("Insert robot go left code here")
|
|
||||||
elif(key == "S"):
|
|
||||||
print("Insert robot go backwards code here")
|
|
||||||
elif(key == "D"):
|
|
||||||
print("Insert robot go right code here")
|
|
||||||
else:
|
|
||||||
print("That key doesn't do anything.")
|
|
||||||
@@ -1,33 +0,0 @@
|
|||||||
from pybricks.hubs import PrimeHub
|
|
||||||
from pybricks.pupdevices import Motor, ColorSensor, UltrasonicSensor, ForceSensor
|
|
||||||
from pybricks.parameters import Button, Color, Direction, Port, Side, Stop
|
|
||||||
from pybricks.robotics import DriveBase
|
|
||||||
from pybricks.tools import wait, StopWatch
|
|
||||||
from pybricks import version
|
|
||||||
from OtherFunctions import vprint
|
|
||||||
import usys
|
|
||||||
|
|
||||||
print("Pybricks version information:", version)
|
|
||||||
print("MicroPython information:", usys.implementation)
|
|
||||||
print("MicroPython version:", usys.version)
|
|
||||||
class HubDiagnostics:
|
|
||||||
def __init__(self):
|
|
||||||
self.hub = PrimeHub()
|
|
||||||
self.port_map = {
|
|
||||||
"A": Port.A,
|
|
||||||
"B": Port.B,
|
|
||||||
"C": Port.C,
|
|
||||||
"D": Port.D,
|
|
||||||
"E": Port.E,
|
|
||||||
"F": Port.F,
|
|
||||||
}
|
|
||||||
def testLightSources(self, verbose):
|
|
||||||
v = verbose
|
|
||||||
hub.display.off()
|
|
||||||
for x in range(5):
|
|
||||||
for y in range(5):
|
|
||||||
vprint(f"Turning on pixel at position {x}, {y}...", v)
|
|
||||||
display.pixel(x, y, brightness=100)
|
|
||||||
wait(100)
|
|
||||||
vprint(f"Turning off pixel at position {x}, {y}...", v)
|
|
||||||
display.pixel(x, y, brightness=0)
|
|
||||||
@@ -1,2 +0,0 @@
|
|||||||
def vprint(string, verbose):
|
|
||||||
print("[LOG (verbose enabled)]", string)
|
|
||||||
@@ -131,11 +131,11 @@ class MotorDiagnostics:
|
|||||||
print("\n FINAL MOTOR STATISTICS")
|
print("\n FINAL MOTOR STATISTICS")
|
||||||
final = (test180 + test540 + test1000) / 3
|
final = (test180 + test540 + test1000) / 3
|
||||||
print("Final motor health score:", str(final) + "%")
|
print("Final motor health score:", str(final) + "%")
|
||||||
if final < 65:
|
if final < 80:
|
||||||
print("Your motor is in need of attention. Make sure to clean it regularly and charge the Prime Hub.")
|
print("Your motor is in need of attention. Make sure to clean it regularly and charge the Prime Hub.")
|
||||||
elif final < 85:
|
elif final < 90:
|
||||||
print("Your motor is in OK condition. Make sure to clean it regularly and charge the Prime Hub.")
|
print("Your motor is in OK condition. Make sure to clean it regularly and charge the Prime Hub.")
|
||||||
elif final < 95:
|
elif final < 97:
|
||||||
print("Your motor is in great condition!")
|
print("Your motor is in great condition!")
|
||||||
else:
|
else:
|
||||||
print("Your motor is in AMAZING condition!!!")
|
print("Your motor is in AMAZING condition!!!")
|
||||||
Reference in New Issue
Block a user