arduino dc motor remot contrel

 Arduino DC motor speed and direction control with L293D

المكونات واللوازم 

                            Dc motor 3v

Dc motor 3v
IC L293D

Arduino nano
IR sensor
طريقة التوصيل 



كود البرمجة 
Program

#include <IRremote.h>      //including the remote library

#define Next_button 60891  // code received from next button
#define Prev_button 49467  // code received from previous button
#define left_button 58747  // code received from left button
#define right_button 15355 // code received from right button
#define Stop_button 7611   // code received from stop button

int receiver_pin = 2;      //output pin of IR receiver to pin 2 of arduino
//initializing the pins for leds
int left_motor1 = 11;      //pin 6 of arduino to pin 7 of l293d
int left_motor2 = 12;      //pin 7 of arduino to pin 2 of l293d
int right_motor1  =6;      //pin 5 of arduino to pin 10 of l293d
int right_motor2 = 5;      //pin 4 of arduino to pin 15 of l293d

IRrecv receiver(receiver_pin); //Arduino will take output of IR receiver from pin 2
decode_results output;

void setup() {
  Serial.begin(9600);
  receiver.enableIRIn(); // Start to take the output from IR receiver
  //initializing all the pins where we have connected the led's as output pins
  pinMode(left_motor1, OUTPUT);
  pinMode(left_motor2, OUTPUT);
  pinMode(right_motor1, OUTPUT);
  pinMode(right_motor2, OUTPUT);
}

void loop() {
  if (receiver.decode(&output)) {
    unsigned int value = output.value;
    switch(value) {
      case Next_button:
           digitalWrite(left_motor1,LOW);
           digitalWrite(left_motor2,HIGH);
           digitalWrite(right_motor1,HIGH);
           digitalWrite(right_motor2,LOW);
           break;
      case Prev_button:
           digitalWrite(left_motor1,HIGH);
           digitalWrite(left_motor2,LOW);
           digitalWrite(right_motor1,LOW);
           digitalWrite(right_motor2,HIGH);
           break;
      case left_button: 
           digitalWrite(left_motor1,LOW);
           digitalWrite(left_motor2,HIGH);
           digitalWrite(right_motor1,HIGH);
           digitalWrite(right_motor2,HIGH);
           break;
      case right_button:
           digitalWrite(left_motor1,HIGH);
           digitalWrite(left_motor2,HIGH);
           digitalWrite(right_motor1,HIGH);
           digitalWrite(right_motor2,LOW);
           break;
      case Stop_button:
           digitalWrite(left_motor1,LOW);
           digitalWrite(left_motor2,LOW);
           digitalWrite(right_motor1,LOW);
           digitalWrite(right_motor2,LOW);
           break;
    }
    receiver.resume();
  }
}



تعليقات