Winter Bootcamp in ML and IoT in Jaipur
 Course content (For Bootcamp & Winter Training):- Machine Learning (ML) || Internet of Things (IoT) || Register for winter bootcamp
0 like 0 dislike
in Tutorial & Interview questions by (3.3k points)

1 Answer

0 like 0 dislike
by (3.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")









Winter 10 Days boot-camp classes(7 HRS Daily) will start from 5, 20 & 27 December 2019 in:
1) Internet of things(IoT) Using RASPBERRY-PI
2) Machine Learning (ML)

70% OFF| Fee-INR 3,000/-

Limited seats!! Hurry up!!

[[ CALL - 07976731765 ]]

Some Study Resources are compiled from original Stack Overflow Documentation, the content is developed by the different experts at Stack Overflow. Study resources are released under Creative Commons BY-SA. Images may be copyright of their respective owners. This website is for self-learning and not affiliated with Stack Overflow. All trademarks and registered trademarks are the property of their respective company owners. Please send feedback and corrections to

Goeduhub Important Lists Our Youtube Channels (For free E-learning)
About Us List of IITs Goeduhub Technologies
Contact Us List of NITs AI and Big Data-HADOOP E-Learning Series
  List of PSUs Smart Learning PLC-SCADA, IoT and Raspberry-PI
  List of Exams After Graduation