/* Скетч для простого робота управляемого с пульта от телевизора © MODELMEN.RU */ #include int RECV_PIN = 11; IRrecv irrecv(RECV_PIN); decode_results results; int val = 0; int led = 13; int motor_left_1 = 2; int motor_left_2 = 3; int motor_right_1 = 4; int motor_right_2 = 5; int motor_clean_1 = 6; int motor_clean_2 = 7; int motor_turbo_1 = 8; int motor_turbo_2 = 9; void setup() { pinMode(motor_left_1, OUTPUT); pinMode(motor_left_2, OUTPUT); pinMode(motor_right_1, OUTPUT); pinMode(motor_right_2, OUTPUT); pinMode(motor_clean_1, OUTPUT); pinMode(motor_clean_2, OUTPUT); pinMode(motor_turbo_1, OUTPUT); pinMode(motor_turbo_2, OUTPUT); pinMode(led, OUTPUT); Serial.begin(9600); irrecv.enableIRIn(); // Start the receiver } void loop() { if (irrecv.decode(&results)) { val = results.value; Serial.println(val, HEX); irrecv.resume(); // Receive the next value if(val == 0xFFFFF044)//top { digitalWrite(motor_left_1, HIGH); digitalWrite(motor_right_1, HIGH); digitalWrite(led, HIGH); } else if(val == 0x1EE8)//right { digitalWrite(motor_left_1, HIGH); digitalWrite(motor_right_2, HIGH); digitalWrite(led, HIGH); } else if(val == 0xFFFF9D82)//left { digitalWrite(motor_left_2, HIGH); digitalWrite(motor_right_1, HIGH); digitalWrite(led, HIGH); } else if(val == 0xFFFFB646)//bottom { digitalWrite(motor_left_2, HIGH); digitalWrite(motor_right_2, HIGH); digitalWrite(led, HIGH); } else if(val == 0xFFFFE8C4)//p+ { digitalWrite(motor_left_1, HIGH); digitalWrite(motor_right_1, HIGH); digitalWrite(motor_clean_1, HIGH); digitalWrite(led, HIGH); } else if(val == 0x7928)//p- { digitalWrite(motor_left_1, HIGH); digitalWrite(motor_right_1, HIGH); digitalWrite(motor_clean_2, HIGH); digitalWrite(led, HIGH); } else if(val == 0x3A46)//v+ { digitalWrite(motor_clean_1, HIGH); } else if(val == 0xFFFF9366)//v- { digitalWrite(motor_clean_2, HIGH); } else{ digitalWrite(motor_turbo_1, LOW); digitalWrite(motor_turbo_2, LOW); digitalWrite(motor_right_1, LOW); digitalWrite(motor_right_2, LOW); digitalWrite(motor_left_1, LOW); digitalWrite(motor_left_2, LOW); digitalWrite(motor_clean_1, LOW); digitalWrite(motor_clean_2, LOW); digitalWrite(led, LOW); } } }