Programación Física

Construye tu Estación Meteorológica

Programación Física

En la programación tradicional, aquella en la que nuestros programas corren en la computadora en la que estamos programando y en donde los resultados generalmente los desplegamos en la pantalla de ésta o los guardamos en un archivo local, el primer programa que hacemos con nuestro lenguaje de programación, es el que envía un mensaje a la pantalla, el tradicional “Hello world” o “Hola mundo“.

En la programación física, donde nuestros programas se ejecutan en un microcontrolador, nuestro primer programa, nuestro “Hola mundo“, es un programa que hará parpadear un led conectado al microcontrolador.

Este led puede ser un led que forme parte de la tarjeta de control o un led que hayamos conectado de algún modo a uno de los pines de entrada/salida de nuestra tarjeta, los pines GPIO, general pourpose input output pin.

En el caso de la tarjeta Raspberry Pi Pico W, esta tiene un led conectado a un pin interno que podemos usar para correr nuestro programa Hola Mundo.

Desde el interprete de MicroPython, que ya tendremos instalado en nuestra tarjeta y desde el IDE Thonny(liga), que estará corriendo en nuestra computadora, tendremos que hacer lo siguiente.

En la pantalla del REPL, Read Evaluate Print Loop, de Tonny, desde donde podemos interactuar de manera interactiva con el microcontrolador, lo primero que tenemos que hacer es cargar la biblioteca de MicroPython que nos permitirá interactuar y utilizar las componentes físicas de la tarjeta, en particular con este led. Para ello ejecutamos la instrucción
import machine

Una vez que ya esté cargada esta biblioteca, podemos definir un objeto, que nos permitirá controlar el led de la tarjeta. Esto lo hacemos con la siguiente linea de comando:
led_tarjeta = machine.Pin(“LED”, machine.Pin.OUT)

donde led_tarjeta es un identificador o nombre de este objeto.
machine.Pin() es el método o función que nos permitirá controlar el led.
“LED” es en este caso un identificador predeterminado en la biblioteca machine para el MicroPython de la Raspberry Pico W, en este caso para el led de superficie de esta tarjeta. En otros casos, como podría ser con un led externo, pondríamos en numero del pin GPIO donde estaría conectado este led.
Y finalmente, el parametro machine.Pin.OUT, nos define que es un pin de salida.
Con este objeto ya definido, ahora podemos actuar sobre el con distintos métodos o funciones, en particular, podemos encenderlo o apagarlo con las siguientes lineas de codigo:
led_tarjeta.value(1) para prenderlo
y
led_tarjeta.value(0) para apagarlo

Ahora, si queremos hacerlo parpadear, podemos hacerlo en un ciclo de un programa.
Primero, necesitaremos otros métodos o funciones que nos permitan controlar los tiempos, para eso importaremos otra biblioteca, la biblioteca utime, que es muy similar a la biblioteca time del Python.
import utime

y para definir el ciclo, un ciclo infinito que se quedará ejecutandose, usaremos la instrucción while del Python
while TRUE:

el codigo completo de nuestro programa, que podemos escribir y ejecutar desde la ventana superior, sería:

import machine     # importamos la biblioteca machine
import utime          # importamos la biblioteca utime
 
led_tarjeta = machine.Pin(LED, machine.Pin.OUT)

                            # declaramos nuestro objeto led_tarjeta
while TRUE:          #  iniciamos nuestro loop infinito 
   led_tarjeta.value(1)     #  encendemos el led
   utime.sleep(1)              #  una pausa de 1 segundo
   led_tarjeta.value(0)      #  apagamos el led
   utime.sleep(1)              #  una pausa de 1 segundo

con este script hemos creado nuestro tradicional programa Hola Mundo para nuestro microcontrolador.

El simbolo # es el que se utiliza en Python para ponerle comentarios a nuestros programas, algo que debemos hacer como buenos programadores.

Prueba a hacerle algunos cambios al programa, como cambiar los tiempos en los que parpadea el led.

Este es solo un primer ejemplo, para ver el funcionamiento de nuestra tarjeta, utilizar el IDE de programación y un primer script o programa con el MicroPython.

Maas adelante, a lo largo de las distintas sesiones del curso-taller, con la programación y la incorporación de las distintas componentes de nuestra estación, iremos viendo con mas detalle todas las instrucciones o comandos de nuestro lenguaje de programación.

Deslizar arriba