Tutorial para hacer un chat por radio con Arduino

En esta oportunidad crearemos un radio chat, con el cual podrás enviar mensajes de texto a todos los dipositivos que estén conectados a la sala de chat, mediante una comunicación radial.

Una vez encendido, el módulo te va a pedir tu nombre, este nombre aparecerá en la pantalla del receptor cada vez que envíes un mensaje.

Una vez guardado el nombre, el sistema pide el texto que deseas y enviar, y al presionar el botón enviar, el mensaje se muestra junto a tu nombre en los dispositivos que hayas emparejado anteriormente en el código.

Lo ideal es hacer dos módulos para comprobar que la conexión se hace correctamente.

Materiales

  •  Teclado con salida I2C/UART.
  •  Arduino Nano.
  •  Módulo de radio CC1101.
  • Pantalla OLED de 64×28.
  • Batería de 3,7 voltios.
  • Bocina.
  • Interruptor.
  • Carcasa.

A continuación, explicaré cómo hacerlos con una carcasa especial que puedes imprimir con los archivos TLS que te dejo en este link. El teclado también es especial, puedes mandar a hacer la placa con los gerbers que te dejo en este otro link.

Sin embargo, siéntete libre de escoger los componentes de tu preferencia, lo importante es que todo concuerde perfectamente.

Conexiones

Primero conectamos el módulo de radio al arduino como en el siguiente esquema. No conectes los cables de alimentación y tierra todavía.

 

Luego, conecta la pantalla OLED al arduino a los pines I2C (pines analógicos A4 y A5).

 

Ahora deberíamos añadir el teclado, pero recuerda que debemos cargar el código antes de hacer las conexiones en los pines TX y RX del arduino. Ve a la sección del código más abajo en esta misma página, completa los pasos y vuelve a este punto.

 

El próximo paso es combinar todos cables de alimentación y tierra con los pines de 5 voltios y GND del arduino.

 

Llegados a este punto, es hora de probar nuestro sistema.

Si todo funciona, conectamos el cargador de la batería de la siguiente manera y soldamos cables a la salida del cargador. El cable negro irá a tierra y el cable rojo va al interruptor deslizante.

 

Todos los módulos de este proyecto funcionan muy bien a 3,7 voltios, así que no necesitamos aumentar el voltaje de la batería.

Desde el interruptor deslizante conectamos el voltaje positivo al arduino y desde el mismo hacemos todas las conexiones.

 

Recuerda añadir también la bocina a un pin digital.

 

Es hora de colocarlo dentro de la carcasa, primero pegamos la pantalla OLED con pegamento caliente.

 

Luego colocamos el teclado en su lugar y lo aseguramos con algunos tornillos.

 

Pegamos la antena de radio en el agujero que está al otro lado de la carcasa.

 

También pegamos la batería y el módulo de carga, asegúrate de que el módulo esté exactamente enfrente del agujero del USB y que el cable pueda encajar bien.

 

También pegamos el arduino, la bocina y el interruptor de encendido y apagado en el lateral.

 

Ahora podemos cerrar la carcasa, para hacerlo he usado este tipo de inserciones de metal, es muy fácil de utilizar, basta con utilizar el soldador para calentar la parte metálica y empujar esta tuerca en el agujero.

Ahora podemos apretar los tornillos y listo, la carcasa está lista.

 

Código

El código sería el mismo para todos los dispositivos que quieras añadir, ya que todos se encargan de lo mismo.

Lo primero que haremos será descargar e instalar las librerías del módulo de radio y del módulo de la pantalla OLED:

 

Luego iniciamos el monitor, la pantalla OLED y el módulo de radio.

 

En el mismo setup creamos un ciclo while y esperamos que el usuario inserte su nombre.

 

En el loop, cuando detectamos datos en serie recibidos, almacenamos cada carácter.

 

Si los datos recibidos corresponden al botón de “enviar”, vamos a otro ciclo y en este enviamos todo el vector de caracteres para luego reestablecer los valores en la pantalla a la espera del próximo mensaje.

 

Al mismo tiempo en este otro ciclo obtenemos la bandera de recepción, de manera tal que cada vez que recibamos algo nuevo, se imprimirán esos datos en la pantalla OLED a partir de la línea 32, porque esa es el medio de la pantalla.

 

Como siempre, te recomiendo leer cuidadosamente los comentarios en el código para entender más detalladamente el funcionamiento del mismo.

Este fue mi proyecto de un chat de radio, tomando este tutorial como guía, te invito a hacer uno con una pantalla más grande para poder enviar mensajes de mayor elongación, con un teclado y una carcasa distintos, o simplemente descargar los archivos gerbers para recrear el mismo teclado y los archivos STL para imprimir esta misma carcasa.

 

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

12 + uno =