![Comunicación inalámbrica con módulos RF de 433 MHz y microcontroladores Pic baratos. Parte 2: 4 pasos (con imágenes) Comunicación inalámbrica con módulos RF de 433 MHz y microcontroladores Pic baratos. Parte 2: 4 pasos (con imágenes)](https://i.howwhatproduce.com/images/002/image-5328-94-j.webp)
Tabla de contenido:
2025 Autor: John Day | [email protected]. Última modificación: 2025-01-23 14:40
![Comunicación inalámbrica con módulos RF de 433 MHz y microcontroladores Pic baratos. Parte 2 Comunicación inalámbrica con módulos RF de 433 MHz y microcontroladores Pic baratos. Parte 2](https://i.howwhatproduce.com/images/002/image-5328-95-j.webp)
En la primera parte de este instructivo, demostré cómo programar un PIC12F1822 usando el compilador MPLAB IDE y XC8, para enviar una cadena simple de forma inalámbrica usando módulos baratos TX / RX 433MHz.
El módulo receptor se conectó mediante un adaptador de cable USB a UART TTL a una PC y los datos recibidos se mostraron en RealTerm. La comunicación se realizó a 1200 baudios y el alcance máximo alcanzado fue de unos 20 metros a través de paredes. Mis pruebas mostraron que para aplicaciones donde no hay necesidad de alta velocidad de datos y largo alcance, y para transmisión continua, estos módulos funcionaron excepcionalmente bien.
La segunda parte de este proyecto demuestra cómo agregar un microcontrolador PIC16F887 y un módulo LCD de 16 × 2 caracteres en el receptor. Además, en el transmisor, se sigue un protocolo simple con la adición de algunos bytes de preamplificación. Estos bytes son necesarios para que el módulo RX ajuste su ganancia antes de obtener la carga útil real. En el lado del receptor, el PIC es responsable de obtener y validar los datos que se muestran en la pantalla LCD.
Paso 1: Modificaciones del transmisor
![Modificaciones del transmisor Modificaciones del transmisor](https://i.howwhatproduce.com/images/002/image-5328-96-j.webp)
![Modificaciones del transmisor Modificaciones del transmisor](https://i.howwhatproduce.com/images/002/image-5328-97-j.webp)
![Modificaciones del transmisor Modificaciones del transmisor](https://i.howwhatproduce.com/images/002/image-5328-98-j.webp)
En la primera parte, el transmisor enviaba una cadena simple cada pocos ms utilizando ocho bits de datos, un bit de inicio y otro de parada a 1200 bits por segundo. Como la transmisión fue casi continua, el receptor no tuvo problemas para ajustar su ganancia a los datos recibidos. En la segunda parte, se modifica el firmware para que la transmisión se realice cada 2,3 segundos. Esto se logra utilizando la interrupción del temporizador de vigilancia (establecida en 2,3 s) para activar el microcontrolador, que se pone en modo de suspensión entre cada transmisión.
Para que el receptor tenga tiempo de ajustar su ganancia, se envían algunos bytes de preámbulo con tiempos de LO cortos "(0Xf8) (0Xf8) (0Xf8) (0Xf8) (0Xf8) (0Xfa)" antes de los datos reales. La carga útil se indica con un byte de inicio '&' y un byte de parada '*'.
Por lo tanto, el protocolo simple se describe de la siguiente manera:
(0Xf8) (0Xf8) (0Xf8) (0Xf8) (0Xf8) (0Xfa) y ¡Hola InstWorld! *
Además, se agrega un condensador de tantalio de desacoplamiento de 10uF entre V + y GND del módulo RF para eliminar la ondulación causada por el módulo elevador dc-dc.
La velocidad en baudios se mantuvo igual, sin embargo, mis pruebas mostraron que también a 2400 baudios, la transmisión fue eficiente.
Paso 2: Modificaciones del receptor: Adición de LCD PIC16F887 y HD44780
![Modificaciones del receptor: adición de LCD PIC16F887 y HD44780 Modificaciones del receptor: adición de LCD PIC16F887 y HD44780](https://i.howwhatproduce.com/images/002/image-5328-99-j.webp)
![Modificaciones del receptor: adición de LCD PIC16F887 y HD44780 Modificaciones del receptor: adición de LCD PIC16F887 y HD44780](https://i.howwhatproduce.com/images/002/image-5328-100-j.webp)
![Modificaciones del receptor: adición de LCD PIC16F887 y HD44780 Modificaciones del receptor: adición de LCD PIC16F887 y HD44780](https://i.howwhatproduce.com/images/002/image-5328-101-j.webp)
El diseño del receptor se basó en PIC16F887, pero puede usar un PIC diferente con pequeñas modificaciones. En mi proyecto usé este 40 pines μC, ya que necesitaré pines adicionales para proyectos futuros basados en este diseño. La salida del módulo RF está conectada al pin UART rx, mientras que un lcd de 16x2 caracteres (HD44780) está conectado a través de los pines PORTB b2-b7 para mostrar los datos recibidos.
Como en la Parte 1, los datos recibidos también se muestran en RealTerm. Esto se logra usando el pin UART tx que se conecta a través de un adaptador de cable USB a UART TTL a una PC.
Al observar el firmware, cuando se produce una interrupción de UART, el programa comprueba si el byte recibido es un byte de inicio ('&'). Si es así, comienza a registrar los bytes subsiguientes, hasta que se captura un byte de parada ('*'). Tan pronto como se obtiene la oración completa, y si se ajusta al protocolo simple descrito anteriormente, se envía a la pantalla lcd, así como al puerto UART tx.
Antes de recibir el byte de inicio, el receptor ya ha ajustado su ganancia utilizando los bytes de preámbulo anteriores. Estos son fundamentales para el buen funcionamiento del receptor. Se realiza una simple verificación de errores de encuadre y desbordamiento, sin embargo, esta es solo una implementación básica de manejo de errores de UART.
En términos de hardware, se necesitan algunas partes para el receptor:
1 x PIC16F887
1 x HD44780
1 x módulo RF Rx 433Mhz
1 condensador de tantalio de 10 μF (desacoplamiento)
1 recortador de 10 K (brillo de fuente LCD)
1 x resistencia de 220 Ω 1/4 W (retroiluminación de LCD)
1 x 1 KΩ 1/4 W
1 x Antena 433Mhz, 3dbi
En la práctica, el recibido funcionó excepcionalmente bien en rangos de hasta 20 metros a través de paredes.
Paso 3: Algunas referencias …
Hay muchos blogs en la web que ofrecen consejos sobre la programación y resolución de problemas de PIC, además del sitio web oficial de Microschip. Encontré lo siguiente muy útil:
www.romanblack.com/
0xee.net/
www.ibrahimlabs.com/
picforum.ric323.com/
Paso 4: Conclusiones y trabajo futuro
Espero que este instructivo te haya ayudado a comprender cómo usar módulos de RF y microcontroladores Pic. Puede ajustar su firmware a sus propias necesidades e incluir CRC y cifrado. Si desea que su diseño sea aún más sofisticado, puede utilizar la tecnología Keeloq de Microschip. En caso de que su aplicación necesite datos bidireccionales, necesitaría tener un par de TX / RX en ambos microcontroladores, o puede usar un transceptor más sofisticado módulos. Sin embargo, utilizando este tipo de módulos baratos de 433 MHz, solo se puede lograr la comunicación semidúplex. Además de esto, para que la comunicación sea más confiable, necesitará algún tipo de protocolo de enlace entre TX y RX.
En el siguiente instructivo, le mostraré una aplicación práctica en la que se agrega un sensor ambiental con temperatura, presión barométrica y humedad en el transmisor. Aquí, los datos transmitidos incluirán crc y tendrán un cifrado básico.
El sensor usará el puerto i2c del PIC12F1822, mientras que la implementación tanto del transmisor como del receptor se expondrá a través de esquemas y archivos pcb. ¡Gracias por leerme!
Recomendado:
Walkie-Talkie de bricolaje con módulos RF genéricos de 433 MHz: 4 pasos
![Walkie-Talkie de bricolaje con módulos RF genéricos de 433 MHz: 4 pasos Walkie-Talkie de bricolaje con módulos RF genéricos de 433 MHz: 4 pasos](https://i.howwhatproduce.com/images/003/image-6003-j.webp)
Walkie-Talkie de bricolaje con módulos RF genéricos de 433MHz: En este proyecto le mostraré cómo usar módulos RF genéricos de 433MHz de Ebay para crear un Walkie-Talkie funcional. Eso significa que compararemos diferentes módulos de RF, aprenderemos un poco sobre un amplificador de clase D y finalmente construiremos el Walkie-Talkie
Comunicación inalámbrica de largo alcance, 1,8 km, Arduino a Arduino con el HC-12: 6 pasos (con imágenes)
![Comunicación inalámbrica de largo alcance, 1,8 km, Arduino a Arduino con el HC-12: 6 pasos (con imágenes) Comunicación inalámbrica de largo alcance, 1,8 km, Arduino a Arduino con el HC-12: 6 pasos (con imágenes)](https://i.howwhatproduce.com/images/002/image-4099-27-j.webp)
Comunicación inalámbrica de largo alcance, 1.8 km, Arduino a Arduino con el HC-12 .: En este instructivo, aprenderá cómo comunicarse entre Arduinos a una larga distancia de hasta 1.8 km al aire libre. El HC-12 es un puerto serie inalámbrico módulo de comunicación muy útil, extremadamente potente y fácil de usar. Primero leerás
Comunicación inalámbrica mediante el módulo transceptor NRF24L01 para proyectos basados en Arduino: 5 pasos (con imágenes)
![Comunicación inalámbrica mediante el módulo transceptor NRF24L01 para proyectos basados en Arduino: 5 pasos (con imágenes) Comunicación inalámbrica mediante el módulo transceptor NRF24L01 para proyectos basados en Arduino: 5 pasos (con imágenes)](https://i.howwhatproduce.com/images/003/image-6694-21-j.webp)
Comunicación inalámbrica utilizando el módulo transceptor NRF24L01 para proyectos basados en Arduino: este es mi segundo tutorial instructivo sobre robots y microcontroladores. Es realmente asombroso ver a su robot vivo y funcionando como se esperaba y créanme que será más divertido si controlas tu robot u otras cosas inalámbricas con rapidez y
¿Cómo medir correctamente el consumo de energía de los módulos de comunicación inalámbrica en la era de bajo consumo de energía ?: 6 pasos
![¿Cómo medir correctamente el consumo de energía de los módulos de comunicación inalámbrica en la era de bajo consumo de energía ?: 6 pasos ¿Cómo medir correctamente el consumo de energía de los módulos de comunicación inalámbrica en la era de bajo consumo de energía ?: 6 pasos](https://i.howwhatproduce.com/images/003/image-8287-10-j.webp)
¿Cómo medir correctamente el consumo de energía de los módulos de comunicación inalámbrica en la era del bajo consumo de energía ?: El bajo consumo de energía es un concepto extremadamente importante en la Internet de las cosas. La mayoría de los nodos de IoT deben funcionar con baterías. Solo midiendo correctamente el consumo de energía del módulo inalámbrico podemos estimar con precisión cuánta batería i
Comprensión de ICSP para microcontroladores PIC: 4 pasos (con imágenes)
![Comprensión de ICSP para microcontroladores PIC: 4 pasos (con imágenes) Comprensión de ICSP para microcontroladores PIC: 4 pasos (con imágenes)](https://i.howwhatproduce.com/images/002/image-3283-93-j.webp)
Comprender ICSP para microcontroladores PIC: programar microcontroladores no es difícil. Construir un programador es un gran primer proyecto de electrónica. El objetivo de este instructivo es explicar el método simple de 'programación en serie en circuito' que se usa con los PIC de Microchip