New device & protocol - Crowd led and DMX

@niltefa

Thanks for the confirmation :slight_smile:

Now we have a single confirmed packet that works. This will help a lot with my arduino transmitter

Regards

1 Like

Hi all

I used the following code on an WeMos Mini Pro ( based on ESP8266 ) and its working OK for group 1,2,3 .
Practically the code has the values for a single packet ( from the SUB files that @niltefa provided ) as arrays and toggles the DATA pin low or high depending on the values from the array.
The protocol is not decoded ( we dont know how the data for X color/effect is encoded ) … we just use the values blindly ( just like flipper does )

The 433 MHz transmitter ( FS1000A ) Data pin is connected to D3 on WeMos

int array_greenYellow[] = {
							-574,577,-208,361,-176,353,-176,379,-176,377,-174,
							375,-174,337,-208,371,-174,371,-174,205,-196,217,
							-180,339,-196,361,-202,201,-194,217,-180,215,-180,
							361,-174,249,-180,213,-182,209,-162,215,-182,223,
							-202,215,-182,379,-176,205,-192,359,-174,253,-176,
							329,-194,355,-202,333,-204,335,-208,337,-206,371,
							-174,205,-196,217,-180,215,-178,361,-210,213,-182,
							211,-180,343,-206,335,-206,339,-206,203,-196,359,
							-172,217,-214,329,-196,355,-202,333,-206,335
						};

int array_red[] = 		{
							-562,611,-198,349,-200,329,-204,337,-206,335,-208,
							335,-208,339,-208,337,-208,337,-208,337,-206,205,
							-194,337,-190,369,-192,195,-184,211,-212,359,-176,
							197,-216,185,-212,335,-194,369,-188,341,-196,357,
							-202,335,-208,337,-208,337,-208,339,-206,337,-206,
							205,-196,337,-190,367,-192,195,-182,369,-192,367,
							-192,199,-220,181,-210,193,-218,325,-216,173,-202,
							217,-182,339,-198,359,-204,333,-208,337,-208,337,
							-208,337,-208,337,-206,205,-194,361,-174,215
						};

const uint8_t outPinTo433TransmitterData = D3; 

#define pause_between_effects 1000

void setup() {
	pinMode(outPinTo433TransmitterData,OUTPUT); 

	// LOW ,to clear any previous effects
	digitalWrite(outPinTo433TransmitterData,LOW);	
	delayMicroseconds(pause_between_effects);
}


void loop() {

	// Repeat code 5  times since receiving IC might be sleeping
	for (uint8_t x = 0; x < 5; x++){	
	
		//green yellowish
		for (int i = 0; i < sizeof(array_greenYellow) / sizeof(array_greenYellow[0]); i++) {
			int value = array_greenYellow[i];
			if (value < 0) {
				digitalWrite(outPinTo433TransmitterData, LOW);
				delayMicroseconds(abs(value));
			} else {
				digitalWrite(outPinTo433TransmitterData, HIGH);
				delayMicroseconds(abs(value));
			}
		}

		digitalWrite(outPinTo433TransmitterData, LOW);
		delayMicroseconds(1000);

	}


	delay(pause_between_effects);

	// Repeat code 5  times since receiving IC might be sleeping
	for (uint8_t x = 0; x < 5; x++){      
	
		//red
		for (int i = 0; i < sizeof(array_red) / sizeof(array_red[0]); i++) {
			int value = array_red[i];
			if (value < 0) {
				digitalWrite(outPinTo433TransmitterData, LOW);
				delayMicroseconds(abs(value));
			} else {
				digitalWrite(outPinTo433TransmitterData, HIGH);
				delayMicroseconds(abs(value));
			}
		}

		digitalWrite(outPinTo433TransmitterData, LOW);
		delayMicroseconds(1000);

	}

	delay(pause_between_effects);  

}

Thank you once again @niltefa

Regards

1 Like