Comunicación a distancia con el transmisor serial infrarrojo

Conexión y transmisión de información por medio del transmisor serial infrarrojo, usando Arduino IDE

...
Posteado por Gabriel.CB el 31-05-2025 a las 18:14
Categoria: Arduino
Realizado por: Gabriel Isidro Ceme Be, Gabriel de Jesús Azcorra Medina, José de Jesús Albores Cacho

Presentación.

Este proyecto se hace teniendo cómo principio el proyecto anterior del transmisor infrarrojo NEC, ya qué el del transmisor serial es similar a este. Para esté transmisor se hizo uso de más y diferentes componentes para poder lograr el objetivo de comunicar ambos transmisores, que funcionan tanto para receptor cómo emisor. Para poder realizarlo se hizo uso de un led azul que envía señales y estas señales son demoduladas por el módulo receptor de infrarrojos TSOP38238, haciendo que con ellos se puedan recibir loe mensajes y de esa manera nosotros podemos tener un sistema de comunicación entre ambos transmisores. 

Para alcanzar el objetivo de la comunicación de ambos transmisores va a ser necesario usar diferentes componentes electrónicos y además está vez se hará uso de algunas cosas extra, cómo el Arduino UNO, extensiones para el software de "Arduino IDE" para poder programar el Attiny85.

 

Funcionamiento.

Para poder hacer que este proyecto funcione y cumpla con lo que se pide, primero se debe tener conectado todos los componentes al protoboard. Esto debe estar igual para los dos transmisores que servirán para la práctica. Ahora, para la transmisión de datos se hace uso de un led azul y el modulo receptor TSOP38238; la función de los led para esta práctica es el de enviar la información por medio de señales(señal modulada), haciendo que estas señales viajen por el aire hasta llegar al otro transmisor. Para obtener la información que se envía a través del otro transmisor es necesario el módulo receptor TSOP38238, ya que este es el que se encarga de detectar y demodular la señal, haciendo que se pueda extraer los datos digitales transmitidos y de esa manera ver la información.

Para que el transmisor no pierda la información enviada, la salida de las señales deben estar configurada en 37.9KHz o muy aproximados a esa cantidad, ya que esto es lo que permite que se conserve la información y evitar errores de transmisión por el ruido electromagnético e interferencia de luz ambiental. De esta manera el transmisor ya puede funcionar correctamente a una cierta cantidad de metros sin el temor a que se pierdan o distorsionen los datos en el receptor.

Realización.

=Materiales

Para poder armar y empezar el proyecto se necesitan los siguientes componentes:

-Circuito integrado SN74LS00N

-Dos resistencias. Una de 39Ohms y otra 330Ohms

-Un capacitor cerámico de 100nF

-Led Azul

-Un transistor 2N3904

-Un ATTiny85

-Un módulo receptor de infrarrojos TSOP38238

=Diagrama

Teniendo ya reunidos todos los componentes que se van a usar, pasamos a seguir el diagrama de conexiones:

=Conexiones

Con el diagrama y los componentes, empezamos a hacer las conexiones directamente en el protoboard, fijándonos en conectar todo correctamente. De último conectamos el Attiny85, ya que este es el componente al que se le va a grabar el programa para que pueda funcionar nuestra práctica. Este componente lo conectamos en un protoboard aparte para poder grabarle el programa. Para ellos necesitamos de unos pasos extra:

Para este paso se usó un Arduino UNO para poder grabar el programa. En la siguiente imagen se ven los pines correspondientes para hacer la conexión, tanto del Arduino cómo para el Attiny85:

 

Para saber donde se deben hacer las conexiones fue necesario consultar en internet el datasheet del Attiny85, para ver cada uno de sus pines y así saber en donde conectar adecuadamente. El datasheet usado es el siguiente:

Teniendo ya los pines localizados tanto del Arduino UNO cómo del Attiny85, pasamos a conectarlo para pasarle el programa.

=Código usado

=Prueba en osciloscopio

Cuando carguemos el código hay que estar probando con ayuda de un osciloscopio, para ver la frecuencia que nos arroja, ya que debemos tener de frecuencia 37.9KHz o una frecuencia muy cerca de esta, teniendo ligeras variaciones. Debe tener esta frecuencia para que no tengamos errores como más arriba del reporte se explicó. 

En las dos imagenes vemos la frecuencia ideal obtenida que fue de 37.93KHz(imagen de la izquierda) y la otra es de una pequeña variación de la frecuencia pero que aún así nos sirve para hacer la práctica(imagen de la derecha). 

  

=Conexiones finales

La frecuencia puede variar para cada uno de los Attiny, así que por ello se debe estar probando y modificando ligeramente el código para que cada uno se ajuste adecuadamente para obtener la frecuencia requerida. La frecuencia que se obtiene no siempre puede ser exacta, teniendo en cuenta que debe ser 37.9KHz, pero si la frecuencia que se muestre en el osciloscopio ronda entre los 37.85KHz y 38KHz, entonces es aceptable y se puede usar.

Una vez colocado el código y revisada la frecuencia, ya lo tenemos listo para usarlo. El Attiny lo colocamos y hacemos las respectivas conexiones con los demás componentes. Ya hecho todo lo anterior sólo es cuestión de conectarlo a la computadora e ir probando con ambos transmisores y verificar que los mensajes lleguen correctamente en ambos sin que haya perdida de datos.

Programación.

Lo único que se tuvo que programar en está práctica, fue el Attiny85. Para ello se tuvo que usar el software de "Arduino IDE" para poder programarlo y sólo se tuvo que usar una extensión para poder programar el Attiny. Además se necesito de un Arduino UNO para poder programarlo(Más arriba se habló sobre las conexiones del Arduino al Attiny85)

