Herramientas de usuario

Herramientas del sitio


funcionesadicionalesgpio

¡Esta es una revisión vieja del documento!


Funciones adicionales para pines de propósito general (GPIO)


1. Modulación por ancho de pulso PWM (bloques gráficos).

La modulación por ancho de pulso (PWM) permite modificar el valor de voltaje que podemos aplicar a un componente, por ejemplo un led, motor, etc. La variación de este voltaje se logra a través de la modificación del ancho de pulso de una señan cuadrada como aparece en la siguiente figura:

Para trabajar el PWM usaremos el pin (GPIO17) como se muestra en el siguiente esquema:

Para la programación en bloques usaremos los siguientes bloques disponibles en la interfaz del laboratorio remoto:

BloqueDescripción
Permite configurar el pin seleccionado en modo PWM, por ejemplo, el GPIO17 con una frecuencia de 500 Hz.
Permite iniciar el pin configurado previamente en modo PWM, con un ciclo útil. En el caso del ejemplo se inicia el GPIO17 con un ciclo útil del 50%, es decir, 50% de la señal en '1', 5'% de la señal en '0'.
Permite cambiar el ciclo útil directamente en código deacuerdo, por ejemplo, al valor de una variable declarada.

Con estos bloques la idea es crear nuestro primer algortimo para trabajar con GPIOs. Para ello construiremos el siguiente algoritmo gráfico. Los pasos de creación y de explicación del PWM se pueden visualizar en siguiente video.


2. Modulación ancho de pulso (PWM) mediante código en lenguaje Python

Instrucción (Sentencia)Descripción
import RPi.GPIO as GPIO
Permite importar el paquete RPi.GPIO en Python que accede a la configuración y activación de los GPIOs
import time
Incorpora la librería o paquete time para retrasos en el código en segundos.
GPIO.setmode(GPIO.BCM)
Configura los pines de la raspberry pi en modo BCM. En este modo el pin se va a llamar “GPIO17”, “GPIO22”, etc. Esta instrucción debe llamarse antes de configurar el GPIO deseado como entrada o salida.
GPIO.setup(22,GPIO.OUT)
Permite configurar el GPIO en este caso el 22 como “salida”. Si quisieramos el pin como entrada se usaría GPIO.IN.
pwm17=GPIO.PWM(17,500)
Configura el GPIO17 en modo PWM con una frecuencia de 500Hz.
pwm17.start(50)
Inicia el modo pwm en el GPIO17 con un ciclo útil del 50%. En este caso el nombre “pwm17” debe estar en declarado en la configuración y en la inicialización del pin en el modo pwm deacuerdo a la sentencia anterior.
time.sleep(2)
Crea un retraso en tiempo, en este caso de 2 segundos.
funcionesadicionalesgpio.1638930874.txt.gz · Última modificación: 2021/12/08 02:34 por admin