Hi, trying to solve, but a bit out of my league to be honest. 
This line:
‘‘currentStepperPosition += Steps2Take;’’
So, if I am right, currentStepperPosition gets updated like x=x+y. plus 14 adds and -14 subtracts to currentStepperPosition…
Transmittercode:
#include "Stepper.h"
#include "IRremote.h"
#include <SPI.h>
#include <nRF24L01.h>
#include <RF24.h>
#define pin1 4//these are the Arduino pins that we use to activate coils 1-4 of the stepper motor
#define pin2 5
#define pin3 6
#define pin4 7
const byte homeButton = 2;
byte hBval; // new variable
#define STEPS 32 // Number of steps per revolution of Internal shaft
int Steps2Take; // 2048 = 1 Revolution
#define CE_PIN 9
#define CSN_PIN 10
//Variabel met het adres van het kanaal waardoor het zal worden verzonden
byte direccion[5] ={'c','a','n','a','l'};
//creamos el objeto radio (NRF24L01)
RF24 radio(CE_PIN, CSN_PIN);
//vector met de te verzenden gegevens
float datos[3];
int receiver = 3; // Signal Pin of IR receiver to Arduino Digital Pin 6
int IRcode;
int currentStepperPosition;
Stepper small_stepper(STEPS, 4, 5, 6, 7);
IRrecv irrecv(receiver); // create instance of 'irrecv'
decode_results results; // create instance of 'decode_results'
// Stepper
#define delaytime 3
void setup() {
// initialize the 8 pin as an output:
pinMode(pin1, OUTPUT);
pinMode(pin2, OUTPUT);
pinMode(pin3, OUTPUT);
pinMode(pin4, OUTPUT);
pinMode(homeButton, INPUT_PULLUP);
Serial.begin(9600);
irrecv.enableIRIn(); // Start the receiver
Serial.println("Homing......");
stepperHome();
Serial.println("Homed to Open (Drain) position");
Serial.println(" ");
//initialiseren van de NRF24L01
radio.begin();
//initialiseren van de seriele poort
Serial.begin(9600);
//We openen een schrijfkanaal
radio.openWritingPipe(direccion);
}
void stepperHome()
{
hBval = digitalRead(homeButton);
int hm = 0;
while (hBval == HIGH )
//while ( hm < 200 )
{
//backwards slowly till it hits the switch and stops
backward();
digitalWrite(13, LOW);
hBval = digitalRead(homeButton);
hm ++;
Serial.println(hm);
if ( hm > 600){ //Timed exit if switch malfunctions
break;
}
}
digitalWrite(13, HIGH); //
delay(400);
stukjeomhoog(10);
digitalWrite(13, LOW);
//
}
void loop(){
if (irrecv.decode(&results)) // have we received an IR signal?
{
switch(results.value)
{
case 0x77E1505E: // UP button pressed
small_stepper.setSpeed(100); //Max seems to be 700
Steps2Take = 14; // Rotate CW
small_stepper.step(Steps2Take);
delay(50);
step_OFF();
break;
case 0x77E1305E: // DOWN button pressed
small_stepper.setSpeed(100);
Steps2Take = -14; // Rotate CCW
small_stepper.step(Steps2Take);
delay(50);
step_OFF();
break;
case 0xFFFFFFFF: // DOWN button pressed
small_stepper.setSpeed(100);
Steps2Take = -14; // Rotate CCW
small_stepper.step(Steps2Take);
delay(10);
step_OFF();
break;
if (IRcode == 0x77E1505E) {
Steps2Take = 14;
} else if (IRcode == 0x77E1305E) {
Steps2Take = -14;
}
small_stepper.step(Steps2Take);
currentStepperPosition += Steps2Take;
}
irrecv.resume(); // receive the next value
}
datos[0]=currentStepperPosition; //we laden de gegevens in de gegevensvariabele[]
//we sturen de gegevems
bool ok = radio.write(datos, sizeof(datos));
//we rapporteren de verzonden gegevens via de seriële poort
if(ok)
{
Serial.print("Gegevens verzonden: ");
Serial.print(datos[0]);
}
else
{
Serial.println("kon niet verzenden");
}
//delay(1000);
}
void stukjeomhoog(int steptemp){
step_OFF(); //turning all coils off
// steptemp = numberOfSteps;
while(steptemp>0){
forward(); //going forward
steptemp -- ;//counting down the number of steps
}
step_OFF();
}
//these functions set the pin settings for each of the four steps per rotation of the motor (keep in mind that the motor in the kit is geared down,
//i.e. there are many steps necessary per rotation
void Step_A(){
digitalWrite(pin1, HIGH);//turn on coil 1
digitalWrite(pin2, LOW);
digitalWrite(pin3, LOW);
digitalWrite(pin4, LOW);
}
void Step_B(){
digitalWrite(pin1, LOW);
digitalWrite(pin2, HIGH);//turn on coil 2
digitalWrite(pin3, LOW);
digitalWrite(pin4, LOW);
}
void Step_C(){
digitalWrite(pin1, LOW);
digitalWrite(pin2, LOW);
digitalWrite(pin3, HIGH); //turn on coil 3
digitalWrite(pin4, LOW);
}
void Step_D(){
digitalWrite(pin1, LOW);
digitalWrite(pin2, LOW);
digitalWrite(pin3, LOW);
digitalWrite(pin4, HIGH); //turn on coil 4
}
void step_OFF(){
digitalWrite(pin1, LOW); //power all coils down
digitalWrite(pin2, LOW);
digitalWrite(pin3, LOW);
digitalWrite(pin4, LOW);
}
//these functions run the above configurations in forward and reverse order
//the direction of a stepper motor depends on the order in which the coils are turned on.
void forward(){//one tooth forward
Step_A();
delay(delaytime);
Step_B();
delay(delaytime);
Step_C();
delay(delaytime);
Step_D();
delay(delaytime);
}
void backward(){//one tooth backward
Step_D();
delay(delaytime);
Step_C();
delay(delaytime);
Step_B();
delay(delaytime);
Step_A();
delay(delaytime);
}