Sending Binary to Pin

So i lately scrapped a IR Reciever from a Old One Color led Strip (those very cheap ones), and attached it to my Arduino Uno R3.

Everything works perfectly and i got a nice Workaround with that Interrupt Problem i had.

I use a very powerful Remote that has insane range, so im gonna stick with that one. But now i want the old ledstrip i got the reciever from to turn on/off with my 10m WS2811. The Thing is the Old one doesnt use the Signals my Powerful Remote sends, it uses the Signal of a really cheap and weak remote i dont wanna use.

I got my Code here:

#include "FastLED.h"
#include <IRremote.h>

const int RECV_PIN = 2;
IRrecv irrecv(RECV_PIN);
decode_results results;

const byte pinData = A5;
const byte numLeds = 100; 
struct CRGB leds[numLeds]; 

DEFINE_GRADIENT_PALETTE( cw5 ) {
  0, 255, 60, 0, 
  0, 255, 60, 0,
  0, 255, 60, 0,
  0, 255, 60, 0,
  0, 255, 60, 0,
  0, 255, 60, 0,
  0, 255, 60, 0,
  0, 255, 60, 0,
  0, 255, 60, 0,
  0, 255, 60, 0,
  0, 255, 60, 0,
  0, 255, 60, 0,
  0, 255, 60, 0,
  235, 122, 35, 45,
  255, 169, 98, 90,
};
DEFINE_GRADIENT_PALETTE(auroraBorealis) {
    0,   0, 255,  28,
  128, 255,   3,  22,
  192, 247,   1,   9,
  255,   0, 255,  28
};
DEFINE_GRADIENT_PALETTE(cumulusClouds)
{
    0, 152, 164, 155,
   30, 139, 152, 140,
   64, 126, 141, 128,
   92,  80,  95,  82,
  107,  46,  59,  47,
  114,  74,  88,  71,
  123, 110, 124, 102,
  196,  46,  58,  39,
  255,  11,  18,   8
};
DEFINE_GRADIENT_PALETTE(Greens) {
    0, 109,203, 42,
   10,  83,139, 26,
   21,  60, 90, 14,
   31,  39, 91,  3,
   42,  22, 92,  1,
   53,  21, 75,  5,
   68,  20, 59, 21,
   83,  14, 49, 13,
  105,   9, 40,  7,
  133,   5, 27,  3,
  172,   3, 17,  1,
  205,   4, 14,  1,
  255,   5, 11,  1};

byte totalBrightness = 255;
int value;
byte rgbcount = 1;

CRGBPalette16 activePalette; // Select a palette
byte paletteIndex = 0; // Current colour from the selected palette
// Total gradient palette colour transition time in minutes, with 10
// minutes = 2343.75 ms per transition step; 1 hour = 14062.5 ms
const byte transitionDuration = 3;
const byte noiseAmount = 2100; // Higher value = more granular noise
// The smaller the difference between the two values, the more subtle the
// noise's brightness variation will be
const byte minBrightness = 25;
const byte maxBrightness = 200;
byte delaytime = 1000;
int brightnesscount;
void setup()
{
  FastLED.addLeds<WS2811, pinData, BRG>(leds, numLeds);
  Serial.begin(9600);
  irrecv.enableIRIn();
  irrecv.blink13(true);
}

