100% encontró este documento útil (1 voto)
480 vistas69 páginas

Python Y Raspberry Pi para Electrónicos PDF

Este documento describe cómo usar Python y Raspberry Pi 4 para proyectos electrónicos. Explica brevemente Python y Raspberry Pi, luego describe cómo configurar una Raspberry Pi 4, instalar Python e IDLE, y programar la Raspberry Pi 4 para controlar y monitorear dispositivos electrónicos utilizando los pines GPIO a través de Python. A continuación, presenta varios proyectos de ejemplo que usan diodos LED y un interruptor DIP para demostrar cómo leer datos de entrada y escribir en salida.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
100% encontró este documento útil (1 voto)
480 vistas69 páginas

Python Y Raspberry Pi para Electrónicos PDF

Este documento describe cómo usar Python y Raspberry Pi 4 para proyectos electrónicos. Explica brevemente Python y Raspberry Pi, luego describe cómo configurar una Raspberry Pi 4, instalar Python e IDLE, y programar la Raspberry Pi 4 para controlar y monitorear dispositivos electrónicos utilizando los pines GPIO a través de Python. A continuación, presenta varios proyectos de ejemplo que usan diodos LED y un interruptor DIP para demostrar cómo leer datos de entrada y escribir en salida.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 69

1

PYTHON Y RASPBERRY PI 4 PARA ELECTRÓNICOS

Angie Liceth Pinillos Rodgers


Ingeniera Electrónica
Especialista En Pedagogía Para El Desarrollo Del Aprendizaje Autónomo
Instructora SENA
2

PYTHON Y RASPBERRY PI 4 PARA ELECTRÓNICOS

Por: Angie Pinillos Rodgers

Angie Liceth Pinillos Rodgers


Ingeniera Electrónica
Especialista En Pedagogía Para El Desarrollo Del Aprendizaje Autónomo
Instructora SENA
3

Acerca de la Autora

ANGIE LICETH PINILLOS RODGERS

• Técnica en Radio, TV, Sonido y


Betamax graduada en 1990
• Técnica en Electrónica Digital e
Industrial graduada en 1991
• Ingeniera Electrónica graduada en
1999
• Especialista en Pedagogía Para el
Desarrollo del Aprendizaje Autónomo
graduada en 2004.
• Especialista en Sistemas Embebidos

Poseo las competencias laborales en la normas:

• MANTENER EQUIPOS ELECTRÓNICOS DE AUDIO


• ORIENTAR PROCESOS FORMATIVOS PRESENCIALES CON BASE
EN LOS PLANES DE FORMACIÓN CONCERTADOS.

Instructora del área de Electrónica y Automatización en el Centro de


Operación y Mantenimiento Minero del SENA Regional Cesar, cargo que
desempeño desde 1995.

Angie Liceth Pinillos Rodgers


Ingeniera Electrónica
Especialista En Pedagogía Para El Desarrollo Del Aprendizaje Autónomo
Instructora SENA
4

INDICE
Acerca de la Autora ..................................................................................................................3

INDICE......................................................................................................................................4

1. INTRODUCCIÓN ...............................................................................................................6

1.1. RASPBERRY PI ..........................................................................................................6

1.2. PYTHON ......................................................................................................................6

2. CONOCIENDO LOS GPIO DE LA RASPBERRY PI .........................................................7

3. PREPARANDO LA RASPBERRY PI 4B ...........................................................................9

3.1. ELEMENTOS NECESARIOS ......................................................................................9

3.2. ESCRIBIR EL SISTEMA OPERATIVO RASPBERRY PI OS EN LA TARJETA MICRO-SD ..10

3.3. DESCARGAR E INSTALAR PuTTy ...............................................................................15

3.4. CONECTANDO CON LA RASPBERRY PI ...................................................................18

3.5. INSTALANDO VNC VIEWER EN EL COMPUTADOR ..................................................21

3.6. USANDO VNC VIEWER .............................................................................................24

4. PYTHON ..........................................................................................................................27

4.1. CARACTERÍSTICAS DEL LENGUAJE ..........................................................................27

4.1.1. Ventajas .............................................................................................................27

4.1.2. Desventajas .......................................................................................................28

4.2. IDLE EN LA RASPBERRY PI .........................................................................................28

4.2.1. INSTALACIÓN DEL IDLE ......................................................................................28

4.2.2. IDLE COMO ENTORNO INTERACTIVO ...............................................................29

4.2.3. IDLE COMO EDITOR DE PROGRAMAS ..............................................................31

5. PROGRAMANDO LA RASPBERRY PI 4B ......................................................................37

5.1. PROGRAMANDO LOS GPIO COMO SALIDA ..........................................................39


Angie Liceth Pinillos Rodgers
Ingeniera Electrónica
Especialista En Pedagogía Para El Desarrollo Del Aprendizaje Autónomo
Instructora SENA
5

5.2. PROGRAMANDO LOS GPIO COMO ENTRADA.......................................................41

5.3. USANDO FUNCIONES EN PYTHON...........................................................................43

5.3.1. Definir una función ............................................................................................43

5.4. USANDO LISTAS EN PYTHON ....................................................................................47

5.5. USANDO for EN PYTHON ..........................................................................................47

5.6. USANDO if-else EN PYTHON ....................................................................................48

5.7. USANDO while EN PYTHON .....................................................................................50

6. PROYECTOS CON DIPSWITCH Y LEDS CON LA RASPBERRY PI 4B .......................51

6.1. ESCRIBIR EN LOS LEDS EL DATO LEIDO POR EL DIPSWITCH V1 ...............................53

6.2. ESCRIBIR EN LOS LEDS EL DATO LEIDO POR EL DIPSWITCH V2 ...............................56

6.3. ESCRIBIR EN LOS LEDS EL DATO LEIDO POR EL DIPSWITCH V3 ...............................59

6.4. ESCRIBIR EN LOS LEDS EL DATO LEIDO POR EL DIPSWITCH V4 ...............................60

6.5. ESCRIBIR EN LOS LEDS EL DATO LEIDO POR EL DIPSWITCH V5 ...............................61

6.6 ESCRIBIR EN LOS LEDS EL DATO LEIDO POR EL DIPSWITCH V6 ...............................62

6.7 ESCRIBIR EN LOS LEDS EL DATO LEIDO POR EL DIPSWITCH V7 ...............................64

Angie Liceth Pinillos Rodgers


Ingeniera Electrónica
Especialista En Pedagogía Para El Desarrollo Del Aprendizaje Autónomo
Instructora SENA
6

1. INTRODUCCIÓN
1.1. RASPBERRY PI
Raspberry Pi es un dispositivo excepcional: un ordenador totalmente funcional en
un formato pequeño y de bajo coste. Tanto si quieres un dispositivo para navegar en
Internet como si es para jugar, o si quieres aprender a escribir tus propios programas o
crear tus propios circuitos y dispositivos físicos, Raspberry Pi (y su increíble comunidad)
te ayuda en cada paso.

