domingo, 20 de julio de 2014

Manual de Raspberry Pi. Configurando los puertos digitales GPIO


Una de las grandes capacidades de la Raspberry pi no es sólo su uso como un ordenador o como un media center , sino que también podemos utilizarlo para obtener datos a través de sus pines digitales GPIO, y obtener datos tanto del mundo exterior, como de dar órdenes a los diferentes elementos externos que nosotros queramos conectar, y eso es lo que vamos a hacer en esta práctica

En esta primera práctica experimentando con el hardware de la raspberry pi vamos a utilizar tres diodos led de diferentes colores, los cuales los conectaremos cada uno a un puerto GPIO diferente e introduciremos por medio de la consola los datos y órdenes necesarios:

A continuación realizamos un esquema simple de montaje:
Colocamos la masa.
GPIO 17 - Led Verde
GPIO 18 - Led Amarillo
GPIO 22 - Led Rojo

Para una mayor comodidad adjunto a continuación una gráfica ampliada con el datasheet de los pines por defecto de la raspberry pi, de izquierda a derecha:



Bien, una vez claro lo que queremos hacer, veamos como hacerlo.
Abrimos la consola
Lo primero que tenemos que hacer es exportar los puertos gpio que vayamos a utilizar
Esto lo hacemos con el comando:

echo 17  >  /sys/class/gpio/export
echo 18  >  /sys/class/gpio/export
echo 22  >  /sys/class/gpio/export

con el comando echo activamos el puerto 17, ahora debemos definir si es una entrada o una salida

Lo definimos como salidas, pues son diodos led

echo out  >  /sys/class/gpio/gpio17/direction
echo out  >  /sys/class/gpio/gpio18/direction
echo out  >  /sys/class/gpio/gpio22/direction

Ahora podremos darles el valor 1 o 0 para encenderlas y apagarlas

echo 1 > /sys/class/gpio/gpio17/value
echo 0 > /sys/class/gpio/gpio17/value

Una vez hayamos acabado debemos acordarnos de deshacer las salidas

echo 17  >  /sys/class/gpio/unexport

echo 18  >  /sys/class/gpio/unexport
echo 22  >  /sys/class/gpio/unexport


Obtendremos un resultado como este:


Posteriormente, en futuras entradas, trataremos de ver como la Raspberry puede generar un script de código que realice este tipo de órdenes de manera automática.

Muchas gracias y espero que os haya gustado.