Управление танком пультом от телевизора
- Войдите на сайт для отправки комментариев
Ср, 20/05/2015 - 20:14
Есть код для подключения управления через 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);
}
}
}