You are on page 1of 3

const byte ANTENNA = 9;

const byte LED


= 13;
int ledstatus;
void
void
void
void

setLED(void);
unsetLED(void);
changeLED(void);
changeLEDseq(int, int []);

void setup()
{
// set up Timer 1
TCCR1A = _BV (COM1A0); // toggle OC1A on Compare Match
TCCR1B = _BV(WGM12) | _BV(CS10); // CTC, no prescaler
OCR1A = 7;
// compare A register value to 10 (zero relative)
pinMode(LED, OUTPUT);
Serial.begin(9600);
} // end of setup
void loop()
{
//transmit signal
Serial.println("TX ON");
pinMode (ANTENNA, OUTPUT);
setLED();
delay (1000);
//pause transmitting
Serial.println("TX OFF");
pinMode (ANTENNA, INPUT);
unsetLED();
delay (2333);
int i, ii;
int blinkSeq[]={ 50, 10,100,10,100,10,100,10,100,10,100,10,100,10,100,
10,100,10,100,10,100,10,100,10,100,10,100,10,100,
10,100,10,100,10,100,10,100,10,100,10,100,10,100,
10,100,10,100,10,100,10,100,10,100,10,100,10,100,
10,100,10,100,10,100,10,100,10,100,10,100,10,100,
10,100,10,100,10,100,10,100,10,100,10,100,10,100,
10,100,10,100,10,100,10,100,10,100,10,100,10,100,
10,100,10,100,10,100,10,100,10,100,10,100,10,100,
10,100,10,100,10,100,10,100,10,100,10,100,10,100,
10,100,10,100,10,100,10,100,10,100,10,100,10,100};
int startblinkSeq[]={ 50,100,300,100,300,1000};
changeLEDseq(6, startblinkSeq);
for(i=0; i<255; i++)
{
unsetLED();
changeLEDseq(7, blinkSeq);
setLED();
Serial.println("TX ON");
for(ii=0; ii<(3*1024); ii++)
{
pinMode (ANTENNA, OUTPUT);
delay (1);
pinMode (ANTENNA, INPUT);
delay (1);
}
Serial.println("TX OFF");
unsetLED();
delay(ii*1*1);

unsetLED();
changeLEDseq(7, blinkSeq);
setLED();
Serial.println("TX ON");
for(ii=0; ii<(3*1024); ii++)
{
pinMode (ANTENNA, OUTPUT);
delay (1);
pinMode (ANTENNA, INPUT);
delay (1);
}
Serial.println("TX OFF");
unsetLED();
delay(ii*1*1);
unsetLED();
changeLEDseq(7, blinkSeq);
setLED();
Serial.println("TX ON");
for(ii=0; ii<(3*1024); ii++)
{
pinMode (ANTENNA, OUTPUT);
delay (1);
pinMode (ANTENNA, INPUT);
delay (1);
}
Serial.println("TX OFF");
unsetLED();
delay(ii*1*1);
unsetLED();
changeLEDseq(23, blinkSeq);
}
unsetLED();
delay(1000);
} // end of loop
void setLED()
{
digitalWrite(LED, HIGH);
ledstatus=1;
}
void unsetLED()
{
digitalWrite(LED, LOW);
ledstatus=-1;
}
void changeLED()
{
ledstatus=ledstatus*-1;
if(ledstatus>=1)
{
setLED();
}
else
{
unsetLED();
}
}

void changeLEDseq(int seqLen, int seq[])


{
int maxPause=30000, maxSeqLen=(min(seqLen, 1024));
int i, time;
for(i=0; i<maxSeqLen; i++)
{
time=(max(0, (min(maxPause, seq[i]))));
delay(time);
changeLED();
}
}

You might also like