Stepper motor controlled by remote

IH all
I am starting to pull my hair out I cannot get this to work

#include "Stepper.h"
#include "IRremote.h"

/----- Variables, Pins -----/
#define STEPS 32 // Number of steps per revolution of Internal shaft
int Steps2Take; // 2048 = 1 Revolution
int receiver = 4 ; // Signal Pin of IR receiver to Arduino Digital Pin 6

/-----( Declare objects )-----/
// Setup of proper sequencing for Motor Driver Pins
// In1, In2, In3, In4 in the sequence 1-3-2-4

Stepper small_stepper(STEPS, 8, 10, 9, 11);
IRrecv irrecv(receiver); // create instance of 'irrecv'
decode_results results; // create instance of 'decode_results'

void setup()
{
irrecv.enableIRIn(); // Start the receiver
}

void loop()
{
if (irrecv.decode(&results)) // have we received an IR signal?

{
switch(results.value)

{

  case 0xFFA857: // 1 button pressed
                  small_stepper.setSpeed(500); //Max seems to be 500
                  Steps2Take  =  256 ;  // Rotate CW
                  small_stepper.step(Steps2Take);
                  delay(2000); 
                  break;

 
  case 0xFF229D: // 3 button pressed
                  small_stepper.setSpeed(500);
                  Steps2Take  =  768 ;  // Rotate CCW
                  small_stepper.step(Steps2Take);
                  delay(2000); 
                  break;

}
}
}

Does it then compile for you?

If your library files are not in the local/sketch folder, change the double-quotes to greater-than/less-than. For example, #include <Stepper.h> and #include <IRremote.h>

Hi Mate
yes it dose the board can see the remote signal but it dose nothing
I've also tried this

#include "Stepper.h"
#include "IRremote.h"

#define STEPS 32
#define IR_BUTTON_1 12
#define IR_BUTTON_3 94
int Steps2Take;
int receiver = 12;

Stepper small_stepper(STEPS, 8, 10, 9, 11);
IRrecv irrecv(receiver);
decode_results results;

void setup() {

irrecv.enableIRIn();
const int stepsPerRevolution = 200;
Stepper myStepper(stepsPerRevolution, 8, 9, 10, 11);

myStepper.setSpeed(50);

Serial.begin(9600);
}

void loop() {

if (irrecv.decode(&results))
{
switch(results.value)
{
case 0xFF30CF:
small_stepper.setSpeed(500);
Steps2Take = 2048;
small_stepper.step(Steps2Take);
delay(2000);
break;
case 0xFF7A85:
small_stepper.setSpeed(500);
Steps2Take = -2048;
small_stepper.step(Steps2Take);
delay(2000);
break;
}
irrecv.resume();
digitalWrite(8, LOW);
digitalWrite(9, LOW);
digitalWrite(10, LOW);
digitalWrite(11, LOW);
}
}

Add Serial.println( results.value); after reading IR, and see what You've got.

Which pin is the IRremote connected to? In the code it appears connected to pin 4, but the comment says otherwise.

What version of the library are you using? The syntax has changed. Check this out: GitHub - Arduino-IRremote/Arduino-IRremote: Infrared remote library for Arduino: send and receive infrared signals with multiple protocols (Converting your 2.x program to the 4.x version).

Don't use a switch-case with 3-byte values, as this structure only handles int (2 bytes) and char: switch...case - Guía de Referencia de Arduino

#include "Stepper.h"
#include "IRremote.h"

/----- Variables, Pins -----/
#define STEPS 32 // Number of steps per revolution of Internal shaft
int Steps2Take; // 2048 = 1 Revolution
int receiver = 4; // Signal Pin of IR receiver to Arduino Digital Pin 6 //// -> Is it connected to pin 4 or 6??
/-----( Declare objects )-----/
// Setup of proper sequencing for Motor Driver Pins
// In1, In2, In3, In4 in the sequence 1-3-2-4

Stepper small_stepper(STEPS, 8, 10, 9, 11);
IRrecv irrecv(receiver); // create instance of 'irrecv'
decode_results results; // create instance of 'decode_results'

void setup() {
  Serial.begin(9600);
  irrecv.enableIRIn(); // Start the receiver
}

void loop() {
  unsigned long irValue = 0;
  if (irrecv.decode( & results)) {
	  
    irValue = results.value;
    Serial.println(irValue, HEX);
	
    if (irValue == 0xFFA857) { // 1 button pressed
      small_stepper.setSpeed(500); //Max seems to be 500
      Steps2Take = 256; // Rotate CW
      small_stepper.step(Steps2Take);
      delay(2000);
    } else if (irValue == 0xFF229D) { // 3 button pressed
      small_stepper.setSpeed(500);
      Steps2Take = 768; // Rotate CCW
      small_stepper.step(Steps2Take);
      delay(2000);
    }
  }
  irrecv.resume(); //// -> You need it to receive the next value
}

I have been switching between both pins to see if I can get a result. my library is up to date.
thanks for the advice