Python es un de los lenguajes más utilizados en el mundo de los computadores y hoy en día también está siendo muy utilizada en el mundo de los microcontroladores y la electrónica. tal es el caso de la tarjeta Raspberry PI4B, la cual podemos programar en Python. La mayoría de los proyectos que haremos en la tarjeta Raspberry PI4B, serán en el lenguaje Python, de ahí la importancia de conocer este lenguaje.
Para programar en Python existen muchas interfaces y ambientes de desarrollo. Para practicar los programas ejemplos que veremos en este capitulo y los proximos, puede utilizar cualquier ambiente de desarrollo que soporte la lenguaje Python. Algunos de estos ambientes de desarrollo son: Thonny Python IDE, Visual Studio, Visual Studio Code, Anaconda, etc. Para el desarrollo de estos capitulos, he usado Visual Studio Code, mas puede usar cualquiera que sea de su preferencia. La siguiente imagen muestra el ambiente de desarrollo: Visual Studio Code para Python:
La tarjeta Raspberry Pi4B es un computador, el cual posee puertas digitales de entrada/salida. Estos pines están dispuestos en 2 filas de 20 pines cada una. Además de poder usar estos pines como entrada/salida, los pines se pueden alternar para otros periféricos, como: I2C, UART, SPI, etc. La siguiente imagen muestra este conector:
La siguiente imagen resalta las tensiones suministradas por el conector de 40 pinos:
El siguiente es el circuito electrónico para el conector de 40 pines de entradas/salidas:
Podemos observar en el conector de 40 pines, que aparte de las entradas/salidas (GPIO), hay pines para puerto serial, puerto I2C y puertos SPI. Para controlar y programar estos pines, es necesario conocer el lenguaje Python y la manera en que se declaran los datos. También, es necesario conocer las operaciones matemáticas y lógicas que podemos realizar en la tarjeta Raspberry Pi4B. La siguiente imagen muestra la lógica digital del procesador, para las instrucciones de 64 bit en la tarjeta Raspberry Pi4B:
Usaremos esta imagen para resaltar en donde el lenguaje Python esta actuado.
EL OPERADOR DE ASIGNACIÓN.
En Python se usa el carácter: “igual” (=) para asignar un valor a una posición de memoria. Por ejemplo, en la siguiente línea de código, se está asignando el valor: cero (0) a la variable: “counter_box”:
counter_box = 0
Casi todos los lenguajes usan el carácter: igual (=), para asignar un valor a una variable. Lo mismo sucede en las operaciones aritméticas que realizamos en la escuela o colegio. Recordemos que en lenguaje ensamblador, también, asignamos valores como mostrado en el siguiente programa:
TIPOS DE DATOS.
Los tipos de datos en Python son declarados dinámicamente, esto significa, que Python analiza el valor asignado y así declara automáticamente el tipo de dato. Por ejemplo: en el lenguaje C/C++, para declarar un tipo de dato entero (int), es necesario una línea de código como:
int counter_box = 0;
El lenguaje Python, por ser de tipado dinámico, para declarar un tipo de dato: entero (int), se puede hacer así:
counter_box = 0;
Observa que no fue necesario decirle al programa que la variable es de tipo entero (int), ni tampoco fue necesario el punto y coma al final de la línea de código. Vamos a ver los tipos de datos que serán más usados en los proyectos que realizaremos en la tarjeta Raspberry Pi4B.
Cuando declaramos algún tipo de dato en la tarjeta Raspberry Pi4B, esta es almacenada en la memoria RAM. Observa en la siguiente imagen una representación de la memoria RAM.
Cuando iniciamos un proyecto o programa en Python, la memoria RAM está en blanco, sin ninguna di erección o dato declarado. Al escribir una línea de código como:
counter_box = 0;
Se está etiquetando una dirección de memoria y la siguiente imagen representa lo que sucedió en la memoria RAM.
Lo anterior es válido para cualquier dato que sea declarado en un programa en Python. Se pueden declarar cualquier cantidad de datos, en la memoria RAM. Los datos declarados en la memoria RAM, también son llamados de: “Variables”. La declaración de variables va a afectar la memoria RAM, la cual se puede observar en la siguiente imagen:
Los tipos de datos más simples en Phyton son: Bool (bool), Entero (int), Punto Flotante (float) y Cadena de texto (str). El tipo de dato Bool (bool) puede almacenar 2 valores: True o False (verdadero o falso). En algunos textos representan el valor: True con 1 y el valor False con 0 (cero). También, puede ser usado, en algunos textos: Alto (High) y Bajo (low). Para programar en Python es común usar: True o False como veremos en el siguiente programa ejemplo:
La salida de este programa dará como resultado el siguiente valor:
False
Lo que el programa hace: es declarar una variable del tipo: “bool” y asignarle el valor: “False”. Luego usamos la función: “print()”, para imprimir en la salida de la consola, el valor contenido en la variable: “flag_maq_enable”. Por ejemplo, el siguiente programa:
Mostrara en la salida de consola, el valor:
True
Los tipos de datos enteros (int), pueden ser declarados así:
La salida de este programa dará como resultado el siguiente valor:
La salida de este programa dará como resultado el siguiente valor:
Podemos notar que Python identifica si un numero entero es positivo o negativo y de acuerdo a esto, imprime en la consola de salida, el respectivo signo. Para el caso de los números positivos, Python omite el símbolo “+”.
Los números de punto flotante (float), permiten hacer que una parte del número tenga fracción. Por ejemplo, el siguiente programa, muestra un numero de punto flotante:
La salida de este programa dará como resultado el siguiente valor: 30.57
El tipo de dato: “cadena de texto” (str) almacena una cadena de caracteres. Por ejemplo, el siguiente programa imprime el valor que asignemos a la variable: “name”:
La salida de este programa dará como resultado el siguiente valor: Jhon
Los datos simples son los más usado en proyectos electrónicos. Existen otros tipos de datos, pero los veremos más adelante, cuando el proyecto lo requiera necesario.
OPERACIONES MATEMATICAS
Las instrucciones frecuentemente, más usadas, en un programa en Phyton, son las instrucciones u operaciones matemáticas. Estas son comunes a casi todos los lenguajes de programación. La siguiente es una lista de las operaciones matemáticas que podemos hacer en Python:
• Suma.
• Sustracción.
• División.
• Modulo.
• Multiplicación.
• Exponenciación.
Todas estas operaciones o instrucciones, serán efectuadas en la “unidad lógico aritmética” como se puede observar en la siguiente imagen:
La instrucción suma es la operación matemática que nos permite adicionar a un valor otro, por ejemplo:
7 + 14 = 21
En la operación de suma anterior, usamos la instrucción suma que normalmente encontramos en cualquier libro o calculo. Lo usamos a diario, normalmente en programación. En Python, la suma la podemos realizar de la siguiente manera:
La salida de este programa dará como resultado el siguiente valor: 21
Recordemos que la operación de suma la podemos realizar en lenguaje ensamblador, como se puede ver en el siguiente programa:
La instrucción “resta” es la operación que nos permite sustraer algo de un valor. Por ejemplo:
35 – 25 = 10
Hemos sustraído de 25, el valor de 35 y así su resultado es 10. En Python la sustracción la podemos realizar de la siguiente manera:
La salida de este programa dará como resultado el siguiente valor: 10
Recordemos que en lenguaje ensamblador, una resta se puede hacer como lo muestra el siguiente programa:
La instrucción multiplicar usa el símbolo asterisco (*) en el lenguaje Python. Veamos el siguiente ejemplo:
4 * 12 = 48
Recordemos que en matemática usamos normalmente la X para operaciones de multiplicar. Así, la anterior operación, sería como:
4 X 12 = 48
La operación multiplicación en Python la podemos usar así:
La salida de este programa dará como resultado el siguiente valor: 48
La instrucción “división” en el lenguaje Python, usa el carácter slash (/), que se asemeja a una barra inclinada. Veamos el siguiente ejemplo:
23 / 2 = 11.5
En la anterior operación el resultado es 11.5. Si hubiera un sobrante o resto, este será retornado, puesto que esta operación, siempre retorna punto flotante (float). Veamos el siguiente programa:
La salida de este programa dará como resultado el siguiente valor: 11.5
Para descartar la parte fraccional de la división y recibir un numero entero como resultado, es necesario usar el operador: “//”. Veamos el siguiente programa:
La salida de este programa dará como resultado el siguiente valor: 11
Para retornar la parte restante de una división (modulo), se puede usar el operador: “%”. Veamos un ejemplo:
La salida de este programa dará como resultado el siguiente valor: 1
ra hacer exponenciación de un número, podemos usar el operador: “**”. Un programa ejemplo seria así:
La salida de este programa dará como resultado el siguiente valor: 243
Estos son los operadores aritméticos básicos del lenguaje Python.
OPERADORES DE COMPARACION.
Los operadores de comparación permiten evaluar valores y verificar: si son iguales, si son diferentes, si uno es menor o mayor, etc. Estos operadores cuando evalúan una comparación, retornan como resultado, un valor booleano (True o False). La siguiente lista muestra los operadores de comparación:
• Igual. ==
• Diferente. !=
• Menor que. <
• Mayor que. >
• Menor o igual que. <=
• Mayor o igual que. >=
Por ejemplo, para saber si un número es igual a otro, usamos el operador: “==”. El siguiente programa utiliza el operador de igualdad:
La salida de este programa dará como resultado el siguiente valor: False
Observa el siguiente programa:
La salida de este programa dará como resultado el valor: “True”, porque los dos valores evaluados son iguales. (TRUE)
Todas las operaciones de comparación toman lugar en la “unidad lógica aritmética”, como se puede observar en la siguiente imagen:
Para evaluar si dos valores son diferentes podemos usar el operador: “!=”. Veamos un ejemplo:
Este programa está evaluando si los 2 valores son diferentes. La salida de este programa dará como resultado el valor: “False”, porque los dos valores evaluados son iguales. (FALSE)
Para evaluar si un valor es menor que otro, usamos el operador: “<”. Observa el siguiente programa:
La salida de este programa dará como resultado el siguiente valor: (TRUE)
Así, es posible comparar 2 valores. Puedes experimentar con los otros operadores de comparación.
Conclusión
Como se puede notar, hacer operaciones aritméticas y declarar variables en Python es muy fácil. Si comparado con la mayoría de los otros lenguajes, podemos observar, que es más fácil declarar variables en el lenguaje Python, pues estas son reconocidas automáticamente. Python analiza el tipo de dato que fue asignado a la variable y de este modo determina que tipo es. Notar, que los tipos básicos como: bool, int, float y str, son los más usados en los programas o proyectos realizados con el lenguaje Python. La práctica es maestra de cualquier materia.