jueves, 7 de abril de 2022

Binance2Arduino

 

Ya en otra ocasión publiqué un proyecto que conectaba una aplicación hecha en Gambas3 con un Arduino (Temp2LCD). 

Como pueden ver en la captura de pantalla Binance2Arduino es una aplicación que busca la cotización de hasta dos criptomonedas mediante la web de Binance y la envía a un Arduino UNO para ser desplegada en un display LCD (16x2). El display que estoy utilizando cuenta con una interfaz I2C por lo que las conexiones son bastante sencillas.

Hay un LED conectado en el pin 13 que se enciende cuando el Arduino recibe información desde la pc.

Recuerden que en el Arduino UNO el pin digital 13 ya cuenta con una resistencia integrada, si van a utilizar otro pin deben conectar una para evitar quemar el LED.

La función del LED es puramente estética. Me sirvió al momento de escribir el sketch como ayuda visual para ver cuando se estaba recibiendo información en el Arduino.

El programa busca la cotización de dos criptomonedas (o una si se desea), recibe la información en formato json, la decodifica y la envía como una sola línea al Arduino. Previamente al envío recorta a 16 caracteres la información recibida que es el máximo de caracteres por línea que pueden mostrarse en el lcd (esto recorta algunos valores cuando la cotización posee muchos decimales). Luego el Arduino divide la cadena recibida en dos y la despliega en cada línea del display.

Como ven el programa es bastante simple. Podría complejizarse agregando, por ejemplo, un gridview para buscar mas cotizaciones e ir desplegándolas alternativamente en el Arduino. Si alguien quiere hacerlo, como en todos los proyectos que publico, el código fuente de la aplicación y el sketch de Arduino estará disponible en github. Puede ser un buen ejercicio para los que estén aprendiendo. También puede reemplazarse la conexión USB por una bluetooth por ejemplo utilizando un módulo HC-06. En este link pueden ver un proyecto donde utilizo dicho módulo. Las modificacione necesarias en el sketch pueden copiarlas de ahí, son muy simples.

Me gustaría volver a repetir este proyecto utilizando un esp8266 (que hasta ahora nunca usé) y un display OLED para mostrar más información.

Link del proyecto en GitHub: https://github.com/mcattani/binance2arduino

Espero que este proyecto les haya resultado útil, o por lo menos entretenido. De ser así los invito a dejar un comentario y compartir.

Saludos!.