Управление танком пультом от телевизора

Нет ответов
ActinUranium
Offline
Зарегистрирован: 20.05.2015

Есть код для подключения управления через Bluetooth. Помогите переделать по IR-порт, чтобы можно было управлять пультом ДУ.

Код:

int val;
int IN1 = 4;
int IN2 = 2;
int EN1 = 3;
int EN2 = 5;
int LED = 13;

void setup()
{
  Serial.begin(9600);
  pinMode(IN1, OUTPUT);
  pinMode(IN2, OUTPUT);
  pinMode(EN1, OUTPUT);
  pinMode(EN2, OUTPUT);

  //используем 13 пин как индикатор включённой ардуины
  pinMode(LED, OUTPUT);
  digitalWrite(LED, HIGH);

}
void loop()
{
  if (Serial.available())
  {
    val = Serial.read();

    // Задаём движение вперёд
    if (val == 'W') // При нажатии клавиши "W"
    {
      // Выводы конфигурируются согласно раьоте Motor Shield'а
      // Моторы крутятся вперед
      digitalWrite(EN1, HIGH);
      digitalWrite(EN2, HIGH);
      digitalWrite(IN1, HIGH);
      digitalWrite(IN2, HIGH);
    }

    // Задаём движение назад
    if ( val == 'S')
    {
      digitalWrite(EN1, HIGH);
      digitalWrite(EN2, HIGH);
      digitalWrite(IN1, LOW);
      digitalWrite(IN2, LOW);
    }

    // Задаём движение вправо
    if ( val == 'D')
    {
      digitalWrite(EN1, HIGH);
      digitalWrite(EN2, HIGH);
      digitalWrite(IN1, HIGH);
      digitalWrite(IN2, LOW);
    }

    // Задаём движение влево
    if ( val == 'A')
    {
      digitalWrite(EN1, HIGH);
      digitalWrite(EN2, HIGH);
      digitalWrite(IN1, LOW);
      digitalWrite(IN2, HIGH);
    }

    // Стоп режим
    // При отпускании клавиш в программе в порт шлется "T"
    if ( val == 'T') // При нажатии клавиши "T"
    {
      // Выводы ENABLE притянуты к минусу, моторы не работают
      digitalWrite(EN1, LOW); 
      digitalWrite(EN2, LOW);
    }
  }
}