Project

General

Profile

Código e implementación » History » Version 10

Esteban Gutierrez, 12/12/2023 07:16 PM

1 2 Esteban Gutierrez
h1. ㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤWikipedia
2 2 Esteban Gutierrez
3 4 Esteban Gutierrez
{{thumbnail(LogoPASCALITO.png, size=180, title=Thumbnail)}}
4 2 Esteban Gutierrez
5 2 Esteban Gutierrez
----
6 2 Esteban Gutierrez
7 2 Esteban Gutierrez
+*Grupo 3B:*+
8 2 Esteban Gutierrez
> Integrantes: Denis Condori, Ignacio Gallardo, Esteban Gutierrez, Fernando Klinger, Martin Salinas
9 2 Esteban Gutierrez
> Nombre del Producto: PASCALITO
10 2 Esteban Gutierrez
> Modulo: Proyecto I
11 2 Esteban Gutierrez
> Docente: Humberto Urrutia
12 7 Esteban Gutierrez
> Fecha de Inicio: 2023-08-15
13 7 Esteban Gutierrez
> Fecha de Termino: 2023-12-29
14 2 Esteban Gutierrez
15 2 Esteban Gutierrez
----
16 2 Esteban Gutierrez
17 2 Esteban Gutierrez
18 2 Esteban Gutierrez
19 2 Esteban Gutierrez
*ㅤㅤㅤㅤㅤㅤㅤÍndice:*
20 2 Esteban Gutierrez
* [[Introducción]]
21 6 Esteban Gutierrez
* [[Objetivos]]
22 2 Esteban Gutierrez
* [[Organización y planificación]]
23 2 Esteban Gutierrez
* [[Análisis y diseño]]
24 2 Esteban Gutierrez
* [[Código e implementación]]
25 2 Esteban Gutierrez
26 2 Esteban Gutierrez
---
27 2 Esteban Gutierrez
28 1 Esteban Gutierrez
h1. Código e implementación
29 1 Esteban Gutierrez
30 2 Esteban Gutierrez
---
31 5 Esteban Gutierrez
32 10 Esteban Gutierrez
h2. El robot utiliza este codigo para realizar su conexión y enviarle acciones de movimiento/golpe
33 10 Esteban Gutierrez
34 8 Esteban Gutierrez
{{collapse(Código interfaz gráfica y conexión: )
35 8 Esteban Gutierrez
<pre><code class="python"> 
36 8 Esteban Gutierrez
import tkinter as tk
37 8 Esteban Gutierrez
import socket
38 1 Esteban Gutierrez
39 8 Esteban Gutierrez
def mover(direccion):
40 8 Esteban Gutierrez
    global mi_socket
41 8 Esteban Gutierrez
    if direccion == "arriba":
42 8 Esteban Gutierrez
        mi_socket.send("arriba".encode("utf-8"))
43 8 Esteban Gutierrez
    elif direccion == "abajo":
44 8 Esteban Gutierrez
        mi_socket.send("abajo".encode("utf-8"))
45 8 Esteban Gutierrez
    elif direccion == "izquierda":
46 8 Esteban Gutierrez
        mi_socket.send("izquierda".encode("utf-8"))
47 8 Esteban Gutierrez
    elif direccion == "derecha":
48 8 Esteban Gutierrez
        mi_socket.send("derecha".encode("utf-8"))
49 1 Esteban Gutierrez
50 8 Esteban Gutierrez
def conectar():
51 8 Esteban Gutierrez
    global mi_socket
52 8 Esteban Gutierrez
    # Función para manejar la conexión con la dirección IP ingresada
53 8 Esteban Gutierrez
    ip = entrada_ip.get()
54 8 Esteban Gutierrez
    host = str(ip)
55 8 Esteban Gutierrez
    port = 8000
56 8 Esteban Gutierrez
    mi_socket = socket.socket()
57 8 Esteban Gutierrez
    mi_socket.connect((host, port))
58 8 Esteban Gutierrez
59 8 Esteban Gutierrez
def detener():
60 8 Esteban Gutierrez
    global mi_socket
61 8 Esteban Gutierrez
    mi_socket.send("detener".encode("utf-8"))
62 8 Esteban Gutierrez
63 8 Esteban Gutierrez
def apagar():
64 8 Esteban Gutierrez
    global mi_socket
65 8 Esteban Gutierrez
    mi_socket.send("apagar".encode("utf-8"))
66 8 Esteban Gutierrez
67 8 Esteban Gutierrez
def disparar():
68 8 Esteban Gutierrez
    global mi_socket
69 8 Esteban Gutierrez
    mi_socket.send("disparar".encode("utf-8"))
70 8 Esteban Gutierrez
71 8 Esteban Gutierrez
# Crear la ventana principal
72 8 Esteban Gutierrez
ventana = tk.Tk()
73 8 Esteban Gutierrez
ventana.title("Interfaz gráfica de PASCALITO")
74 8 Esteban Gutierrez
ventana.geometry("900x600")
75 8 Esteban Gutierrez
ventana.config(bg="grey85")
76 8 Esteban Gutierrez
77 8 Esteban Gutierrez
# Etiqueta y entrada para la dirección IP
78 8 Esteban Gutierrez
etiqueta_ip = tk.Label(ventana, text="Dirección IP", font=("Arial",18,"bold"),bg="grey85")
79 8 Esteban Gutierrez
etiqueta_ip.place(x=100, y=50)
80 8 Esteban Gutierrez
81 8 Esteban Gutierrez
entrada_ip = tk.Entry(ventana, font=("bold",18))
82 8 Esteban Gutierrez
entrada_ip.place(x=250, y=50)
83 8 Esteban Gutierrez
84 8 Esteban Gutierrez
img_boton_conectar= tk.PhotoImage(file="connect.png")
85 8 Esteban Gutierrez
boton_conectar = tk.Button(ventana, text="Conectar",image=img_boton_conectar,bg="grey85", command=conectar)
86 8 Esteban Gutierrez
boton_conectar.place(x=250, y=100)
87 8 Esteban Gutierrez
88 8 Esteban Gutierrez
img_boton_desconectar= tk.PhotoImage(file="disconnect.png")
89 8 Esteban Gutierrez
boton_desconectar = tk.Button(ventana, text="Desconectar",image=img_boton_desconectar,bg="grey85", command=apagar)
90 8 Esteban Gutierrez
boton_desconectar.place(x=420, y=100)
91 8 Esteban Gutierrez
92 8 Esteban Gutierrez
93 8 Esteban Gutierrez
# Botones de disparo y detener
94 8 Esteban Gutierrez
img_boton_45grados= tk.PhotoImage(file="45grados.png")
95 8 Esteban Gutierrez
boton_45grados= tk.Button(ventana, text="45°",image=img_boton_45grados ,bg="grey85",command=disparar)
96 8 Esteban Gutierrez
boton_45grados.place(x=400, y=280)
97 8 Esteban Gutierrez
98 8 Esteban Gutierrez
img_boton_60grados= tk.PhotoImage(file="60grados.png")
99 8 Esteban Gutierrez
boton_60grados= tk.Button(ventana, text="60°",image=img_boton_60grados ,bg="grey85",command=disparar)
100 8 Esteban Gutierrez
boton_60grados.place(x=550, y=200)
101 8 Esteban Gutierrez
102 8 Esteban Gutierrez
img_boton_90grados= tk.PhotoImage(file="90grados.png")
103 8 Esteban Gutierrez
boton_90grados= tk.Button(ventana, text="90°",image=img_boton_90grados ,bg="grey85",command=disparar)
104 8 Esteban Gutierrez
boton_90grados.place(x=700, y=280)
105 8 Esteban Gutierrez
106 8 Esteban Gutierrez
img_boton_disparar= tk.PhotoImage(file="shot.png")
107 8 Esteban Gutierrez
boton_disparar= tk.Button(ventana, text="Disparar",image=img_boton_disparar ,command=disparar)
108 8 Esteban Gutierrez
boton_disparar.place(x=540, y=300)
109 8 Esteban Gutierrez
110 8 Esteban Gutierrez
img_boton_stop= tk.PhotoImage(file="STOP.png")
111 8 Esteban Gutierrez
boton_detener = tk.Button(ventana, text="Detener",image=img_boton_stop,bg="grey85",command=detener)
112 8 Esteban Gutierrez
boton_detener.place(x=530, y=480)
113 8 Esteban Gutierrez
114 8 Esteban Gutierrez
115 8 Esteban Gutierrez
# Botones de movimiento
116 8 Esteban Gutierrez
img_boton_arriba = tk.PhotoImage(file="flecha-up1.png")
117 8 Esteban Gutierrez
boton_arriba = tk.Button(ventana, image=img_boton_arriba,bg="grey85",command=lambda: mover("arriba"))
118 8 Esteban Gutierrez
boton_arriba.place(x=145, y=240)
119 8 Esteban Gutierrez
120 8 Esteban Gutierrez
img_boton_izquierda = tk.PhotoImage(file="flecha-izquierda.png")
121 8 Esteban Gutierrez
boton_izquierda = tk.Button(ventana, text="Izquierda",image=img_boton_izquierda,bg="grey85" ,command=lambda: mover("izquierda"))
122 8 Esteban Gutierrez
boton_izquierda.place(x=25, y=315)
123 8 Esteban Gutierrez
124 8 Esteban Gutierrez
125 8 Esteban Gutierrez
img_boton_derecha = tk.PhotoImage(file="flecha-derecha.png")
126 8 Esteban Gutierrez
boton_derecha = tk.Button(ventana, text="Derecha",image=img_boton_derecha,bg="grey85", command=lambda: mover("derecha"))
127 8 Esteban Gutierrez
boton_derecha.place(x=240, y=315)
128 8 Esteban Gutierrez
129 8 Esteban Gutierrez
img_boton_abajo = tk.PhotoImage(file="flecha-abajo.png")
130 8 Esteban Gutierrez
boton_abajo = tk.Button(ventana, text="Abajo",image=img_boton_abajo,bg="grey85", command=lambda: mover("abajo"))
131 8 Esteban Gutierrez
boton_abajo.place(x=145, y=360)
132 8 Esteban Gutierrez
133 8 Esteban Gutierrez
134 8 Esteban Gutierrez
# Iniciar el bucle principal
135 8 Esteban Gutierrez
ventana.mainloop()
136 8 Esteban Gutierrez
137 8 Esteban Gutierrez
</code></pre>
138 8 Esteban Gutierrez
}} 
139 9 Esteban Gutierrez
140 9 Esteban Gutierrez
---
141 9 Esteban Gutierrez
142 9 Esteban Gutierrez
*Ficheros*