Raspberry Pi es lo que se conoce como ordenador de una sola placa, que es


exactamente lo que su nombre indica: como un ordenador de sobremesa, un portátil
o un smartphone, pero construido sobre una única placa de circuito impreso. Como
la mayoría de los ordenadores de una sola placa, Raspberry Pi es pequeño —más o
menos del tamaño de una tarjeta de crédito— pero eso no impide que sea potente:
un Raspberry Pi puede hacer cualquier cosa que haga un ordenador más grande y
de mayor consumo, aunque puede que no lo haga tan rápido.

1.2. PYTHON
En términos técnicos, Python es un lenguaje de programación de alto nivel,
orientado a objetos, con una semántica dinámica integrada, principalmente para el
desarrollo web y de aplicaciones informáticas.

Es muy atractivo en el campo del Desarrollo Rápido de Aplicaciones (RAD) porque


ofrece tipificación dinámica y opciones de encuadernación dinámicas.

Python es relativamente simple, por lo que es fácil de aprender, ya que requiere


una sintaxis única que se centra en la legibilidad. Los desarrolladores pueden leer y
traducir el código Python mucho más fácilmente que otros lenguajes.

Angie Liceth Pinillos Rodgers


Ingeniera Electrónica
Especialista En Pedagogía Para El Desarrollo Del Aprendizaje Autónomo
Instructora SENA
7

2. CONOCIENDO LOS GPIO DE LA


RASPBERRY PI
Los pines GPIO (General Purpose Input Output) de la Raspberry Pi nos permiten
interactuar con el mundo exterior y, cómo no, con la electrónica que la rodea. Son
pines o terminales que están pensados para comunicarnos con los más diversos
dispositivos electrónicos que deseemos controlar o de los cuales queramos obtener
datos e información general.

Cada pin del puerto GPIO tiene su propósito, varios pines trabajando en conjunto
pueden formar un circuito particular. El diseño del puerto GPIO sobre una Raspberry Pi
4 puede verse en la figura 2.1.

Figura 2.1. Puerto GPIO de Raspberry Pi 4B

La numeración de los pines del puerto GPIO está dividida en dos columnas, la
columna de la derecha toma los números pares y la columna de la izquierda toma los
números impares.

El corazón de la Raspberry Pi 4B es un chip BCM271 con arquitectura de 64 bits,


tiene cuatro núcleos ARM A72 y la velocidad del procesador es de 1.5GHz. A

Angie Liceth Pinillos Rodgers


Ingeniera Electrónica
Especialista En Pedagogía Para El Desarrollo Del Aprendizaje Autónomo
Instructora SENA
8

diferencia de los microprocesadores tradicionales, estos están diseñados para ser


utilizados en sistemas embebidos.

Cuando un pin es una entrada, el programa puede leer si este tiene un nivel alto o
bajo de voltaje. Cuando, por el contrario, el pin es una salida, el programa puede
generar un voltaje alto o bajo en ese pin.

Aunque el puerto GPIO de la Raspberry Pi 4B ofrece un suministro de energía de 5V,


proveniente de la entrada de alimentación del conector USB – tipo C, su
funcionamiento interno se basa en la lógica de 3.3V Conectar un voltaje de 5V a
cualquier pin del puerto GPIO de la Raspberry Pi 4B, o hacer cortocircuito
directamente con cualquiera con cualquiera de los dos pines de alimentación (Pin2 y
Pin4) hacia cualquier otro pin, dañará irreversiblemente la Raspberry Pi debido a que
el puerto está conectado directamente a los pines del procesador SoC BCM2711.

Angie Liceth Pinillos Rodgers


Ingeniera Electrónica
Especialista En Pedagogía Para El Desarrollo Del Aprendizaje Autónomo
Instructora SENA
9

3. PREPARANDO LA RASPBERRY PI 4B
3.1. ELEMENTOS NECESARIOS
Vamos a utilizar la Raspberry Pi comunicándola con un PC mediante la interfaz
VNC, para esto solo se necesitan los siguientes elementos:

• Fuente de alimentación USB – De 5 V y 3 amperios (3 A), con un conector USB


tipo C. La fuente de alimentación oficial de Raspberry Pi es la opción
recomendada, ya que es capaz de hacer frente a las cambiantes demandas
de energía de Raspberry Pi.

• Tarjeta microSD – La tarjeta microSD actúa como almacén permanente de


Raspberry Pi; todos los archivos que crees y el software que instales, junto con el
propio sistema operativo, se almacenan en la tarjeta. Una tarjeta de 8 GB es
suficiente para empezar, aunque una de 16 GB ofrece más espacio para
progresar.

Angie Liceth Pinillos Rodgers


Ingeniera Electrónica
Especialista En Pedagogía Para El Desarrollo Del Aprendizaje Autónomo
Instructora SENA
10

3.2. ESCRIBIR EL SISTEMA OPERATIVO RASPBERRY PI OS EN LA TARJETA


MICRO-SD
El programa encargado de escribir el software Raspberry Pi OS en la tarjeta micro-
sd se llama Raspberry Pi Imager, el cual debe ser descargado de la siguiente página
Raspberry Pi OS – Raspberry Pi

Descargue el software correspondiente al sistema operativo de su computador.

Diríjase a la carpeta de descargas de su computador y haga doble clic en el


archivo imager_1.7.2

Haga clic en SI

Haga clic en Install

Angie Liceth Pinillos Rodgers


Ingeniera Electrónica
Especialista En Pedagogía Para El Desarrollo Del Aprendizaje Autónomo
Instructora SENA
11

Al finalizar la instalación, Haga clic en Finish

Es hora de escribir el sistema operativo en la tarjeta micro-sd, coloque la memoria


micro-sd en el puerto correspondiente de su computador.

Haga clic en CHOOSE OS

Angie Liceth Pinillos Rodgers


Ingeniera Electrónica
Especialista En Pedagogía Para El Desarrollo Del Aprendizaje Autónomo
Instructora SENA
12

Haga clic en Raspberry Pi OS (other)

Haga clic en Raspberry Pi OS Full (32-bit)

Haga clic en CHOOSE STORA..

Haga clic en su tarjeta micro-sd

Haga clic en configuración

Escoja las siguientes opciones:

Angie Liceth Pinillos Rodgers


Ingeniera Electrónica
Especialista En Pedagogía Para El Desarrollo Del Aprendizaje Autónomo
Instructora SENA
13

• En image customization option = to always use.

• Verificamos en la casilla Set hostname y escribimos un nombre.

• Verificamos en la casilla Enable SSH para poder comunicarnos


posteriormente con la raspberry pi desde nuestro computador.

• Verificamos la casilla Set locale settings y escogemos nuestra zona horaria

• Escribimos un nombre de usuario para nuestra Raspberry y una


contraseña de acceso.

• Hacemos clic en SAVE

