Pulserande gubbe detektor (2 / 6 steg)
Steg 2: Bakbord testning
RF-moduler fungerar ganska enkelt. Du ge bara dem spänning (ca 5v för mottagaren, och upp till 12v för sändaren) och signalen på sändarens data stift replikeras på mottagaren.
I min krets drivs data stiftet på sändaren av en utgång på bild. Jag tänker arbeta mer på PIC-programmet att ge en faktiska data protocol, utan för att faktiskt få detta gjort i helgen, sändaren PIC för närvarande bara en hög signal för 500ms, då går låg för 500ms och upprepas så länge som den slås på. Det finns en LED som bifogas utgångsstiftet att ge en visuell feedback av pulsen så att du vet kretsen arbetar.
Mottagaren är lika enkel i dagsläget. Data stift går till en ingång på bild. PIC väntar en hög signal, då pulser LED så länge signalen är hög. När insignalen är låg, PIC väntar 500ms och avsöker input igen.
Här är koden för nu: * Obs * faktiska slingan att göra LED pulsen togs från ett exempel på Sparkfun forum användare cheesy och bara ändras så att den kör långsammare
Sändare:
#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);
}
}
Mottagare:
#include < 12F683.h >
#use delay(clock=4000000,int=4000000)
#use fast_io(A)
#fuses nomclr
void main)
{
unsigned int i, j, k, steg;
set_tris_a(0);
While(1) {
samtidigt (input(pin_a3)) {
steg = 1;
j = 0;
göra
{
för (; j < 100 & & j > = 0; j += steg)
{
för (k = 0; k < 10; k ++)
{
OUTPUT_HIGH(PIN_A1);
för (jag = j; i! = 0; i--);
OUTPUT_LOW(PIN_A1);
för (jag = 100-j; jag! = 0; i--);
}
}
steg * = -1;
j += steg;
} medan (j > 0);
}
delay_ms(500);
}
}