Anteriormente en el blog ya ha salido el tema de los pines GPIO, y la - a priori - ambigüedad que pueden generar cuando no se conoce el tema. El motivo de la entrada de este blog es aclarar las posibles dudas sobre la distinción que se hace cuando se programan estos pines. concretamente las dos maneras que tenemos de referirnos a un mismo pin.
Existen dos formas de nombrar estos pines, comúnmente en las imágenes de se encuentran en internet encontramos el "nombre del pin", este nombre lo escoge Raspberry y es su forma de referirse a cada pin, observar en la siguiente imagen que no todos los pines incluyen un numero en su nombre, pero sí una gran mayoría.
Los nombres están definidos en su mayoría como GPIOXX y estos XX indican el numero del pin en nomenclatura GPIO/wPi. Es importante entender que lo que nos importa del pin es su número ya que es su identificador único dentro de la maquina y desde la cual lo programaremos.
Si observáis la imagen, podréis identificar otra forma de numerar los pines, esta ya no nos da información del pin puesto que son solo números. Esta es la nomenclatura BCM o Broadcom, que viene determinada por la marca del procesador de la Raspberry, estos números van del 1 al 41 en la ultimas Raspberry o del 1 al 26 ya que no todos los modelos tienen el mismo numero de pines.
Visto que existen dos formas de llamar a un mismo pin, podemos deducir que hay dos formas de programar un mismo pin. Por eso es necesario conocer las dos formas, para que podamos entender código que podamos encontrar en internet.
Usando la librería wiringPi programar un pin es muy sencillo, simplemente usamos la función pinMode(numero de pin, 1 o 0), lo interesante es que esto es igual tanto para refriese a un pin en BCM o en wPi/GPIO, la distinción está en una función que se utiliza justo cuando arrancamos nuestro programa, esta función es wiringPiSetup() si utilizamos wPi/GPIO o wiringPiSetupGpio() si utilizamos BCM. Esto nos lleva a que antes de empezar a escribir nuestro programa decidamos que nomenclatura vamos a utilizar, y que luego seamos consistentes con ella.
Quiero aclarar que no todos los modelos de Raspberry disponen de el mismo numero de pines ni de la misma disposición, por lo que lo más sencillo es ejecutar el comando:
cd wiringPigpio -vgpio readall
El cual nos mostrará en pantalla con gran detalle la interfaz GPIO desde la cual estamos trabajando.
No hay comentarios:
Publicar un comentario