Angie Liceth Pinillos Rodgers


Ingeniera Electrónica
Especialista En Pedagogía Para El Desarrollo Del Aprendizaje Autónomo
Instructora SENA
14

Haga clic en WRITE

Sale una advertencia que se van a borrar todos los datos de la tarjeta micro sd.
Haga clic en YES

Al finalizar de escribir y verificar la escritura en la tarjeta micro sd, retire la memoria


micro sd del computador, Haga clic en CONTINUE

Cierre el programa Raspberry Pi Imager

Coloque la tarjeta micro-sd en la Raspberry Pi y conecte el adaptador de corriente.

Angie Liceth Pinillos Rodgers


Ingeniera Electrónica
Especialista En Pedagogía Para El Desarrollo Del Aprendizaje Autónomo
Instructora SENA
15

Para comunicarnos con la Raspberry Pi 4B, inicialmente necesitamos de un terminal


que soporte SSH (PuTTy) para poder enviar unos comandos y activar la conexión por
VNC.

3.3. DESCARGAR E INSTALAR PuTTy

PuTTY es un emulador gratuito de terminal que soporta SSH y muchos otros


protocolos. La mayoría de los usuarios, especialmente los que trabajan sobre sistemas
operativos Windows, lo encuentran muy útil a la hora de conectar a un servidor Unix o
Linux a través de SSH.

Para descargar el programa de PuTTy, diríjase a la siguiente página


https://www.putty.org/

Haga clic en Download PuTTy

Haga clic en la opción de su sistema operativo

Terminada la descarga, diríjase a la carpeta de descarga de su computador

Haga doble clic en el archivo putty-64bit-0.77-installer.msi

Angie Liceth Pinillos Rodgers


Ingeniera Electrónica
Especialista En Pedagogía Para El Desarrollo Del Aprendizaje Autónomo
Instructora SENA
16

Haga clic en Next

Haga clic en Next

Angie Liceth Pinillos Rodgers


Ingeniera Electrónica
Especialista En Pedagogía Para El Desarrollo Del Aprendizaje Autónomo
Instructora SENA
17

Haga clic en Install

Haga clic en SI

Haga clic en Finish

Angie Liceth Pinillos Rodgers


Ingeniera Electrónica
Especialista En Pedagogía Para El Desarrollo Del Aprendizaje Autónomo
Instructora SENA
18

3.4. CONECTANDO CON LA RASPBERRY PI


Para conectarnos con la Raspberry PI, abrimos el software PuTTy, para eso haga
doble clic en el icono del escritorio

Escribimos el nombre del Host de nuestra Raspberry Pi y haga clic en Open

Angie Liceth Pinillos Rodgers


Ingeniera Electrónica
Especialista En Pedagogía Para El Desarrollo Del Aprendizaje Autónomo
Instructora SENA
19

Haga clic en Accept

Escriba el nombre de usuario de su Raspberry Pi y teclee <Enter>

Escriba la contraseña se su Raspberry Pi y teclee <Enter>

Ya está listo para enviar comandos a la Raspberry Pi

Angie Liceth Pinillos Rodgers


Ingeniera Electrónica
Especialista En Pedagogía Para El Desarrollo Del Aprendizaje Autónomo
Instructora SENA
20

Para habilitar el modo grafico escriba el siguiente comando: sudo raspi-config en


el terminal de PuTTy y teclee <Enter>

Con la flecha hacia abajo nos ubiquese en Inteface Options y teclee <Entyer>

Con la flecha hacia abajo ubíquese en VNC y teclee <Enter>

Con la tecla tabulación ubíquese en Yes y teclee <Enter>

Teclee <Enter>

Con la tecla tabulación ubíquese en Finish y teclee <Enter>

Angie Liceth Pinillos Rodgers


Ingeniera Electrónica
Especialista En Pedagogía Para El Desarrollo Del Aprendizaje Autónomo
Instructora SENA
21

3.5. INSTALANDO VNC VIEWER EN EL COMPUTADOR


Para instalar VNC (Virtual Network Computing) en el computador, debemos descargar
el software de la siguiente dirección Descargue VNC Viewer | VNC Connect (realvnc.com).

Haga clic en Descargue VNC Viewer

Una vez descargado el archivo, diríjase a la carpeta de descarga de su computador


y haga doble clic en el archivo VNC-Viewer-6.22.515-Windows.exe

Escoja su idioma y haga clic en Aceptar

Haga clic en Siguiente

Angie Liceth Pinillos Rodgers


Ingeniera Electrónica
Especialista En Pedagogía Para El Desarrollo Del Aprendizaje Autónomo
Instructora SENA
22

Haga clic en la casilla de verificación para Aceptar los términos del contrato de
licencia y luego haga clic en Siguiente

Haga clic en siguiente

Angie Liceth Pinillos Rodgers


Ingeniera Electrónica
Especialista En Pedagogía Para El Desarrollo Del Aprendizaje Autónomo
Instructora SENA
23

Haga clic en Instalar

Haga clic en SI

Angie Liceth Pinillos Rodgers


Ingeniera Electrónica
Especialista En Pedagogía Para El Desarrollo Del Aprendizaje Autónomo
Instructora SENA
24

Haga clic en Finalizar

3.6. USANDO VNC VIEWER


Para usar la Raspberry Pi con nuestro computador, debemos abrir el programa VNC
Viewer, para eso haga doble clic en el icono del escritorio

Haga clic en SI

Angie Liceth Pinillos Rodgers


Ingeniera Electrónica
Especialista En Pedagogía Para El Desarrollo Del Aprendizaje Autónomo
Instructora SENA
25

Haga clic en Archivo – Nueva Conexión

Debe escribir el nombre del host que escribió al configurar la Raspberry Pi y haga clic
en Aceptar

Haga doble clic en el icono

Angie Liceth Pinillos Rodgers


Ingeniera Electrónica
Especialista En Pedagogía Para El Desarrollo Del Aprendizaje Autónomo
Instructora SENA
26

En el siguiente cuadro de dialogo, escriba el nombre de usuario y la contraseña que


coloco para configurar la Raspberry Pi y haga clic en Aceptar

Nuestra Raspberry debe verse en nuestro computador

Angie Liceth Pinillos Rodgers


Ingeniera Electrónica
Especialista En Pedagogía Para El Desarrollo Del Aprendizaje Autónomo
Instructora SENA
27

4. PYTHON
Python es un lenguaje de programación de alto nivel creado a finales de los 80 /
principios de los 90 por Guido van Rossum, holandés que trabajaba por aquella época
en el Centro para las Matemáticas y la Informática de los Países Bajos. Sus instrucciones
están muy cercanas al lenguaje natural en inglés y se hace hincapié en la legibilidad
del código. Toma su nombre de los Monty Python, grupo humorista de los 60 que
gustaban mucho a Guido. Python fue creado como sucesor del lenguaje ABC

