Project

General

Profile

Código e Implementación » History » Version 9

Javier Huanca, 12/16/2023 05:09 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 7 Javier Huanca
<pre>
6 2 Javier Huanca
from ev3dev2.motor import LargeMotor, MediumMotor, OUTPUT_A, OUTPUT_B, OUTPUT_C, OUTPUT_D, SpeedRPM, MoveTank
7 2 Javier Huanca
from ev3dev2.sound import Sound
8 2 Javier Huanca
import math
9 2 Javier Huanca
import os
10 2 Javier Huanca
import sys
11 2 Javier Huanca
from time import sleep
12 8 Javier Huanca
#movimiento simultáneo de las ruedas(rueda izquierda, rueda derecha)
13 8 Javier Huanca
movimiento_ruedas = MoveTank(OUTPUT_A, OUTPUT_B)
14 8 Javier Huanca
#movimiento del palo del robot
15 8 Javier Huanca
mPalo = LargeMotor(OUTPUT_C)
16 8 Javier Huanca
#movimiento de rotación de las ruedas delanteras
17 8 Javier Huanca
mRotar = MediumMotor(OUTPUT_D)
18 8 Javier Huanca
19 8 Javier Huanca
20 8 Javier Huanca
#función para lanzar un objeto con el palo
21 8 Javier Huanca
def lanzar(distancia):
22 8 Javier Huanca
    pi = math.pi
23 8 Javier Huanca
    vel_necesaria = math.sqrt((4.9*distancia)/math.cos(pi/4)*math.sin(pi/4))
24 8 Javier Huanca
    vel_rpm = (60*vel_necesaria)/(2*pi*0.189)
25 8 Javier Huanca
    # Rotar el motor en -180 grados al 6% de velocidad
26 8 Javier Huanca
    mPalo.on_for_degrees(6,-180)
27 8 Javier Huanca
    # Rotar el motor en 225 grados al porcentaje de velocidad de vel_rpm
28 8 Javier Huanca
    mPalo.on_for_degrees(SpeedRPM(round(vel_rpm)),225)
29 8 Javier Huanca
    # Rotar el motor en -45 grados al 6% de la velocidad
30 8 Javier Huanca
    mPalo.on_for_degrees(6,-45)
31 8 Javier Huanca
32 8 Javier Huanca
#función para mover el robot hacia adelante
33 8 Javier Huanca
def mover_adelante():
34 8 Javier Huanca
    movimiento_ruedas.on(-100, -100)
35 8 Javier Huanca
36 8 Javier Huanca
#función para mover el robot hacia atras
37 8 Javier Huanca
def mover_atras():
38 8 Javier Huanca
    movimiento_ruedas.on(100, 100)
39 8 Javier Huanca
40 8 Javier Huanca
#función para mover el robot hacia la izquierda
41 8 Javier Huanca
def mover_izquierda():
42 8 Javier Huanca
    mRotar.on(50)
43 8 Javier Huanca
44 8 Javier Huanca
#función para mover el robot hacia la derecha
45 8 Javier Huanca
def mover_derecha():
46 8 Javier Huanca
    mRotar.on(-50)
47 8 Javier Huanca
48 8 Javier Huanca
#función para detener el robot
49 8 Javier Huanca
def detener():
50 8 Javier Huanca
    movimiento_ruedas.stop()
51 5 Javier Huanca
</pre>
52 9 Javier Huanca
53 9 Javier Huanca
</pre>
54 9 Javier Huanca
import socket
55 9 Javier Huanca
from funciones import *
56 9 Javier Huanca
57 9 Javier Huanca
#se crea un socket
58 9 Javier Huanca
s = socket.socket()
59 9 Javier Huanca
s.settimeout(5)
60 9 Javier Huanca
print("Socket creado")
61 9 Javier Huanca
port = 2222
62 9 Javier Huanca
#se asocia una dirección IP y un número de puerto al socket
63 9 Javier Huanca
s.bind(("", port))
64 9 Javier Huanca
print("El socket se creo con puerto:{}".format(port))
65 9 Javier Huanca
#se comienza a escuchar conexiones entrantes (máximo 5 conexiones pendientes)
66 9 Javier Huanca
s.listen(5)
67 9 Javier Huanca
print("The socket is listening....")
68 9 Javier Huanca
#se acepta la conexión, creando un nuevo socket a partir de la conexion entrante y la dirección del cliente
69 9 Javier Huanca
connect, addr = s.accept()
70 9 Javier Huanca
print("Se conecto a {}".format(addr))
71 9 Javier Huanca
while True:
72 9 Javier Huanca
    #se define el carácter que el socket del cliente recibe como dato
73 9 Javier Huanca
    rawByte = connect.recv(1)
74 9 Javier Huanca
    #se traduce el carácter recibido
75 9 Javier Huanca
    char = rawByte.decode('utf-8')
76 9 Javier Huanca
    if (char == 'w'):
77 9 Javier Huanca
        mover_adelante()
78 9 Javier Huanca
    if (char == 's'):
79 9 Javier Huanca
        mover_atras()
80 9 Javier Huanca
    if (char == 'a'):
81 9 Javier Huanca
        mover_izquierda()
82 9 Javier Huanca
    if (char == 'd'):
83 9 Javier Huanca
        mover_derecha()
84 9 Javier Huanca
    if (char == ' '):
85 9 Javier Huanca
        detener()
86 9 Javier Huanca
    if (char == 'l'):
87 9 Javier Huanca
        lanzar(2)
88 9 Javier Huanca
</pre>