- Componentes requeridos:
- Módulo de RF:
- Explicación de trabajo:
- Explicación del circuito:
- Instalación de la biblioteca WiringPi en Raspberry Pi:
- Explicación de programación:
En esta sesión vamos a desarrollar un Control Remoto RF usando Raspberry Pi, que puede usarse para controlar los Dispositivos de forma inalámbrica. Podemos encender y apagar los dispositivos usando este mando a distancia RF. Anteriormente, hemos desarrollado muchos proyectos utilizando módulos de RF como robots controlados por RF, robots controlados por gestos manuales, etc.
Componentes requeridos:
Lado del transmisor:
- Transmisor de RF (transmisor híbrido ASK)
- HT12E IC
- 4 pulsadores
- Resistencia de 750k
- Batería de 9 voltios
Lado del receptor:
- Frambuesa pi
- LCD de 16x2
- BOTE 10K
- Tabla de pan
- Resistencia 1K (cinco)
- Resistencia de 33K
- HT12D IC
- Receptor de RF (ASK Hybrid Receiver)
- LED (cinco)
- Resistencia de 10K (cuatro)
- Cable de conexión
- Fuente de alimentación
Módulo de RF:
Este es un módulo transmisor y receptor híbrido ASK que funciona a una frecuencia de 433 Mhz. Este módulo tiene un oscilador estabilizado por cristal para mantener un control de frecuencia preciso para el mejor rango. Allí tenemos que necesitar solo una antena externa para este módulo.
Este módulo es muy rentable cuando se requiere comunicación RF de largo alcance. Este módulo no envía datos usando la comunicación UART de PC o microcontrolador directamente porque hay mucho ruido en esta frecuencia y su tecnología analógica. Podemos utilizar este módulo con la ayuda de circuitos integrados codificadores y decodificadores que extraen datos del ruido.
El alcance del transmisor es de aproximadamente 100 metros a la tensión de alimentación máxima y para 5 voltios el alcance del transmisor es de aproximadamente 50-60 metros con un cable simple de antena de 17 cm de longitud de código único.
Características del transmisor de RF:
- Rango de frecuencia: 433 Mhz
- Potencia de salida: 4-16dBm
- Suministro de entrada: 3 a 12 voltios CC
Descripción del Pin de RF Tx:
- GND - Suministro de tierra
- Entrada de datos: este pin acepta datos en serie del codificador
- Vcc - +5 voltios deben conectarse a este pin
- Antena: una conexión envuelta a este pin para una transmisión adecuada de datos
Características del receptor de RF:
- Sensibilidad: -105dBm
- SI Frecuencia: 1 MHz
- Bajo consumo de energía
- Corriente 3,5 mA
- Voltaje de suministro: 5 voltios
Descripción de pin de RF Rx:
- GND - Tierra
- Entrada de datos: este pin proporciona datos en serie de salida al decodificador
- Entrada de datos: este pin proporciona datos en serie de salida al decodificador
- Vcc - +5 voltios deben conectarse a este pin
- Vcc - +5 voltios deben conectarse a este pin
- GND - Tierra
- GND - Tierra
- Antena: una conexión envuelta a este pin para la recepción adecuada de datos
Explicación de trabajo:
Trabajar en este proyecto es muy fácil. En este proyecto, hemos utilizado cuatro botones en el lado del transmisor (sirve como control remoto) para controlar los cuatro LED en el extremo del receptor. Cuando presionamos cualquiera de los cuatro botones, el codificador IC codifica la señal y la envía al transmisor de RF y el transmisor de RF la transmite en el entorno. Ahora RF Receiver recibe la señal transmitida y la decodifica usando Decoder IC HT12D y envía su salida de 4 bits a Raspberry Pi. Luego, Raspberry Pi lee estos bits y realiza la tarea relacionada y enciende el LED respectivo. Un zumbador suena por un segundo cada vez que se presiona cualquier tecla. También se utiliza una pantalla LCD de 16x2 para mostrar el estado 'ENCENDIDO o APAGADO' de todos los LED.
En este proyecto, hemos utilizado cuatro LED solo para fines de demostración, podemos activar cualquier tarea presionando el botón respectivo en 'RF Remote'. Al igual que, también podemos conectar electrodomésticos de CA en lugar de LED, usando el relé y podemos controlar esos electrodomésticos usando el mismo 'Control remoto RF' de forma inalámbrica. Entonces, este mismo circuito puede funcionar como un proyecto de automatización del hogar basado en RF usando Raspberry Pi. Hemos desarrollado previamente muchos Proyectos de Automatización del Hogar controlados mediante Bluetooth, DTMF, GSM, etc., puedes consultar todos aquí Proyectos de Automatización del Hogar.
Explicación del circuito:
El circuito de este control remoto RF Raspberry Pi es simple y contiene placa Raspberry Pi, botón pulsador y LCD, par RF y codificador / decodificador IC. Raspberry Pi controla la pantalla LCD, lee la entrada y envía la salida según la entrada. Hemos usado Raspberry Pi 3 aquí, pero cualquier modelo de Raspberry debería funcionar. El circuito se divide en dos partes, una es el circuito del receptor de RF y la otra es el circuito del transmisor de RF. Ambos circuitos se muestran en el siguiente diagrama.
En la parte del receptor, los pines LCD rs, en, d4, d5, d6, d7 están conectados en el pin 11, 10, 6, 5, 4, 1 del GPIO del cableado de Pi en el modo de 4 bits. El receptor de RF recibe la señal del transmisor de RF y el HT12D IC la decodifica. D8, D9, D10, D11 del decodificador HT12D IC están conectados directamente en el cableado PI GPIO pin 25, 24, 23 y 22. Los LED de salida están conectados en el cableado PI GPIO pin 26, 27, 28 y 29. También se utiliza un zumbador para alertar sobre Tecla presionada en el cableado Pi GPIO 0.
El circuito transmisor de RF contiene el codificador IC HT12E y 4 botones para controlar los 4 LED. En codificador y decodificador IC todas las líneas de dirección están conectadas a tierra.
Instalación de la biblioteca WiringPi en Raspberry Pi:
Al igual que en Python, importamos RPi.GPIO importado como archivo de encabezado IO para usar los Pines GPIO de Raspberry Pi, aquí en lenguaje C necesitamos usar la biblioteca WiringPi para usar los Pines GPIO en nuestro Programa C. Podemos instalarlo usando los siguientes comandos uno por uno, puede ejecutar este comando desde la Terminal o desde algunos clientes SSH como Putty (si está usando Windows). Consulte nuestro tutorial Introducción a Raspberry Pi para obtener más información sobre cómo manejar y configurar Raspberry Pi.
sudo apt-get install git-core sudo apt-get update sudo apt-get upgrade git clone git: //git.drogon.net/wiringPi cd cableadoPi git pull origin cd cableadoPi./build
Pruebe la instalación de la biblioteca WiringPi, use los siguientes comandos:
gpio -v gpio readall
Explicación de programación:
En primer lugar, incluimos archivos de encabezado y definimos pines para LCD, luego inicializamos algunas variables y pines para tomar las indicaciones de entrada y LED.
#incluir
Después de esto, le damos dirección a todos los Pines GPIO usados en las funciones void setup () .
configuración vacía () {if (cableadoPiSetup () == -1) {borrar (); print ("No se puede empezar"); setCursor (0,1); imprimir ("cableadoPi"); } pinMode (led1, SALIDA); pinMode (led2, SALIDA); pinMode (led3, SALIDA); pinMode (led4, SALIDA);……………….
En el código, hemos utilizado la función digitalRead para leer la salida del Decoder y digitalWrite para enviar la salida al LED o dispositivo.
…………….. while (1) {setCursor (0,0); imprimir ("D1 D2 D3 D4"); if (digitalRead (d1) == 0) {flag1 ++; setCursor (0,1); if (flag1% 2 == 1) {print ("ON"); digitalWrite (led1, ALTO); }……………..
Aquí hay algunas funciones más que se han utilizado en este proyecto.
La función void lcdcmd se usa para enviar comandos a la pantalla LCD y la función de escritura nula se usa para enviar datos a la pantalla LCD.
La función void clear () se usa para borrar la pantalla LCD, void setCursor se usa para establecer la posición del cursor y anular la impresión para enviar la cadena a la LCD.
La función void begin se usa para inicializar la pantalla LCD en el modo de 4 bits y anular el zumbador () para hacer sonar el zumbador.
Verifique el código completo para este control remoto RF Raspberry a continuación.