#include const int IR_PIN = 2; IRrecv irrecv(IR_PIN); decode_results results; // Пины драйвера MX1508 const int LEFT_IN1 = 5; const int LEFT_IN2 = 6; const int RIGHT_IN1 = 9; const int RIGHT_IN2 = 10; void setup() { irrecv.enableIRIn(); pinMode(LEFT_IN1, OUTPUT); pinMode(LEFT_IN2, OUTPUT); pinMode(RIGHT_IN1, OUTPUT); pinMode(RIGHT_IN2, OUTPUT); } void loop() { if (irrecv.decode(&results)) { unsigned long code = results.value; if (code == 0xFF18E7) { forward(); } else if (code == 0xFF4AB5) { backward(); } else if (code == 0xFF10EF) { left(); } else if (code == 0xFF5AA5) { right(); } else if (code == 0xFF38C7) { stopMotors(); } irrecv.resume(); } } void forward() { digitalWrite(LEFT_IN1, HIGH); digitalWrite(LEFT_IN2, LOW); digitalWrite(RIGHT_IN1, HIGH); digitalWrite(RIGHT_IN2, LOW); } void backward() { digitalWrite(LEFT_IN1, LOW); digitalWrite(LEFT_IN2, HIGH); digitalWrite(RIGHT_IN1, LOW); digitalWrite(RIGHT_IN2, HIGH); } void left() { digitalWrite(LEFT_IN1, LOW); digitalWrite(LEFT_IN2, HIGH); digitalWrite(RIGHT_IN1, HIGH); digitalWrite(RIGHT_IN2, LOW); } void right() { digitalWrite(LEFT_IN1, HIGH); digitalWrite(LEFT_IN2, LOW); digitalWrite(RIGHT_IN1, LOW); digitalWrite(RIGHT_IN2, HIGH); } void stopMotors() { digitalWrite(LEFT_IN1, LOW); digitalWrite(LEFT_IN2, LOW); digitalWrite(RIGHT_IN1, LOW); digitalWrite(RIGHT_IN2, LOW); }