Paso 2: Prueba de placa
Los módulos de RF funcionan muy simplemente. Apenas les proporciona voltaje (alrededor de 5v para el receptor y hasta 12v para el transmisor) y se repite la señal en el pin de datos del transmisor en el receptor.
En mi circuito el pin de datos del transmisor está impulsado por una salida en el PIC. Voy a trabajar más en el programa PIC para proporcionar un protocolo de datos reales, pero para realmente conseguirlo hecho este fin de semana, el transmisor PIC actualmente sólo envía una señal alta de 500ms, entonces baja de 500ms y repite mientras está encendido. Hay un LED conectado al pin de salida para dar un feedback visual del pulso para saber que está trabajando el circuito.
El receptor es igualmente simple en la actualidad. El pin de datos va a una entrada en el PIC. El PIC espera una señal de alto, entonces impulsos el LED como la señal es alta. Cuando la señal de entrada es baja, el PIC espera 500ms y sondea la entrada otra vez.
Aquí está el código por ahora: * nota * el lazo real para hacer el pulso LED fue sacado de un ejemplo en los foros de Sparkfun por usuario cursi y apenas modificado para hacerlo correr más lento
Transmisor:
#include < 12F683.h >
#use delay(clock=4000000,int=4000000)
#use fast_io(A)
#fuses nomclr
void main()
{
set_tris_a(0);
{while(1)}
output_high(pin_a4);
delay_ms(500);
output_low(pin_a4);
delay_ms(500);
}
}
Receptor:
#include < 12F683.h >
#use delay(clock=4000000,int=4000000)
#use fast_io(A)
#fuses nomclr
void main()
{
unsigned int i, j, k, paso;
set_tris_a(0);
{while(1)}
mientras (input(pin_a3)) {}
Paso = 1;
j = 0;
hacer
{
para (; j < 100 & & j > = 0; paso de j +=)
{
para (k = 0; k < 10; k ++)
{
OUTPUT_HIGH(PIN_A1);
para (i = j; i! = 0; i--);
OUTPUT_LOW(PIN_A1);
para (i = 100-j; i! = 0; i--);
}
}
Paso * = -1;
paso de j +=;
} mientras (j > 0);
}
delay_ms(500);
}
}