ent_motor_esq = OUTPUT_C ent_motor_dir = OUTPUT_D ent_motor_grande = OUTPUT_B ent_motor_medio = OUTPUT_A ent_sc_esq = INPUT_3 ent_sc_dir = INPUT_4 ent_us_lat = INPUT_2 ent_us_fr = INPUT_1 steering_pair = MoveSteering(ent_motor_esq, ent_motor_dir) garra_g = LargeMotor(ent_motor_grande) garra_m = MediumMotor(ent_motor_medio) cor_esq = ColorSensor(ent_sc_esq) cor_dir = ColorSensor(ent_sc_dir) usl = UltrasonicSensor(ent_us_lat) usf = UltrasonicSensor(ent_us_fr) sound = Sound() btn = Button() #começar código sound.beep() tamanhos = ['azul', 'vermelho', 'vermelho', 'amarelo'] item_lista = 2 mapadecores = ['vermelho', 'amarelo', 'azul'] waiting = True pegar_cano = False def distancia_media(sensor): a1 = sensor.distance_centimeters sleep(0.05)
#!/usr/bin/env python3 from ev3dev2.motor import LargeMotor, OUTPUT_A, OUTPUT_B, SpeedPercent, MoveTank from ev3dev2.sensor import INPUT_4 from ev3dev2.sensor.lego import ColorSensor from ev3dev2.sensor import INPUT_3 from ev3dev2.sensor.lego import UltrasonicSensor from ev3dev2.sound import Sound from time import sleep check_white = 0 chage_lotation = 0 cs = ColorSensor() ul = UltrasonicSensor() s = Sound() tank_drive = MoveTank(left_motor_port = OUTPUT_A, right_motor_port = OUTPUT_B) speed_change1 = 25 speed_change2 = 100 #처음에 직진 while True: if cs.value() < 45: tank_drive.on(100, 100) else: break #라인 따라 가기 while True: if ul.value() < 250: break else : if cs.value() < 11:
#!/usr/bin/env python3 from ev3dev2.motor import OUTPUT_A, OUTPUT_D, MoveTank, SpeedPercent, follow_for_ms from ev3dev2.sensor.lego import ColorSensor from ev3dev2.sound import Sound from ColorTank import ColorTank import time import sys sound = Sound() # tank = MoveTank(OUTPUT_A, OUTPUT_D) # tank.cs = ColorSensor() color_tank = ColorTank(OUTPUT_A, OUTPUT_D, 'IR-REMOTE', 'COL-COLOR') sound.beep() while True: color_tank.process() time.sleep(2) # try: # Follow the line for 4500ms # tank.follow_line( # kp=11.3, ki=0.05, kd=3.2, # speed=SpeedPercent(30), # follow_for=follow_for_ms, # ms=4500 # ) # except Exception: # tank.stop()
#/usr/bin/env python3 from ev3dev2.sound import Sound from time import sleep sound = Sound() #play a standard beep sound.beep() sleep(2) # pause for 2 seconds # Play a SINGLE 2000 Hz tone for 1.5 seconds sound.play_tone(2000, 1.5) sleep(2) # Play a SEQUENCE of tones sound.tone([(200, 2000, 400), (800, 1800, 2000)]) sleep(2) # Play a 500 Hz tone for 1 second and then wait 0.4 seconds # before playing the next tone # Play the tone three times # [(500, 1000, 400)] * 3 is the same as # [(500, 1000, 400), (500, 1000, 400), (500, 1000, 400)] sound.tone([(500, 1000, 400)] * 3) sleep(2) #text to speech sound.speak('Hello, my name is E V 3!')
def race_loss_routine(): '''Call this in case the worst happens''' Sound().speak('We did everything right!', play_type=Sound.PLAY_LOOP)
#!/usr/bin/env python3 import os import sys import time from ev3dev2.motor import LargeMotor, OUTPUT_A, OUTPUT_D, SpeedPercent, MoveTank, MoveSteering, MediumMotor, OUTPUT_B from ev3dev2.sensor import INPUT_1, INPUT_4, INPUT_2, INPUT_3 from ev3dev2.sensor.lego import TouchSensor, InfraredSensor, ColorSensor from ev3dev2.led import Leds from ev3dev2.button import Button from ev3dev2.sound import Sound ON = True OFF = False music = Sound() music.play_file("Confirm.wav") tank_drive = MoveTank(OUTPUT_A, OUTPUT_D) steering_drive = MoveSteering(OUTPUT_A, OUTPUT_D) ir = InfraredSensor() ir.mode = "IR-PROX" touch_sensor = TouchSensor() touch_sensor.mode = "TOUCH" color_arm = MediumMotor(OUTPUT_B) display_button = Button() color_sensor = ColorSensor() def deploy_color_sensor(): color_arm.on_for_rotations(SpeedPercent(5), 0.30) time.sleep(4.5) if color_sensor.color == 1: music.speak("I found something black on the surface of Mars")
from ev3dev2.sensor.lego import TouchSensor from ev3dev2.sensor.lego import UltrasonicSensor from ev3dev2.sound import Sound from time import sleep flip = 1 def drive(): global flip flip = flip * -1 tank_drive.on_for_seconds(SpeedPercent(30 * flip), SpeedPercent(30 * flip), 1, True, True) s = Sound() tank_drive = MoveTank(OUTPUT_A, OUTPUT_D) for x in range(4): drive() s.beep() sleep(1) for x in range(4): drive() s.beep(play_type=Sound.PLAY_NO_WAIT_FOR_COMPLETE) sleep(3) for x in range(4): drive() s.speak("testjes tests tests tests")
#!/usr/bin/env python3 """Make robot say whatever color it observes with the color sensor.""" from ev3dev2.sensor.lego import ColorSensor from time import sleep from ev3dev2.sound import Sound color_sensor = ColorSensor() sound = Sound() while True: color = color_sensor.color text = ColorSensor.COLORS[color] sound.speak(text) sleep(2)
ent_sc_esq = INPUT_3 ent_sc_dir = INPUT_4 ent_us_lat = INPUT_2 ent_us_fr = INPUT_1 steering_pair = MoveSteering(ent_motor_esq, ent_motor_dir) garra_g = LargeMotor(ent_motor_grande) garra_m = MediumMotor(ent_motor_medio) cor_esq = ColorSensor(ent_sc_esq) cor_dir = ColorSensor(ent_sc_dir) usl = UltrasonicSensor(ent_us_lat) usf = UltrasonicSensor(ent_us_fr) sound = Sound() btn = Button() # FUNÇÕES def distancia(sensor): a1 = sensor.distance_centimeters sleep(0.1) a2 = sensor.distance_centimeters sleep(0.1) a3 = sensor.distance_centimeters sleep(0.1) distancia = max(a1, a2, a3) return distancia
class R3ptar: def __init__(self, turn_motor_port: str = OUTPUT_A, move_motor_port: str = OUTPUT_B, scare_motor_port: str = OUTPUT_D, touch_sensor_port: str = INPUT_1, color_sensor_port: str = INPUT_3, ir_sensor_port: str = INPUT_4, ir_beacon_channel: int = 1): self.turn_motor = MediumMotor(address=turn_motor_port) self.move_motor = LargeMotor(address=move_motor_port) self.scare_motor = LargeMotor(address=scare_motor_port) self.touch_sensor = TouchSensor(address=touch_sensor_port) self.color_sensor = ColorSensor(address=color_sensor_port) self.ir_sensor = InfraredSensor(address=ir_sensor_port) self.ir_beacon_channel = ir_beacon_channel self.noise = Sound() def drive_once_by_ir_beacon(self, speed: float = 100): if self.ir_sensor.top_left(channel=self.ir_beacon_channel) and \ self.ir_sensor.top_right(channel=self.ir_beacon_channel): self.move_motor.on(speed=speed, brake=False, block=False) elif self.ir_sensor.bottom_left(channel=self.ir_beacon_channel) and \ self.ir_sensor.bottom_right(channel=self.ir_beacon_channel): self.move_motor.on(speed=-speed, brake=False, block=False) elif self.ir_sensor.top_left(channel=self.ir_beacon_channel): self.turn_motor.on(speed=-50, brake=False, block=False) self.move_motor.on(speed=speed, brake=False, block=False) elif self.ir_sensor.top_right(channel=self.ir_beacon_channel): self.turn_motor.on(speed=50, brake=False, block=False) self.move_motor.on(speed=speed, brake=False, block=False) elif self.ir_sensor.bottom_left(channel=self.ir_beacon_channel): self.turn_motor.on(speed=-50, brake=False, block=False) self.move_motor.on(speed=-speed, brake=False, block=False) elif self.ir_sensor.bottom_right(channel=self.ir_beacon_channel): self.turn_motor.on(speed=50, brake=False, block=False) self.move_motor.on(speed=-speed, brake=False, block=False) else: self.turn_motor.off(brake=True) self.move_motor.off(brake=False) def bite_by_ir_beacon(self, speed: float = 100): if self.ir_sensor.beacon(channel=self.ir_beacon_channel): self.scare_motor.on_for_seconds(speed=speed, seconds=1, brake=True, block=False) self.noise.play_file(wav_file='/home/robot/sound/Snake hiss.wav', volume=100, play_type=Sound.PLAY_NO_WAIT_FOR_COMPLETE) self.scare_motor.on_for_seconds(speed=-speed, seconds=1, brake=True, block=True) while self.ir_sensor.beacon(channel=self.ir_beacon_channel): pass def run_away_if_chased(self): if self.color_sensor.reflected_light_intensity > 30: self.move_motor.on_for_seconds(speed=50, seconds=4, brake=True, block=False) for i in range(2): self.turn_motor.on_for_seconds(speed=50, seconds=1, brake=False, block=True) self.turn_motor.on_for_seconds(speed=-50, seconds=1, brake=False, block=True) def bite_if_touched(self): if self.touch_sensor.is_pressed: self.scare_motor.on_for_seconds(speed=100, seconds=1, brake=True, block=False) self.noise.play_file(wav_file='/home/robot/sound/Snake hiss.wav', volume=100, play_type=Sound.PLAY_NO_WAIT_FOR_COMPLETE) self.scare_motor.on_for_seconds(speed=-10, seconds=10, brake=True, block=True) def main(self, speed: float = 100): while True: self.drive_once_by_ir_beacon(speed=speed) self.bite_by_ir_beacon(speed=speed) self.bite_if_touched() self.run_away_if_chased()
class Ev3rstorm(RemoteControlledTank): def __init__( self, left_foot_motor_port: str = OUTPUT_B, right_foot_motor_port: str = OUTPUT_C, bazooka_blast_motor_port: str = OUTPUT_A, touch_sensor_port: str = INPUT_1, color_sensor_port: str = INPUT_3, ir_beacon_channel: int = 1): super().__init__( left_motor_port=left_foot_motor_port, right_motor_port=right_foot_motor_port, polarity=Motor.POLARITY_NORMAL, speed=1000, channel=ir_beacon_channel) self.bazooka_blast_motor = MediumMotor(address=bazooka_blast_motor_port) self.touch_sensor = TouchSensor(address=touch_sensor_port) self.color_sensor = ColorSensor(address=color_sensor_port) self.screen = Display() self.speaker = Sound() def blast_bazooka_whenever_touched(self): while True: if self.touch_sensor.is_pressed: if self.color_sensor.ambient_light_intensity < 5: # 15 not dark enough self.speaker.play_file( wav_file='/home/robot/sound/Up.wav', volume=100, play_type=Sound.PLAY_WAIT_FOR_COMPLETE) self.bazooka_blast_motor.on_for_rotations( speed=100, rotations=-3, brake=True, block=True) else: self.speaker.play_file( wav_file='/home/robot/sound/Down.wav', volume=100, play_type=Sound.PLAY_WAIT_FOR_COMPLETE) self.bazooka_blast_motor.on_for_rotations( speed=100, rotations=3, brake=True, block=True) self.touch_sensor.wait_for_released() def main(self): self.screen.image_filename( filename='/home/robot/image/Target.bmp', clear_screen=True) self.screen.update() Process(target=self.blast_bazooka_whenever_touched, daemon=True).start() super().main() # RemoteControlledTank.main()
ent_motor_esq = OUTPUT_C ent_motor_dir = OUTPUT_D ent_motor_grande = OUTPUT_B ent_motor_medio = OUTPUT_A ent_sc_esq = INPUT_3 ent_sc_dir = INPUT_4 ent_us_lat = INPUT_2 ent_us_fr = INPUT_1 steering_pair = MoveSteering(ent_motor_esq, ent_motor_dir) garra_g = LargeMotor(ent_motor_grande) garra_m = MediumMotor(ent_motor_medio) cor_esq = ColorSensor(ent_sc_esq) cor_dir = ColorSensor(ent_sc_dir) usl = UltrasonicSensor(ent_us_lat) usf = UltrasonicSensor(ent_us_fr) sound = Sound() btn = Button() def RGBtoHSV(rgb): x = max(rgb) y = min(rgb) if x == y: z = 1 else: z = x - y r = rgb[0] g = rgb[1] b = rgb[2] if r >= g and r >= b: #se o vermelho é o máximo if g >= b:
class Rov3r(IRBeaconRemoteControlledTank): def __init__(self, left_motor_port: str = OUTPUT_B, right_motor_port: str = OUTPUT_C, gear_motor_port: str = OUTPUT_A, touch_sensor_port: str = INPUT_1, color_sensor_port: str = INPUT_3, ir_sensor_port: str = INPUT_4, ir_beacon_channel: int = 1): super().__init__(left_motor_port=left_motor_port, right_motor_port=right_motor_port, ir_sensor_port=ir_sensor_port, ir_beacon_channel=ir_beacon_channel) self.gear_motor = MediumMotor(address=gear_motor_port) self.touch_sensor = TouchSensor(address=touch_sensor_port) self.color_sensor = ColorSensor(address=color_sensor_port) self.ir_sensor = InfraredSensor(address=ir_sensor_port) self.speaker = Sound() self.dis = Display(desc='Display') def spin_gears(self, speed: float = 100): if self.ir_sensor.beacon(channel=1): self.gear_motor.on(speed=speed, block=False, brake=False) else: self.gear_motor.off(brake=True) def change_screen_when_touched(self): if self.touch_sensor.is_pressed: self.dis.image_filename(filename='/home/robot/image/Angry.bmp', clear_screen=True) self.dis.update() else: self.dis.image_filename(filename='/home/robot/image/Fire.bmp', clear_screen=True) self.dis.update() def make_noise_when_seeing_black(self): if self.color_sensor.color == ColorSensor.COLOR_BLACK: self.speaker.play_file(wav_file='/home/robot/sound/Ouch.wav', volume=100, play_type=Sound.PLAY_WAIT_FOR_COMPLETE) def main(self): self.speaker.play_file(wav_file='/home/robot/sound/Yes.wav', volume=100, play_type=Sound.PLAY_WAIT_FOR_COMPLETE) while True: self.drive_once_by_ir_beacon(speed=100) self.make_noise_when_seeing_black() self.spin_gears(speed=100) self.change_screen_when_touched()
def music(): Sound.play("sounds/titanic.wav").wait()
from ev3dev2.sound import Sound #dicionário que permite tocar músicas from ev3dev.ev3 import * #nao sei a diferença do de cima from time import sleep #from threading import Thread #dicionário que permite executar ações ao mesmo tempo from multiprocessing import Process #multi-process from ev3dev2.motor import LargeMotor, MediumMotor, MoveSteering, OUTPUT_D, OUTPUT_A, OUTPUT_B, SpeedRPS #dicionário dos motores disponíveis e usados no robot from PIL import Image #dicionário que permite apresentar imagens .bmp no lcd from ev3dev2.sensor.lego import GyroSensor from threading import Thread #dicionário que permite executar ações ao mesmo tempo import os #os.system('setfont Lat15-TerminusBold14') os.system('setfont Lat15-TerminusBold32x16') mySound = Sound() import colorTest import coord ############################################# # TO DO LIST # ############################################# ''' definir a melhor velocidade para o robot se mover definir a melhor velocidade para a garra abrir e fechar definir quantas rotações (ou segundos) são necessarias para andar 1 casa definir os angulos de rotação definir multiprocessing para andar e fazer a leitura ao mesmo tempo ''' ##########################################################################################
#!/usr/bin/env micropython from ev3dev2.motor import LargeMotor, MediumMotor, OUTPUT_A, OUTPUT_D from ev3dev2.sensor import INPUT_4 from ev3dev2.sensor.lego import InfraredSensor from ev3dev2.sound import Sound from multiprocessing import Process from time import sleep LARGE_MOTOR = LargeMotor(address=OUTPUT_D) MEDIUM_MOTOR = MediumMotor(address=OUTPUT_A) IR_SENSOR = InfraredSensor(address=INPUT_4) SPEAKER = Sound() def rattle(): while True: MEDIUM_MOTOR.on_for_seconds(speed=10, seconds=1, brake=False, block=True) SPEAKER.play_file(wav_file='/home/robot/sound/Snake rattle.wav', volume=50, play_type=Sound.PLAY_WAIT_FOR_COMPLETE) MEDIUM_MOTOR.on_for_seconds(speed=-10, seconds=1,
# port 1 = Barometer sensor # port 2 = Ultrasonic sensor, Infrared Sensor and Gyro Sensor via EV3 Port splitter # port 3 = Thermometer # port 4 = Sound Sensor # port A = Medium Motor (Claw) # port B = Large Motor # port C = Large Motor # port D = Medium Motor (Lift) tank_pair = MoveTank(OUTPUT_B,OUTPUT_C) steer_pair = MoveSteering(OUTPUT_B,OUTPUT_C) MediumMotor_Claw = MediumMotor(OUTPUT_A) MediumMotor_lift = MediumMotor(OUTPUT_D) sound = Sound() leds = Leds() btn = Button() # Mindstorms EV3-Sensor-Mux connected to EV3 Ultrasonic Sensor, Infrared Sensor and Gyro Sensor -------------------- us_port = LegoPort(address='ev3-ports:in2:i2c80:mux1') ir_port = LegoPort(address='ev3-ports:in2:i2c81:mux2') gyro_port = LegoPort(address='ev3-ports:in2:i2c82:mux3') us_port.mode = 'uart' ir_port.mode = 'uart' gyro_port.mode = 'uart' us_port.set_device = 'lego-ev3-us' ir_port.set_device = 'lego-ev3-ir'
#!/usr/bin/env micropython from ev3dev2.sound import Sound player = Sound() player.play_song(( ('D4', 'e3'), # intro anacrouse ('D4', 'e3'), ('D4', 'e3'), ('G4', 'h'), # meas 1 ('D5', 'h'), ('C5', 'e3'), # meas 2 ('B4', 'e3'), ('A4', 'e3'), ('G5', 'h'), ('D5', 'q'), ('C5', 'e3'), # meas 3 ('B4', 'e3'), ('A4', 'e3'), ('G5', 'h'), ('D5', 'q'), ('C5', 'e3'), # meas 4 ('B4', 'e3'), ('C5', 'e3'), ('A4', 'h.'), ))
#!/usr/bin/env python3 from __future__ import absolute_import from ev3dev.ev3 import * from roberta.ev3 import Hal from ev3dev2.motor import LargeMotor, MediumMotor from ev3dev2.motor import MoveSteering, OUTPUT_A, OUTPUT_D from ev3dev2.motor import MoveTank, OUTPUT_A, OUTPUT_D from ev3dev2.sound import Sound from ev3dev import ev3 as ev3dev #lm = LargeMotor(OUTPUT_A) #rm = LargeMotor(OUTPUT_D) mm = MediumMotor(OUTPUT_B) sound = Sound() opts = '-a 200 -s 130 -v' text = 'Saluton amikoj, mi estas Robi! mi sxatas muziki kaj danci' sound.speak(text, espeak_opts=opts+'eo') class BreakOutOfALoop(Exception): pass class ContinueLoop(Exception): pass _brickConfiguration = { 'wheel-diameter': 5.6, 'track-width': 18.0, 'actors': { 'A':Hal.makeLargeMotor(ev3dev.OUTPUT_A, 'on', 'foreward', 'right'), 'D':Hal.makeLargeMotor(ev3dev.OUTPUT_D, 'on', 'foreward', 'left'), }
from ev3dev2.motor import LargeMotor, OUTPUT_A, OUTPUT_B, SpeedPercent, MoveTank from ev3dev2.sensor import INPUT_1 from ev3dev2.sensor.lego import TouchSensor from ev3dev2.led import Leds ts = TouchSensor(INPUT_1) leds = Leds() print("Press the touch sensor to change the LED color!") # m = LargeMotor(OUTPUT_A) # m.on_for_rotations(SpeedPercent(75), 5) from ev3dev2.sound import Sound sound = Sound() sound.speak("LICKo is going to win it all this year! Lets goooooooooooo!") flip = True while True: # if ts.is_pressed: if flip: leds.set_color("LEFT", "GREEN") leds.set_color("RIGHT", "GREEN") else: leds.set_color("LEFT", "RED") leds.set_color("RIGHT", "RED") flip = not flip # don't let this loop use 100% CPU sleep(0.2)
class Gripp3r: def __init__(self, left_motor_port: str = OUTPUT_B, right_motor_port: str = OUTPUT_C, grip_motor_port: str = OUTPUT_A, touch_sensor_port: str = INPUT_1, ir_sensor_port: str = INPUT_4, ir_beacon_channel: int = 1): self.tank_driver = MoveTank(left_motor_port=left_motor_port, right_motor_port=right_motor_port, motor_class=LargeMotor) self.grip_motor = MediumMotor(address=grip_motor_port) self.touch_sensor = TouchSensor(address=touch_sensor_port) self.ir_sensor = InfraredSensor(address=ir_sensor_port) self.ir_beacon_channel = ir_beacon_channel self.speaker = Sound() def keep_driving_by_ir_beacon(self, speed: float = 100): while True: if self.ir_sensor.top_left(channel=self.ir_beacon_channel) and \ self.ir_sensor.top_right(channel=self.ir_beacon_channel): # go forward self.tank_driver.on(left_speed=speed, right_speed=speed) elif self.ir_sensor.bottom_left(channel=self.ir_beacon_channel) and \ self.ir_sensor.bottom_right(channel=self.ir_beacon_channel): # go backward self.tank_driver.on(left_speed=-speed, right_speed=-speed) elif self.ir_sensor.top_left(channel=self.ir_beacon_channel) and \ self.ir_sensor.bottom_right(channel=self.ir_beacon_channel): # turn around left self.tank_driver.on(left_speed=-speed, right_speed=speed) elif self.ir_sensor.top_right(channel=self.ir_beacon_channel) and \ self.ir_sensor.bottom_left(channel=self.ir_beacon_channel): # turn around right self.tank_driver.on(left_speed=speed, right_speed=-speed) elif self.ir_sensor.top_left(channel=self.ir_beacon_channel): # turn left self.tank_driver.on(left_speed=0, right_speed=speed) elif self.ir_sensor.top_right(channel=self.ir_beacon_channel): # turn right self.tank_driver.on(left_speed=speed, right_speed=0) elif self.ir_sensor.bottom_left(channel=self.ir_beacon_channel): # left backward self.tank_driver.on(left_speed=0, right_speed=-speed) elif self.ir_sensor.bottom_right(channel=self.ir_beacon_channel): # right backward self.tank_driver.on(left_speed=-speed, right_speed=0) else: self.tank_driver.off(brake=False) def grip_or_release_by_ir_beacon(self, speed: float = 50): while True: if self.ir_sensor.beacon(channel=self.ir_beacon_channel): if self.touch_sensor.is_pressed: self.speaker.play_file( wav_file='/home/robot/sound/Air release.wav', volume=100, play_type=Sound.PLAY_NO_WAIT_FOR_COMPLETE) self.grip_motor.on_for_seconds(speed=speed, seconds=1, brake=True, block=True) else: self.speaker.play_file( wav_file='/home/robot/sound/Airbrake.wav', volume=100, play_type=Sound.PLAY_NO_WAIT_FOR_COMPLETE) self.grip_motor.on(speed=-speed, brake=False, block=False) self.touch_sensor.wait_for_pressed() self.grip_motor.off(brake=True) while self.ir_sensor.beacon(channel=self.ir_beacon_channel): pass def main(self, speed: float = 100): self.grip_motor.on_for_seconds(speed=-50, seconds=1, brake=True, block=True) while True: Process(target=self.grip_or_release_by_ir_beacon).start() self.keep_driving_by_ir_beacon(speed=speed)
class Dinor3x(IRBeaconRemoteControlledTank): """ Challenges: - Can you make DINOR3X remote controlled with the IR-Beacon? - Can you attach a colorsensor to DINOR3X, and make it behave differently depending on which color is in front of the sensor (red = walk fast, white = walk slow, etc.)? """ def __init__( self, left_motor_port: str = OUTPUT_B, right_motor_port: str = OUTPUT_C, jaw_motor_port: str = OUTPUT_A, touch_sensor_port: str = INPUT_1, ir_sensor_port: str = INPUT_4, ir_beacon_channel: int = 1): super().__init__( left_motor_port=left_motor_port, right_motor_port=right_motor_port, ir_sensor_port=ir_sensor_port, ir_beacon_channel=ir_beacon_channel) self.jaw_motor = MediumMotor(address=jaw_motor_port) self.touch_sensor = TouchSensor(address=touch_sensor_port) self.ir_sensor = InfraredSensor(address=ir_sensor_port) self.ir_beacon_channel = ir_beacon_channel self.button = Button() self.speaker = Sound() def calibrate_legs(self): self.tank_driver.on( left_speed=10, right_speed=20) self.touch_sensor.wait_for_released() self.tank_driver.off(brake=True) self.left_motor.on(speed=40) self.touch_sensor.wait_for_pressed() self.left_motor.off(brake=True) self.left_motor.on_for_rotations( rotations=-0.2, speed=50, brake=True, block=True) self.right_motor.on(speed=40) self.touch_sensor.wait_for_pressed() self.right_motor.off(brake=True) self.right_motor.on_for_rotations( rotations=-0.2, speed=50, brake=True, block=True) self.left_motor.reset() self.right_motor.reset() def close_mouth(self): self.jaw_motor.on( speed=20, block=False, brake=False) sleep(1) self.jaw_motor.off(brake=True) def roar(self): self.speaker.play_file( wav_file='/home/robot/sound/T-rex roar.wav', volume=100, play_type=Sound.PLAY_NO_WAIT_FOR_COMPLETE) self.jaw_motor.on_for_degrees( speed=40, degrees=-60, block=True, brake=True) for i in range(12): self.jaw_motor.on_for_seconds( speed=-40, seconds=0.05, block=True, brake=True) self.jaw_motor.on_for_seconds( speed=40, seconds=0.05, block=True, brake=True) self.jaw_motor.on( speed=20, brake=False, block=False) sleep(0.5) def walk_until_blocked(self): self.steer_driver.on( steering=0, speed=-40) while self.ir_sensor.proximity >= 25: pass self.steer_driver.off(brake=True) def run_away(self): self.steer_driver.on_for_rotations( speed=75, steering=0, rotations=3, brake=True, block=True) def jump(self): """ Dinor3x Mission 02 Challenge: make it jump """ ... # TRANSLATED FROM EV3-G MY BLOCKS # ------------------------------- def leg_adjust( self, cyclic_degrees: float, speed: float = 40, leg_offset_percent: float = 0, mirrored_adjust: bool = False, brake: bool = True): ... def leg_to_pos( self, speed: float = 40, left_position: float = 0, right_position: float = 0): self.tank_driver.stop(brake=True) self.left_motor.on_for_degrees( speed=speed, degrees=left_position - cyclic_position_offset( rotation_sensor=self.left_motor.position, cyclic_degrees=360), brake=True, block=True) self.right_motor.on_for_degrees( speed=speed, degrees=right_position - cyclic_position_offset( rotation_sensor=self.right_motor.position, cyclic_degrees=360), brake=True, block=True) def turn(self, speed: float = 40, n_steps: int = 1): ... def walk(self, speed: float = 40): ... def walk_steps(self, speed: float = 40, n_steps: int = 1): ...
def play_random_quote(): '''A word from our sponsor, Anatoly Dyatlov''' index = random.randint(0, len(soundList) - 1) # keep moving while speaking Sound().speak(soundList[index], play_type=Sound.PLAY_NO_WAIT_FOR_COMPLETE)
ent_sc_dir = INPUT_4 ent_us_lat = INPUT_2 ent_us_fr = INPUT_1 steering_pair = MoveSteering(ent_motor_esq, ent_motor_dir) tank = MoveTank(ent_motor_esq, ent_motor_dir) tank.cs = ColorSensor(ent_sc_esq) garra_g = LargeMotor(ent_motor_grande) garra_m = MediumMotor(ent_motor_medio) cor_esq = ColorSensor(ent_sc_esq) cor_dir = ColorSensor(ent_sc_dir) usl = UltrasonicSensor(ent_us_lat) usf = UltrasonicSensor(ent_us_fr) sound = Sound() btn = Button() #Funções #Cor #Locomoção # Reconhecimento de cor def RGBtoHSV(rgb): x = max(rgb) y = min(rgb) if x == y: z = 1
def play_beep(hz=300.0, length=1.0): Sound().play_tone(hz, length)
#!/usr/bin/env python3 from ev3dev2.motor import LargeMotor, SpeedPercent, MoveTank, MediumMotor, OUTPUT_A, OUTPUT_B, OUTPUT_C, OUTPUT_D from ev3dev2.sensor import INPUT_1, INPUT_2, INPUT_3, INPUT_4 from ev3dev2.sensor.lego import TouchSensor, ColorSensor from ev3dev2.led import Leds from ev3dev2.sound import Sound import time, os os.system('setfont ' + 'Lat15-Terminus24x12') sound = Sound() sound.speak('hello')
from ev3dev2.motor import LargeMotor, OUTPUT_A, OUTPUT_B, OUTPUT_C, OUTPUT_D, SpeedPercent, MoveTank, MediumMotor#gives us accses to everything we need to run EV3 dev from ev3dev2.sensor import INPUT_1, INPUT_2, INPUT_3, INPUT_4 from ev3dev2.sensor.lego import ColorSensor from ev3dev2.sensor.lego import GyroSensor from ev3dev2.button import Button from ev3dev2.sound import Sound from ev3dev2.display import Display import time import sys btn = Button() # variable so we can get buttons pressed on EV3 color = ColorSensor(INPUT_4) # color sensor for checking attachment color tank_drive = MoveTank(OUTPUT_B, OUTPUT_C) # Creates a variable so we can control the drivetrain motorA = MediumMotor(OUTPUT_A) # left medium motor motorD = MediumMotor(OUTPUT_D) # right medium motor gyro = GyroSensor(INPUT_1) # gyro variable Sound_ = Sound() # beepity beep Display_ = Display() # for displaying text Sound_.play_tone(frequency=400, duration=0.5, volume=50) #plays a note so we know when the code starts #--------------------------------------------------------------------------------------------------------------------------------------------------- #------------------------------------------------Distance conversion-------------------------------------------------------------------------------- # Distance Conversion wheelDiameter_mm = 56 # Look at the first number on the NUMBERxNUMBER on wheel wheelCircumference_cm = (wheelDiameter_mm/10) * 3.14159265358979323846284338 # Convert to cm and multiply by pi for circumference wheelCircumference_in = (wheelDiameter_mm/25.4) * 3.14159265358979323846284338 # Convert to in and multiply by pi for circumference # inches to rotations: # example: drive.on_for_rotations(SpeedPercent(100), SpeedPrecent(100), inToRotations(5)) # to go 5 inches def inToRotations(inches): return inches/wheelCircumference_in # centimeters to rotations:
#!/usr/bin/env python3 from ev3dev2.button import Button from time import sleep from ev3dev2.led import Leds from ev3dev2.sound import Sound import os import sys os.system('setfont Lat15-TerminusBold14') btn = Button() loop = True leds = Leds() sound = Sound() while loop: if btn.left == True: leds.set_color('LEFT', 'RED') elif btn.right == True: leds.set_color('RIGHT', 'RED') elif btn.up == True: leds.set_color('RIGHT', 'YELLOW') elif btn.down == True: leds.set_color('LEFT', 'AMBER') elif btn.enter == True: loop = False else: print('Do something!') sound.play_tone(1500, 1) sleep(0.5) sound.play_tone(1400, 1) sleep(0.5) sound.play_tone(1300, 1)
#!/usr/bin/env python3 import numpy as np from ev3dev2.sensor import INPUT_1, INPUT_3 from ev3dev2.sensor.lego import ColorSensor, UltrasonicSensor from ev3dev2.button import Button from ev3dev2.sound import Sound import time """load up peripherals. sensors motors buttons etc""" button = Button() l_sensor3 = ColorSensor(INPUT_3) l_sensor1 = ColorSensor(INPUT_1) u_sensor = UltrasonicSensor() sound = Sound() def return_pressed_button(button): """waits for center button to be pressed and then returns the button object""" pressed_button = None while True: sound.play_tone(400, 0.5) #print(button.buttons_pressed) print("press button:") if button.enter: print(button.enter) sound.play_tone(300, 0.5) pressed_button = button break return True, pressed_button
from ev3dev2.sensor import INPUT_1, INPUT_2, INPUT_3, INPUT_4 from ev3dev2.sensor.lego import ColorSensor from ev3dev2.sensor.lego import GyroSensor from ev3dev2.button import Button from ev3dev2.sound import Sound from ev3dev2.display import Display import time import sys btn = Button() color = ColorSensor(INPUT_4) tank_drive = MoveTank(OUTPUT_B, OUTPUT_C) #This is the template whenever we code motorA = MediumMotor(OUTPUT_A) motorD = MediumMotor(OUTPUT_D) Sound_ = Sound() Display_ = Display() Sound_.play_tone(frequency=400, duration=0.5, volume=50) #plays a note so we know when the code starts #yellow = forwards def swing_and_safety(): tank_drive = MoveTank(OUTPUT_B, OUTPUT_C) motorA = MediumMotor(OUTPUT_A) motorD = MediumMotor(OUTPUT_D) tank_drive.on_for_rotations(SpeedPercent(50), SpeedPercent(50), 6.67) #ROBOT MOVES FORWARD FROM BASE tank_drive.on_for_rotations(SpeedPercent(20), SpeedPercent(20), .8) # ROBOT MOVES INTO SWING tank_drive.on_for_rotations(SpeedPercent(-30), SpeedPercent(-30),
from ev3dev2.button import Button from ev3dev2.sound import Sound from ev3dev2.display import Display from PIL import Image import array import random import os #logging logging.basicConfig(level=logging.DEBUG, format='%(asctime)s %(levelname)5s: %(message)s') log=logging.getLogger(__name__) log.info("Starting Snake") btn=Button() sound=Sound() display=Display() # declare the variables # direction x: 0-no move; 1-left; -1-right dx=0 # direction y: 0-no move; 1-down; -1-up dy=0 # Set burger position x hx=random.randint(10, 170) # set burger position y hy=random.randint(20, 120) # set the start x position of snake Sx=[80] # set the start y position of snake Sy=[60]
def sound(self): return Sound()