Stap 2: Breadboard testen
De RF modules werken vrij gewoon. U bieden hen gewoon spanning (rond 5v voor de ontvanger, en maximaal 12v voor de zender) en het signaal op van de zender gegevens pin wordt gerepliceerd op de ontvanger.
In mijn circuit is de pin van de gegevens op de zender gedreven door een uitgang op de PIC. Ik ben van plan om meer te werken op het PIC programma om een werkelijke Gegevensprotocol, maar eigenlijk om dit te krijgen gedaan dit weekend, de zender PIC momenteel slechts een hoge signaal voor 500ms, dan gaat laag voor 500ms, en wordt herhaald, zolang het ingeschakeld. Er is een LED aangesloten op de uitgang-pins geven een visuele feedback van de pols, zodat je weet dat het circuit werkt.
De ontvanger is even eenvoudig op dit moment. De pin van gegevens gaat naar een ingang op de PIC. De PIC wacht op een hoog signaal, dan pulsen van de LED zo lang als het signaal hoog is. Wanneer het ingangssignaal laag is, de PIC 500ms wacht, dan de input opnieuw worden opgevraagd.
Hier is de code voor nu: * Opmerking * de werkelijke lus om de pols LED werd genomen uit een voorbeeld op de forums van Sparkfun door gebruiker cheesy en net bewerkt zodat het trager
Zender:
#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);
}
}
Ontvanger:
#include < 12F683.h >
#use delay(clock=4000000,int=4000000)
#use fast_io(A)
#fuses nomclr
void main()
{
unsigned int i, j, k, stap;
set_tris_a(0);
while(1) {}
terwijl (input(pin_a3)) {}
stap = 1;
j = 0;
doen
{
voor (; j < 100 & & j > = 0; j += stap)
{
voor (k = 0 k < 10; k ++)
{
OUTPUT_HIGH(PIN_A1);
voor (ik = j; ik! = 0; i--);
OUTPUT_LOW(PIN_A1);
voor (ik = 100-j; ik! = 0; i--);
}
}
stap * = -1;
j += stap;
} terwijl (j > 0);
}
delay_ms(500);
}
}