Files
Roboteksperimentarium/wiggle.py
NikolajDanger 2cc0dc942d
2022-09-07 14:47:49 +02:00

99 lines
1.8 KiB
Python

from time import sleep
import robot
POWER = 50
TURN_T = 0.08 # 10 degrees
RIGHT_WHEEL_OFFSET = 4
CLOCKWISE_OFFSET = 0.82
MORSE = {
"0": "-----",
"1": ".----",
"2": "..---",
"3": "...--",
"4": "....-",
"5": ".....",
"6": "-....",
"7": "--...",
"8": "---..",
"9": "----.",
"a": ".-",
"b": "-...",
"c": "-.-.",
"d": "-..",
"e": ".",
"f": "..-.",
"g": "--.",
"h": "....",
"i": "..",
"j": ".---",
"k": "-.-",
"l": ".-..",
"m": "--",
"n": "-.",
"o": "---",
"p": ".--.",
"q": "--.-",
"r": ".-.",
"s": "...",
"t": "-",
"u": "..-",
"v": "...-",
"w": ".--",
"x": "-..-",
"y": "-.--",
"z": "--..",
".": ".-.-.-",
",": "--..--",
"?": "..--..",
"!": "-.-.--",
"-": "-....-",
"/": "-..-.",
"@": ".--.-.",
"(": "-.--.",
")": "-.--.-"
}
def short_wiggle(arlo):
arlo.go_diff(POWER, POWER + RIGHT_WHEEL_OFFSET, 1, 0)
sleep(TURN_T * CLOCKWISE_OFFSET)
arlo.stop()
sleep(0.2)
arlo.go_diff(POWER, POWER + RIGHT_WHEEL_OFFSET, 0, 1)
sleep(TURN_T)
arlo.stop()
def long_wiggle(arlo):
arlo.go_diff(POWER, POWER + RIGHT_WHEEL_OFFSET, 1, 0)
sleep(TURN_T * CLOCKWISE_OFFSET * 2)
arlo.stop()
sleep(0.3)
arlo.go_diff(POWER, POWER + RIGHT_WHEEL_OFFSET, 0, 1)
sleep(TURN_T * 2)
arlo.stop()
def main():
# Initializes the robot and runs the
arlo = robot.Robot()
text = input()
for word in text.split(" "):
for character in word:
morse_code = MORSE[character]
for morse_character in morse_code:
if morse_character == ".":
short_wiggle(arlo)
else:
long_wiggle(arlo)
sleep(0.2)
sleep(0.5)
sleep(1)
if __name__ == "__main__":
main()