4.1. CARACTERÍSTICAS DEL LENGUAJE


A partir de su definición de la Wikipedia:

• Python es un lenguaje de programación interpretado y multiplataforma cuya


filosofía hace hincapié en una sintaxis que favorezca un código legible.

• Se trata de un lenguaje de programación multiparadigma, ya que soporta


orientación a objetos, programación imperativa y, en menor medida,
programación funcional.

4.1.1. Ventajas

• Libre y gratuito (OpenSource).

• Fácil de leer, parecido a pseudocódigo.

• Aprendizaje relativamente fácil y rápido: claro, intuitivo

• Alto nivel.

• Alta Productividad: simple y rápido.

• Tiende a producir un buen código: orden, limpieza, elegancia, flexibilidad

• Multiplataforma. Portable.

• Multiparadigma: programación imperativa, orientada a objetos, funcional

• Interactivo, modular, dinámico.

• Librerías extensivas.

Angie Liceth Pinillos Rodgers


Ingeniera Electrónica
Especialista En Pedagogía Para El Desarrollo Del Aprendizaje Autónomo
Instructora SENA
28

• Gran cantidad de librerías de terceros.

• Extensible (C++, C, …)

• Gran comunidad, amplio soporte.

• Interpretado.

• Hay diferentes implementaciones: CPython, PyPy, Jython, IronPython,


MicroPython

4.1.2. Desventajas

• Interpretado (velocidad de ejecución, multithread vs GIL, etc.).

• Consumo de memoria.

• Errores durante la ejecución.

• Dos versiones mayores no del todo compatibles (v2 vs v3).

• Desarrollo móvil.

• Documentación a veces dispersa e incompleta.

• Varios módulos para la misma funcionalidad.

• Librerías de terceros no siempre del todo maduras.

4.2. IDLE EN LA RASPBERRY PI


IDLE (Integrated DeveLopment Environment for Python) es un entorno gráfico de
desarrollo elemental que permite editar y ejecutar programas en Python.

IDLE es también un entorno interactivo en el que se pueden ejecutar instrucciones


sueltas de Python.

4.2.1. INSTALACIÓN DEL IDLE

Para instalar el IDLE, la Raspberry Pi 4B debe estar encendida y tener la comunicación


con el computador a través del VNC.

Angie Liceth Pinillos Rodgers


Ingeniera Electrónica
Especialista En Pedagogía Para El Desarrollo Del Aprendizaje Autónomo
Instructora SENA
29

Abrimos el terminal de comandos de la Raspberry PI

Digitamos el comando: sudo apt-get install python3

Digitamos el comando: sudo apt-get install idle3

4.2.2. IDLE COMO ENTORNO INTERACTIVO

Al abrir IDLE con el acceso directo Inicio > Programming > IDLE (using Python-3.9), se
abrirá la ventana principal de IDLE, como muestra la imagen siguiente.

Angie Liceth Pinillos Rodgers


Ingeniera Electrónica
Especialista En Pedagogía Para El Desarrollo Del Aprendizaje Autónomo
Instructora SENA
30

IDLE: Ventana principal

Esta ventana indica la versión de Python instalada.

Nota: La ventana de IDLE tiene un tamaño predeterminado de 80 x 40 caracteres que


se puede modificar con el menú Options > Configure IDLE > Windows.

IDLE: Opciones generales

La ventana principal de IDLE es un entorno interactivo de Python en la que se pueden


escribir órdenes de Python a la derecha del símbolo de petición >>> (en inglés,
prompt). Al pulsar Intro, IDLE ejecutará la orden inmediatamente. Si la orden produce
algún resultado, éste se mostrará en color azul y sin el símbolo de petición. Por ejemplo,
se puede comprobar que Python sabe sumar dos más dos:
Angie Liceth Pinillos Rodgers
Ingeniera Electrónica
Especialista En Pedagogía Para El Desarrollo Del Aprendizaje Autónomo
Instructora SENA
31

Al terminar de ejecutar la orden, IDLE vuelve a mostrar el símbolo de petición, en


espera de una nueva orden.

En el entorno interactivo de IDLE se pueden recuperar órdenes anteriores mediante los


atajos de teclado:

Alt+p para ver la instrucción anterior (supongo que p es por previous, en español,
anterior)
Alt+n para ver la instrucción siguiente (supongo que n es por next, en español,
siguiente)

4.2.3. IDLE COMO EDITOR DE PROGRAMAS

IDLE es también un editor de programas elemental, que permite redactar programas,


guardarlos en archivos y ejecutarlos.

La ventana principal de IDLE es siempre el entorno interactivo, pero también es la


ventana donde se ejecutarán los programas.

Para crear un archivo de programa con IDLE, abra una nueva ventana mediante el
menú File > New File (o el atajo de teclado Ctrl+N).

Al elegir esta opción se abrirá una nueva ventana como la de la imagen.

Angie Liceth Pinillos Rodgers


Ingeniera Electrónica
Especialista En Pedagogía Para El Desarrollo Del Aprendizaje Autónomo
Instructora SENA
32

En esta ventana ya no aparece el símbolo de petición porque es simplemente un


editor de texto (que colorea el código de Python). Por eso los menús de esta ventana
no son los mismos que los de la ventana principal de IDLE.

Escriba por ejemplo el programa:

Observará que, en esta ventana, cuando pulsa <Enter>, no se ejecuta la orden como
ocurre en el entorno interactivo, sino que simplemente se pasa a la línea siguiente.

Para guardar el programa, elija la opción del menú File > Save o File > Save As ...
(también puede utilizar el atajo de teclado Ctrl+S).

La primera vez que guarde un programa se abrirá la ventana de diálogo estándar de


Windows. Elija la carpeta y el nombre del archivo. La extensión habitual de los
programas de Python es .py. Si no escribe la extensión, IDLE la añadirá
automáticamente.

Angie Liceth Pinillos Rodgers


Ingeniera Electrónica
Especialista En Pedagogía Para El Desarrollo Del Aprendizaje Autónomo
Instructora SENA
33

Una vez guardado el programa, el nombre del archivo aparece en la barra de título
de la ventana.

Colores en los programas

Tanto en el entorno interactivo como al editar un programa, IDLE colorea el texto de


acuerdo con su sintaxis. Los colores ayudan a identificar los distintos tipos de elementos
y a localizar errores:

Las palabras reservadas de Python (las que forman parte del lenguaje) se muestran
en color naranja.
Las cadenas de texto se muestran en verde.
Las funciones se muestran en púrpura.
Los resultados de las órdenes se escriben en azul.
Los mensajes de error se muestran en rojo.

Ejecutar programas de Python en IDLE

Para poder ejecutar un programa editado en IDLE, primero es necesario guardarlo.


Una vez haya guardado el programa, puede ejecutarlo mediante la opción del menú
Run > Run module (también puede utilizar la tecla F5).

Angie Liceth Pinillos Rodgers