void loop()
if (irrecv.decode(&results)){

        switch(results.value){
          
          case 0x4FB40BF: //ON
          Serial.println("ON");
          //0xCE1972FD
          activePalette = cw5;
          delaytime = 25;
          value = 250;
          break;
          
          case 0x4FB52AD: //OFF
          Serial.println("OFF");
          //0xD4DD0381
          value = 0;
          delaytime = 1000;
          break;
          
          case 0x4FBA857: //BRT+
          Serial.println("BRT+");
          brightnesscount++;
          {if (brightnesscount>10) {brightnesscount=9;}
          if (brightnesscount==0) {value = 0;};
          if (brightnesscount==1) {value = 25;};
          if (brightnesscount==2) {value = 50;};
          if (brightnesscount==3) {value = 75;};
          if (brightnesscount==4) {value = 100;};
          if (brightnesscount==5) {value = 125;};
          if (brightnesscount==6) {value = 150;};
          if (brightnesscount==7) {value = 175;};
          if (brightnesscount==8) {value = 200;};
          if (brightnesscount==9) {value = 225;};
          if (brightnesscount==10) {value = 250;};}
          break;
          
          case 0x4FBF20D: //BRT-
          Serial.println("BRT-");
          brightnesscount--;
          {if (brightnesscount<0) {brightnesscount=1;};
          if (brightnesscount==0) {value = 0;};
          if (brightnesscount==1) {value = 25;};
          if (brightnesscount==2) {value = 50;};
          if (brightnesscount==3) {value = 75;};
          if (brightnesscount==4) {value = 100;};
          if (brightnesscount==5) {value = 125;};
          if (brightnesscount==6) {value = 150;};
          if (brightnesscount==7) {value = 175;};
          if (brightnesscount==8) {value = 200;};
          if (brightnesscount==9) {value = 225;};
          if (brightnesscount==10) {value = 250;};}
          break;
          
          case 0x4FBAA55: //Auto
          Serial.println("Auto");
          break;
          
          case 0x4FB728D: //Flash
          Serial.println("Flash");
          break;
          
          case 0x4FB7887: //Mode
          Serial.println("Mode");
          delaytime = 25;
          break;
          
          case 0x4FBF807: //RGB
          Serial.println("RGB");
          rgbcount++;
          {
          if (rgbcount > 2) {
          rgbcount=0;};
          if (rgbcount==0) {activePalette = auroraBorealis;};
          if (rgbcount==1) {activePalette = cw5;};
          if (rgbcount==2) {activePalette = Greens;};
          }
          break;
          
          case 0xFFFFFFFF: //HOLD BUTTON
          Serial.println("DelayUP");
          delaytime = 1000;
          break;
          }
        }
  
  paletteTransition();

  FastLED.setBrightness(value);
  
  FastLED.show();
  
  irrecv.resume(); 
  
  delay(delaytime);
}

void paletteTransition()

{

  static const float interval = ((float)(transitionDuration * 60) / 256) * 10000000;

  static uint32_t dist;



  // Go through all LEDs in the leds array

  for (int i = 0; i < numLeds; i++)

  {

    int noise = inoise8(dist - i * noiseAmount, dist + i * noiseAmount) % 255;

    byte brightness = map(noise, 0, 255, minBrightness, maxBrightness);

    leds[i] = ColorFromPalette(activePalette, paletteIndex, brightness, LINEARBLEND);

  }

  // Oscillate the noise's speed at a specified BPM, within a range

  dist += beatsin8(2, 6, 6);

  EVERY_N_MILLISECONDS(interval)

  {

    // Select the next colour

    if (paletteIndex < 255)

    {

      paletteIndex++;

    }

    // Wrap around back to zero at the end (= cycle through palette again)

    if (paletteIndex == 255)

    {

      paletteIndex = 0;

    }

  }

}

(Serial Print will be removed when done with the Code)

Now my Plan is to Send a certain Code into the Data line of the old Ledstrip, where the IR Reciever would have sent in ist Signal.

I tried stuff like

Serial.write(0xF7C03F);

But that doesnt work. The Output from the IR reciever is Binary isnt it? (It Looks like its a standalone IR reciever) I tried Serial.write(11001110000110010111001011111101);,
then it says “call of overloaded ‘write(long long int)’ is ambiguous”

Anyone got tips on how to send a signal over Arduino to basically imitate a IR signal? Or just to send the Data? (If that even works that way)

Thanks to all taking their time to read through this and to those that might help.
"

One of many on line tutorials: How to Set Up an IR Remote and Receiver on an Arduino - Circuit Basics

