Cómo conectar un Arduino a una Raspberry Pi a través de una comunicación serie 4.5/5 (10)

Tutorial Comunicación serial Arduino Raspberry Pi

En este artículo os vamos a explicar o al menos intentarlo cómo conectar una placa Arduino a una Raspberry Pi a través de una comunicación serie. De todas maneras y de manera informativa diremos que hay varias maneras de hacerlo. Se puede hacer con la comunicación I2C, SPI o incluso a través de los pines GPIO en la Raspberry Pi.

Antes de nada una cuestión ¿por qué queremos conectar una Raspberry Pi 2 B + y un Arduino Uno Rev 3 juntos? Sobretodo para poder usar las ventajas de ambos al mismo tiempo.

Ventajas y desventajas de Arduino y Raspberry Pi

Ventajas de Arduino:

  • Bajo consumo de corriente
  • Fácil a la hora de conectar sensores digitales y sensores analógicos sin necesidad de hardware adicional
  • Excelente para IOT
    etecetera

Algunos defectos de Arduino:

  • la mayoría necesita tarjetas adicionales y extensiones para conectarlo a internet, USB, Wfi, bluetooth, etc.

Puntos fuertes de la Raspberry Pi:

  • Funciona con un sistema operativo “raspbian: a linux derivation”
  • Tiene un montón de extensión (ranura USB, Wifi, ranura HDMI, puerto RJ45, etc)
  • Se puede utilizar para IoT “Internet de las cosas
  • Puede hacer un cálculo más alto que la mayoría de placas Arduino

Algunos defectos de la Raspberry Pi:

  • Necesidad de agregar hardware adicional para conectar sensores analógicos
  • Consumir más energía que un arduino

Así que para conectar nuestras 2 placas y explotar sus puntos fuertes para nuestros proyectos futuros, tenemos que hacer que se comuniquen y compartan datos, por ejemplo ser datos de los sensores de tiempo, de presión, de Internet, etc.

Ahora vamos a la demostración. Para demostrar cómo funciona este tipo de comunicación haremos un par de pequeños proyectos, uno para los datos que van a la Raspberry Pi de Arduino, el otro para lo contrario. En primer lugar, asegúrate de haber instalado pySerial, que permite leer y escribir en el puerto serie con el lenguaje de programación Python.

Para empezar, vamos a necesitar:

Conéctelos con el cable USB y pruebe la comunicación en serie en la Raspberry mediante el siguiente comando en el terminal pi:

ls /dev/tty

Y el resultado debería ser esto: “/ dev / ttyACM0” , eso te permite saber que todo esta bien y que la Raspberry Pi esta conectada y encuentra su nombre.

Ahora vamos a enviar datos desde el Arduino a la Raspberry Pi

Carga el siguiente programa en su Arduino:

Programa:

void setup(){
Serial.begin(9600);
}
void loop(){
Serial.println(“Hola Pi”);
delay(2000);
}

Ejecute Python en su Raspberry Pi y escriba este comando en su terminal:

Programa:

import serial
ser = serial.Serial('/dev/ttyACM0', 9600)

/ Dev / ttyACM0: ser el nombre del puerto, Puede ser diferente para dependiendo de la Raspbery Pi
9600: Representa el baud en el puerto serie. Debe ser bethe sqme en ambos lados (Arduino y Raspbery pi).
Ahora escribe el siguiente código para agregar un escucha al puerto serie en la Raspbery pi

Programa

while 1 : ser.readline()

Deberíamos ver aparecer en nuestra pantalla de terminal: “Hola Pi”

Ahora vamos a enviar datos de la Raspberry Pi a Arduino

En este ejemplo, nuestra Raspberry Pi enviará un número único, y el Arduino encenderá y apagará el LED del Pin 12 tantas veces como sea ese número.

[sourcecode language=”cpp”]

const int ledPin = 12;

void setup(){
pinMode(ledPin, OUTPUT);
Serial.begin(9600);
}

void loop(){
if (Serial.available()) {
light(Serial.read() – ‘0’);
}
delay(500);
}

void light(int n){
for (int i = 0; i < n; i++) {
digitalWrite(ledPin, HIGH);
delay(100);
digitalWrite(ledPin, LOW);
delay(100);
}
}
[/sourcecode]

En la Raspberry Pi es necesario escribir

ser.write('3')

Ahora debes ver que el LED del Arduino se enciende 3 veces. Y nada más ahora te toca a ti ponerte manos a la obra para crear proyectos usando este tutorial.

Califique esto

También te puede interesar

Deja un comentario

Tu dirección de correo electrónico no será publicada.

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

Pin It on Pinterest

Shares