introducción a wiring pi en Raspberry pi

Standard

Hola amigos ¿como están? En esta ocasión se me ha dado la alegría de volverles a escribir.

En el post anterior: (introduccion a la programacion en raspberry pi), habíamos visto  como programar en una raspberry, y para recordar:

Raspberry Pi es un ordenador de placa reducida o (placa única) (SBC) de bajo costo con el objetivo de estimular la enseñanza de las ciencias de la computación.

Con la intención de darle un poco más de profundidad a lo que es la placa en sí, veremos un poco sobre GPIO’s (General Purpose Input/Output), los cuales le permiten a la Raspberry Pi comunicarse con dispositivos externos.

  • Son 26 pines para los modelos A y B y 40 pines para el resto de modelos.
  • La tensión de trabajo del puerto es de 3,3v para un uno y 0v para un 0. Además

GIPIOS

  • Los pines en rasbpberry pueden ser usados para SPI, I2C, transmición serie UART, alimentación 3v3 y 5V, GND, PWM y demás E/S.
  • Como los pines pueden ser configurables según lo que se necesite, si no se hace uso de SPI, I2C y UART se podrían deshabilitar estas funciones y obtener 17 pines GPIO disponibles (8 pines GPIO + 5 pines SPI + 2 pines I2C + 2 pines UART = 17).
  • Se debe usar la corriente mínima posible para cada pin porque puede haber salidas simultáneas de conmutación y esto causar interferencias.
  • Cada pin GPIO puede entregar hasta 16 mA, pero el total de todos los pines no debe superar los 50 mA. Por lo cual si se quiere usar los 17 pines, ninguno tendría que consumir más de 3 mA.
  • Si hacen falta más pines GPIO se puede expandir el número de pines usando circuitos expansores de pines GPIO que les hay para interfaces i2c o SPI.

Nota: en caso de necesitar  o contar con sensores/actuadores que necesiten una mejor alimentación (5 v o mas amperaje), existen algunas soluciones. Para los 3.3V lógicos que maneja la raspberry, en la actualidad existen una gran variedad de convertidores lógicos. Los convertidores lógicos son pequeñas placas/circuitos en su mayoría, que se encargan de cambiar los niveles lógicos, entre los dispositivos conectados.

converlogic

Aparte de ser entradas y salidas, los gpios pueden utilizar diferentes tipos de comunicacional como son I2C, PSi o UART

  • I²C es un bus de comunicaciones en serie. Su nombre viene de Inter-Integrated Circuit (Inter-Circuitos Integrados). Y su creador es es Philips. La velocidad es de 100 kbit/s en el modo estándar, aunque también permite velocidades de 3.4 Mbit/s.

Es un bus muy usado en la industria, principalmente para comunicar microcontroladores y sus periféricos en sistemas integrados (Embedded Systems) .

I2C

  • El Bus SPI (del inglés Serial Peripheral Interface) es un estándar de comunicaciones, usado principalmente para la transferencia de información entre circuitos integrados en equipos electrónicos. El bus de interfaz de periféricos serie o bus SPI es un estándar para controlar casi cualquier dispositivo electrónico digital que acepte un flujo de bits serie regulado por un reloj (comunicación sincrónica).

SPI

  • UART, son las siglas en inglés de Universal Asynchronous Receiver-Transmitter. El controlador del UART es el componente clave del subsistema de comunicaciones series de una computadora.

UART

Diferencias principales entre cada tipo de comunicación:

  • En Distancias cortas I²C Tiene una mayor velocidad
  • En I²C el programador tiene que escribir las transiciones del reloj para la lectura / escritura de datos, no se requiere en SPI.
  • I²C puede tener diferentes maestros, mientras que el SPI tiene solo un maestro especifico
  • EN SPI se requiere una línea física por cada circuito, sensor, micro conectado al maestro. Mientras que I²C no se necesita puesto que internamente cada dispotisito tiene su propio ID.
  • Spi soporta mandar datos, a distanciass largasa y velocidad altas
  •  Uart normalmente se utiliza a velocidades max 115kbps y es muy utilizado por su fácil comunicación con las PC
  • Uart es full-duplex pero no es multipunto, al menos en principio, nesitarías tantas uarts como esclavos en el master
  • UART es asíncrono, eso quiere decir que no tiene que esperar una respuesta del receptor para, seguir con su proceso, y cuando recibe la respuesta solo la procesa normalmente.

Ahora ya viendo un poco que son los puertos y  un poco de  lo que se puede hacer explicare  un poco de lo que se trata la biblioteca”wiring pi” que veremos mas a fondo en un post siguiente, la cual nos facilita manejar los puertos de nuestra placa raspberry utilizando el lenguaje de programación c.

WiringPi es una biblioteca escrita en C y liberada bajo licencia GNU LGPLv3, que puede ser empleada en varios lenguajes de programación, además de C y C++, con alguna pequeña modificación en forma de adaptación.

Su principal uso es en la programación de periféricos a través de los 26 pines GPIO, o 40 dependiendo de la placa.

WiringPi, además, ofrece un comando que permite programar y configurar los pines de la GPIO, pudiendo efectuar la lectura y escritura de los pines desde la línea de comandos o incluso, incorporándola en un Shellscript.

sin mas  nos despedimos  por esta ocasion, y en proximo pot veremos a fondo como utilizar la versatil   biblioteca “wiringPi”.

saludos y feliz dia a todos

 

Leave a Reply

Your email address will not be published. Required fields are marked *