Загрузка данных


// подключение библиотеки для работы с ИК-приёмником
#include <IRremote.h>
// указание пина, к которому подключен ИК-приёмник
const byte IR_RECEIVE_PIN = 8;

void setup() 
{
  Serial.begin(9600); 
//активация режима приема ИК-сигналов
  IrReceiver.begin(IR_RECEIVE_PIN, ENABLE_LED_FEEDBACK);
//правый
    pinMode(5, OUTPUT);
    pinMode(6, OUTPUT);
 //левый
    pinMode(9, OUTPUT);
    pinMode(10, OUTPUT);    
}

void forward(int time)
{//вперед
 digitalWrite(5, 1);
 digitalWrite(6, 0);
 digitalWrite(9, 1);
 digitalWrite(10, 0);
 delay(time);
}
void backward(int time)
{//назад
 digitalWrite(5, 0);
 digitalWrite(6, 1);
 digitalWrite(9, 0);
 digitalWrite(10, 1);
 delay(time);
}
void stop(int time)
{//стоп
digitalWrite(5, 0);
digitalWrite(6, 0);
digitalWrite(9, 0);
digitalWrite(10, 0);
delay(time);
}
void left(int time)
{//налево
 digitalWrite(5, 1);
 digitalWrite(6, 0);
 digitalWrite(9, 0);
 digitalWrite(10, 1);
 delay(time);
}
void right(int time)
{//направо
 digitalWrite(5, 0);
 digitalWrite(6, 1);
 digitalWrite(9, 1);
 digitalWrite(10, 0);
 delay(time);
}

void loop()
{ 
// проверка получения сигнала, // если сигнал пришёл, то выполняется код
  if (IrReceiver.decode())
  {
    // вывод в монитор порта сырых данных
    // в десятичном формате
    Serial.println(IrReceiver.decodedIRData.decodedRawData);
   
    // вывод справочной информации
    //IrReceiver.printIRResultShort(&Serial);
    
    // подготовка приемника к приему следующего сигнала
    IrReceiver.resume();

     if(IrReceiver.decodedIRData.decodedRawData==4049) 
     {
     forward(300);
     stop(10);
     }   
     if(IrReceiver.decodedIRData.decodedRawData==4051) 
     {
     backward(300);
     stop(10);
     } 
     if(IrReceiver.decodedIRData.decodedRawData==4052) 
     {
     left(100);
     stop(10);
     } 
     if(IrReceiver.decodedIRData.decodedRawData==4050) 
     {
     right(100);
     stop(10);
     } 
  }
}