Cómo habilitar SPI / I2C en Raspberry Pi (y para qué usarlos)

  • Lesley Fowler
  • 0
  • 2363
  • 497
Anuncio

La Raspberry Pi se puede usar para casi cualquier cosa. Desde centros de medios domésticos hasta configuraciones de juegos retro personalizados, es seguro decir que la Pi y las computadoras similares de una sola placa se están volviendo omnipresentes.

Cuando comienzas a experimentar con los pines GPIO en Raspberry Pi, las cosas se vuelven aún más interesantes. Ya hemos cubierto lo que hacen todos esos pines, así que ahora veamos cómo habilitar los protocolos SPI e I2C en su Pi y por qué es posible que desee.

¿Qué es SPI en Raspberry Pi??

Antes de sumergirse, cubramos brevemente lo que hacen estos dos protocolos.

SPI (o la interfaz periférica en serie) permite que un microcontrolador como el Pi se comunique con más de 100 componentes periféricos a la vez. El microcontrolador actúa como un “dominar” a todos los “esclavo” componentes, y pueden comunicarse con ellos a gran velocidad. Este diagrama describe una conexión SPI simple:

Crédito de imagen: Cburnett / wikipedia.org

Si es la primera vez que lee sobre SPI, puede parecer bastante intimidante, pero manténgase firme.! SCLK es la velocidad del reloj establecida por el maestro que determina la velocidad con la que la información se comparte entre los dispositivos.

En cada ciclo (o “garrapata”) del reloj, tanto el maestro como el esclavo envían y reciben un bit de información. Esto es lo que el MOSI (Master Out Slave In) y MISO Los pines (Master In Slave Out) son para.

los SS o el pin de selección de esclavo (marcado CE0 o CE1 en el Pi) se usa para indicar a un dispositivo esclavo que se comunique con el maestro o no en cualquier momento dado. En la mayoría de los casos, cada dispositivo esclavo requiere su propio pin SS, pero puede compartir los pines SCLK, MOSI y MISO.

Algunos dispositivos pueden ser “margarita encadenada” para compartir un pin SS, manteniendo el total de pines usados ​​en cuatro, más dos para alimentación y tierra. SPI es conocido por ser increíblemente rápido y se usa comúnmente en registros de desplazamiento o ADC (convertidores analógico a digital) para pasar datos entre dispositivos.

El canal de YouTube de Startups aumentadas tiene un manual fácil de seguir para SPI que explica el protocolo más a fondo:

Cómo habilitar SPI en Raspberry Pi

Para habilitar SPI en su Raspberry Pi, abra raspi-config desde la terminal ingresando:

sudo raspi-config

Navegar a Opciones de interfaz, y en el siguiente menú seleccione P4 SPI Activa / desactiva la carga automática del módulo del núcleo SPI. Seleccionar en el indicador de la ventana. SPI ahora está habilitado!

Alternativamente, puede habilitar SPI desde /boot/config.txt expediente. Abra una ventana de terminal e ingrese:

sudo nano /boot/config.txt

Busque una línea que lea # dtparam = spi = on y quitar el # # símbolo. De cualquier manera que habilite SPI, reinicie su Pi y SPI estará habilitado.

¿Qué se puede hacer con SPI en Raspberry Pi??

Si bien hay cientos de proyectos diferentes que utilizan muchos periféricos SPI diferentes, un buen proyecto inicial es programar su propio lector RFID.

Usamos el lector MFRC-522 en nuestro tutorial DIY Smart Lock con Arduino y RFID DIY Smart Lock con Arduino y RFID DIY Smart Lock con Arduino y RFID A continuación se explica cómo construir un simple bloqueo inteligente basado en RFID usando un Arduino como eje central y un Pocos componentes baratos. . Para una introducción con sabor a Raspberry Pi a RFID, consulte el Instructable en profundidad de piddlerintheroot.

Este tipo de configuración tampoco es solo para la electrónica de hobby. En nuestra colección de los mejores proyectos de Raspberry Pi Los 13 mejores proyectos de Raspberry Pi de 2017 Los 13 mejores proyectos de Raspberry Pi de 2017 Te sorprenderán estos impresionantes proyectos creativos de Raspberry Pi. , presentamos un sistema MES a gran escala que funciona con Raspberry Pi y RFID, como parte de una operación de fábrica a gran escala en Europa.

