Estoy tratando de controlar un LED usando un par de transmisores y receptores de alta potencia de 433 MHz, con el transmisor conectado a mi Arduino Nano.
Aquí está el transmisor (XLPCF20): http://www.colorapples.com/rf-wireless-transmitter-module-315-or-43392mhz-xlpcf20-p-38493.html
Aquí está el receptor (CDR 5 B): http://www.amazon.co.uk/433MHZ-115dbm-Wireless-Receiver-CDR-5-B/dp/B00COD96UG
Puedo enviar ALTO a un canal de datos en el transmisor (tiene 4 canales) y recibir la entrada ALTA en el mismo canal en el receptor, encendiendo con éxito un LED. Este es mi boceto de prueba actual:
void setup(){
pinMode(8, OUTPUT);
}
void loop(){
digitalWrite(8, HIGH);
delay(122); //this is the important line
digitalWrite(8, LOW);
delay(100);
}
Esto funciona bien, sin embargo, si cambio el retraso de 122 ms en el flanco descendente a 121 ms (o cualquier valor por debajo de eso), no tengo salida en el receptor. El LED no se enciende en absoluto. Es lo mismo para todos los canales, hay un cambio brusco en ese mismo límite entre 121 ms y 122 ms (se encontró el valor exacto por prueba y error). En el transmisor/Arduino, la señal de salida es clara, por lo que es un error con el transmisor o el receptor. He usado otros pares de transmisores/receptores de 433MHz mucho más simples/más baratos en el pasado sin tal problema. En el flanco ascendente (segunda llamada de retraso, la que tiene 100 ms), hay otro problema cuando caigo por debajo de los 13 ms. Exactamente a los 12 ms, el LED es inestable, a veces parpadea como se esperaba, pero a veces simplemente se enciende. Cualquier cosa por debajo de 12 ms, el LED está constantemente alto, ni un solo parpadeo.
ACTUALIZACIÓN: si uso _delay_ms
en lugar de regular delay
, obtengo 1ms
más espacio para ambos bordes, pero debajo de eso, sigue siendo el mismo.
ACTUALIZACIÓN 2: He intentado cambiar a diferentes pines de salida en mi Nano, tanto PWM como no PWM. Nada cambia.
¿Cuál sería el problema?
Necesita un par de transmisor y receptor desnudos con un canal. La foto es un receptor súper regenerativo. Puede usar el tipo superheterodino para una mejor antiinterferencia. En general, estos funcionan con una conmutación de unos pocos kHz, ponen Hi en tx y Hi salen en Rx.
El que tienes tiene un codificador MCU adicional. Lee 4 líneas clave, espera 120 ms para que la tecla rebote, por lo que se ignoran las entradas más cortas. Luego envía un mensaje codificado al receptor donde otra MCU decodifica el mensaje y envía hi/lo en 4 canales.
Su módulo generalmente se usa dentro de estos controles remotos de 4 teclas (abridor de puertas de automóviles, etc.) Tenga en cuenta más pines, como out1 a out4. El desnudo es solo out1.
Ignacio Vázquez-Abrams
_delay_ms()
en su lugar?Can Poyrazoğlu
PedroJ