Hi there all,
I am using an
- Uno,
- Remote control Ir reciever
- and a 28byj-48 and driver
I can get the motor to turn when I press a button and at the right speed. However I can't select any other buttons\speeds after I have pressed the first button.
/*
Created by DIYables
This example code is in the public domain
Product page: https://diyables.io/products/infrared-ir-remote-control-kit-with-21-key-controller-and-receiver
*/
#include <DIYables_IRcontroller.h> // DIYables_IRcontroller library
#include <Stepper.h>
#define IR_RECEIVER_PIN 2 // The Arduino pin connected to IR controller
#define STEPS 32
DIYables_IRcontroller_21 irController(IR_RECEIVER_PIN, 200); // debounce time is 200ms
Stepper stepper(STEPS, 8, 10, 9, 11);
void setup() {
Serial.begin(115200);
irController.begin();
}
void loop() {
Key21 command = irController.getKey();
if (command != Key21::NONE) {
switch (command) {
case Key21::KEY_CH_MINUS:
Serial.println("CH-");
stepper.setSpeed(0);
stepper.step(2000);
delay(200);
// TODO: YOUR CONTROL
break;
case Key21::KEY_CH:
Serial.println("CH");
// TODO: YOUR CONTROL
break;
case Key21::KEY_CH_PLUS:
Serial.println("CH+");
// TODO: YOUR CONTROL
break;
case Key21::KEY_PREV:
Serial.println("<<");
// TODO: YOUR CONTROL
break;
case Key21::KEY_NEXT:
Serial.println(">>");
// TODO: YOUR CONTROL
break;
case Key21::KEY_PLAY_PAUSE:
Serial.println(">||");
// TODO: YOUR CONTROL
break;
case Key21::KEY_VOL_MINUS:
Serial.println("–");
// TODO: YOUR CONTROL
break;
case Key21::KEY_VOL_PLUS:
Serial.println("+");
// TODO: YOUR CONTROL
break;
case Key21::KEY_EQ:
Serial.println("EQ");
// TODO: YOUR CONTROL
break;
case Key21::KEY_100_PLUS:
Serial.println("100+");
// TODO: YOUR CONTROL
break;
case Key21::KEY_200_PLUS:
Serial.println("200+");
// TODO: YOUR CONTROL
break;
case Key21::KEY_0:
Serial.println("0");
// TODO: YOUR CONTROL
break;
case Key21::KEY_1:
Serial.println("1");
stepper.setSpeed(50);
stepper.step(2000);
delay(200);
// TODO: YOUR CONTROL
break;
case Key21::KEY_2:
Serial.println("2");
stepper.setSpeed(60);
stepper.step(32608);
delay(200);
break;
case Key21::KEY_3:
Serial.println("3");
stepper.setSpeed(70);
stepper.step(32608);
delay(200);
break;
case Key21::KEY_4:
Serial.println("4");
stepper.setSpeed(80);
stepper.step(32608);
delay(200);
break;
case Key21::KEY_5:
Serial.println("5");
stepper.setSpeed(90);
stepper.step(32608);
delay(200);
break;
case Key21::KEY_6:
Serial.println("6");
stepper.setSpeed(100);
stepper.step(32608);
delay(200);
break;
case Key21::KEY_7:
Serial.println("7");
stepper.setSpeed(110);
stepper.step(32608);
delay(200);
break;
case Key21::KEY_8:
Serial.println("8");
stepper.setSpeed(120);
stepper.step(32608);
delay(200);
break;
case Key21::KEY_9:
Serial.println("9");
stepper.setSpeed(130);
stepper.step(32608);
delay(200);
break;
default:
Serial.println("WARNING: undefined command:");
break;
}
irController.getKey();
}
}