/*Dit programma is een seqencer t.b.v het N.O.V loop antenne project.
* als de ptt afkomstig uit de transceiver laag is schakeld relais rx uit schakeld de spanning van de ontvangst versterker
* Na de ingestelde tijd via de dip schakelaars schakeld het antenne relais om
* bij het openen van het ptt signaal schakeld het antenne relais af.
* En na de ingestelde tijd schakeld het andere relais de voeding weer in van de rx versterker van de loop antenne.
* Als keuze schakelaar gemaakt wordt schakeld het relais DE ANTENNE NAAR DE TRANSCEIVER rx loop antenne is dan buiten gebruik.
* programma geschreven door Arjan Broekhuizen PE1ABE
*/
// geef pin nummer op
const int ptt = 2; // wordt aangeboden door de transceiver laag bij tx
const int keuzeschakelaar = 3; // keuze tussen ontvangen op loop of op tx antenne
const int ledrx = 8; // groen
const int ledtx = 9; // rood
const int ledkeuze = 10; // blauw
const int dipschakelaar1 = 4; // 25ms
const int dipschakelaar2 = 5; // 50ms
const int dipschakelaar3 = 6; // 100ms
const int dipschakelaar4 = 7; // 200ms
const int rxuit = 11; // uitgang hoog bij rx
const int txuit = 12; // uitgang hoog bij tx
// variabelen
int pttvar = 0; //
int keuzeschakelaarvar = 0;//
int dip1var = 0; //
int dip2var = 0; //
int dip3var = 0; //
int dip4var = 0; //
void setup() {
pinMode(rxuit, OUTPUT);
pinMode(txuit, OUTPUT);
pinMode(ledrx, OUTPUT);
pinMode(ledtx, OUTPUT);
pinMode(ledkeuze, OUTPUT);
pinMode(ptt, INPUT);
pinMode(keuzeschakelaar, INPUT);
pinMode(dipschakelaar1, INPUT);
pinMode(dipschakelaar2, INPUT);
pinMode(dipschakelaar3, INPUT);
pinMode(dipschakelaar4, INPUT);
}
void loop() {
pttvar = digitalRead(ptt);
keuzeschakelaarvar = digitalRead(keuzeschakelaar);
dip1var = digitalRead(dipschakelaar1);
dip2var = digitalRead(dipschakelaar2);
dip3var = digitalRead(dipschakelaar3);
dip4var = digitalRead(dipschakelaar4);
if (keuzeschakelaarvar == LOW) {
digitalWrite(txuit,LOW);
digitalWrite(rxuit,LOW);
digitalWrite(ledrx,HIGH);
digitalWrite(ledtx,HIGH);
digitalWrite(ledkeuze,LOW);//led keuze aan blauw
}
//ZENDEN
if ( (pttvar == LOW) && (keuzeschakelaarvar == HIGH)) {
digitalWrite(rxuit,LOW); //spanning van de loop
digitalWrite(ledrx,HIGH);
digitalWrite(ledtx,LOW); //led tx aan rood
digitalWrite(ledkeuze,HIGH);
//----DIPSCHAKELAAR---------------------------------------------------------
if (dip1var == LOW) {
delay(25);
}
if (dip2var == LOW){
delay(50);
}
if (dip3var == LOW){
delay(100);
}
if (dip4var == LOW){
delay(200);
}
//----------------------------------------------------------------------------
digitalWrite(txuit,LOW);// TRANSCEIVER SCHAKELD NAAR DE ZEND ANTENNE
}
//ONTVANGST
if ((pttvar == HIGH) && (keuzeschakelaarvar== HIGH)) {
digitalWrite(txuit,HIGH); //transceiver schakelt naar loop
digitalWrite(ledrx,LOW); //groene led aan ontvangst
digitalWrite(ledtx,HIGH);
digitalWrite(ledkeuze,HIGH);
//----DIPSCHAKELAAR-----------------------------------------------------------
if (dip1var == LOW){
delay(25);
}
if (dip2var == LOW){
delay(50);
}
if (dip3var == LOW){
delay(100);
}
if (dip4var == LOW){
delay(200);
}
//-----------------------------------------------------------------------------
digitalWrite(rxuit,HIGH);//SPANNING OP DE LOOP
}
}
//PE1ABE//
Terug