Remote control of projection screen - Code RF Switch Lib ??

Hi everyone,
I have a 433MHz rf remote controller and tried to decode its signals with RFSwitch library but I sniff Nothing! then I tried to capture remote controller with hantek usb oscilloscope
Now It's my first time to anaylse a non periodic signal..
I cannot extract a meaningful information from graph..
Can you help me?

Thanks a lot

You could try this and it would help me with my new library;

Download the Beta release of my rfRemote library from GitHub.

Connect an RF receiver to Pin 2 on your Arduino and load up the example rfDebug Sketch
compile and upload it to you Arduino board.

Open up a serial monitor, ensure baud = 115200.
You should see a "- Ready"[/b] prompt
BEFORE pressing any buttons on your RF Remote, disable Autoscroll in the monitor (bottom left).
Now press one of the buttons on the remote.
Hopefully you will get a load of debug lines in the monitor, post back
all the lines between and including the first "[~]" and second "[~]" prompts
Can you also tell me the Make and Model of the remote device?
- * The RFremote library is Beta and currently does not support transmitting packets yet **

Thanks a lot for your reply.. I'll try it in this evening .. and I'll write its make and model in a short time.. Until that I want to share my oscilloscope graph.

I connected the probe to 433Mhz reciever pin than I collect 8 samples, every signal flow is the same So I think that there is no noise ..

Then I saved the oscilloscope data and used gnuplot to draw these values.

LONG SYNC 1 -- 10100011001000101001110100110100000000010000000000100100000110001

OSCILLOSCOPE IMAGE

I have updated my library to attempt to auto decode packets, and should work
with all simple 24 or 32 bit packets, download the latest beta version of the
rfRemote library from GitHub
install in Arduino IDE and recompile and upload the rfDebug sketch