Ingeniera Electrónica
Especialista En Pedagogía Para El Desarrollo Del Aprendizaje Autónomo
Instructora SENA
34

La salida del programa se mostrará en la ventana principal de IDLE.

El procedimiento de trabajo es siempre el mismo: escriba o modifique el programa en


la ventana secundaria, guárdelo, ejecútelo y, en su caso, la salida del programa se
mostrará en la ventana principal. Si quiere, puede tener varias ventanas secundarias
abiertas simultáneamente, pero la ejecución de los programas siempre se realiza en
la ventana principal.

También puede ejecutar en IDLE programas creados anteriormente, abriéndolos


previamente.

Desde IDLE, puede abrir el menú File > Open:

Una vez abierto el programa en IDLE, ejecútelo pulsando F5 o mediante el menú Run
> Run module.

Errores en los programas

Si al ejecutar una instrucción o un programa se produce algún error o se encuentra


algún error de sintaxis, Python genera un mensaje de error en inglés que indica dónde
se ha producido el error y una descripción del tipo de error. El mensaje de error se
muestra en una ventana modal o en la ventana principal de IDLE.

Angie Liceth Pinillos Rodgers


Ingeniera Electrónica
Especialista En Pedagogía Para El Desarrollo Del Aprendizaje Autónomo
Instructora SENA
35

El siguiente ejemplo es un ejemplo de error de sintaxis, concretamente que faltan los


paréntesis que deben rodear los argumentos de cualquier función en este caso, la
función print().

Si se trata de un error de sintaxis, el origen del error puede encontrarse exactamente


en el punto donde indica Python, pero también puede encontrarse en un punto
anterior del programa que Python no puede identificar. Por ejemplo, si una cadena
no se cierra, Python indicará que al final del programa ha encontrado una cadena sin
cerrar, pero Python no puede identificar dónde deberíamos haber cerrado la cadena.

• Si la instrucción se ha escrito en el entorno interactivo, el mensaje de error se


muestra en la ventana de IDLE:

• Si la misma orden se ha escrito en un programa, como antes de ejecutar un


programa se comprueba su sintaxis, este error se detecta antes de ejecutar el
programa e IDLE muestra el mensaje de error en una ventana emergente:

El siguiente ejemplo es un ejemplo de error que se produce al ejecutar una instrucción.


Concretamente, el error se debe a que la palabra hola no está entre comillas y Python
entiende que se hace referencia a una variable que se llama hola pero al no estar
definida previamente ninguna variable que se llame así, se produce un error. Como el
error se produce cuando ya se está ejecutando la instrucción, IDLE muestra siempre el
mensaje en el entorno interactivo, aunque el texto no es exactamente el mismo:

• Si la instrucción se ha escrito en el entorno interactivo, el mensaje de error se


muestra en la ventana de IDLE:

Angie Liceth Pinillos Rodgers


Ingeniera Electrónica
Especialista En Pedagogía Para El Desarrollo Del Aprendizaje Autónomo
Instructora SENA
36

• Si la instrucción se ha escrito en un programa, el mensaje de error también se


muestra en la ventana de IDLE:

Angie Liceth Pinillos Rodgers


Ingeniera Electrónica
Especialista En Pedagogía Para El Desarrollo Del Aprendizaje Autónomo
Instructora SENA
37

5. PROGRAMANDO LA RASPBERRY PI 4B
Para programar los puertos GPIO de nuestra Raspberry Pi, debemos ir a inicio >
Programming > IDLE (using Python-3.9)

Debe abrirse el IDLE

El siguiente paso es abrir el editor de programa, para eso debe ir al menú File > New
File (o el atajo de teclado Ctrl+N).

La ventana del editor de programa debe verse de la siguiente manera

Angie Liceth Pinillos Rodgers


Ingeniera Electrónica
Especialista En Pedagogía Para El Desarrollo Del Aprendizaje Autónomo
Instructora SENA
38

Antes de escribir cualquier instrucción se recomienda que guarde el programa, para


eso debe dar click en File > Save As…, se recomienda dar un nombre adecuado al
programa y no usar espacios en blancos entre los caracteres

Elegimos el directorio donde se va a guardar y hacemos clic en Save

Angie Liceth Pinillos Rodgers


Ingeniera Electrónica
Especialista En Pedagogía Para El Desarrollo Del Aprendizaje Autónomo
Instructora SENA
39

5.1. PROGRAMANDO LOS GPIO COMO SALIDA


Los pines de salida se utilizan para conectar los actuadores los cuales son los
encargados de manejar los dispositivos de potencia.

Como ejemplo utilizaremos el siguiente diagrama. Como se puede observar se tiene


un led conectado, al GPIO18 de la Raspberry Pi 4B, con su respectivo resistor limitador
de corriente. El valor del resistor limitador de corriente debe calcularse teniendo en
𝑉 −𝑉𝐷
cuenta la siguiente formula 𝑅𝑙𝑖𝑚 = 𝑓𝐼 , tenga en cuenta que los GPIO de la Raspberry
𝐷
Pi 4B suministran 3,3V

Haciendo las conexiones en el protoboard, nos quedaría:

Angie Liceth Pinillos Rodgers


Ingeniera Electrónica
Especialista En Pedagogía Para El Desarrollo Del Aprendizaje Autónomo
Instructora SENA
40

En nuestro programa lo primero que hay que hacer es importar las librerías que
necesitaremos, la primera de ellas es RPi.GPIO as GPIO, la cual permite controlar los
pines GPIO desde el código.

La segunda librería que vamos a utilizar es time, la cual permite realizar retardos de
tiempo en nuestro programa.

Se define la función principal del programa con la instrucción def main ():

Una vez importadas las librerías a utilizar, se debe establecer la librería GPIO al modo
de Board o al modo BCM, para eso se utiliza la instrucción GPIO.setmode(GPIO.BCM)

Seguidamente establecemos los pines GPIO como salida con la instrucción GPIO.OUT,
la instrucción general es GPIO.setup(pin, configuración); donde pin es el número del
GPIO y configuración es GPIO.OUT, si el pin es salida o GPIO.IN, si el pin es entrada.

Para colocar un estado ALTO en un GPIO configurado como salida, se utiliza la


instrucción GPIO.output(pin, True), donde pin es el número del GPIO.

Para colocar un estado BAJO en un GPIO configurado como salida, se utiliza la


instrucción GPIO.output(pin, False), donde pin es el número del GPIO.

Angie Liceth Pinillos Rodgers


Ingeniera Electrónica
Especialista En Pedagogía Para El Desarrollo Del Aprendizaje Autónomo
Instructora SENA
41

El Hola mundo de los microcontroladores es hacer parpadear un led, así que se


necesita la instrucción time.sleep(x), donde x es la cantidad de segundos que
queremos retardar

Nuestro programa completo quedaría de esta manera

5.2. PROGRAMANDO LOS GPIO COMO ENTRADA


