Introducción
I2C son las siglas de Inter-Integrated Circuit. Se trata de un protocolo de conexión de interfaz de bus incorporado a los dispositivos para la comunicación en serie.nds para Inter-Integrated Circuit.
Como los PLCs de Raspberry de Industrial Shields para automatización industrial tienen comunicación i2c, vamos a probarlo utilizando un acelerómetro de Adafruit que funciona a través de I2C.
Enlaces relacionados
Requisitos
Acelerómetro Adafruit MMA8451 >>>
- Cable Ethernet o monitor y teclado externos para conectar con el controlador PLC Raspberry Pi.
Conexiones
Para conectar el acelerómetro Adafruit MMA8451 a nuestro PLC basado en Raspberry Pi, conecta los cables como se muestra en la siguiente imagen:
Librería Adafruit MMA8451
Primero, instala la Librería Adafruit MMA8451 >>> en el PLC industrial Raspberry Pi para poder utilizar los ejemplos del acelerómetro. Ejecuta el siguiente comando:
git clone https://github.com/adafruit/Adafruit_CircuitPython_MMA8451.git
Nota: Debes tener conexión a internet y git instalado en tu PLC industrial Raspberry PI. Además, si te da algún error al copiar el comando de este post, escribe el comando manualmente.
Test
Una vez que la librería está correctamente instalada, prueba el acelerómetro:
1. En tu hardware de código abierto, ve a:
Directorio ~/Adafruit_CircuitPython_MMA8451/examples:
cd ~/Adafruit_CircuitPython_MMA8451/examples
2. Ve a la lista de archivos para comprobar que existe el archivo mma8451_simpletest.py:
ls
3. Ahora, asegúrate de que Python3 está instalado en el PLC de código abierto Raspberry Pi:
python3 --version
4. Finalmente, ejecuta el archivo Python y ¡disfruta de tu app!
python3 mma8451_simpletest.py
Solución de problemas
Si obtienes "OSError: [Errno 121] Remote I/O error", abre el archivo Python:
nano mma8451_simpletest.py
import timeimport boardimport adafruit_mma8451i2c = board.I2C() # uses board.SCL and board.SDAtime.sleep(1.0)# Initialize MMa8451 module.sensor = adafruit_mma8451.MMa8451(i2C)
Finalmente, guarda y sal. ¡Ejecuta de nuevo tu aplicación para disfrutar del acelerómetro usando la comunicación I2C!
Cómo probar la comunicación I2C externa en el Raspberry PLC