Project

General

Profile

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

Esteban Gutierrez, 12/12/2023 07:13 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 8 Esteban Gutierrez
{{collapse(Código interfaz gráfica y conexión: )
33 8 Esteban Gutierrez
<pre><code class="python"> 
34 8 Esteban Gutierrez
import tkinter as tk
35 8 Esteban Gutierrez
import socket
36 1 Esteban Gutierrez
37 8 Esteban Gutierrez
def mover(direccion):
38 8 Esteban Gutierrez
    global mi_socket
39 8 Esteban Gutierrez
    if direccion == "arriba":
40 8 Esteban Gutierrez
        mi_socket.send("arriba".encode("utf-8"))
41 8 Esteban Gutierrez
    elif direccion == "abajo":
42 8 Esteban Gutierrez
        mi_socket.send("abajo".encode("utf-8"))
43 8 Esteban Gutierrez
    elif direccion == "izquierda":
44 8 Esteban Gutierrez
        mi_socket.send("izquierda".encode("utf-8"))
45 8 Esteban Gutierrez
    elif direccion == "derecha":
46 8 Esteban Gutierrez
        mi_socket.send("derecha".encode("utf-8"))
47 1 Esteban Gutierrez
48 8 Esteban Gutierrez
def conectar():
49 8 Esteban Gutierrez
    global mi_socket
50 8 Esteban Gutierrez
    # Función para manejar la conexión con la dirección IP ingresada
51 8 Esteban Gutierrez
    ip = entrada_ip.get()
52 8 Esteban Gutierrez
    host = str(ip)
53 8 Esteban Gutierrez
    port = 8000
54 8 Esteban Gutierrez
    mi_socket = socket.socket()
55 8 Esteban Gutierrez
    mi_socket.connect((host, port))
56 8 Esteban Gutierrez
57 8 Esteban Gutierrez
def detener():
58 8 Esteban Gutierrez
    global mi_socket
59 8 Esteban Gutierrez
    mi_socket.send("detener".encode("utf-8"))
60 8 Esteban Gutierrez
61 8 Esteban Gutierrez
def apagar():
62 8 Esteban Gutierrez
    global mi_socket
63 8 Esteban Gutierrez
    mi_socket.send("apagar".encode("utf-8"))
64 8 Esteban Gutierrez
65 8 Esteban Gutierrez
def disparar():
66 8 Esteban Gutierrez
    global mi_socket
67 8 Esteban Gutierrez
    mi_socket.send("disparar".encode("utf-8"))
68 8 Esteban Gutierrez
69 8 Esteban Gutierrez
# Crear la ventana principal
70 8 Esteban Gutierrez
ventana = tk.Tk()
71 8 Esteban Gutierrez
ventana.title("Interfaz gráfica de PASCALITO")
72 8 Esteban Gutierrez
ventana.geometry("900x600")
73 8 Esteban Gutierrez
ventana.config(bg="grey85")
74 8 Esteban Gutierrez
75 8 Esteban Gutierrez
# Etiqueta y entrada para la dirección IP
76 8 Esteban Gutierrez
etiqueta_ip = tk.Label(ventana, text="Dirección IP", font=("Arial",18,"bold"),bg="grey85")
77 8 Esteban Gutierrez
etiqueta_ip.place(x=100, y=50)
78 8 Esteban Gutierrez
79 8 Esteban Gutierrez
entrada_ip = tk.Entry(ventana, font=("bold",18))
80 8 Esteban Gutierrez
entrada_ip.place(x=250, y=50)
81 8 Esteban Gutierrez
82 8 Esteban Gutierrez
img_boton_conectar= tk.PhotoImage(file="connect.png")
83 8 Esteban Gutierrez
boton_conectar = tk.Button(ventana, text="Conectar",image=img_boton_conectar,bg="grey85", command=conectar)
84 8 Esteban Gutierrez
boton_conectar.place(x=250, y=100)
85 8 Esteban Gutierrez
86 8 Esteban Gutierrez
img_boton_desconectar= tk.PhotoImage(file="disconnect.png")
87 8 Esteban Gutierrez
boton_desconectar = tk.Button(ventana, text="Desconectar",image=img_boton_desconectar,bg="grey85", command=apagar)
88 8 Esteban Gutierrez
boton_desconectar.place(x=420, y=100)
89 8 Esteban Gutierrez
90 8 Esteban Gutierrez
91 8 Esteban Gutierrez
# Botones de disparo y detener
92 8 Esteban Gutierrez
img_boton_45grados= tk.PhotoImage(file="45grados.png")
93 8 Esteban Gutierrez
boton_45grados= tk.Button(ventana, text="45°",image=img_boton_45grados ,bg="grey85",command=disparar)
94 8 Esteban Gutierrez
boton_45grados.place(x=400, y=280)
95 8 Esteban Gutierrez
96 8 Esteban Gutierrez
img_boton_60grados= tk.PhotoImage(file="60grados.png")
97 8 Esteban Gutierrez
boton_60grados= tk.Button(ventana, text="60°",image=img_boton_60grados ,bg="grey85",command=disparar)
98 8 Esteban Gutierrez
boton_60grados.place(x=550, y=200)
99 8 Esteban Gutierrez
100 8 Esteban Gutierrez
img_boton_90grados= tk.PhotoImage(file="90grados.png")
101 8 Esteban Gutierrez
boton_90grados= tk.Button(ventana, text="90°",image=img_boton_90grados ,bg="grey85",command=disparar)
102 8 Esteban Gutierrez
boton_90grados.place(x=700, y=280)
103 8 Esteban Gutierrez
104 8 Esteban Gutierrez
img_boton_disparar= tk.PhotoImage(file="shot.png")
105 8 Esteban Gutierrez
boton_disparar= tk.Button(ventana, text="Disparar",image=img_boton_disparar ,command=disparar)
106 8 Esteban Gutierrez
boton_disparar.place(x=540, y=300)
107 8 Esteban Gutierrez
108 8 Esteban Gutierrez
img_boton_stop= tk.PhotoImage(file="STOP.png")
109 8 Esteban Gutierrez
boton_detener = tk.Button(ventana, text="Detener",image=img_boton_stop,bg="grey85",command=detener)
110 8 Esteban Gutierrez
boton_detener.place(x=530, y=480)
111 8 Esteban Gutierrez
112 8 Esteban Gutierrez
113 8 Esteban Gutierrez
# Botones de movimiento
114 8 Esteban Gutierrez
img_boton_arriba = tk.PhotoImage(file="flecha-up1.png")
115 8 Esteban Gutierrez
boton_arriba = tk.Button(ventana, image=img_boton_arriba,bg="grey85",command=lambda: mover("arriba"))
116 8 Esteban Gutierrez
boton_arriba.place(x=145, y=240)
117 8 Esteban Gutierrez
118 8 Esteban Gutierrez
img_boton_izquierda = tk.PhotoImage(file="flecha-izquierda.png")
119 8 Esteban Gutierrez
boton_izquierda = tk.Button(ventana, text="Izquierda",image=img_boton_izquierda,bg="grey85" ,command=lambda: mover("izquierda"))
120 8 Esteban Gutierrez
boton_izquierda.place(x=25, y=315)
121 8 Esteban Gutierrez
122 8 Esteban Gutierrez
123 8 Esteban Gutierrez
img_boton_derecha = tk.PhotoImage(file="flecha-derecha.png")
124 8 Esteban Gutierrez
boton_derecha = tk.Button(ventana, text="Derecha",image=img_boton_derecha,bg="grey85", command=lambda: mover("derecha"))
125 8 Esteban Gutierrez
boton_derecha.place(x=240, y=315)
126 8 Esteban Gutierrez
127 8 Esteban Gutierrez
img_boton_abajo = tk.PhotoImage(file="flecha-abajo.png")
128 8 Esteban Gutierrez
boton_abajo = tk.Button(ventana, text="Abajo",image=img_boton_abajo,bg="grey85", command=lambda: mover("abajo"))
129 8 Esteban Gutierrez
boton_abajo.place(x=145, y=360)
130 8 Esteban Gutierrez
131 8 Esteban Gutierrez
132 8 Esteban Gutierrez
# Iniciar el bucle principal
133 8 Esteban Gutierrez
ventana.mainloop()
134 8 Esteban Gutierrez
135 8 Esteban Gutierrez
</code></pre>
136 8 Esteban Gutierrez
}}