Raspberry Pi y Arduino son las dos placas de código abierto más populares en Electronics Community. No solo son populares entre los ingenieros electrónicos, sino también entre los estudiantes de la escuela y los aficionados, debido a su facilidad y simplicidad. Incluso a algunas personas les empezó a gustar la electrónica gracias a Raspberry Pi y Arduino. Estas placas tienen grandes poderes, y uno puede construir proyectos muy complicados y de alta fidelidad en unos sencillos pasos y poca programación.
Hemos creado varios proyectos y tutoriales de Arduino, desde los más simples hasta los más complicados. También hemos creado una serie de tutoriales de Raspberry Pi, desde donde cualquiera puede comenzar a aprender desde 'cero'. Esta es una pequeña contribución de nuestra parte hacia la Comunidad Electrónica y este portal ha demostrado ser un gran recurso de aprendizaje para la electrónica. Así que hoy estamos uniendo estas dos grandes placas mediante la interfaz de Arduino con Raspberry Pi.
En este tutorial, estableceremos una comunicación serial entre Raspberry Pi y Arduino Uno. PI tiene solo 26 pines GPIO y cero canales ADC, por lo que cuando hacemos proyectos como una impresora 3D, PI no puede hacer todas las interacciones solo. Entonces necesitamos más pines de salida y funciones adicionales, para agregar más funciones a PI, establecemos una comunicación entre PI y UNO. Con eso podemos usar todas las funciones de UNO como si fueran funciones PI.
Arduino es una gran plataforma para el desarrollo de proyectos, que tiene muchas placas como Arduino Uno, Arduino Pro mini, Arduino Due, etc. Son placas basadas en controladores ATMEGA diseñadas para ingenieros electrónicos y aficionados. Aunque hay muchas placas en la plataforma Arduino, Arduino Uno obtuvo muchas apreciaciones, por su facilidad para hacer proyectos. El entorno de desarrollo de programas basado en Arduino es una forma fácil de escribir el programa en comparación con otros.
Componentes requeridos:
Aquí estamos usando Raspberry Pi 2 Model B con Raspbian Jessie OS y Arduino Uno. Todos los requisitos básicos de hardware y software, con respecto a Raspberry Pi, se discutieron previamente, puede buscarlo en la Introducción de Raspberry Pi, aparte de eso, necesitamos:
- Pines de conexión
- Resistencia de 220Ω o 1KΩ (2 piezas)
- LED
- Botón
Explicación del circuito:
Como se muestra en el diagrama de circuito anterior, conectaremos UNO al puerto PI USB mediante un cable USB. Hay cuatro puertos USB para PI; puede conectarlo a cualquiera de ellos. Hay un botón conectado para inicializar la comunicación en serie y un LED (parpadea) para indicar que se están enviando datos.
Explicación de trabajo y programación:
Parte de Arduino Uno:
Primero programemos el UNO, Primero conecte el UNO a la PC y luego escriba el programa (consulte la sección Código a continuación) en el software Arduino IDE y cargue el programa en UNO. Luego desconecte el UNO de la PC. Conecte el UNO al PI después de programar y conecte un LED y un botón al UNO, como se muestra en el diagrama del circuito.
Ahora el programa aquí inicializa la comunicación serial de UNO. Cuando presionamos el botón adjunto al UNO, el UNO envía algunos caracteres al PI en serie a través del puerto USB. El LED adjunto al PI parpadea para indicar los caracteres que se están enviando.
Parte de Raspberry Pi:
Después de eso, tenemos que escribir un programa para PI (sección de código de verificación a continuación), para recibir estos datos enviados por UNO. Para eso, necesitamos comprender algunos comandos que se indican a continuación.
Vamos a importar un archivo serie de la biblioteca, esta función nos permite enviar o recibir datos en serie o por puerto USB.
importar serial
Ahora, necesitamos indicar el puerto del dispositivo y la tasa de bits para que el PI reciba los datos de UNO sin errores. El siguiente comando indica que estamos habilitando la comunicación en serie de 9600 bits por segundo en el puerto ACM0.
ser = serial.Serial ('/ dev / ttyACM0', 9600)
Para averiguar el puerto al que está conectado el UNO, vaya a la terminal de PI e ingrese
ls / dev / tty *
Tendrá la lista de todos los dispositivos conectados en PI. Ahora conecte el Arduino Uno a Raspberry Pi con un cable USB e ingrese el comando nuevamente. Puede identificar fácilmente el puerto adjunto UNO en la lista que se muestra.
El siguiente comando se usa como un ciclo para siempre, con este comando las declaraciones dentro de este ciclo se ejecutarán continuamente.
Mientras que 1:
Después de recibir los datos en serie, estaremos mostrando los caracteres en la pantalla de PI.
imprimir (ser.readline ())
Entonces, después de presionar el botón, adjunto a UNO, veremos caracteres que se imprimen en la pantalla PI. Por lo tanto, hemos establecido un protocolo de enlace de comunicación básico entre Raspberry Pi y Arduino.