fbpx

Dc Motor

  • DC Motor is small in size, inexpensive and powerful. It is widely used in robotics for their small size and high energy out.
  • A typical DC motor operates at a very high speed.
  • Gear reduces the speed of the motor and increases the torque.

L293D Motor Driver

  • L293D is an H-BRIDGE dc motor controller, which can control dc motor up to 36V.
  • Driver allows dc motor to rotate in both direction, which can interface and control the two motor at a time with Raspberry pi.
  • Driver allows voltage to flow in both direction hence motor can rotate in both clockwise and anti-clockwise direction.

Hardware Required

  • Push-button.
  • Raspberry pi.
  • Breadboard.
  • DC motor.
  • L293D Motor Driver.
  • Jumper wires.

Circuit

Code

  • Create a new text file “Motor.py” by typing the following

           nano Motor.py

  • Now type the following code 
 import RPi.GPIO as GPIO
import time
GPIO.setmode(GPIO.BCM) //BCM is broadcom which specifies the actual pin number considered by broadcom chip 
GPIO.setwarnings(False) //Ignore warnings
 
button_pin=25
enable_pin=18
in1-pin=23
in2_pin=24
GPIO.setup(button_pin, GPIO.IN)  //Set pin 25 to be an input pin for push button.
GPIO.setup(enable_pin,  GPIO.OUT)
GPIO.setup(in1_pin,  GPIO.OUT)
GPIO.setup(in2_pin,  GPIO.OUT)
 
GPIO.output(enable_pin,GPIO.HIGH)  //set pin 18  to be high for driver circuit
 
if GPIO.input(button_pin) == GPIO.HIGH:
GPIO.output(in1_pin,GPIO.HIGH)   //Rotates in clockwise direction
GPIO.output(in2_pin,GPIO.LOW)
time.sleep(5)
GPIO.output(in1_pin,GPIO.LOW)    //Rotates in anti-clockwise direction
GPIO.output(in2_pin,GPIO.HIGH)
time.sleep(5)
else;
GPIO.output(in1_pin,GPIO.LOW)    //Motor turn off
GPIO.output(in2_pin,GPIO.LOW)
GPIO.cleanup()                   //To reset the pin status 
  • To run type python Motor.py in the terminal.

Leave a Reply

Your email address will not be published. Required fields are marked *