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() |