Ir al contenido principal

Pines GPIO con Python


Muy buenas amigos en esta entrada os voy a explicar como usar los pines GPIO. Dichos pines son muy importantes para todos aquellos que queréis acoplar "expansiones" así como leds, motores paso a paso, servos, entre otros... los pines GPIO son los que van a permitir que nuestra raspberry pi pueda comandar todos estos dispositivos, pero antes de empezar me gustaría hacer una breve presentación de los mismos;

La raspberry pi 3 model b dispone de 40 pines:

2 pines alimentaciones 5V
2 pines alimentaciones 3,3v
8 pines tierra (Ground)

1 pin SDA y 1 pin SCL (dichos pines se emplean para la conexión de pantallas LCD con adaptadores i2c)

2 pines MOSI y 2 pines MISO (dichos pines son los que se emplearan para una red BUS de datos o para la transformación de señales analógicas a digitales)

2 pines PWM (modulación por ancho de pulso, nos permitiera el uso de serios entre otros)
entre otros muchos otros...

Esquema Interactivo pines GPIO aquí os dejo el enlace directo con el mismo esquema que podéis ver a la izquierda de manera interactiva.

Como ya he ido comentando son muchas las aplicaciones de los pines GPIO pero es necesario saber que uso tiene cada pin puesto que no todos sirven para lo mismo ni pueden llevar a acabo las mismas funciones...

Configuración de Raspberry pi

Una vez vistos los distintos pines, procedemos a la configuración de estos por tal de poder emplearlos, puesto que inicialmente nuestra raspberry pi los tiene desactivados.

para ello nos dirigimos a inicio, preferencias, preferencias de raspberry, interface
y conectamos los pines GPIO pulsando en activar GPIO.

reincidamos nuestro raspberry pi, y ya tenemos disponibles los pines GPIO para conectar leds botones entre otros.


Montaje del circuito

Mientras nuestr raspberry pi se reinicia procederemos al montaje del circuito, en este caso como solo disponemos de un boton pulsador elegiremos el pin GPIO 21 (pin fisico 40), y conectamos por un lado un cable desdel pin 21 hasta una entrada del boton y en el otro extremo colocamos un cable a negativo o massa.
Con este sencillo montaje ya dispondriamos del hardware necesario para nuestro primer proyecto.

Inicialización  de los pines GPIO en Python

Por tal de poder emplear dichos pines siempre debemos establecer unas configuraciones previas que serán necesarias para el correcto funcionamiento y que el programa no nos de error.

Por tal de llamar las funciones simplemente escribiremos:

import RPi.GPIO as GPIO(para importar los pines GPIO)

A continuación debemos incorporar una linea de código que sera siempre igual;

GPIO.setwarnings(False)
(esto evita que nuestra raspberry pueda confundir los pines GPIO con pines internos del procesador, y nos evita errores)

Después deberemos importar la configuración:

GPIO.setmode(GPIO.BCM)

después debemos iniciar los pines que querremos emplear(recordad los pines se les llama por el nombre "GPIO" o "BCM" no por la posición fisica en la que este se halla!!), para ello introducimos:

GPIO.setup(" pin que queremos ", GPIO.IN,  GPIO.PUD_UP)

Por ejemplo para inicial el pin 21, que fisicamente es el pin 40, escribiríamos

GPIO.setup(21,  GPIO.IN,  GPIO.PUD_UP)

Ahora para saber si el pulsador se halla presionado, se podría escribir de la siguiente manera

if GPIO.input(21) == False:

Un ejemplo de código para usar un botón pulsador mediante los pines GPIO seria:

import time
import RPi.GPIO as GPIO

GPIO.setwarnings(False)
GPIO.setmode(GPIO.BCM)
GPIO.setup(21, GPIO.IN, GPIO.PUD_UP)

while True:
      if GPIO.input(21) == False:
           print ("boton pulsado")
           time.sleep(0.5)



Como ya habréis descubierto los mas avispados si no imponemos un tiempo mínimo de espera presionaríamos el botón y la maquina lo ejecutaría tantas veces como bucles hubiera hecho en los segundos que lo mantuviéramos pulsado, por eso es muy importante saber cuantos segundos debemos o queremos bloquear el botón o pulsador con un "time.sleep()"









Comentarios

Entradas populares de este blog

Lector de tarjetas rifad rc522

Hola muy buenas a todos. En este nuevo apartado os quería explicar cómo conectar a vuestro Raspberry pi 3 un lector de tarjetas RC522. con el podreis codificar ciertas tarjetas, para posteriormente realizar una lectura de las mismas. en primer lugar empezaremos preparando nuestro raspberry pi por tal de que pueda comunicarse con el lector de tarjetas RC522. Para ello abriremos el menú iremos a configuración,  configuración de la raspberry pi interfeices y activaremos el spi . Acto seguido reiniciamos. Montaje del RFID-RC522 en la raspberry Código  Escritura import RPi.GPIO as GPIO import SimpleMFRC522 reader = SimpleMFRC522.SimpleMFRC522() try : text = raw_input('New data: ') print (" Now place your tag to write ") reader.write(text) print (" written ") finally: GPIO.cleanup() Lectura import RPi.GPIO as GPIO import SimpleMFRC522 reader = SimpleMFRC522.S