Hello All, who can help me to simplify the Arduino code for a non 'accepted RC- outlet switch by "ReceiveDemo_Advanced"
I analyzed the Transmitter ouput signal by an oscilloscope and found the results below: (for ...u read ..usec)
StartPeriod at message-start: High340u, Low2470u
OnePeriod: High320u,Low200u,High320u,Low1180u
ZeroPeriod: High320u,Low1180u,High320u,Low200usec
(So total duration of a One or a Zero bit = 2020 usec)
MessageEndPeriod:High320u,Low10000 (time between retransmissions)
A Total message is 32 bits long so 64 H/L transitions => 32X 2020= 64,64 mSec
My solution to send the code is very straightforward as you can see below.
Who can assist me to simplify this methode?
/*1*/
digitalWrite(output2,HIGH);delayMicroseconds(H);digitalWrite(output2,LOW);delayMicroseconds(L);digitalWrite(output2,HIGH);delayMicroseconds(H);digitalWrite(output2,LOW);delayMicroseconds(LL);
/*0*/ digitalWrite(output2,HIGH);delayMicroseconds(H);digitalWrite(output2,LOW);delayMicroseconds(LL);digitalWrite(output2,HIGH);delayMicroseconds(H);digitalWrite(output2,LOW);delayMicroseconds(L);
.......
.......
etc.
32 times+ StartPeriod
It works great but it makes my sketch difficult to read and complicated to adjust future mutations in code.
It's my intention to output like "output (32 X 101010101010101......etc)"
who can help me to make a simple routine?
Here you find my code for switching on and off repeatedly in combination with 433 MHz transmitter and an ESP32/ Uno/Nano- board:
int L= 200;
int LL= 1180;
int H =320;
const int output2 = 2;
void setup(){
pinMode(output2, OUTPUT);
digitalWrite(output2, LOW);
}
void loop(){
for (int x=0; x<8; x++){ // number of Retransmissions
//On1
/*VLL*/ digitalWrite(output2,HIGH); delayMicroseconds(340);digitalWrite(output2,LOW);delayMicroseconds(2470);
/*1*/ digitalWrite(output2,HIGH);delayMicroseconds(H);digitalWrite(output2,LOW);delayMicroseconds(L);digitalWrite(output2,HIGH);delayMicroseconds(H);digitalWrite(output2,LOW);delayMicroseconds(LL);
/*1*/ digitalWrite(output2,HIGH);delayMicroseconds(H);digitalWrite(output2,LOW);delayMicroseconds(L);digitalWrite(output2,HIGH);delayMicroseconds(H);digitalWrite(output2,LOW);delayMicroseconds(LL);
/*0*/ digitalWrite(output2,HIGH);delayMicroseconds(H);digitalWrite(output2,LOW);delayMicroseconds(LL);digitalWrite(output2,HIGH);delayMicroseconds(H);digitalWrite(output2,LOW);delayMicroseconds(L);
/*1*/ digitalWrite(output2,HIGH);delayMicroseconds(H);digitalWrite(output2,LOW);delayMicroseconds(L);digitalWrite(output2,HIGH);delayMicroseconds(H);digitalWrite(output2,LOW);delayMicroseconds(LL);
/*1*/ digitalWrite(output2,HIGH);delayMicroseconds(H);digitalWrite(output2,LOW);delayMicroseconds(L);digitalWrite(output2,HIGH);delayMicroseconds(H);digitalWrite(output2,LOW);delayMicroseconds(LL);
/*1*/ digitalWrite(output2,HIGH);delayMicroseconds(H);digitalWrite(output2,LOW);delayMicroseconds(L);digitalWrite(output2,HIGH);delayMicroseconds(H);digitalWrite(output2,LOW);delayMicroseconds(LL);
/*1*/ digitalWrite(output2,HIGH);delayMicroseconds(H);digitalWrite(output2,LOW);delayMicroseconds(L);digitalWrite(output2,HIGH);delayMicroseconds(H);digitalWrite(output2,LOW);delayMicroseconds(LL);
/*0*/ digitalWrite(output2,HIGH);delayMicroseconds(H);digitalWrite(output2,LOW);delayMicroseconds(LL);digitalWrite(output2,HIGH);delayMicroseconds(H);digitalWrite(output2,LOW);delayMicroseconds(L);
/*0*/ digitalWrite(output2,HIGH);delayMicroseconds(H);digitalWrite(output2,LOW);delayMicroseconds(LL);digitalWrite(output2,HIGH);delayMicroseconds(H);digitalWrite(output2,LOW);delayMicroseconds(L);
/*1*/ digitalWrite(output2,HIGH);delayMicroseconds(H);digitalWrite(output2,LOW);delayMicroseconds(L);digitalWrite(output2,HIGH);delayMicroseconds(H);digitalWrite(output2,LOW);delayMicroseconds(LL);
/*1*/ digitalWrite(output2,HIGH);delayMicroseconds(H);digitalWrite(output2,LOW);delayMicroseconds(L);digitalWrite(output2,HIGH);delayMicroseconds(H);digitalWrite(output2,LOW);delayMicroseconds(LL);
/*0*/ digitalWrite(output2,HIGH);delayMicroseconds(H);digitalWrite(output2,LOW);delayMicroseconds(LL);digitalWrite(output2,HIGH);delayMicroseconds(H);digitalWrite(output2,LOW);delayMicroseconds(L);
/*0*/ digitalWrite(output2,HIGH);delayMicroseconds(H);digitalWrite(output2,LOW);delayMicroseconds(LL);digitalWrite(output2,HIGH);delayMicroseconds(H);digitalWrite(output2,LOW);delayMicroseconds(L);
/*1*/ digitalWrite(output2,HIGH);delayMicroseconds(H);digitalWrite(output2,LOW);delayMicroseconds(L);digitalWrite(output2,HIGH);delayMicroseconds(H);digitalWrite(output2,LOW);delayMicroseconds(LL);
/*0*/ digitalWrite(output2,HIGH);delayMicroseconds(H);digitalWrite(output2,LOW);delayMicroseconds(LL);digitalWrite(output2,HIGH);delayMicroseconds(H);digitalWrite(output2,LOW);delayMicroseconds(L);
/*0*/ digitalWrite(output2,HIGH);delayMicroseconds(H);digitalWrite(output2,LOW);delayMicroseconds(LL);digitalWrite(output2,HIGH);delayMicroseconds(H);digitalWrite(output2,LOW);delayMicroseconds(L);
/*1*/ digitalWrite(output2,HIGH);delayMicroseconds(H);digitalWrite(output2,LOW);delayMicroseconds(L);digitalWrite(output2,HIGH);delayMicroseconds(H);digitalWrite(output2,LOW);delayMicroseconds(LL);
/*1*/ digitalWrite(output2,HIGH);delayMicroseconds(H);digitalWrite(output2,LOW);delayMicroseconds(L);digitalWrite(output2,HIGH);delayMicroseconds(H);digitalWrite(output2,LOW);delayMicroseconds(LL);
/*1*/ digitalWrite(output2,HIGH);delayMicroseconds(H);digitalWrite(output2,LOW);delayMicroseconds(L);digitalWrite(output2,HIGH);delayMicroseconds(H);digitalWrite(output2,LOW);delayMicroseconds(LL);
/*1*/ digitalWrite(output2,HIGH);delayMicroseconds(H);digitalWrite(output2,LOW);delayMicroseconds(L);digitalWrite(output2,HIGH);delayMicroseconds(H);digitalWrite(output2,LOW);delayMicroseconds(LL);
/*1*/ digitalWrite(output2,HIGH);delayMicroseconds(H);digitalWrite(output2,LOW);delayMicroseconds(L);digitalWrite(output2,HIGH);delayMicroseconds(H);digitalWrite(output2,LOW);delayMicroseconds(LL);
/*1*/ digitalWrite(output2,HIGH);delayMicroseconds(H);digitalWrite(output2,LOW);delayMicroseconds(L);digitalWrite(output2,HIGH);delayMicroseconds(H);digitalWrite(output2,LOW);delayMicroseconds(LL);
/*1*/ digitalWrite(output2,HIGH);delayMicroseconds(H);digitalWrite(output2,LOW);delayMicroseconds(L);digitalWrite(output2,HIGH);delayMicroseconds(H);digitalWrite(output2,LOW);delayMicroseconds(LL);
/*1*/ digitalWrite(output2,HIGH);delayMicroseconds(H);digitalWrite(output2,LOW);delayMicroseconds(L);digitalWrite(output2,HIGH);delayMicroseconds(H);digitalWrite(output2,LOW);delayMicroseconds(LL);
/*1*/ digitalWrite(output2,HIGH);delayMicroseconds(H);digitalWrite(output2,LOW);delayMicroseconds(L);digitalWrite(output2,HIGH);delayMicroseconds(H);digitalWrite(output2,LOW);delayMicroseconds(LL);
/*1*/ digitalWrite(output2,HIGH);delayMicroseconds(H);digitalWrite(output2,LOW);delayMicroseconds(L);digitalWrite(output2,HIGH);delayMicroseconds(H);digitalWrite(output2,LOW);delayMicroseconds(LL);
/*1*/ digitalWrite(output2,HIGH);delayMicroseconds(H);digitalWrite(output2,LOW);delayMicroseconds(L);digitalWrite(output2,HIGH);delayMicroseconds(H);digitalWrite(output2,LOW);delayMicroseconds(LL);
/*0*/ digitalWrite(output2,HIGH);delayMicroseconds(H);digitalWrite(output2,LOW);delayMicroseconds(LL);digitalWrite(output2,HIGH);delayMicroseconds(H);digitalWrite(output2,LOW);delayMicroseconds(L);
/*1*/ digitalWrite(output2,HIGH);delayMicroseconds(H);digitalWrite(output2,LOW);delayMicroseconds(L);digitalWrite(output2,HIGH);delayMicroseconds(H);digitalWrite(output2,LOW);delayMicroseconds(LL);
/*1*/ digitalWrite(output2,HIGH);delayMicroseconds(H);digitalWrite(output2,LOW);delayMicroseconds(L);digitalWrite(output2,HIGH);delayMicroseconds(H);digitalWrite(output2,LOW);delayMicroseconds(LL);
/*1*/ digitalWrite(output2,HIGH);delayMicroseconds(H);digitalWrite(output2,LOW);delayMicroseconds(L);digitalWrite(output2,HIGH);delayMicroseconds(H);digitalWrite(output2,LOW);delayMicroseconds(LL);
/*0*/ digitalWrite(output2,HIGH);delayMicroseconds(H);digitalWrite(output2,LOW);delayMicroseconds(LL);digitalWrite(output2,HIGH);delayMicroseconds(H);digitalWrite(output2,LOW);delayMicroseconds(L);
/*Stop*/ digitalWrite(output2,HIGH);delayMicroseconds(H);digitalWrite(output2,LOW);delayMicroseconds(10000);
}
delay(5000);
for (int x=0; x<8; x++){ // number of Retransmissions
// Off1
/*VLL*/ digitalWrite(output2,HIGH); delayMicroseconds(340);digitalWrite(output2,LOW);delayMicroseconds(2470);
/*1*/ digitalWrite(output2,HIGH);delayMicroseconds(H);digitalWrite(output2,LOW);delayMicroseconds(L);digitalWrite(output2,HIGH);delayMicroseconds(H);digitalWrite(output2,LOW);delayMicroseconds(LL);
/*1*/ digitalWrite(output2,HIGH);delayMicroseconds(H);digitalWrite(output2,LOW);delayMicroseconds(L);digitalWrite(output2,HIGH);delayMicroseconds(H);digitalWrite(output2,LOW);delayMicroseconds(LL);
/*0*/ digitalWrite(output2,HIGH);delayMicroseconds(H);digitalWrite(output2,LOW);delayMicroseconds(LL);digitalWrite(output2,HIGH);delayMicroseconds(H);digitalWrite(output2,LOW);delayMicroseconds(L);
/*1*/ digitalWrite(output2,HIGH);delayMicroseconds(H);digitalWrite(output2,LOW);delayMicroseconds(L);digitalWrite(output2,HIGH);delayMicroseconds(H);digitalWrite(output2,LOW);delayMicroseconds(LL);
/*1*/ digitalWrite(output2,HIGH);delayMicroseconds(H);digitalWrite(output2,LOW);delayMicroseconds(L);digitalWrite(output2,HIGH);delayMicroseconds(H);digitalWrite(output2,LOW);delayMicroseconds(LL);
/*1*/ digitalWrite(output2,HIGH);delayMicroseconds(H);digitalWrite(output2,LOW);delayMicroseconds(L);digitalWrite(output2,HIGH);delayMicroseconds(H);digitalWrite(output2,LOW);delayMicroseconds(LL);
/*1*/ digitalWrite(output2,HIGH);delayMicroseconds(H);digitalWrite(output2,LOW);delayMicroseconds(L);digitalWrite(output2,HIGH);delayMicroseconds(H);digitalWrite(output2,LOW);delayMicroseconds(LL);
/*0*/ digitalWrite(output2,HIGH);delayMicroseconds(H);digitalWrite(output2,LOW);delayMicroseconds(LL);digitalWrite(output2,HIGH);delayMicroseconds(H);digitalWrite(output2,LOW);delayMicroseconds(L);
/*0*/ digitalWrite(output2,HIGH);delayMicroseconds(H);digitalWrite(output2,LOW);delayMicroseconds(LL);digitalWrite(output2,HIGH);delayMicroseconds(H);digitalWrite(output2,LOW);delayMicroseconds(L);
/*1*/ digitalWrite(output2,HIGH);delayMicroseconds(H);digitalWrite(output2,LOW);delayMicroseconds(L);digitalWrite(output2,HIGH);delayMicroseconds(H);digitalWrite(output2,LOW);delayMicroseconds(LL);
/*1*/ digitalWrite(output2,HIGH);delayMicroseconds(H);digitalWrite(output2,LOW);delayMicroseconds(L);digitalWrite(output2,HIGH);delayMicroseconds(H);digitalWrite(output2,LOW);delayMicroseconds(LL);
/*0*/ digitalWrite(output2,HIGH);delayMicroseconds(H);digitalWrite(output2,LOW);delayMicroseconds(LL);digitalWrite(output2,HIGH);delayMicroseconds(H);digitalWrite(output2,LOW);delayMicroseconds(L);
/*0*/ digitalWrite(output2,HIGH);delayMicroseconds(H);digitalWrite(output2,LOW);delayMicroseconds(LL);digitalWrite(output2,HIGH);delayMicroseconds(H);digitalWrite(output2,LOW);delayMicroseconds(L);
/*1*/ digitalWrite(output2,HIGH);delayMicroseconds(H);digitalWrite(output2,LOW);delayMicroseconds(L);digitalWrite(output2,HIGH);delayMicroseconds(H);digitalWrite(output2,LOW);delayMicroseconds(LL);
/*0*/ digitalWrite(output2,HIGH);delayMicroseconds(H);digitalWrite(output2,LOW);delayMicroseconds(LL);digitalWrite(output2,HIGH);delayMicroseconds(H);digitalWrite(output2,LOW);delayMicroseconds(L);
/*0*/ digitalWrite(output2,HIGH);delayMicroseconds(H);digitalWrite(output2,LOW);delayMicroseconds(LL);digitalWrite(output2,HIGH);delayMicroseconds(H);digitalWrite(output2,LOW);delayMicroseconds(L);
/*1*/ digitalWrite(output2,HIGH);delayMicroseconds(H);digitalWrite(output2,LOW);delayMicroseconds(L);digitalWrite(output2,HIGH);delayMicroseconds(H);digitalWrite(output2,LOW);delayMicroseconds(LL);
/*1*/ digitalWrite(output2,HIGH);delayMicroseconds(H);digitalWrite(output2,LOW);delayMicroseconds(L);digitalWrite(output2,HIGH);delayMicroseconds(H);digitalWrite(output2,LOW);delayMicroseconds(LL);
/*1*/ digitalWrite(output2,HIGH);delayMicroseconds(H);digitalWrite(output2,LOW);delayMicroseconds(L);digitalWrite(output2,HIGH);delayMicroseconds(H);digitalWrite(output2,LOW);delayMicroseconds(LL);
/*1*/ digitalWrite(output2,HIGH);delayMicroseconds(H);digitalWrite(output2,LOW);delayMicroseconds(L);digitalWrite(output2,HIGH);delayMicroseconds(H);digitalWrite(output2,LOW);delayMicroseconds(LL);
/*1*/ digitalWrite(output2,HIGH);delayMicroseconds(H);digitalWrite(output2,LOW);delayMicroseconds(L);digitalWrite(output2,HIGH);delayMicroseconds(H);digitalWrite(output2,LOW);delayMicroseconds(LL);
/*1*/ digitalWrite(output2,HIGH);delayMicroseconds(H);digitalWrite(output2,LOW);delayMicroseconds(L);digitalWrite(output2,HIGH);delayMicroseconds(H);digitalWrite(output2,LOW);delayMicroseconds(LL);
/*1*/ digitalWrite(output2,HIGH);delayMicroseconds(H);digitalWrite(output2,LOW);delayMicroseconds(L);digitalWrite(output2,HIGH);delayMicroseconds(H);digitalWrite(output2,LOW);delayMicroseconds(LL);
/*1*/ digitalWrite(output2,HIGH);delayMicroseconds(H);digitalWrite(output2,LOW);delayMicroseconds(L);digitalWrite(output2,HIGH);delayMicroseconds(H);digitalWrite(output2,LOW);delayMicroseconds(LL);
/*1*/ digitalWrite(output2,HIGH);delayMicroseconds(H);digitalWrite(output2,LOW);delayMicroseconds(L);digitalWrite(output2,HIGH);delayMicroseconds(H);digitalWrite(output2,LOW);delayMicroseconds(LL);
/*1*/ digitalWrite(output2,HIGH);delayMicroseconds(H);digitalWrite(output2,LOW);delayMicroseconds(L);digitalWrite(output2,HIGH);delayMicroseconds(H);digitalWrite(output2,LOW);delayMicroseconds(LL);
/*1*/ digitalWrite(output2,HIGH);delayMicroseconds(H);digitalWrite(output2,LOW);delayMicroseconds(L);digitalWrite(output2,HIGH);delayMicroseconds(H);digitalWrite(output2,LOW);delayMicroseconds(LL);
/*1*/ digitalWrite(output2,HIGH);delayMicroseconds(H);digitalWrite(output2,LOW);delayMicroseconds(L);digitalWrite(output2,HIGH);delayMicroseconds(H);digitalWrite(output2,LOW);delayMicroseconds(LL);
/*1*/ digitalWrite(output2,HIGH);delayMicroseconds(H);digitalWrite(output2,LOW);delayMicroseconds(L);digitalWrite(output2,HIGH);delayMicroseconds(H);digitalWrite(output2,LOW);delayMicroseconds(LL);
/*1*/ digitalWrite(output2,HIGH);delayMicroseconds(H);digitalWrite(output2,LOW);delayMicroseconds(L);digitalWrite(output2,HIGH);delayMicroseconds(H);digitalWrite(output2,LOW);delayMicroseconds(LL);
/*1*/ digitalWrite(output2,HIGH);delayMicroseconds(H);digitalWrite(output2,LOW);delayMicroseconds(L);digitalWrite(output2,HIGH);delayMicroseconds(H);digitalWrite(output2,LOW);delayMicroseconds(LL);
/*0*/ digitalWrite(output2,HIGH);delayMicroseconds(H);digitalWrite(output2,LOW);delayMicroseconds(LL);digitalWrite(output2,HIGH);delayMicroseconds(H);digitalWrite(output2,LOW);delayMicroseconds(L);
/*Stop*/ digitalWrite(output2,HIGH);delayMicroseconds(H);digitalWrite(output2,LOW);delayMicroseconds(10000);
}
delay (5000);
}
Thank you very much for your help!
Alex