Saltar al contenido

raspberry pi 3 GPIO

17 enero, 2020
raspberry pi 3 GPIO

Qué es GPIO Raspberry Pi

Antes de nada, si has llegado a buscar información sobre el Raspberry pi 3 GPIO posiblemente estés pensando enrealizar algún proyecto de electrónica o domótica, ya sea sencillo o complejo el control de las entradas y salidas GPIO es básico para desarrollar este tipo de proyectos.
GPIO significa (general-purpose input/output) o traducido entradas y salidas de propósito general.

Pines GPIO Raspberry pi

En la Raspberry pi 3 disponemos de 40 pines GPIO que también existen en la raspberry pi 2 B+. En la primera Raspberry pi 1 A+/B+ del año 2014 y Raspberry pi 2 (anterior al modelo B+) disponía sólo de 26 pines para este uso.

Esquema GPIO de Raspberry pi 3

gpiozero pinout
gpiozero pinout

Módulo de control GPIO Raspberry Pi

El módulo de control para que raspberry pi se entienda con los pines GPIO se llama RPi.GPIO, este paquete viene instalado por defecto en el sistema Raspbian de Raspberry Pi y se puede habilitar, deshabilitar y activar el uso del puerto de manera remota desde el comando

sudo raspi-config

Podemos encontrar la documentación oficial del modulo en el siguiente enlace https://pypi.org/project/RPi.GPIO/

Control Raspberry Pi GPIO con Python

Python es un lenguaje de programación interpretado, orientado a objetos y multiplataforma, entre otras características, este lenguaje viene por defecto instalado en nuestra raspberry pi, podemos ver la versión actual con el siguiente comando

python --version

Para el manejo de GPIO desde raspberry existe una librería llamada Gpiozero que viene instalada por defecto en la imagen de Raspbian.

Encender y apagar repetidamente un led conectado a GPIO17

usando el siguiente código de ejemplo:

from gpiozero import LED         //importamos la clase LED desde la libreria gpiozero
from time import sleep           //importamos la clase sleep desde la librería time
red = LED(17)                    //asignamos el puerto GPIO 17 a una variable llamada red de tipo LED
while True:
    red.on()                     //encendemos el puerto GPIO 17
    sleep(1)                     //usado para parar el bucle 1 segundo
    red.off()                    //apagamos el puerto GPIO 17
    sleep(1)                     //usado para parar el bucle 1 segundo