59 lines
1.6 KiB
C++
Executable File
59 lines
1.6 KiB
C++
Executable File
//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 = 12; // 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: // VOL+ button pressed
|
|
small_stepper.setSpeed(500); //Max seems to be 500
|
|
Steps2Take = 2048; // Rotate CW
|
|
small_stepper.step(Steps2Take);
|
|
delay(2000);
|
|
break;
|
|
|
|
case 0xFF629D: // VOL- button pressed
|
|
small_stepper.setSpeed(500);
|
|
Steps2Take = -2048; // Rotate CCW
|
|
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 -- */
|