Dentro del software Arduino IDE, nosotros somos los que debemos asinar el puerto COM por donde programaremos el Attiny85, además de que se debe seleccionar el tipo de Attiny que manejaremos o usaremos

  

 

 

Con eso ya seleccionado pasamos a programar el Attiny85. Código usado para programarlo:

Lo que el código hace es darle al Attiny la frecuencia correcta, que en este caso la frecuencia necesaria fue de 37.9KHz y cómo se explicó más arriba, con unas pequeñas variaciones de la frecuencia estas pueden ser útiles.

Ya teniendo el código sólo es cuestión de cargarlo a nuestro Attiny y de está manera ya lo tendriamos programado y listo para usarlo.

Utilización.

Teniendo ya todo listo, sólo es cuestión de usar la terminal de Arduino IDE para empezar a mandar mensajes de un transmisor a otro y tener seleccionado el tipo de puerto COM a usar.

Para poner en uso los transmisores, se necesitó la ayuda de dos integrantes del equipo, cada uno con un transmisor. Para probar que se pudiese transmitir los datos a una cierta distancia, tanto el integrante uno como el integrante dos tuvieron que irse a una esquina cada quien de un mismo salón, ya estando en las esquinas se iba probando mandando mensajes.

Para que los mensajes pudieran llegar correctamente se necesitaba que los dos transmisores estén colocados directamente uno al otro, para que el led azul y el módulo receptor estén alineados y pueda llegar bien la información. Ya estando alienados, sólo es cuestión de mandar los mensajes de un lado a otro y ver lo que cada quien recibe.

  

Conclusiones.

Gabriel Ceme:

El proyecto de infrarrojo represento un reto en cuanto a habilidad de investigación se refiere, ya que, mucho de lo que se necesitaba saber para llevar el proyecto a cabo se encontraba en foros de internet y artículos específicos los cuales con nuestras deficientes habilidades de investigación y análisis no pudimos encontrar, dejando en claro las habilidades blandas a trabajar.
En estos foros se indicaban las conexiones necesarias y el proceso correcto. 
Uno de los problemas que nos llevo a dudar si el proyecto que hicimos fue realizada de manera correcta era la transmisión de datos a la distancia de 19 metros debido a que, en exteriores no alcanzaba esa longitud, se planteo la hipótesis de ser culpa de la iluminación del ambiente la cual interfería la comunicación entre el Electro diodo y el receptor. Al probarlo dentro de un espacio con menor iluminación del ambiente, este funciono conforme a lo esperado, llegando a la conclusion de que la Luz del ambiente afecta directamente a la comunicación de los Infrarrojos NEC. 
Tras los problemas enfrentados me puedo dar cuenta de las areas de mejora que hay que trabajar en mi y la capacidad de análisis para la resolución de problemas que en este caso fue deficiente poder mejorar y así presentar mejores proyectos en el futuro.

 

Gabriel Azcorra:

Con esta práctica pude interactuar con otro tipo componente que en este caso es el Attiny85, además de que pude ver como se trabajaba con el ajustandole la frecuencia usando un osciloscopio, de cierta manera aplicamos cosas que pude comprender de semestre anteriores. Además es cierto que en este proyecto entró más lo que es investigar para poder hacerlo, como lo del Attiny, su código para hacer que funcione, sus pines y conexiones con el Arduino, tomando en cuenta también el resto de conexiones con los demás componentes. 

La parte más compleja que pude notar para realizarlo, sin duda fue la programación y el ajuste de la frecuencia necesaria para que se pudiese enviar y recbir los datos. Ya la parte de las conexiones pues no tanto, ya que esa parte estoy de cierta manera un poco más familiarizado.

Un detalle que se me hizo curioso cuando estuvimos probabando los transmisores en el salón, fue que cuando estaban abiertas las cortinas de las ventanas, los mensajes llegaban mal o de se perdían totalmente, pero cuando se cerraban y quedaba casi en oscuras el aula, los mensajes llegaban bien y rara vez se le notaba errores a los mensajes y entonces, despues de investigar doy con que la luz ambiental realmente si afecta en el envío y recibimiento de los datos, haciendo que estos se distorsionen o se pierda la información. De cierta manera ya puedo comprender un poco mejor la parte teorica de estás prácticas que se han estado haciendo con los transmisores infrarrojos. Esos pequeños errores producidos por las interferencias de la luz ambiental o por el ruido electromagnetico, ya lo pude comprender mejor ese día que estuvimos en el aula.

 

José Albores:

Este proyecto me permitió comprender de manera práctica cómo funciona la comunicación serial por infrarrojo, desde la configuración del ATTiny85 hasta la modulación precisa de la señal a 37.9 kHz. Aunque al inicio parecía un sistema simple, fue necesario ajustar varios aspectos técnicos para lograr una transmisión estable y confiable. A través de pruebas, fallos y correcciones, se demostró que incluso con componentes básicos es posible desarrollar soluciones inalámbricas funcionales. 
Esta experiencia me dejo un buen aprendizaje sobre la importancia de la precisión, la paciencia y el entendimiento del funcionamiento de cada componente involucrado

Referencias.

1.- https://forum.arduino.cc/t/using-assembly-nop-for-accurate-code-timing/289584/20

2.- https://www-instructables-com.translate.goog/How-to-Program-an-Attiny85-From-an-Arduino-Uno/?_x_tr_sl=en&_x_tr_tl=es&_x_tr_hl=es&_x_tr_pto=tc

3.- https://youtu.be/A-Z9vzR7VL0?si=Vf9LH7iDY9SeJ_pW

4.- https://www.microchip.com/en-us/product/ATtiny85

 

Para comentar debes acceder Acceder

Comentarios


No hay comentarios en este post