Open up a serial monitor, ensure baud = 115200.
You should see a - Ready[/b] prompt.
Now press and keep pressing one of the buttons on the remote control.
You should get something similar to the following (let me know how you get on
and ideally post up the output from your test(s));
** **[.] Ready [01] S=63(63), SYN: 6997 - T1=32 (502), T2=0 (0), T3=31 (1495), T4=0 (0), T?=0 (0) {1495|1} [02] S=63(61), SYN: 7037 - T1=32 (502), T2=1 (1450), T3=28 (1500), T4=0 (0), T?=2 (1438) {1462|3} [03] S=63(54), SYN: 7047 - T1=32 (500), T2=3 (1422), T3=19 (1543), T4=0 (0), T?=9 (1421) {1462|3} [04] S=63(55), SYN: 7060 - T1=32 (501), T2=4 (1410), T3=19 (1545), T4=0 (0), T?=8 (1416) {1457|3} [05] S=63(56), SYN: 7060 - T1=32 (502), T2=6 (1414), T3=18 (1550), T4=0 (0), T?=7 (1417) {1460|3} [06] S=63(60), SYN: 7064 - T1=32 (500), T2=11 (1405), T3=17 (1569), T4=0 (0), T?=3 (1406) {1460|3} [07] S=63(60), SYN: 7077 - T1=32 (500), T2=12 (1392), T3=16 (1591), T4=0 (0), T?=3 (1390) {1457|3} [07] S=0(0), SYN: 7408 - T1=0 (410), T2=0 (0), T3=0 (0), T4=0 (0), T?=0 (0) {1457|7061} [08] S=64(60), SYN: 7097 - T1=32 (509), T2=10 (1382), T3=17 (1570), T4=1 (1593), T?=4 (1380) {1481|4} [09] S=64(62), SYN: 7085 - T1=32 (509), T2=11 (1380), T3=18 (1561), T4=1 (1585), T?=2 (1382) {1477|4} [10] S=64(60), SYN: 7091 - T1=32 (510), T2=10 (1383), T3=17 (1566), T4=1 (1609), T?=4 (1383) {1485|4} [11] S=64(61), SYN: 7085 - T1=32 (509), T2=11 (1378), T3=17 (1571), T4=1 (1596), T?=3 (1381) {1481|4} [12] S=64(60), SYN: 7088 - T1=32 (509), T2=9 (1385), T3=18 (1559), T4=1 (1597), T?=4 (1378) {1479|4} [13] S=64(60), SYN: 7081 - T1=32 (509), T2=10 (1382), T3=17 (1570), T4=1 (1589), T?=4 (1381) {1480|4} [14] S=64(60), SYN: 7080 - T1=32 (510), T2=10 (1380), T3=17 (1571), T4=1 (1589), T?=4 (1376) {1479|4} [14] S=0(0), SYN: 7404 - T1=0 (421), T2=0 (0), T3=0 (0), T4=0 (0), T?=0 (0) {1479|7063} [15] S=63(59), SYN: 7089 - T1=32 (501), T2=12 (1385), T3=15 (1611), T4=0 (0), T?=4 (1381) {1459|3} [16] S=63(59), SYN: 7090 - T1=32 (501), T2=12 (1388), T3=15 (1609), T4=0 (0), T?=4 (1377) {1458|3} [17] S=63(59), SYN: 7091 - T1=32 (502), T2=12 (1383), T3=15 (1609), T4=0 (0), T?=4 (1383) {1458|3} [18] S=63(59), SYN: 7099 - T1=32 (501), T2=12 (1385), T3=15 (1610), T4=0 (0), T?=4 (1378) {1457|3} [19] S=63(60), SYN: 7081 - T1=32 (501), T2=12 (1386), T3=16 (1595), T4=0 (0), T?=3 (1381) {1454|3} [20] S=63(60), SYN: 7086 - T1=32 (500), T2=12 (1381), T3=16 (1600), T4=0 (0), T?=3 (1383) {1454|3} [21] S=63(59), SYN: 7088 - T1=32 (500), T2=12 (1387), T3=15 (1609), T4=0 (0), T?=4 (1385) {1460|3} [21] S=0(0), SYN: 7406 - T1=0 (415), T2=0 (0), T3=0 (0), T4=0 (0), T?=0 (0) {1460|7062} [22] S=64(61), SYN: 7082 - T1=32 (509), T2=11 (1381), T3=17 (1571), T4=1 (1582), T?=3 (1382) {1479|4} [23] S=64(60), SYN: 7082 - T1=32 (509), T2=10 (1383), T3=17 (1567), T4=1 (1600), T?=4 (1385) {1483|4} [24] S=64(59), SYN: 7080 - T1=32 (508), T2=8 (1382), T3=18 (1559), T4=1 (1597), T?=5 (1385) {1480|4} [25] S=64(60), SYN: 7086 - T1=32 (510), T2=9 (1385), T3=18 (1555), T4=1 (1591), T?=4 (1384) {1478|4} [26] S=64(62), SYN: 7086 - T1=32 (511), T2=12 (1380), T3=17 (1568), T4=1 (1588), T?=2 (1380) {1479|4} [27] S=64(61), SYN: 7090 - T1=32 (509), T2=11 (1379), T3=17 (1571), T4=1 (1586), T?=3 (1381) {1479|4} [28] S=64(61), SYN: 7086 - T1=32 (509), T2=11 (1383), T3=17 (1569), T4=1 (1606), T?=3 (1377) {1483|4} [28] S=0(0), SYN: 7410 - T1=0 (410), T2=0 (0), T3=0 (0), T4=0 (0), T?=0 (0) {1483|7063} [29] S=63(59), SYN: 7088 - T1=32 (500), T2=12 (1390), T3=15 (1608), T4=0 (0), T?=4 (1381) {1459|3} [30] S=63(59), SYN: 7083 - T1=32 (500), T2=12 (1387), T3=15 (1608), T4=0 (0), T?=4 (1384) {1459|3} [31] S=63(60), SYN: 7089 - T1=32 (501), T2=12 (1387), T3=16 (1594), T4=0 (0), T?=3 (1376) {1452|3} [32] S=63(60), SYN: 7089 - T1=32 (501), T2=12 (1389), T3=16 (1593), T4=0 (0), T?=3 (1385) {1455|3} [33] S=63(60), SYN: 7084 - T1=32 (502), T2=13 (1384), T3=15 (1609), T4=0 (0), T?=3 (1378) {1457|3} [34] S=63(59), SYN: 7088 - T1=32 (502), T2=12 (1386), T3=15 (1606), T4=0 (0), T?=4 (1384) {1458|3} [35] S=63(59), SYN: 7086 - T1=32 (501), T2=12 (1383), T3=15 (1611), T4=0 (0), T?=4 (1383) {1459|3} [35] S=0(0), SYN: 7420 - T1=0 (393), T2=0 (0), T3=0 (0), T4=0 (0), T?=0 (0) {1459|7067} [36] S=64(60), SYN: 7081 - T1=32 (508), T2=9 (1383), T3=18 (1561), T4=1 (1592), T?=4 (1385) {1480|4} [37] S=64(61), SYN: 7084 - T1=32 (510), T2=10 (1380), T3=18 (1558), T4=1 (1590), T?=3 (1381) {1477|4} [38] S=64(62), SYN: 7085 - T1=32 (510), T2=12 (1381), T3=17 (1569), T4=1 (1591), T?=2 (1380) {1480|4} [39] S=64(61), SYN: 7089 - T1=32 (510), T2=11 (1381), T3=17 (1568), T4=1 (1600), T?=3 (1382) {1482|4} [40] S=64(62), SYN: 7086 - T1=32 (509), T2=11 (1384), T3=18 (1557), T4=1 (1606), T?=2 (1378) {1481|4} [*] Bits: 32 - SP: 504, LP: 1469 (2.914683, 1:3) - SN: 7079 (14.045635, 1:14) Attempting to decode packet(s) [DEBUG] 32 01100000011011111101010110010011 - 1617941907 [DEBUG] 32 11011101001001101000010111010011 - 3710289363 [DEBUG] 32 01100000011011111101010110010011 - 1617941907 [DEBUG] 32 11011101001001101000010111010011 - 3710289363 [DEBUG] 32 01100000011011111101010110010011 - 1617941907 [DEBUG] 32 11011101001001101000010111010011 - 3710289363 [DEBUG] 32 01100000011011111101010110010011 - 1617941907** **

