当前位置:首页 > 科学研究 > 电子编程 > 正文内容

Arduino Project 016 - L293D Motor Driver IC

RonWang1年前 (2024-09-03)电子编程801

In the previous project, you used a transistor to control the motor. In this project, you are going to use a very popular motor driver IC called an L293D. The advantage of using this chip is that you can control two motors at the same time, plus you can control their direction. The chip can also be used to control a stepper motor, as you will find out in Project 28. (You can also use a pin-for-pin compatible chip known as the SN754410, which has a higher current rating.) Notice anything missing from the parts list  Diodes, perhaps? Not to worry; the IC has its own internal diodes, so you do not need one for this project.

项目Project 16  Using an L293D Motor Driver IC 

/* Coding Ron Wang
   Sep.3rd 2024
   Autaba support for coding hardware
 */
// Project 16 - Using an L293D Motor Driver IC
#define switchPin 2 // switch input
#define motorPin1 3 // L293D Input 1
#define motorPin2 4 // L293D Input 2
#define speedPin 9 // L293D enable Pin 1
#define potPin 0 // Potentiometer on Analog Pin 0
int Mspeed = 0; // a variable to hold the current speed value

void setup() {
//set switch pin as INPUT
pinMode(switchPin, INPUT);
// set remaining pins as outputs
pinMode(motorPin1, OUTPUT);
pinMode(motorPin2, OUTPUT);
pinMode(speedPin, OUTPUT);
}

void loop() {
 Mspeed = analogRead(potPin)/4; // read the speed value from the potentiometer
 analogWrite(speedPin, Mspeed); // write speed to Enable 1 pin
 if (digitalRead(switchPin)) { // If the switch is HIGH, rotate motor clockwise
 digitalWrite(motorPin1, LOW); // set Input 1 of the L293D low
 digitalWrite(motorPin2, HIGH); // set Input 2 of the L293D high
 }
 else { // if the switch is LOW, rotate motor anti-clockwise
 digitalWrite(motorPin1, HIGH); // set Input 1 of the L293D low
 digitalWrite(motorPin2, LOW); // set Input 2 of the L293D high
 }
}

Arduino L293D Motor Driver IC Circuit

Arduino L293D Motor Driver IC Schematic

版权声明:本文为原创文章,版权归donstudio所有,欢迎分享本文,转载请保留出处!

本文链接:http://parentscn.com/?id=266

标签: Arduino

相关文章

Arduino Project 015 - Simple Motor Control

Arduino Project 015 - Simple Motor Control

First, you’re going to simply control the speed of a DC motor in one direction, using a power transi...

C语言调试运行环境Pelles C的安装

C语言调试运行环境Pelles C的安装

C语言调试运行环境之TurboC一文介绍了在32位Windows系统下安装C语言运行环境之TubroC,但是由于TurobC只能在32位系统下运行,导致现在很多Windows10和Windows 11...

Arduino Project 023B - Liquid Crystal Displays -Blink and Cursor

Arduino Project 023B - Liquid Crystal Displays -Blink and Cursor

Before wiring the LCD screen to your Arduino board we suggest to solder a pin header strip to the 14...

Arduino Project 009 - LED Fire Effect

Arduino Project 009 - LED Fire Effect

Project 9 will use LEDs and a flickering random light effect, via PWM again, to mimic the effect of...

Arduino Project 023 - Liquid Crystal Displays - Hello World

Arduino Project 023 - Liquid Crystal Displays - Hello World

Before wiring the LCD screen to your Arduino board we suggest to solder a pin header strip to the 14...

Arduino Project 030B - MX1508 H-Driver Motor

Arduino Project 030B - MX1508 H-Driver Motor

MX1508 H-BridgeDual Motor DriverThe driver can drive up to two motors. The H-Bridge dual motor drive...