adsense

XRL Tech Corner

Tutoriales online de programación, CMS, Raspberry y artículos sobre tecnología.

Introducción a GPIO Raspberry PI

Uno de las característiscas más interesantes de la Raspberry pi es el interfaz gpio (general purpose input output). Es un interfaz de entrada/salida para comunicarse con diferentes componentes electrónicos, que permiten a la raspberry pi utilizar leds, sensores, buzzers, etc...

 gpio raspberry pi zero w

El interfaz gpio consta de 40 pines, entre los cuales hay 26 para entrada/salida y el resto se usan para alimentación y tierra. Estos pines se pueden usar para emitir estados digitales. Puede dar un 1 cuando se pone a 3.3V o un cero cuando está desactivado a 0V.

Para empezar a utilizar este interfaz gpio vamos a realizar un proyecto muy sencillo: un metrónomo.

 

El proyecto consiste en conectar la Raspberry PI a un buzzer y emitir pulsos como un metrónomo utilizando un programa en Python.

El esquema del montaje eléctrico sería algo como esto:

raspberry pi zero and buzzer bb Hay dos tipos de buzzers (zumbadores), pasivos y activos. Los activos disponen de una fuente oscilante que emite un tipo de sonido, es algo parecido a un LED que se enciende o se apaga, necesitan una senñal no alterna.

Los pasivos necesitan de una señal alterna y pueden emitir más variedad de sonidos.

Para montar el proyecto necesitamos una Raspberry PI, una fuente de alimentación microUSB, una tarjeta microSD con Raspbian instalado, un Cobbler con su cable, una protoboard pequeña y un buzzer activo.

El Cobbler es una tarjeta en forma de T (o en forma alargada) que permite trasladar los pines gpio de la Raspberry PI a un protoboard para facilitar las conexiones con los diferentes componentes eléctricos.

 cobbler cable bus

Para empezar, conectamos el Cobbler a la protoboard de tal modo que quede centrada y los pines de alimentación queden justo conectados en el bus lateral (+ y -).

 A continuación conectamos el cable del bus entre la Raspberry PI y el Cobbler tal como muestra la foto.

Después conectamos un extremo del buzzer en el pin 18 y el otro extremo en la etiqueta GRND (tierra).

 Por último conectamos una fuente de alimentación microUSB a la Raspberry PI y la encendemos. En nuestro caso hemos usado una batería externa que permite dotar de portabilidad al montaje. Se pueden usar pilas también con la misma finalidad, o un enchufe USB típico para cargar tablets.

motnaje raspberry buzzer completo 

Si no disponemos de una pantalla externa con HDMI, un teclado y un ratón, no pasa nada, ya que nos conectaremos por ssh a la Raspberry PI. Eso sí, previamente hay que conocer que IP le asigna el router.

 

Una vez dentro del sistema Raspbian, nos ubicamos en el directorio Documents.

 

Haciendo uso de Python (ver tutorial para aprender Python) vamos a escribir un programa que active el PIN 18 y emita una señal para activar el buzzer. Utilizaremos la librería gpiozero y el objeto Buzzer para emitir los pitidos.

Como ejemplo vamos a programar un métronomo que emita un pulso en cada tiempo de un compás (4/4). El programa se puede completar posteriormente para que también pueda generar compases de 2/4, 3/4, 6/8 etc... 

Como valor de entrada, el programa Python pedirá los golpes por minuto (asignado a la variable bpm) y en función de ese valor calculará las duraciones de los pulsos para marcar el compás. Además el primer tiempo de cada compás haremos un doble pulso para indicar que se trata del principio del compás. Así por ejemplo, si introducimos un valor de bpm de 60, eso generará un golpe cada segundo en un compás de 4/4.

 

A continuación se muestra el programa en Python: 

from gpiozero import Buzzer

from time import sleep

buzzer = Buzzer(18)

bpm = float(input("Beats por minuto"))

print(bpm)

tempo = (60/bpm)

sleep(5)

i=4

c=1

while True:

    if i % 4 == 0:

        print("compas n="+str(c))

        buzzer.on()

        c= c+1 sleep(.01)

        buzzer.off()

        buzzer.on()

    buzzer.on()

    sleep(tempo)

    buzzer.off()

    i = i +1

Y eso es todo. Al ejecutar el programa e introducir el valor de bpm, empezará a emitir los pitidos en cada tiempo que podremos escuchar por el buzzer.

Valora este artículo del blog:
Vps baratos en España
Comprar la BBC micro:bit

Artículos relacionados

 

Comentarios

No hay comentarios por el momento. Se el primero en enviar un comentario.
¿Ya està registrado? Ingresa Aquí
Invitado
Viernes, 20 Octubre 2017
Si desea registrarse, por favor rellene los campos de nombre de usuario y nombre.

Imagen Captcha