Cuando un pin es configurado como entrada digital, a este se le puede colocar
cualquier sensor digital, un sensor digital es aquel sensor que tiene en su salida dos
estados, HIGH o LOW;

Ejemplo de este tipo de sensores son los interruptores, pulsadores, sensor de


movimiento, sensor de presencia, sensor capacitivo, sensor inductivo.

Como ejemplo utilizaremos el siguiente diagrama. Como se puede observar se tiene


un led conectado, al GPIO18 y un pulsador conectado al GPIO4 de la Raspberry Pi 4B.

Angie Liceth Pinillos Rodgers


Ingeniera Electrónica
Especialista En Pedagogía Para El Desarrollo Del Aprendizaje Autónomo
Instructora SENA
42

Haciendo las conexiones en el protoboard, nos quedaría:

Recordemos que lo primero que hay que hacer es importar las librerías que
necesitaremos, RPi.GPIO as GPIO, time

Se define la función principal del programa con la instrucción def main ():

Angie Liceth Pinillos Rodgers


Ingeniera Electrónica
Especialista En Pedagogía Para El Desarrollo Del Aprendizaje Autónomo
Instructora SENA
43

Se establece la librería GPIO al modo de Board o al modo BCM,


GPIO.setmode(GPIO.BCM)

Se configuran los GPIO como entrada o salida GPIO.setup(pin, configuración)

Para leer el estado de un GPIO configurado como entrada se utiliza la instrucción


GPIO.input(pin), donde pin es el número del GPIO

El leer el estado de un GPIO sirve para tomar decisiones, para esto se utiliza la
sentencia condicional if-else

5.3. USANDO FUNCIONES EN PYTHON


Una función, no es más que un bloque de código el cual posee un nombre y recibe
algunos argumentos de entrada o ninguno, para poder realizar una determinada
operación y al final nos retorna un resultado.

Lo mejor de todo, es que este bloque lo podemos llamar todas las veces que
queramos.

Cuando usamos funciones dentro de un lenguaje de programación entramos en el


conocido paradigma de la programación estructurada cuyas ventajas son:

modularización: divide el programa en diferentes módulos para permitir su lectura y


simplificar la complejidad del problema

reutilización: evita que estemos repitiendo constantemente un mismo código, ya que


podemos llamar la función tantas veces como lo deseemos.

5.3.1. Definir una función

Las funciones dentro de python se logran a través de la sentencia def.

Angie Liceth Pinillos Rodgers


Ingeniera Electrónica
Especialista En Pedagogía Para El Desarrollo Del Aprendizaje Autónomo
Instructora SENA
44

La sentencia def en python es una definición la cual es empleada para poder crear
funciones propias programadas por el usuario para la modularización y reutilización
de códigos. Su sintaxis se muestra a continuación:

La sintaxis anterior evidencia diferentes etapas que se pueden destacar al momento


de crear una función en python las cuales describimos a continuación:

nombre de la función: El nombre de la función hará referencia del objetivo para la


cual fue creado dicho bloque de código. Es una buena práctica escribir este nombre
en letras minúsculas.

Parámetros de Entrada: Los parámetros de entrada son las variables externas de la


función necesarias para la ejecución del programa interno dentro de la función, las
cuales el usuario debe proveer al momento del llamado de la función.

¿Qué es el docstring en python?: El docstrings es una documentación conformada por


una cadena de caracteres la cual está integrada a todos los objetos dentro de Python
y su finalidad es describir en detalle para que sirve y como se usa dicho objeto.

Por lo tanto, como puedes ver en la función, inmediatamente después del definir el
nombre, viene el docstring que va a describirle al usuario la finalidad de la función y
le mostrará como usar la misma. Es decir, como hacer el llamado.

para poder leer el docstring de la función digitamos: help(nombre_funcion)

Sentencias: En esta etapa se elabora el bloque de código de python que contiene la


lógica de programación de la función, utilizando los parámetros de entrada que
fueron referenciados por el usuario con la finalidad de llegar al resultado esperado.

Qué hace la función return en Python: La instrucción return en python termina la


ejecución de la función como tal y le devuelve el control a la función de llamada o
etapa donde fue llamada la función para que continue con el flujo normal de código.

Con return también podemos retornar el valor esperado de la función para que
pueda ser usado posteriormente por el programa que realizó la llamada de la función.

Angie Liceth Pinillos Rodgers


Ingeniera Electrónica
Especialista En Pedagogía Para El Desarrollo Del Aprendizaje Autónomo
Instructora SENA
45

Argumentos y Parámetros: Los argumentos de entrada de una función, pueden ser


pasados a través de dos formas: por posición o por nombre.

Por posición es la forma típica con la que se asignan valores a una función y consiste
en colocar los parámetros de entrada en el mismo orden en el que fueron definidos
dentro de la función:

La suma es 5. En el ejemplo anterior a=-3 y b=8.

El llamado por nombre consiste en llamar la función especificando el nombre del


parámetro de entrada al cual estamos asignando dentro de la función:

la resta es 11

Vamos a crear una función de configuración de los GPIO y en vez de configurar los
GPIO en la función principal, simplemente escribimos las instrucciones de
configuración en la función creada.

Angie Liceth Pinillos Rodgers


Ingeniera Electrónica
Especialista En Pedagogía Para El Desarrollo Del Aprendizaje Autónomo
Instructora SENA
46

Con las subfunciones vamos organizando nuestro programa.

Ahora crearemos una subfunción que ejecute la verificación de los GPIO

Y ahora la llamamos, y nuestro código se ve más elegante

Angie Liceth Pinillos Rodgers


Ingeniera Electrónica
Especialista En Pedagogía Para El Desarrollo Del Aprendizaje Autónomo
Instructora SENA
47

5.4. USANDO LISTAS EN PYTHON


Las listas en Python son variables que almacenan “arreglos” arrays, Objetos, donde
internamente cada posición puede ser un tipo de datos distinto.

Es decir, una lista es un compendio de objetos arbitrarios, parecido a las matrices en


muchos otros lenguajes de programación, pero más flexible. La creación de una lista
se hace usando los corchetes [ ] y separando cada objeto por una coma ( , )

empty_list = []
languages = [‘Python’, ‘Ruby’, ‘Javascript’]
fibonacci = [0, 1, 1, 2, 3, 5, 8, 13]
data = [‘Tenerife’, {‘cielo’: ‘limpio’, ‘temp’: 24}, 3718, (28.2933947, -16.5226597)]

Las listas están ordenadas: Una lista no es únicamente un arreglo de varios objetos. Es
una colección ordenada de objetos. Es decir que el primer elemento comenzará
siempre con la dirección o índice cero (0), el segundo elemento con 1 y así
sucesivamente.

5.5. USANDO for EN PYTHON


La estructura del bucle for es simple. La primera línea identifica el bucle y define un
índice, que es un número que cambia en cada paso a través del bucle. Después de
la línea de identificación viene el grupo de comandos que se quiere ejecutar de forma
IDENTADA.

