Project

General

Profile

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