Lectura de datos de Raspberry PI a un Arduino

¡Hola! En el tutorial de hoy seguimos con la conexión de Arduino y Raspberry Pi.

 

En este artículo, haremos una lectura de varios componentes que habrá conectados a Arduino. Serán un LDR, un botón y un potenciómetro.

 

Exposición del proyecto

Desde Raspberry Pi, y mediante un código en Python (muy sencillo), mandaremos comandos al Arduino para que nos devuelva los datos que esté leyendo. Si por ejemplo mandamos una ‘P‘, nos devolverá el valor del potenciómetro. Si mandamos una ‘B‘, Arduino nos informará de si el botón está pulsado o no. Finalmente, si mandamos una ‘L‘, podremos leer el valor del LDR.

Realización del proyecto

Del mismo modo que en el tutorial anterior de Arduino y Raspberry Pi, dividiré el artículo en dos partes distintas:

  • Parte 1: Arduino (código y montaje)
  • Parte 2: Raspberry Pi (código y ejecución)

 – Parte 1: Arduino

 

Antes de nada, veremos el montaje. Utilizaré un LDR, un botón y un potenciómetro. Si no disponéis de ellos, no importa, simplemente mandaremos un mensaje de ejemplo para saber que funciona.

 El código de Arduino en caso de que NO realices el montaje (no tienes los componentes) es:

 

El código de Arduino en caso de que realices el montaje (sí tienes los componentes) es:

 

 – Parte 2: Raspberry Pi

A continuación, veremos la parte de Raspberry Pi. Crearemos un archivo llamado Arduino_ReadData.py con el fin de poder mandar comandos por serial al Arduino. Este código es muy parecido al del tutorial anterior, así que no veréis nada raro.

Antes de nada, si no lo habéis hecho ya, tenéis que introducir el siguiente comando en la Raspberry Pi. Si es la primera vez que lo hacéis, se os instalará la librería python-serial, para que podáis usar la conexión serie. Si ya lo habíais hecho antes, os dirá que ya estaba instalado, como me pasa a mí:

 

 

Únicamente hemos añadido una parte del código, que se encarga de esperar a que Arduino se comunique con él, es decir, que devuelva los datos que se le han pedido:

 

Ejecutaremos el código de la siguiente manera:

Aquí tenemos algunos resultados:

 

Si queréis verlo funcionando, aquí os dejo el vídeo. Además, también está la explicación de este mismo post, por si queréis que os lo cuente mientras lo programo:

El código está también en GitHub.

Sacado de: geekytheory.com

 

Related Articles

Este espacio lo he creado pensando en los entusiastas como tú, para compartir y centralizar documentación sobre temas que me apasionan: Arduino, impresoras 3D, Raspberry Pi, y mucho más.

Además, he querido fusionarlo con mi canal de YouTube, donde exploramos retro-informática, Raspberry Pi, consolas retro, electrónica y otras maravillas del mundo tecnológico. Este es tu sitio si disfrutas aprendiendo, creando y reviviendo lo mejor de la tecnología de ayer y hoy.

¡Bienvenido!