Cómo conectar e interactuar una Raspberry Pi con un Arduino

Cómo conectar e interactuar una Raspberry Pi con un Arduino
A veces, el usuario puede sentir la necesidad de conectar e interactuar Arduino y Raspberry Pi juntos para algunos proyectos, en los que están involucrados la computación y el control de sensores, actuadores u otros dispositivos. Para tales proyectos, las tareas informáticas se pueden realizar utilizando Raspberry Pi y Arduino pueden comunicarse en serie entre sí. En este artículo se presenta el tutorial básico para conectar e interfaz Raspberry Pi con un Arduino.

Cómo conectar e interactuar una Raspberry Pi con un Arduino

El procedimiento paso a paso para conectar e interfaz Raspberry Pi con un Arduino se da a continuación:

Paso 1: Habilite la comunicación en serie en Raspberry Pi

Puede interactuar Raspberry Pi y Arduino juntos a través de la comunicación en serie, por lo que para eso, es obligatorio permitir la comunicación en serie en Raspberry Pi.

Para habilitar la comunicación en serie, abra la Raspberry Pi Herramienta de configuración desde el Preferencias opción del Menú de aplicaciones:

Luego haga clic en el Interfaces pestaña:

Y habilitar I2C y Puerto serial Al girar los botones frente a ellos hacia la derecha:

Luego haga clic DE ACUERDO Para guardar la configuración:

El sistema le pedirá un reinicio, haga clic en aquí:

Paso 2: Instale bibliotecas de Python requeridas

Interactuaremos el Raspberry Pi con un Arduino usando el código Python, pero la comunicación entre Arduino y Raspberry Pi será una comunicación en serie, así que para eso de serie Se requiere la biblioteca. Aunque ya está instalado en Raspberry Pi, pero es mejor confirmar su disponibilidad utilizando el siguiente comando:

$ sudo apt install python3-serial

El comando instalará la biblioteca de serie en el sistema Raspberry Pi si no está instalado, de lo contrario obtendrá la confirmación de que ya está instalado en el sistema Raspberry Pi.

Alternativamente, también puede instalarlo a través de PIP si no puede encontrar la serie Python en el sistema Raspberry Pi:

$ sudo pip instalación pyserial

Paso 3: Instale Arduino IDE en Raspberry Pi

Para instalar Arduino IDE en Raspberry Pi, ejecute el comando mencionado a continuación:

$ sudo apt instalación arduino -y

Luego verifique la instalación de Arduino IDE ejecutando el comando de versión escrita a continuación:

$ Arduino -Versión

Para que un Arduino se ejecute en Raspberry Pi, es obligatorio tener un paquete Java instalado en Raspberry Pi. Para verificar si el Java está instalado en Raspberry Pi o no ejecuta el comando escrito a continuación:

$ java --versión

En caso de que si el paquete Java aún no está instalado en Raspberry Pi, puede usar el comando mencionado a continuación para instalar Java en Raspberry Pi:

$ sudo apt install openjdk-17-jdk -y

Paso 4: Programa un Arduino

Ahora abre el Arduino IDE en Raspberry Pi desde el menú de la aplicación en el Programación sección. Y escriba el código que desea ejecutar en Raspberry Pi después de interactuarlo con Arduino. El código para la comunicación en serie se vería algo así como se muestra en el siguiente ejemplo, aquí solo estoy imprimiendo una cadena de mensaje simple:

setup () void
De serie.comenzar (9600);

bucle void ()
De serie.println ("Hola! Arduino aquí ");
retraso (500);

Después de escribir el código Arduino deseado, compile el código haciendo clic en el botón Compilar:

Guarde el archivo con el nombre deseado, aquí he llamado mi archivo Arduino como mi código:

Después de compilar correctamente, ahora es el momento de seleccionar el puerto y para eso haga clic en Herramientas entonces Puerto y luego seleccione el puerto con el que (Arduino Uno) es mencionado:

Después de compilar, cargue el código en la placa Arduino haciendo clic en el botón de carga resaltado en la imagen a continuación:

Paso 5: Escribe un código de Python

Después de subir el código, ahora es el momento de escribir un código de Python en Raspberry Pi para comunicar Raspberry Pi y Arduino. Para escribir el código Python en Raspberry Pi, abra el IDE Thonny Python desde el menú de la aplicación:

Ahora copie el código Python mencionado a continuación para la comunicación en serie entre Arduino y Raspberry PI:

Serial de importación
importar RPI.GPIO como GPIO
tiempo de importación
ser = serie.Serial ("/dev/ttyacm0", 9600)
Mientras que es cierto:
read_ser = ser.Readline ()
Imprimir (Read_ser)

El read_ser almacenará el mensaje o cadena que se comunicará en serie a través de un Arduino.

Luego guarde el código escrito haciendo clic en el Ahorrar botón:

Luego escriba cualquier nombre deseado para el archivo y haga clic en DE ACUERDO:

Paso 6: Encuentre el número de puerto ACM

En el código Python anterior, el número ACM es el número de puertos para la comunicación en serie y para encontrar el número ACM, ejecute el comando mencionado a continuación:

$ ls /dev /tty*

La salida del comando mostrará diferente ttys De lo cual debe encontrar el que tiene un número ACM, podría ser ACM0, ACM1, ACM2 u otro número:

Después de encontrar el número de ACM, regrese al código de Python y escriba el número ACM que acaba de descubrir:

Paso 7: Conecte el Arduino con Raspberry Pi y ejecute el código

Ahora es el momento de conectar Arduino y Raspberry Pi juntos usando un cable Arduino. Inserte un extremo del cable Arduino en el Arduino y conecte el otro extremo al puerto USB del Raspberry Pi.

Luego haga clic en el Correr Botón en Python IDE:

Justo después de ejecutar el código, la cadena codificada en un Arduino se transmitirá a Raspberry Pi y se muestra como una salida en Raspberry Pi:

La salida anterior confirma que Raspberry Pi está conectada con éxito e interactuada con el Arduino.

Conclusión

Para conectar e interfaz Raspberry Pi con un arduino, se utiliza la comunicación en serie. Habilite la comunicación en serie e instale la biblioteca de serie en Raspberry Pi. Luego codifique el arduino y configure el puerto serie para enviar datos en serie. Después de eso, escriba un código Python en Raspberry Pi junto con el número de puerto ACM para recibir datos en serie del Arduino. Finalmente, ejecute el código Python para mostrar la salida en serie en Python IDE.