Mercurial > micro-bot
changeset 2:6dcf45d13f35
Rename servo methods to make more sense
Also change the range of speed from 0-180 to -90-90
| author | Radomir Dopieralski <sheep-devel@sheep.art.pl> |
|---|---|
| date | Tue, 14 Mar 2017 13:00:05 +0100 |
| parents | 6bd959f77530 |
| children | 1dc1a2e5e642 |
| files | bot.py |
| diffstat | 1 files changed, 12 insertions(+), 12 deletions(-) [+] |
line wrap: on
line diff
--- a/bot.py Tue Jan 19 21:11:51 2016 +0100 +++ b/bot.py Tue Mar 14 13:00:05 2017 +0100 @@ -5,12 +5,12 @@ def __init__(self, pin, trim=0): self.pin = pin self.trim = trim - self.position = 90 + self.speed = 0 self.pin.set_analog_period(20) - def write(self, degrees): - self.pin.write_analog(int(25 + 100 * degrees / 180 + self.trim)) - self.position = degrees + def set_speed(self, speed): + self.pin.write_analog(int(25 + 100 * (90 + speed) / 180 + self.trim)) + self.speed = speed class Robot: @@ -20,28 +20,28 @@ def go(self, distance): microbit.display.show(microbit.Image.ARROW_S) - self.left_servo.write(0) - self.right_servo.write(180) + self.left_servo.set_speed(-90) + self.right_servo.set_speed(90) microbit.sleep(int(distance * 2000 / 17)) self.stop() def turn(self, angle): if angle > 0: microbit.display.show(microbit.Image.ARROW_E) - self.left_servo.write(0) - self.right_servo.write(0) + self.left_servo.set_speed(-90) + self.right_servo.set_speed(-90) microbit.sleep(int(angle * 64 / 9)) else: microbit.display.show(microbit.Image.ARROW_W) - self.left_servo.write(180) - self.right_servo.write(180) + self.left_servo.set_speed(90) + self.right_servo.set_speed(90) microbit.sleep(int(-angle * 64 / 9)) self.stop() def stop(self): microbit.display.show(microbit.Image.DIAMOND) - self.left_servo.write(90) - self.right_servo.write(90) + self.left_servo.set_speed(0) + self.right_servo.set_speed(0) def get_distance(self): return microbit.pin2.read_analog()
