Код:
#include "GyverMotor.h"
#include "IRremote.h"
IRrecv ir(A0);
decode_results results;
GMotor motor1(DRIVER2WIRE, 2, 3, HIGH);
GMotor motor2(DRIVER2WIRE, 4, 5, HIGH);
void setSpd(int spd) {
motor1.setSpeed(spd);
motor2.setSpeed(spd);
}
void setup() {
// put your setup code here, to run once:
ir.enableIRIn();
Serial.begin(9600);
setSpd(160);
// motor1.setMode(FORWARD); // мотор 1 вперёд
// motor2.setMode(BACKWARD); // мотор 2 назад
// motor1.setSpeed(150); // скорость мотора 1
// motor2.setSpeed(150);
}
void loop() {
// put your main code here, to run repeatedly:
if (ir.decode(&results)) {
Serial.println(results.value);
if (results.value == 16718055) {
motor1.setMode(FORWARD);
motor2.setMode(FORWARD);
setSpd(160);
}
ir.resume();
}
}
После нажатия кнопки на пульте моторы запускаются, но библиотека пульта в свою очередь больше никакие сигналы не принимает. Если же удалить строку setSpd(160), библиотека не зависает, но моторы в свою очередь не запускаются. Что делать?