Angie Liceth Pinillos Rodgers


Ingeniera Electrónica
Especialista En Pedagogía Para El Desarrollo Del Aprendizaje Autónomo
Instructora SENA
48

Función range(): La función de python range() es muy util principalmente cuando


usamos bucles for en nuestros códigos ya que dicha función devuelve una secuencia
de números, comenzando desde 0 de forma predeterminada, se incrementa en 1 (de
forma predeterminada) y se detiene antes de un número especificado, es decir el
último número no es inclusivo.

De manera de ejemplo, usamos el siguiente ciclo for en python para crear una
secuencia de números del 0 al 100 e imprima cada elemento en la secuencia:

La sintaxis de la función range es:

range(start, stop, step)

start es el número donde comienza la secuencia, stop es hasta donde la secuencia


llega sin incluir dicho número y step indica cada cuando se va incrementando la
secuencia.

Veamos el siguiente ejemplo con ciclo for en python mostrando una secuencia de
números de 10 hasta 1000 con incrementos de 10 en 10.

5.6. USANDO if-else EN PYTHON


Uno de los condicionales más comunes es el empleado por el enunciado if, el cual
presenta la siguiente estructura:

Angie Liceth Pinillos Rodgers


Ingeniera Electrónica
Especialista En Pedagogía Para El Desarrollo Del Aprendizaje Autónomo
Instructora SENA
49

Si la comparación (una expresión lógica) es verdadera, se ejecutan los comandos


entre el bloque if, o sea todo lo que está identado/sangrado después de la condición.
Si la comparación es falsa, el programa salta inmediatamente al enunciado que no
está identado/sangrado.

Identación: En python la identación es muy importante, dado que con ella se


establecen bloques de código pertenecientes a una determinada funcionalidad
dentro del lenguaje de programación.

En este caso, estamos viendo como con la identación o sangría estamos definiendo
un bloque de código exclusivo para el condicional if.

Si deseamos retornar al bloque de código principal, debemos desidentar y volver a la


misma línea del principal. Es por eso que Python es un lenguaje de programación
sumamente organizado y fácil de leer, pues el propio lenguaje nos obliga a serlo.

La identación, puede hacerse con el tabulador, o con la barra espaciadora. Si se


hace con barra espaciadora es un estándar usar 4 espacios para identificar una
identación, aunque esto no es obligatorio.

Recordar siempre usar el mismo número de espacios en todo su código, caso deseen
usar la barra espaciadora para identar.

Condicional if/else en Python

La cláusula else le permite ejecutar un conjunto de enunciados si la comparación es


verdadera y un conjunto diferente de enunciados si la comparación es falsa.

Condicionales anidados en Python (elif)

Cuando se anidan varios niveles de enunciados if/else, puede ser difícil determinar
cuáles expresiones lógicas deben ser verdaderas (o falsas) con la finalidad de ejecutar
cada conjunto de enunciados. La función elif le permite comprobar criterios múltiples
mientras se mantiene el código fácil de leer.

Angie Liceth Pinillos Rodgers


Ingeniera Electrónica
Especialista En Pedagogía Para El Desarrollo Del Aprendizaje Autónomo
Instructora SENA
50

5.7. USANDO while EN PYTHON


Los bucles while son similares a los bucles for el cual se usa para repetir un bloque de
instrucciones dentro de nuestro programa, la gran diferencia con el FOR es la forma
en que PYTHON decide cuántas veces repetir el bucle. Los bucles while continúan
hasta que se satisface algún criterio.

¿Cuál es la estructura del ciclo while?

La estructura del ciclo while debe respetar la siguiente sintaxis, la cual siempre en
Python debe respetar la identación, dado que una vez la identación vuelve a la
misma línea del comando while, esto le indica el cierre del ciclo While a Python.

A continuación, se presenta un ejemplo del uso del bucle while el cual contiene un
acumulador número que irá incrementando hasta que la suma acumulada sea mayor
que 100

Angie Liceth Pinillos Rodgers


Ingeniera Electrónica
Especialista En Pedagogía Para El Desarrollo Del Aprendizaje Autónomo
Instructora SENA
51

6. PROYECTOS CON DIPSWITCH Y LEDS


CON LA RASPBERRY PI 4B
Dipswitch: conjunto de interruptores eléctricos que se presenta en un formato
encapsulado. Este tipo de interruptor se diseña para ser utilizado en un tablero similar
al de circuito impreso junto con otros componentes electrónicos y se utiliza
comúnmente para modificar o personalizar el comportamiento hardware de
un dispositivo electrónico en ciertas situaciones específicas. Los interruptores DIP son
siempre interruptores de tipo palanca, en los cuales los centrales tienen dos posiciones
posibles "ON" o "OFF" (en vez de por intervalos) y generalmente se puede ver los
números 1 y 0.

La forma correcta de conectar los dipswitch es con resistores PullUp:

VDD

R9R10
R11
R12
R13
R14
R15
R16
10K
10K
10K
10K
10K
10K
10K
10K

PB7
PB6
PB5
PB4
PB3
PB2
PB1
PB0
10

12
13
14
15
16
11
9

DSW1
OFF

DIPSW_8
ON
8
7
6
5
4
3
2
1

De esta manera la entrada de la Raspberry Pi 4B, siempre está recibiendo un “1”


cuando el interruptor del dipswitch este arriba y un “0” cuando el interruptor este
abajo.

Angie Liceth Pinillos Rodgers


Ingeniera Electrónica
Especialista En Pedagogía Para El Desarrollo Del Aprendizaje Autónomo
Instructora SENA
52

Leds: dispositivo electrónico que emite luz. Se utiliza para visualizar la presencia de
corriente, para mostrar si una salida está en “1” o está en “0”.

La forma correcta para conectar un led a la Raspberry Pi 4B es:

PD7
R8
150R

D8
LED-GREEN

Para nuestros proyectos con DipSwitch y Leds con la Raspberry Pi 4B, nos basaremos
en el circuito esquemático.

Colocando los componentes en la protoboard

Angie Liceth Pinillos Rodgers


Ingeniera Electrónica
Especialista En Pedagogía Para El Desarrollo Del Aprendizaje Autónomo
Instructora SENA
53

6.1. ESCRIBIR EN LOS LEDS EL DATO LEIDO POR EL DIPSWITCH V1


El programa que vamos a implementar es la de leer los GPIO configurados como
entradas y mostrar su estado en los GPIO configurados como salida teniendo presente
esta relación

Bit 7 6 5 4 3 2 1 0
GPIO.IN 19 13 6 5 22 27 17 4
GPIO.OUT 21 20 16 12 25 24 23 18

Como se ha descrito anteriormente lo primeros es importar las librerías que se


necesitan

Creamos la función principal

Establecemos la librería GPIO al modo board

Angie Liceth Pinillos Rodgers


