@petewill Sorry, it seems I had to use the .jpeg extension instead of .jpg. My code is just trying to move the blinds without any extra code. This image shows the remote signal on the top and the Arduino generated signal on the bottom.
ssuckow
@ssuckow
Best posts made by ssuckow
-
RE: Controlling Blinds.com RF Dooya Motors with Arduino and Vera
Latest posts made by ssuckow
-
RE: Controlling Blinds.com RF Dooya Motors with Arduino and Vera
I just tried moving it to the VCC and ground pins and it didn't work either.
-
RE: Controlling Blinds.com RF Dooya Motors with Arduino and Vera
@doteq You are correct. That was a holdover from when I was trying to sniff. I tweaked that and this image shows the updated version as Arduino7. Apparently it worked with it defined as input (as receiver connected to audacity was picking it up), but their was a lot more noise. Now, the signal looks very much like the source remote. However, It still doesn't move the blinds.
-
RE: Controlling Blinds.com RF Dooya Motors with Arduino and Vera
@petewill Sorry, it seems I had to use the .jpeg extension instead of .jpg. My code is just trying to move the blinds without any extra code. This image shows the remote signal on the top and the Arduino generated signal on the bottom.
-
RE: Controlling Blinds.com RF Dooya Motors with Arduino and Vera
I recognize this is an old post, but I've not found any newer discussion and I have hit a roadblock. I've followed all of the very helpful posts to build a sniffer and decode it as tools like RCSwitch wouldn't work. I even used @PeteKnight 's tip to notice there was a different code sent initially when a button was pressed. I've tried sending both versions, emulating the initial (timing?) signal at the start. I tweaked the high and low delays and I think I've got a rf signal that is extremely close to the one from the remote. Here are the two different sources in audacity for comparison.
![0_1598212142451_RemoteInAudacity.JPG](Uploading 100%)//Define Variables #define GND 3 #define VCC 4 #define DATA 5 //Data pin for RF Transmitter #define ZERO_HIGH 307 //Delay for the high part of a 0 in microseconds #define ZERO_LOW 750 //Delay for the low part of a 0 in microseconds #define ONE_HIGH 648 //Delay for the high part of a 1 in microseconds #define ONE_LOW 409 //Delay for the low part of a 1 in microseconds int startUp = 1; unsigned char standardBits1 = 0b00001111; //integer value of the 28 bit standard sequence referenced above. "0b" prefix is for ******* unsigned char standardBits2 = 0b01111100; unsigned char standardBits3 = 0b01100100; unsigned char standardBits4 = 0b00000001; unsigned char standardBits5 = 0b00011110; void setup() { pinMode(GND,OUTPUT); pinMode(VCC,OUTPUT); pinMode(DATA,INPUT); digitalWrite(GND,LOW); digitalWrite(VCC,HIGH); Serial.begin(9600); } void loop() { unsigned char i; delay(3000); if(startUp ==1){ for(i=0;i<10;i++) { delay(1000); digitalWrite(DATA, HIGH); delayMicroseconds(5000); digitalWrite(DATA, LOW); delayMicroseconds(1500); eightBits(standardBits1); eightBits(standardBits2); eightBits(standardBits3); eightBits(standardBits4); eightBits(standardBits5); startUp = 0; } } } void eightBits(unsigned char bits){ unsigned char k; int delayTime; for(k=0;k<8;k++) { int highTime; int lowTime; delayTime = ((bits>>(7-k)) & 1 ? 1 : 0); if (delayTime == 1){ highTime = ONE_HIGH; lowTime = ONE_LOW; } else { highTime = ZERO_HIGH; lowTime = ZERO_LOW; } digitalWrite(DATA, HIGH); delayMicroseconds(highTime); digitalWrite(DATA, LOW); delayMicroseconds(lowTime); } }
Here are all the codes I was able to extract from audacity for one of the blinds.
Down1: 00001111 01111100 01100100 00000001 00111100
Up1: 00001111 01111100 01100100 00000001 00011110
Stop1: 00001111 01111100 01100100 00000001 01010101
Start1: 00001111 01111100 01100100 00000001 00010001
Does anyone have an idea of what I might still be missing in getting this work?