I can't se how those adds could cause that. Have You done any other changes somewhere?
Try this code and activate Serial monitor in the IDE, and set the baud rate to 115200. Then tell what shows up when pressing the remote.
/ www.elegoo.com
//2016.12.12
#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'
unsigned long currentPosition; // Added by Railroader
void setup()
{
irrecv.enableIRIn(); // Start the receiver
Serial.begin(115200);//open up serial communication.
}
void loop()
{
if (irrecv.decode(&results)) // have we received an IR signal?
{
------serial.println(results.value);
Serial.println(results.value, HEX); / Added by Railroader
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);
currentPosition += 256;//Added by railroader
delay(2000);
break;
case 0xFF659D: // 2 button pressed
small_stepper.setSpeed(500);
Steps2Take = 512 ; // Rotate CCW
small_stepper.step(Steps2Take);
currentPosition += 512;//Added by railroader
delay(2000);
break;
case 0xFF229D: // 3 button pressed
small_stepper.setSpeed(500);
Steps2Take = 768 ; // Rotate CCW
currentPosition += 768;//Added by railroader
small_stepper.step(Steps2Take);
delay(2000);
break;
case 0xFF449D: // 4 button pressed
small_stepper.setSpeed(500);
Steps2Take = 1024 ; // Rotate CCW
small_stepper.step(Steps2Take);
currentPosition += 1024;//Added by railroader
delay(2000);
break;
case 0xFF666D: // 5 button pressed
small_stepper.setSpeed(500);
Steps2Take = 1280 ; // Rotate CCW
small_stepper.step(Steps2Take);
currentPosition += 1280;//Added by railroader
delay(2000);
break;
case 0xFF385D: // 6 button pressed
small_stepper.setSpeed(500);
Steps2Take = 1536 ; // Rotate CCW
small_stepper.step(Steps2Take);
currentPosition += 1536;//Added by railroader
delay(2000);
break;
case 0xFF764D: // 7 button pressed
small_stepper.setSpeed(500);
Steps2Take = 1792 ; // Rotate CCW
small_stepper.step(Steps2Take);
currentPosition += 1792;//Added by railroader
delay(2000);
break;
case 0xFF843D: // 8 button pressed
small_stepper.setSpeed(500);
Steps2Take = 2048 ; // Rotate CCW
small_stepper.step(Steps2Take);
currentPosition += 2048 ;//Added by railroader
delay(2000);
break;
case 0xFF629D : // 9 button pressed
small_stepper.setSpeed(500);
Steps2Take = -currentPosition;
currentPosition = 0;
small_stepper.step(Steps2Take);
delay(2000);
break;
irrecv.resume(); // receive the next value
digitalWrite(8, LOW);
digitalWrite(9, LOW);
digitalWrite(10, LOW);
digitalWrite(11, LOW);
}
}/*
}--end main loop -- */
}
Try the code below. I added one too much of Serial.print.
You need to press some of the "old" buttons first.
The stepper is considered to be at position zero when the execution starts. Then returning to zero makes no sense, makes no movement.
/ www.elegoo.com
//2016.12.12
#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'
unsigned long currentPosition; // Added by Railroader
void setup()
{
irrecv.enableIRIn(); // Start the receiver
Serial.begin(115200);//open up serial communication.
}
void loop()
{
if (irrecv.decode(&results)) // have we received an IR signal?
{
Serial.println(results.value, HEX); / Added by Railroader
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);
currentPosition += 256;//Added by railroader
delay(2000);
break;
case 0xFF659D: // 2 button pressed
small_stepper.setSpeed(500);
Steps2Take = 512 ; // Rotate CCW
small_stepper.step(Steps2Take);
currentPosition += 512;//Added by railroader
delay(2000);
break;
case 0xFF229D: // 3 button pressed
small_stepper.setSpeed(500);
Steps2Take = 768 ; // Rotate CCW
currentPosition += 768;//Added by railroader
small_stepper.step(Steps2Take);
delay(2000);
break;
case 0xFF449D: // 4 button pressed
small_stepper.setSpeed(500);
Steps2Take = 1024 ; // Rotate CCW
small_stepper.step(Steps2Take);
currentPosition += 1024;//Added by railroader
delay(2000);
break;
case 0xFF666D: // 5 button pressed
small_stepper.setSpeed(500);
Steps2Take = 1280 ; // Rotate CCW
small_stepper.step(Steps2Take);
currentPosition += 1280;//Added by railroader
delay(2000);
break;
case 0xFF385D: // 6 button pressed
small_stepper.setSpeed(500);
Steps2Take = 1536 ; // Rotate CCW
small_stepper.step(Steps2Take);
currentPosition += 1536;//Added by railroader
delay(2000);
break;
case 0xFF764D: // 7 button pressed
small_stepper.setSpeed(500);
Steps2Take = 1792 ; // Rotate CCW
small_stepper.step(Steps2Take);
currentPosition += 1792;//Added by railroader
delay(2000);
break;
case 0xFF843D: // 8 button pressed
small_stepper.setSpeed(500);
Steps2Take = 2048 ; // Rotate CCW
small_stepper.step(Steps2Take);
currentPosition += 2048 ;//Added by railroader
delay(2000);
break;
case 0xFF629D : // 9 button pressed
small_stepper.setSpeed(500);
Steps2Take = -currentPosition;
currentPosition = 0;
small_stepper.step(Steps2Take);
delay(2000);
break;
irrecv.resume(); // receive the next value
digitalWrite(8, LOW);
digitalWrite(9, LOW);
digitalWrite(10, LOW);
digitalWrite(11, LOW);
}
}/*
}--end main loop -- */
}
IT WORKS!! thank you so much for your help!! I am definitely feeling more confident using an arduino now, I thought it was complete rocket science before lol.
I am soon going to be adding power switch to the circuit by using a driver, so may need your expertise again.
yes I used the last code, I realised I had to press the button a good 4/5 times for the stepper to start turning. It must be cause an using an elegoo board instead of an arduino. Do you think it would be worth while purchasing an real arduino board instead of the replica board?
Elego or other clones.... I have plenty of UNO clones an no one has failed yet.
Know that You need to wait for the stepper delay to end. (The delay after every stepper move execution). Maybe they can be adjusted.
I don't know the lib You used so I guessed on 500 steps per second.
Watch the serial monitor and try using longer press time. I'll check the code but I can't think of anything more.