Finance[US] Career Guide Free Tutorials Go to Your University Placement Preparation 
0 like 0 dislike
in Tutorial & Interview questions by Goeduhub's Expert (9.3k points)
DC Motor Control With Raspberry Pi and L293D

1 Answer

0 like 0 dislike
by Goeduhub's Expert (9.3k points)
selected by
Best answer


          DC Motor is the equipment which converts electrical power to mechanical power. DC motors are fast and continuous rotation motors mainly used for anything that needs to rotate at a high rotation per minute (RPM). DC Motors are used in car wheels, fans etc.

In this project we will use L293D motor driver IC to control the motor and that allows the motor to rotate in both the direction. The L293D is designed to provide bidirectional drive currents of up to 600-mA at voltages from 4.5 V to 36 V.


              The L293D motor IC uses two pins referred to as inputs to sense the desired direction of the output, and another pin called Enable to sense On/Off. So, in our code, with the Enable pin On, if we want the motor to spin forward, we'll set input 1 to 'True' or 'HIGH', and input 2 to 'False' or 'LOW'. And if we want it to spin backwards, we'll set input 1 to 'False" or 'LOW' and input 2 to 'True' or "HIGH'. If both inputs are True or both are False, the motor will not run. 

The motor needs about 400 mA current to start, so use external power. Don’t connect motor directly to Raspberry-PI’s GPIO pins, otherwise your PI will be damage.



Motor with L293D to Raspberry-pi-IoT-Training-in-Jaipur

  1. Pin1 and Pin9 are "Enable" pins. If they pulled low (GND), then the outputs will be turned off regardless of the input states, stopping the motors.
  2. Pin4, Pin5, Pin12 and Pin13 are ground pins which should ideally be connected to Ground pin (Pin no. 6, 9, 14, 20, 25, 30, 34 or 39) of Raspberry-PI
  3. Pin2, Pin7, Pin10 and Pin15 are logic input pins. These are control pins which should be connected to Raspberry PI’s GPIO Pins. Pin2 and Pin7 control the first motor (left); Pin10 and Pin15 control the second motor(right).
  4. Pin3, Pin6, Pin11, and Pin14 are output pins. Tie Pin3 and Pin6 to the first motor, Pin11 and Pin14 to second motor.
  5. Pin16 powers the IC and it should be connected to +5 V Pin (Pin no. 2 or 4) of Raspberry-PI
  6. Pin8 powers the two motors and should be connected to positive lead of a secondary battery. As per the datasheet, supply voltage can be as high as 36 Volts.

Python Program:-

import RPi.GPIO as GPIO

import time


GPIO.setup(5,GPIO.OUT)   #Left motor input A

GPIO.setup(7,GPIO.OUT)   #Left motor input B

GPIO.setup(11,GPIO.OUT)  #Right motor input A

GPIO.setup(13,GPIO.OUT)  #Right motor input B

GPIO.setup(40,GPIO.OUT)  # for enable

GPIO.setup(38,GPIO.OUT)  # for enable



while i<1:

        print("Rotating both motors in clockwise direction")







        time.sleep(5)     #five second delay

       print("Rotating both motors in anticlockwise direction")









Learn & Improve In-Demand Data Skills Online in this Summer With  These High Quality Courses[Recommended by GOEDUHUB]:-

Best Data Science Online Courses[Lists] on:-

Claim your 10 Days FREE Trial for Pluralsight.

Best Data Science Courses on Datacamp
Best Data Science Courses on Coursera
Best Data Science Courses on Udemy
Best Data Science Courses on Pluralsight
Best Data Science Courses & Microdegrees on Udacity
Best Artificial Intelligence[AI] Courses on Coursera
Best Machine Learning[ML] Courses on Coursera
Best Python Programming Courses on Coursera
Best Artificial Intelligence[AI] Courses on Udemy
Best Python Programming Courses on Udemy

Related questions

 Important Lists:

Important Lists, Exams & Cutoffs Exams after Graduation PSUs


About Us | Contact Us || Terms & Conditions | Privacy Policy ||  Youtube Channel || Telegram Channel © Social::   |  | 


Free Online Directory