Tutorial 5 – Encendido del LEDs con SWITCHs Declarando Pines.

En el quinto tutorial que muestra como programar Ophyra con MicroPython, haremos un programa que con todos los SWITCHs de OPHYRA encendera un color del LED RGB, especificando solamente los objetos correspondientes a los pines.

Nota: Recuerda que previamente debes de tener instalado en la tarjeta Ophyra la versión de Micropython más actual, si no lo has realizado realiza este tutorial.

Abrir el Archivo “main.py“.

Paso 1. Conectar Ophyra: Realizar la conexión de Ophyra a tu computadora, de acuerdo a la versión con la que estés trabajando. Como se muestra en la Imagen 1.

 (Version B):  (1) Conecta el puerto USB-OTG y también el (2) puerto USB-RS232 a tu computadora.  (Version C): (1)  Conecta únicamente Ophyra por el puerto USB-OTG a tu computadora.

Imagen 1. Conexión USB-OTG en Ophyra para versiones B y C.

 

Recordemos que el puerto USB-OTG simula 2 dispositivos. El primero es un puerto serial virtual (CCS); para las Ophyras de versión B se observarían 2 puertos COM, por las 2 conexiones físicas utilizadas y el otro dispositivo es una memoria flash con el nombre de OPHYRA.

Paso 2. Abrir memoria flash de la tarjeta: (1) Entrar a la unidad de la memoria flash OPHYRA(2) abrir el archivo “main.py” con cualquier editor de texto de tu preferencia (por ejemplo Bloc de notas o WordPad).

Imagen 2. Archivos de la unidad OPHYRA.

Editar el  Archivo “main.py“.

Paso 3. Editar archivo “main.py”: Estamos programando Ophyra, al modificar el archivo “main.py. En el archivo se muestran 2 lineas de código comentadas mediante el símbolo # (al estar comentadas, podremos dejar o eliminar las lineas):

# main.py — put your code here!
# main.py — escriba su programa en este archivo!

Para programar en MicroPython, se tienen que tomar en cuenta que el firmware de Ophyra tiene ya incorporadas algunas librerías. En caso de que necesites incluir una librería, se hace mediante la sentencia import.

Para iniciar el programa, escribiremos las siguientes lineas que pertenecen al encabezado del código:

from pyb import Pin

En la anterior linea se importan las librerías a utilizar; las cuales, como ya se mencionó, están incorporadas en el firmware de Ophyra. La linea importa la libreria Pin para el uso de los LEDs y SWITCHs de OPHYRA

Las siguientes lineas que escribiremos pertenecen a la sección de “VARIABLES/OBJETOS”. Es importante mencionar que en MicroPython no se necesita iniciar y/o indicar el tipo de variable, pero si es necesario indicar los objetos que se usarán. El nombre de las variables nunca deben iniciar con números o caracteres especiales:

Led0 = Pin(Pin.cpu.E0, Pin.OUT_PP) 
Led1 = Pin(Pin.cpu.E1, Pin.OUT_PP)
Led2 = Pin(Pin.cpu.E2, Pin.OUT_PP)
Switch1 = Pin('PC2', Pin.IN, Pin.PULL_UP) 
Switch2 = Pin('PD5', Pin.IN, Pin.PULL_UP)
Switch3 = Pin('PD4', Pin.IN, Pin.PULL_UP)
Switch4 = Pin('PD3', Pin.IN, Pin.PULL_UP)

De las lineas 1 a la 3 generan los objetos objeto con los LEDs, donde VARIABLE= Pin(Pin.cpu.PIN DEL LED, Pin.OUT_PP); de las lineas 4 a la 7 se generan los objetos con los SWITCHs, donde VARIABLE = Pin('PIN DEL SWITCH', Pin.IN, Pin.PULL_UP ó PULL_DOWN).

Al terminar las sentencias (al final de la condición) ó directrices, se coloca el caracter : para indicar el final de la sentencia. En este caso al finalizar las sentencias del while, if y else, luego de colocar las condiciones escribimos el caracter :. Por último estudiaremos el cuerpo del programa, en tres partes:

while True: 
    if Switch1.value() == 1: 
        Led0.on() 
    else:
        Led0.off() 

    if Switch2.value() == 1:
        Led1.on() 
    else:
        Led1.off() 

    if Switch3.value() == 1: 
        Led2.on() 
    else:
        Led2.off() 

    if Switch4.value() == 1: 
        Led0.on() 
        Led1.on() 
        Led2.on() 
    else:
        Led0.off() 
        Led1.off() 
        Led2.off() 

 

En el lenguaje de python los espacios o identaciones se utilizan para separar las sentencias condicionales; similar a los caracteres de { y } que se utilizan en el lenguaje C o C++.

Las sentencias if funcionan de la siguiente manera if VARIABLE.value() == CONDICIÓN :; después del if se escribe la variable con la invocación de la función value(), con el operador y por último la condición.

El cuerpo del programa se divide en cuatro partes de condicionales if con su respectivo else, dentro de un ciclo while ciclado de forma infinita con la condición True. En cada una de las partes de los condicionales se evalua el estado del pin correspondientes a los SWITCHs y ejecuta la respectiva sentencia de ecendido del obeto correspondiente a un color del LED RGB e imprime en la terminal el color del LED que esta encendiendo y en caso contrario (else) se mantiene un estado off de los objetos.

Paso 4. Guardar archivo “main.py”: Guardamos el archivo “main.py“, presionando en el teclado la combinación de teclas Ctrl + G ó Ctrl + S (Guardar o Save), dependiendo del editor de texto; luego de haber escrito el programa; al hacerlo, debemos esperar a que el LED-RGB (color rojo) de Ophyra se apague mientras se termina el proceso de guardado, ver Imagen 3.

Imagen 3. Secuencia de guardado.

Ejecutar Programa en Consola (PuTTY).

Paso 5. PuTTY Configuration: Abrimos el programa  PuTTY y en la ventana debemos dirigirnos a la sección de Connection type para (1) seleccionar Serial(2) escribir el número de puerto “COM(numero de COM que aparece en el Administrador de dispositivos)” que pertenece a la conexión del puerto USB-OTG. (3) Escribir en la sección Speed la cantidad de “115200” (baudios)  y (4) dar click en el botón Open.

Imagen 4. Ventana de inicio PuTTY Configuration.

 

Se mostrara la Consola de MicroPython, en la que se imprime información acerca de la versión de MicroPython, información de la tarjeta.  En la barra de título indica que número de puerto COM que se está utilizando, ver Imagen 5.

Imagen 5. Consola de MicroPython.

Puedes observar el código funcionando cada que presiones la combinación de teclas Ctrl + D, sobre la terminal (PuTTY) de MicroPython. Para relizar una interrupción de un programa ejecutado en la terminal; presiona en el teclado la combinación de teclas Ctrl + C; esta acción interrumpe la ejecución del código en la terminal (PuTTY).

Paso 6. Ejecutar el programa en la consola: Presiona en el teclado la combinación de teclas Ctrl + D; esta acción ejecuta el códigoguardado en el archivo “main.py” y presiona los SWITCHs para observar el encendido de LEDs, ver Imagen 6.

Imagen 6. Encendido de LEDs con SWITCHs.

Listo, has programado Ophyra en MicroPython para una secuencia del LED RGB!!!

Menú