Ingeniera Electrónica
Especialista En Pedagogía Para El Desarrollo Del Aprendizaje Autónomo
Instructora SENA
54

Configuramos los GPIO como entradas o salidas

Iniciamos el ciclo infinito

Utilizamos el condicional if- else para comprobar el estado del GPIO de entrada, si el
GPIO esta en estado ALTO, escribimos un ALTO en el GPIO de salida, si el estado del
GPIO esta en estado BAJO, escribimos un BAJO en el GPIO de salida, nos guiaremos
del siguiente diagrama de flujo.

Angie Liceth Pinillos Rodgers


Ingeniera Electrónica
Especialista En Pedagogía Para El Desarrollo Del Aprendizaje Autónomo
Instructora SENA
55

Inicio 1

Configurar GPIO como entradas SI


o salida según diagrama GPIO6 = 1? GPIO16 = 1
NO
SI
GPIO4 = 1? GPIO16 = 0
GPIO18 = 1

NO
SI
GPIO18 = 0 GPIO13 = 1? GPIO20 = 1

NO
SI
GPIO20 = 0
GPIO17 = 1? kk GPIO23 =

NO SI
GPIO19 = 1? GPIO21 = 1
GPIO23 = 0
NO

SI GPIO21 = 0
GPIO27 = 1? GPIO24 = 1
NO
FIN
GPIO24 = 0

SI
GPIO22 = 1? GPIO25 = 1

NO

GPIO25 = 0

SI
GPIO5 = 1? GPIO12 = 1

NO

GPIO12 = 0

Angie Liceth Pinillos Rodgers


Ingeniera Electrónica
Especialista En Pedagogía
1 Para El Desarrollo Del Aprendizaje Autónomo
Instructora SENA
56

Nuestro código quedaría:

6.2. ESCRIBIR EN LOS LEDS EL DATO LEIDO POR EL DIPSWITCH V2


Ahora haremos uso de las funciones para ir estructurando nuestro programa. Creamos
una función para configurar los GPIO de salida, una función para configurar los GPIO
de entrada y una función que ejecuta el código principal.

Angie Liceth Pinillos Rodgers


Ingeniera Electrónica
Especialista En Pedagogía Para El Desarrollo Del Aprendizaje Autónomo
Instructora SENA
57

Angie Liceth Pinillos Rodgers


Ingeniera Electrónica
Especialista En Pedagogía Para El Desarrollo Del Aprendizaje Autónomo
Instructora SENA
58

En nuestra función principal llamamos a las funciones creadas

Angie Liceth Pinillos Rodgers


Ingeniera Electrónica
Especialista En Pedagogía Para El Desarrollo Del Aprendizaje Autónomo
Instructora SENA
59

6.3. ESCRIBIR EN LOS LEDS EL DATO LEIDO POR EL DIPSWITCH V3


Ahora añadiremos parámetros a las funciones creadas, de esta manera podemos
configurar los pines que necesitemos desde el llamado de la función

Nuestra función principal queda:

Angie Liceth Pinillos Rodgers


Ingeniera Electrónica
Especialista En Pedagogía Para El Desarrollo Del Aprendizaje Autónomo
Instructora SENA
60

6.4. ESCRIBIR EN LOS LEDS EL DATO LEIDO POR EL DIPSWITCH V4


En esta nueva versión crearemos una lista para almacenar los GPIO que se van a
configurar como salida, otra lista para almacenar los GFPIO que se van a configurar
como entrada.

En las funciones creadas debemos usar la instrucción


nombre_de_la_lista.insert(posición, parámetro) para almacenar los GPIO en las listas

Angie Liceth Pinillos Rodgers


Ingeniera Electrónica
Especialista En Pedagogía Para El Desarrollo Del Aprendizaje Autónomo
Instructora SENA
61

Nuestras funciones run_codigo() y main () permanecen igual

6.5. ESCRIBIR EN LOS LEDS EL DATO LEIDO POR EL DIPSWITCH V5


Teniendo los GPIO almacenados en listas, podemos usar la función for para la
optimizando del código.

Angie Liceth Pinillos Rodgers


Ingeniera Electrónica
Especialista En Pedagogía Para El Desarrollo Del Aprendizaje Autónomo
Instructora SENA
62

Ahora podemos emplear un ciclo for para optimizar el código principal

Nuestro código principal sigue inmodificable

6.6 ESCRIBIR EN LOS LEDS EL DATO LEIDO POR EL DIPSWITCH V6


En las funciones de configuración crearemos una Tupla para poder configurar los
GPIO con un ciclo for. En la Tupla almacenaremos los parámetros recibidos por las
funciones. De esta manera podemos reducir nuestro código

Angie Liceth Pinillos Rodgers


Ingeniera Electrónica
Especialista En Pedagogía Para El Desarrollo Del Aprendizaje Autónomo
Instructora SENA
63

Las funciones run_codigo y main permanecen inmodificables

Angie Liceth Pinillos Rodgers


Ingeniera Electrónica
Especialista En Pedagogía Para El Desarrollo Del Aprendizaje Autónomo
Instructora SENA
64

6.7 ESCRIBIR EN LOS LEDS EL DATO LEIDO POR EL DIPSWITCH V7

Ahora crearemos otra lista para almacenar los estados de los GPIO de entrada y de
salida, esto con el fin de crear una función que lea todos los bits de los GPIO de
entrada y escriba en todos los bits de salida

Creamos una función que nos permita escribir todos los bits en los GPIO de salida

Creamos una función que nos permita leer todos los bits de los GPIO de entrada

Y nuestro código principal se reduce a una sola instrucción:

Angie Liceth Pinillos Rodgers


Ingeniera Electrónica
Especialista En Pedagogía Para El Desarrollo Del Aprendizaje Autónomo
Instructora SENA
65

El código completo seria:

Angie Liceth Pinillos Rodgers


Ingeniera Electrónica
Especialista En Pedagogía Para El Desarrollo Del Aprendizaje Autónomo
Instructora SENA
66

Angie Liceth Pinillos Rodgers


Ingeniera Electrónica
Especialista En Pedagogía Para El Desarrollo Del Aprendizaje Autónomo
Instructora SENA
67

Queda de parte del lector pasar las funciones creadas a una librería, la cual no es
objeto de explicación en este libro.

Con librería el programa podría verse de esta manera

Angie Liceth Pinillos Rodgers


Ingeniera Electrónica
Especialista En Pedagogía Para El Desarrollo Del Aprendizaje Autónomo
Instructora SENA
68

Angie Liceth Pinillos Rodgers


Ingeniera Electrónica
Especialista En Pedagogía Para El Desarrollo Del Aprendizaje Autónomo
Instructora SENA
69

Angie Liceth Pinillos Rodgers


Ingeniera Electrónica
Especialista En Pedagogía Para El Desarrollo Del Aprendizaje Autónomo
Instructora SENA

También podría gustarte