"Enemies" P10 LED Panel with RF 433 Mhz?

Guys, can anyone resolve this conflict? I had the idea of ​​using a 433 Mhz garage key fob to make some commands on a P10 led panel.

If I comment dmd.begin() then the remote control key works fine at more than 5 meters. But with dmd.begin() active, the remote control only works if you are 1 meter at most from the receiver, which is an SRX882.

I put a buzzer just to monitor the arrival of the keyring code (final 869).

#include <RCSwitch.h>
#include <Arduino.h>
#include <SPI.h>
#include <DMD2.h>

RCSwitch mySwitch = RCSwitch();
SPIDMD dmd(1,1);
const int buzzer = 3;      // OUTPUT

void setup() {
  dmd.begin();
  pinMode(buzzer, OUTPUT);
  Serial.begin(115200);
  mySwitch.enableReceive(0);  // Receiver on interrupt 0 => that is pin #2
}

void loop() {
  if (mySwitch.available()) {
    
    int value = mySwitch.getReceivedValue();
    
    if (value == 0) {
      Serial.print("Unknown encoding");
    } else {
      Serial.print("Received ");
      Serial.print( mySwitch.getReceivedValue() );
      Serial.print(" / ");
      Serial.print( mySwitch.getReceivedBitlength() );
      Serial.print("bit ");
      Serial.print("Protocol: ");
      Serial.println( mySwitch.getReceivedProtocol() );
    }

    if(mySwitch.getReceivedValue() == 140160869) {
      tone(buzzer,440,300);delay(200);tone(buzzer,700,200); 
    }

    mySwitch.resetAvailable();
  }
}

You have digital EMI leaking from the display and burying the receiver in RF noise. That reduces the receive signal sensitivity.

So, a complete wiring diagram and photos of your wiring are required.

It's not that. It is problem between RCswicth and DMD2 libraries.

But which ?

Have you tried using the DMD library with the display disconnected? What is your evidence that it is not RF desense? In other words, how did you reach that conclusion?

I turned off the 5 volts panel (but I left the wires connected to the arduino uno). And when I press the 433Mhz control button the TX led on the arduino board blinks, when dmd.begin() is active, the led almost never blinks. But with //dmd.begin() it works like a charm, by far.

When you can see the last post of this topic. Maybe I'm facing something similar. But I don't know how to solve it. Speaking of Timer...

https://github.com/Arduino-IRremote/Arduino-IRremote/issues/360

I think I solved the problem by adding this line TCNT1=0, in setup

TCNT1  = 0;                               // Set Timer1 preload value to 0 (reset)
mySwitch.enableReceive(0);  // Receiver on interrupt 0 => that is pin #2

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.