Código e Implementación » History » Version 2
Javier Huanca, 12/16/2023 05:04 PM
| 1 | 1 | Javier Huanca | h1. Código e Implementación |
|---|---|---|---|
| 2 | 1 | Javier Huanca | |
| 3 | 1 | Javier Huanca | h2. +Funciones+ |
| 4 | 2 | Javier Huanca | |
| 5 | 2 | Javier Huanca | from ev3dev2.motor import LargeMotor, MediumMotor, OUTPUT_A, OUTPUT_B, OUTPUT_C, OUTPUT_D, SpeedRPM, MoveTank |
| 6 | 2 | Javier Huanca | from ev3dev2.sound import Sound |
| 7 | 2 | Javier Huanca | import math |
| 8 | 2 | Javier Huanca | import os |
| 9 | 2 | Javier Huanca | import sys |
| 10 | 2 | Javier Huanca | from time import sleep |
| 11 | 2 | Javier Huanca | |
| 12 | 2 | Javier Huanca | def debug_print(*args, **kwargs): |
| 13 | 2 | Javier Huanca | '''Print debug messages to stderr. |
| 14 | 2 | Javier Huanca | |
| 15 | 2 | Javier Huanca | This shows up in the output panel in VS Code. |
| 16 | 2 | Javier Huanca | ''' |
| 17 | 2 | Javier Huanca | print(*args, **kwargs, file=sys.stderr) |
| 18 | 2 | Javier Huanca | |
| 19 | 2 | Javier Huanca | os.system('setfont Lat15-TerminusBold14') |
| 20 | 2 | Javier Huanca | |
| 21 | 2 | Javier Huanca | #movimiento simultáneo de las ruedas(rueda izquierda, rueda derecha) |
| 22 | 2 | Javier Huanca | movimiento_ruedas = MoveTank(OUTPUT_A, OUTPUT_B) |
| 23 | 2 | Javier Huanca | #movimiento del palo del robot |
| 24 | 2 | Javier Huanca | mPalo = LargeMotor(OUTPUT_C) |
| 25 | 2 | Javier Huanca | #movimiento de rotación de las ruedas delanteras |
| 26 | 2 | Javier Huanca | mRotar = MediumMotor(OUTPUT_D) |
| 27 | 2 | Javier Huanca | |
| 28 | 2 | Javier Huanca | |
| 29 | 2 | Javier Huanca | #función para lanzar un objeto con el palo |
| 30 | 2 | Javier Huanca | def lanzar(distancia): |
| 31 | 2 | Javier Huanca | pi = math.pi |
| 32 | 2 | Javier Huanca | vel_necesaria = math.sqrt((4.9*distancia)/math.cos(pi/4)*math.sin(pi/4)) |
| 33 | 2 | Javier Huanca | vel_rpm = (60*vel_necesaria)/(2*pi*0.189) |
| 34 | 2 | Javier Huanca | # Rotar el motor en -180 grados al 6% de velocidad |
| 35 | 2 | Javier Huanca | mPalo.on_for_degrees(6,-180) |
| 36 | 2 | Javier Huanca | # Rotar el motor en 225 grados al porcentaje de velocidad de vel_rpm |
| 37 | 2 | Javier Huanca | mPalo.on_for_degrees(SpeedRPM(round(vel_rpm)),225) |
| 38 | 2 | Javier Huanca | # Rotar el motor en -45 grados al 6% de la velocidad |
| 39 | 2 | Javier Huanca | mPalo.on_for_degrees(6,-45) |
| 40 | 2 | Javier Huanca | |
| 41 | 2 | Javier Huanca | #función para mover el robot hacia adelante |
| 42 | 2 | Javier Huanca | def mover_adelante(): |
| 43 | 2 | Javier Huanca | movimiento_ruedas.on(-100, -100) |
| 44 | 2 | Javier Huanca | |
| 45 | 2 | Javier Huanca | #función para mover el robot hacia atras |
| 46 | 2 | Javier Huanca | def mover_atras(): |
| 47 | 2 | Javier Huanca | movimiento_ruedas.on(100, 100) |
| 48 | 2 | Javier Huanca | |
| 49 | 2 | Javier Huanca | #función para mover el robot hacia la izquierda |
| 50 | 2 | Javier Huanca | def mover_izquierda(): |
| 51 | 2 | Javier Huanca | mRotar.on(50) |
| 52 | 2 | Javier Huanca | |
| 53 | 2 | Javier Huanca | #función para mover el robot hacia la derecha |
| 54 | 2 | Javier Huanca | def mover_derecha(): |
| 55 | 2 | Javier Huanca | mRotar.on(-50) |
| 56 | 2 | Javier Huanca | |
| 57 | 2 | Javier Huanca | #función para detener el robot |
| 58 | 2 | Javier Huanca | def detener(): |
| 59 | 2 | Javier Huanca | movimiento_ruedas.stop() |