¿Qué es I2C en Raspberry Pi??

I2C es un protocolo de comunicación creado por Phillips Electronics, que ha experimentado un gran uso en proyectos de hobby basados ​​en microcontroladores. La razón de esto es obvia: usa solo dos cables en lugar del mínimo de cuatro de SPI. También está bien soportado por bibliotecas hechas por el usuario. Hay muchos componentes diseñados para usarse con I2C en Raspberry Pi. Si bien es más lento que SPI, aún funciona lo suficientemente rápido para la mayoría de los usos diarios.

Al igual que SPI, el protocolo tiene un dominar dispositivo, como el Pi, y un esclavo dispositivo, como una pantalla, registro de desplazamiento o controlador de motor.

La primera conexión entre los dispositivos es la SCL (Reloj de serie) que establece el maestro para sincronizar la transferencia de datos. La segunda línea es la SDA (Datos de serie) que transfiere los datos de un lado a otro entre todos los dispositivos en el bus I2C.

El dispositivo maestro comienza la comunicación con un comienzo bit, y un bit de siete dirección hexadecimal. Esto debe coincidir con el dispositivo esclavo para que puedan comunicarse. Así es como se pueden usar tantos dispositivos con solo dos cables.

El dispositivo maestro luego especifica si quiere leer o escribir (R / W) el esclavo, antes de recibir un acuse de recibo o ACK espalda.

YouTuber Augmented Startups ofrece una mirada fácil y detallada de I2C una vez más:

Cómo habilitar I2C en Raspberry Pi

I2C también está habilitado en Pi a través de raspi-config menú. Abra la terminal e ingrese:

sudo raspi-config

Use las teclas de flecha para seleccionar Opciones de interfaz, seguido por P5 I2C Activa / Desactiva la carga automática del módulo del núcleo I2C. Confirme que desea habilitar el protocolo y debería ver una pantalla de confirmación.

Al igual que con SPI, también puede habilitar I2C modificando su archivo config.txt. Abra una terminal e ingrese:

sudo nano /boot/config.txt

Modificar #dtparam = i2c_arm = on, la eliminación de la # # símbolo.

Reinicie su Pi, y I2C está listo para funcionar!

¿Qué se puede hacer con I2C en Raspberry Pi??

I2C es ideal para cualquier proyecto que requiera una gran cantidad de resultados. Un uso típico es para pantallas LCD, que requieren hasta 16 pines para su uso. I2C reduce esto a solo dos para comunicación y dos para alimentación y tierra.

Muchas pantallas LCD vienen con un I2C “mochila” conectado, haciéndolos mucho más fáciles de configurar y liberando el resto de sus pines Pi para otros sensores y periféricos.

TheRaspberryPiGuy tiene un tutorial detallado de YouTube sobre cómo configurar y usar una pantalla LCD con I2C en Raspberry Pi

El uso de SPI e I2C ahorra pines!

SPI e I2C en Raspberry Pi ciertamente no son para principiantes en electrónica de hobby, pero tampoco tienen nada de qué temer.

Antes de sumergirse, sería una buena idea seguir nuestra guía para principiantes de Raspberry Pi para aprender los conceptos básicos..

Trabajar en algunos proyectos de ejemplo es la mejor manera de aprender, ¡y esperamos ver lo que se te ocurre! Quién sabe qué creaciones extrañas y maravillosas de Raspberry Pi. 10 Proyectos de Raspberry Pi más extraños. 10 Proyectos de Raspberry Pi más extraños. Hay un científico loco dentro de cada uno de nosotros, y el Raspberry Pi permite que tu loon interno salga y juegue. A veces, las cosas se ponen raras. Muy raro. harás?




Nadie ha comentado sobre este artículo todavía.

Sobre tecnología moderna, simple y asequible.
Tu guía en el mundo de la tecnología moderna. Aprenda a usar las tecnologías y los dispositivos que nos rodean todos los días y aprenda a descubrir cosas interesantes en Internet.