mirror of
https://github.com/pybricks/pybricks-projects.git
synced 2026-09-14 18:44:20 +00:00
ev3/snippets: bluetooth: update rover example
This commit is contained in:
@@ -28,7 +28,11 @@ def get_bluetooth_rfcomm_socket(address, channel):
|
||||
class SpikePrimeStreamReader():
|
||||
def __init__(self, address):
|
||||
|
||||
self.sock = get_bluetooth_rfcomm_socket(address, 1)
|
||||
try:
|
||||
self.sock = get_bluetooth_rfcomm_socket(address, 1)
|
||||
except OSError as e:
|
||||
print("Turn on Bluetooth on the EV3 and on SPIKE.")
|
||||
raise e
|
||||
|
||||
self._values = None
|
||||
|
||||
|
||||
@@ -13,6 +13,5 @@ spike = SpikePrimeStreamReader('F4:84:4C:AA:C8:A4')
|
||||
|
||||
# Now you can simply read values!
|
||||
for i in range(100):
|
||||
print(spike.orientation())
|
||||
print(spike.device('B'))
|
||||
print(spike.values())
|
||||
wait(100)
|
||||
|
||||
@@ -0,0 +1,28 @@
|
||||
#!/usr/bin/env pybricks-micropython
|
||||
from pybricks.hubs import EV3Brick
|
||||
from pybricks.tools import wait
|
||||
from pybricks.ev3devices import Motor
|
||||
from pybricks.robotics import DriveBase
|
||||
from pybricks.parameters import Port
|
||||
|
||||
from connection import SpikePrimeStreamReader
|
||||
|
||||
# Beep!
|
||||
ev3 = EV3Brick()
|
||||
ev3.speaker.beep()
|
||||
|
||||
# Create the connection. See README.md to find the address for your SPIKE hub.
|
||||
spike = SpikePrimeStreamReader('F4:84:4C:AA:C8:A4')
|
||||
|
||||
# Initialize the motors and drive base
|
||||
left_motor = Motor(Port.B)
|
||||
right_motor = Motor(Port.C)
|
||||
robot = DriveBase(left_motor, right_motor, wheel_diameter=55.5, axle_track=104)
|
||||
|
||||
while True:
|
||||
# Read the orientation
|
||||
yaw, pitch, roll = spike.orientation()
|
||||
|
||||
# Set speed and turn rate based on orientation
|
||||
robot.drive(-pitch*6, roll*2)
|
||||
wait(20)
|
||||
Reference in New Issue
Block a user