Thanks for the fast Reply, but this isnt what im Looking for. The communication between IR reciever and Arduino and my 10m Led Strip is already Standing and i even used this Tutorial for it.

I Need the Arduino to Output a way different Hex directly onto another circuit that will use this data to take certain Actions.

I'm confused. You took the IR receiver out of the old strip and attached it to an Uno but then you say you want to send data to the old led strip?? Sending IR codes to a strip of LEDs doesn't seem correct? Wouldn't the Uno be receiving the IR codes and then controlling leds directly?

1.) No offense, but you need to learn the value of formatting, whitespace, and proper tabulation in your code
2.) You might be able to do something like this (untested):

int k = 0;
for (int i=sizeof(results.value); i>0; i--)
{
  byte sendByte = results.value >> (8 * k);
  k++;
  
  Serial.write(sendByte);
}

Might be a bit confusing. I painted a Little Picture to understand what i mean. (The reason i just dont take the old ones Data is cause the remote for it to send is by far weaker)

I really need to still learn yes. Im just really new and never have been into Programming and Arduinos before.

The Thing is the Hex / Data i want to send ISNT the hex/data i recieve from the IR reciever.

As example the ON button on the remote sends 0x4FB40BF
but the ON Function of the old Strip triggers with 0xF7C03F

Edit:
somehow the Picture isnt being shown so here we go:

Edit 2:

The Serial write Always takes Pin 1 (Tx) Right? tried on Pin 1 and 3. doesnt work

but the ON Function of the old Strip triggers with 0xF7C03F

If you haven't already, figure out how to control your "old Strip". You will need to study the data sheet for it to learn the timing and format of the data transfer. Someone may have written a library to send commands.

Your program needs to detect reception of a particular signal, then send the corresponding command. It might be as simple as

 if(received_command == X) send_command(Y);

OP's picture

You show your IR receiver being powered at 3.3V but the Arduino data line is 5V.

Like rely#6, you don't know what the communication is like to "circuit" since you pulled the IR receiver off of the strip.

Oh well i cant find any Datasheet for it since there is literally no numbers or anything. Its a very simple one tho. I assumed it would just react as soon as it gets any Signals. (Yes.... i soldered Pin cables since i got reaaaaly much of those and they got a Pin end to attach any cables to so no soldering required for stable Connections)

Circuit - Album on Imgur

Yep the IR recievers works both on 3,3v and 5v but on 5v it spits out some "error HEX"

Picture:
On the left is a Power jack soldered on the back side (Nothing else on the back)

The Bottom Right Black wire is 12v and the Colored (R,G,B) wires are connected to Ground via those 3 small Transistors(2SHB) that get triggered by the ICs. (One of which is a Atmel76Q 24C02N 7 D). The Black wire on top is GND and Blue is Data, that i can connect to the IR Reciever if i want to steer them individually (1 with the good remote and one (this circuit) with the weak remote)

To your earlier Reply:

"Your program needs to detect reception of a particular signal, then send the corresponding command. It might be as simple as"

Well the case function is triggered if a signal is recieved from the Remote.
Then it does some functions and then i just Need that one function to send a specific hex to the Circuit. (On the left of the Sketch Picture)

I assumed it would just react as soon as it gets any Signals.

It will only react if it gets the correct signals. Correctness includes voltage levels and timing.

Until you solve that problem you are just wasting our time.

Hmm ok imma try to figure that out.

But softwareside the Serial.write() should definetly work with a Pin from Tx to ist Data ?

Serial.write() should definetly work with a Pin from Tx to ist Data ?

No, if the voltage levels and signal timing are wrong.

Presumably you have to send the exact same signal into the Data line, as did the original IR receiver.

Well..... I think i was too tired yesterday… I can make this way easier. Thanks for the Help and Infos tho!

Imma just hook up the old Strip data line to the IR Reciever and let the Arduino send the Code via IR Led to the same IR reciever with the different HEX Code.