Python
Inicializaciones
Módulos
Los módulos son archivos que contienen las definiciones y argumentos utilizados en Python, por lo que se debe comenzar el programa importando los que necesitemos, esto se realiza a través del comando import. Algunos módulos son standard, como sys, mientras que otros dependen de lo que se quiera realizar, como pygame o serial.
Además, se pueden importar archivos .py que contengan definiciones o funciones que deseemos utilizar en nuestro programa, y, de esta manera, un programa muy largo se puede fragmentar en varios archivos distintos.
Por ejemplo, un modelo sería:
import sys, pygame #Importa modulo pygame
from pygame.locals import *
import serial #Importa modulo para comunicacion serial
El * colocado importa todas las definiciones menos aquellas que comiencen por guión bajo (_).
Si se desea utilizar pygame, se debe inciar utilizando pygame.init() en la función principal.
Imágenes y audio
Para utilizar imágenes o audio en el programa (utilizando pygame), primero deben estar en la misma carpeta del proyecto, luego se deben cargar empleando:
#Para cargar imagenes
foto = pygame.image.load("foto.jpg")
#Para cargar y reproducir audio:
loops = -1
start = 0.0
pygame.mixer.music.load("cancion.mp3")
pygame.mixer.music.play(loops,start)
#Para dejar de reproducir audio:
pygame.mixer.music.stop()
Los formatos de imagen permitidos por pygame son:
- JPG
- PNG
- GIF (Inanimada)
- BMP
- PCX
- TGA (Sin comprimir)
- TIF
- LBM
- PBM, PGM, PPM
- XPM
Pyserial
Un módulo de interés al utilizar Python(x,y) combinado con nuestro microcontrolador es Pyserial.
Pyserial es muy amigable y fácil de utilizar pues los grandes conjuntos de instrucciones utilizados para la transmisión y recepción de información a los que estamos acostumbrados se resumen en funciones muy sencillas de manejar.
Al trabajar con puerto serial en Python lo primero que se debe hacer es importar la librería de serial, luego abrir el o los puertos y configurarlos a la velocidad de transmisión deseada. A continuación se muestra un ejemplo de como hacer esto:
import serial #Importa modulo para comunicacion serial
ser = serial.Serial('COM10',9600) #Abre el puerto COM1 y lo configura para transmitir a 9600baud
Es importante saber que puerto es el que deseamos abrir, y la manera de identificarlo es buscándo a través del administrador de dispositivos (Device Manager) ubicado en el panel de control. La siguiente imágen busca ilustrar un poco como conseguir esta información:
Una vez inicializado el puerto de manera correcta, las rutinas de transmisión y recepción son bien sencillas:
# Para Lectura a través de serial
x = ser.read() # Capturar un byte por serial y almacenarlo en X
s = ser.read(10) # Capturar hasta 10 bytes y almacenarlos en S
# Para Escritura a través de serial
ser.write("hello") # Envia por puerto serial la cadena de caracteres o el caracter escritos