Está en la página 1de 8

Guía de comunicación serial Raspberry pi y arduino

José Guillermo Villamizar Castillo


Juan Camilo Sánchez Castro
Jhonattan Gerardo Sandoval Ramírez
Diana Milena Torres Rondón

ING. Luis Evelio Prado Pérez

Universidad de pamplona
Villa del Rosario
Norte De Santander
2019
Antes de iniciar con Raspberry debemos cargar un sketch al arduino, que
imprima los datos de interés al puerto Serial, esto en caso de que lo que se
busca es leer en Raspberry la información.
Para este caso explicativo leeremos una entrada analógica, a la que se
conectará un potenciómetro, y la información de este será enviada por serial
para ser recibida en Raspberry
El código a usar es:
///////////////////////////////////////////////////////////////
int potenciometro = 0;
void setup() {
// declare the ledPin as an OUTPUT:
Serial.begin(9600);
pinMode(ledPin, OUTPUT);
}
void loop() {
// read the value from the sensor:
potenciometro= analogRead(A0);
// imprimimos el dato en el serial
Serial.print(potenciometro)
}
//////////////////////////////////////////////////////////////
Figura 1 Código arduino

Una vez hecho esto, y teniendo disponible el montaje físico necesario, el cual
se encuentra referenciado en la figura 2 Pasaremos a la configuración en
Raspberry pi.

Figura 2 Montaje físico arduino


Iniciaremos verificando que la comunicación serial este activa en las
preferencias de Raspberry pi a la cual accedemos de la siguiente manera:

Nos apareceré la siguiente pantalla

Debemos dirigirnos a la pestaña de interfaces


Y aquí dar activar al serial.
Nota: Esto reiniciara la Raspberry
Una vez realizado esto debemos instalar la librería serial para phyton, para
esto iremos a la terminal y usaremos le comando “sudo apt-get install python-
serial”
Seguido de esto implementaremos el siguiente programa en phyton de
Raspberry pi

El cual funciona de la siguiente manera:


import serial:
Esta función importa la librería serial, con todas sus funciones
import time:
Esta función importa la librería time, con todas sus funciones
arduino = serial.Serial (''/dev/ttyACM0'’, baudrate=9600):
Aquí se está creando un objeto, en el cual guardaremos la configuración de
arduino, como lo es el Puerto al que está conectado, y la velocidad de
transferencia de datos “baudrate”
Nota: la velocidad de transferencia debe ser igual en arduino y en phyton
line = arduino.read():
la función “arduino.read” nos permite leer y almacenar los datos al asignarlos
a una variable, para trabajar con ellos
arduino.close():
cerramos el puerto, por cada ciclo para no saturarlo
Todo lo anterior ha sido la comunicación para lectura de datos, a continuación,
se citará un ejemplo de escritura de datos

Inicialmente necesitaremos el siguiente código en arduino:

Lo primero de todo es declarar la variable 'led' como entero, a la que le


asignaremos el valor 13, que es el pin donde está conectado. Tras esto,
inicializaremos la comunicación y, en el 'loop()', que es la función principal,
leeremos constantemente los valores que nos estén llegando desde Python
Ahora en Python usaremos el siguiente código:

Necesitamos la importar las funciones necesarias para utilizar el puerto serie.


Esa es la razón de la primera línea. Tras esto, declaramos una variable llamada
'arduino', con los datos necesarios para establecer la comunicación (puerto y
baudios). Tras esto, en un while-true, pedimos al usuario que introduzca un
comando. Cuando lo introduzca, se enviará a Arduino, donde ya le hemos
hecho diferenciar entre 'H' y 'L'. Si es una 'H', se encenderá el LED y, si es una
'L', se apagará.

También podría gustarte