Este va a ser el ultimo juego, ya que con lo explicado puede no ser mucho, pero ya van a poder entender un poco de lo relacionado con el tema, como no se explico mucho de las senales busquen informacion de:
glade
http://live.gnome.org/Glade/Tutorials
GTK
http://www.pygtk.org/docs/pygtk/
Python
http://python.org/doc/
Para el caso de las senales como van a poder ver en el programa inicio.py son llamadas atraves de metodos y este metodo trae al objeto widget de esta senal y a este podemos aplicar todas las funciones que este tenga:
def entry1_changed_cb(self, widget, data=None):
self.q1 = widget.get_text()
if float(self.q1) > 110:
widget.set_text("110")
if float(self.q1) < -110:
widget.set_text("-110")
self.q1 = widget.get_text()
este es un gtk entry en la pagina de gtk que se les da arriba pueden encontrar las funciones que este tiene; en la parte de glade es mas simple ya que cada señal desempeña un evento diferente en el widget de la interface.
Para ejecutar el programa deben tener conectado un cable serial-USB o modem-gsm para activar los movimientos si no les va a dar error al mandar a realizar los movimientos o deben comentar todas las funciones que digan "
serial_robo()" claro menos la de la función, el programa esta estructurado en tre partes la de notificaciones, movimiento y inicio.
Notificación:
Es la misma que se les mostro en juego anterior.
Movimiento:
Este aplica listas, para hacer una supuesta matriz no tiene ninguna función real es solo para practicar, esta dentro de la función homogenea(alfa1,alfa2,z), graficar(a,b,c,fig,espacial) nos permite como su nombre nos indica graficar como va a quedar el SCARA desde una vista superior, esta les puede servir si necesitan graficar señales (seno, cosenos, tangentes, sonidos), si conocen matlab en este no se van a perder.
if __name__ == '__main__':
arg=int(sys.argv[1]),int(sys.argv[2]),float(sys.argv[3])
main(arg[0],arg[1],arg[2])
Este nos permite aparte de ejecutarlo como modulo, puede ser ejecutado como aplicación como se realizar en ciertas partes del programa inicio.py
Inicio:
Como ya se menciono tiene serial_robo() que nos permite comunicarnos con un puerto serial, pero lo principal en este es esta parte de codigo que es la que se encarga de levantar el entorno gráfico hecho con glade.
def __init__(self):
builder = gtk.Builder() #El archivo de glade debe estar en gtkbuilder
builder.add_from_file("gui/scara_gui.glade") #Carga el archivo glade
builder.connect_signals(self) #Toma todas las senales de glade
self.window = builder.get_object("inicio") #Ventana principal
self.window.show()
self.arti1izq=1
self.arti1der=0
self.arti2izq=1
self.arti2der=0
self.arti3up=1
self.arti3down=0
if __name__ == "__main__":
app = TutorialApp()
gtk.main()
TutorialApp() es la clase del programa, no olvidar de importar pygtk y gtk ya que son necesarias para que funcione todo.
Disculpen la demora de estos dos últimos juegos (recién salgo de las semanas de pruebas y proyectos a ya presente este proyecto y no salio también tuvimos problemas con un puente H) y lo cortos que son pero creo que con estas pequeñas bases ya pueden comenzar a descubrir por su cuenta el gran mundo de Python que les espera, gracias por seguir esta simple y triste guía.
Si quieren ayuda pueden escribirnos a
meliespe@softwarelibrespe.org o en los comentarios.