Código e Implementación » History » Version 9
« Previous -
Version 9/45
(diff) -
Next » -
Current version
Javier Huanca, 12/16/2023 05:09 PM
Código e Implementación¶
Funciones¶
from ev3dev2.motor import LargeMotor, MediumMotor, OUTPUT_A, OUTPUT_B, OUTPUT_C, OUTPUT_D, SpeedRPM, MoveTank from ev3dev2.sound import Sound import math import os import sys from time import sleep #movimiento simultáneo de las ruedas(rueda izquierda, rueda derecha) movimiento_ruedas = MoveTank(OUTPUT_A, OUTPUT_B) #movimiento del palo del robot mPalo = LargeMotor(OUTPUT_C) #movimiento de rotación de las ruedas delanteras mRotar = MediumMotor(OUTPUT_D) #función para lanzar un objeto con el palo def lanzar(distancia): pi = math.pi vel_necesaria = math.sqrt((4.9*distancia)/math.cos(pi/4)*math.sin(pi/4)) vel_rpm = (60*vel_necesaria)/(2*pi*0.189) # Rotar el motor en -180 grados al 6% de velocidad mPalo.on_for_degrees(6,-180) # Rotar el motor en 225 grados al porcentaje de velocidad de vel_rpm mPalo.on_for_degrees(SpeedRPM(round(vel_rpm)),225) # Rotar el motor en -45 grados al 6% de la velocidad mPalo.on_for_degrees(6,-45) #función para mover el robot hacia adelante def mover_adelante(): movimiento_ruedas.on(-100, -100) #función para mover el robot hacia atras def mover_atras(): movimiento_ruedas.on(100, 100) #función para mover el robot hacia la izquierda def mover_izquierda(): mRotar.on(50) #función para mover el robot hacia la derecha def mover_derecha(): mRotar.on(-50) #función para detener el robot def detener(): movimiento_ruedas.stop()
import socket
from funciones import *
#se crea un socket
s = socket.socket()
s.settimeout(5)
print("Socket creado")
port = 2222
#se asocia una dirección IP y un número de puerto al socket
s.bind(("", port))
print("El socket se creo con puerto:{}".format(port))
#se comienza a escuchar conexiones entrantes (máximo 5 conexiones pendientes)
s.listen(5)
print("The socket is listening....")
#se acepta la conexión, creando un nuevo socket a partir de la conexion entrante y la dirección del cliente
connect, addr = s.accept()
print("Se conecto a {}".format(addr))
while True:
#se define el carácter que el socket del cliente recibe como dato
rawByte = connect.recv(1)
#se traduce el carácter recibido
char = rawByte.decode('utf-8')
if (char 'w'):
mover_adelante()
if (char 's'):
mover_atras()
if (char 'a'):
mover_izquierda()
if (char 'd'):
mover_derecha()
if (char ' '):
detener()
if (char 'l'):
lanzar(2)