Управление двигателем постоянного тока c ИК пульта (с использованием микросхемы L293DNE)

24.11.2011
By

Задача управления двигателем постоянного тока с помощью ИК пульта оказалась не так проста, как виделась в начале пути. Пришлось разбираться, как фридуино взаимодействует с модулем Motor Shield V3 и его библиотеками и ИК-устройствами на плате – с первого раза не запустилось, со второго тоже… В общем был выбран другой путь – драйвер двигателя L293DNE (спасибо http://www.myrobot.ru/stepbystep/el_simple_robot.php) и его интеграция с фридуино и ИК – приемником TSOP1736 . Схему приведу позже. В общем все работает – как видно из приведенного видео и фотографий.

Видео (скачать) - MAH09697_1

И фотографии:


Скетч программы (не очень много комментариев :) )

#include <IRremote.h>

int RECV_PIN = 11;
IRrecv irrecv(RECV_PIN);
decode_results results;
const int outR = 12;
const int outL = 13;

void setup()
{
  Serial.begin(9600);
  irrecv.enableIRIn(); // Start the receiver

  pinMode(outR, OUTPUT);
  pinMode(outL, OUTPUT);
}

void loop() {

  if (irrecv.decode(&results)) {
    Serial.println(results.value);

    if (results.value == 16734375)
   {
     Serial.println("R");
     digitalWrite(outR, HIGH);
     digitalWrite(outL, LOW);
   }

   if (results.value == 16740495)
   {
     Serial.println("L");
     digitalWrite(outR, LOW);
     digitalWrite(outL, HIGH);
   }

   if (results.value == 16713975)
   {
     Serial.println("stop");
     digitalWrite(outR, LOW);
     digitalWrite(outL, LOW);
   }

   irrecv.resume(); // Receive the next value

  }
}

 

 

 

 

 

 

Добавить комментарий