I removed the library from my code and wrote my own sync, send0 and send1 functions. with measured pulse lenghts from oscilloscope. then I made a mistake while writing 1010101 code sequance in the last part of signal.. I'll make it correct and try it again today..

My last graph is in the LINK

I'll share my code after it works.. :slight_smile:

CH1 is output pin of 433Mhz Reciever
CH2 is output pin of my arduino signal generator.

It's working :slight_smile: I will refactor the code but its like that for now.

void setup() {
  // put your setup code here, to run once:
  //String signal = "10100011001000101001110100110100000000010000000000100100000110001";
  pinMode(10, OUTPUT);
}

void loop() {
  
  screenDown_5();
  delay(2000);
  screenStop_5();
  delay(2000);
  screenUp_5();
  delay(2000);
}

void screenDown_5(){
  for(int i =0 ; i<5; i++)
  {
    screenDown();
  }
}



void screenStop_5(){
  for(int i =0 ; i<5; i++)
  {
    screenStop();
  }
}


void screenUp_5(){
  for(int i =0 ; i<5; i++)
  {
    screenUp();
  }
}

void screenUp()
{
  sendSync();
  send1();send0();send1();send0();send0();send0();send1();send1();send0();send0();send1();send0();send0();send0();send1();send0();send1();send0();send0();send1();send1();send1();send0();send1();send0();send0();send1();send1();send0();send1();send0();send0();send0();send0();send0();send0();send0();send0();send0();send1();send0();send0();send0();send0();send0();send0();send0();send0();send0();send0();send0();send0();send1();send0();send1();send1();send1();send1();send1();send1();send1();send1();send1();send1();send1();
  digitalWrite(10, LOW);
  delay(30);
}

void screenStop()
{
  sendSync();
  send1();send0();send1();send0();send0();send0();send1();send1();send0();send0();send1();send0();send0();send0();send1();send0();send1();send0();send0();send1();send1();send1();send0();send1();send0();send0();send1();send1();send0();send1();send0();send0();send0();send0();send0();send0();send0();send0();send0();send1();send0();send0();send0();send0();send0();send0();send0();send0();send0();send0();send1();send0();send0();send0();send1();send1();send0();send0();send0();send1();send0();send1();send1();send1();send1();
  digitalWrite(10, LOW);
  delay(30);
}


void screenDown()
{
  sendSync();
  send1();send0();send1();send0();send0();send0();send1();send1();send0();send0();send1();send0();send0();send0();send1();send0();send1();send0();send0();send1();send1();send1();send0();send1();send0();send0();send1();send1();send0();send1();send0();send0();send0();send0();send0();send0();send0();send0();send0();send1();send0();send0();send0();send0();send0();send0();send0();send0();send0();send1();send0();send0();send0();send0();send1();send1();send0();send0();send1();send1();send0();send1();send1();send1();send1();
  digitalWrite(10, LOW);
  delay(30);
}


void send1()
{
  digitalWrite(10, HIGH);   // turn the LED on (HIGH is the voltage level)
  delayMicroseconds(600);              // wait for a second
  digitalWrite(10, LOW);    // turn the LED off by making the voltage LOW
  delayMicroseconds(200);  
  
}
void send0()
{
  digitalWrite(10, HIGH);   // turn the LED on (HIGH is the voltage level)
  delayMicroseconds(200);              // wait for a second
  digitalWrite(10, LOW);    // turn the LED off by making the voltage LOW
  delayMicroseconds(600);   
}

void sendSync()
{

  digitalWrite(10, HIGH);    // turn the LED off by making the voltage LOW
  delay(5);
  digitalWrite(10, LOW);    // turn the LED off by making the voltage LOW
  delayMicroseconds(600);
}

Monty68:
I have updated my library to attempt to auto decode packets, and should work
with all simple 24 or 32 bit packets, download the latest beta version of the
rfRemote library from GitHub
install in Arduino IDE and recompile and upload the rfDebug sketch

Open up a serial monitor, ensure baud = 115200.
You should see a - Ready[/b] prompt.
Now press and keep pressing one of the buttons on the remote control.
You should get something similar to the following (let me know how you get on
and ideally post up the output from your test(s));
[/quote]
I have been unable to get the debug sketch to work with a teensy 3.2. after uploading the sketch the teensy becomes unrecognized in the windows device manager and there's nothing in the serial monitor. Is there something else you have to do to before the sketch/teensy will show up correctly by the pc?