一、本节介绍
在本实验中,您将学习如何使用驱动芯片L293D和SunFounder Uno板控制小型直流(DC)电机的方向和速度。为了使初学者更容易,我们将让直流电机左右旋转,自动加速和减速。
二、材料准备
1 *小型直流电机
1 * L293D
1 * Arduino Uno板
1 *面包板
1 * USB数据线
杜邦线
三、原理讲解
L293D
这是一个非常实用的芯片,可以独立控制两台直流电机。在这个实验中,只有一半的芯片被使用。由于芯片右侧的大多数引脚用于控制第二个电机,因此不会在此使用。
L293D有两个引脚(Vcc1和Vcc2)供电。Vcc2用于为电机供电,而Vcc1为芯片供电。由于这里使用小型直流电机,请将两个引脚连接到+ 5V。如果使用大功率电机,请将Vcc2连接到外部电源。同时,L293D的GND应连接到Arduino Uno板的GND。
直流电机规格
电压:3-6V
主要尺寸:长25mm,厚15mm,宽20mm
电机轴长度:9mm,轴径2mm
额定电压:3v
参考电流:0.35-0.4A
3v旋转速度:13000 RPM
四、实验步骤
步骤1:建立电路
原理图
步骤2:编写程序
步骤3:编译代码
步骤4:将程序上传到Arduino Uno板
直流电机的叶片将以相应的速度开始左右旋转。
本节课程序:
/**************************************/
//直流电机控制
//直流电机将开始向左和向右旋转,其速度将相应变化
//网址http://www.qutaojiao.com/category/course/arduino
//2017.10.17
/***************************************/
const int motorIn1 = 9; // 电机的一个引脚连接到引脚9
const int motorIn2 = 10; // 电机的另一个引脚连接到引脚10
/***************************************/
/****************************************/
//驱动电机的功能顺时针旋转
void clockwise(int Speed)
{
analogWrite(motorIn1, Speed); ///设置电机的速度
analogWrite(motorIn2, 0); //停止电机的motorIn2引脚
}
//驱动电机的功能逆时针
void counterclockwise(int Speed)
{
analogWrite(motorIn1, 0); //停止电机的motorIn1引脚writeWrite
analogWrite(motorIn2, Speed); //设置电机的速度
}
void setup()
{
pinMode(motorIn1, OUTPUT); //将motorIn1引脚初始化为输出引脚模式
pinMode(motorIn2, OUTPUT); //将motorIn2引脚初始化为输出
}
/****************************************/
void loop()
{
clockwise(200); //顺时针旋转
delay(1000);
counterclockwise(200); //逆时针旋转
delay(1000);
}
/****************************************/
设备:
暂无设备
平台:
ESP32 Dev Module
ESP32 Wrover Module
Node32s
Nano32
AI Thinker ESP32-CAM
ALKS ESP32
Adafruit ESP32 Feather
BPI-BIT
D-duino-32
Dongsen Tech Pocket 32
ESP32 FM DevKit
ESP32 Pico Kit
ESP32vn IoT Uno
ESPea32
ESPectro32
Electronic SweetPeas - ESP320
FireBeetle-ESP32
Frog Board ESP32
Heltec WiFi Kit 32
Heltec WiFi LoRa 32
Heltec WiFi LoRa 32(V2)
Heltec Wireless Stick
Hornbill ESP32 Dev
Hornbill ESP32 Minima
LOLIN D32
LOLIN D32 PRO
LoPy
LoPy4
M5Stack-Core-ESP32
M5Stack-FIRE
M5Stick-C
MH ET LIVE ESP32DevKIT
MH ET LIVE ESP32MiniKit
MagicBit
Microduino-CoreESP32
NodeMCU-32S ">Node32s
Noduino Quantum
ODROID ESP32
OLIMEX ESP32-DevKit-LiPo
OLIMEX ESP32-EVB
OLIMEX ESP32-GATEWAY
OLIMEX ESP32-PoE
OLIMEX ESP32-PoE-ISO
OROCA EduBot
Onehorse ESP32 Dev Module
Pycom GPy
Silicognition wESP32
SparkFun ESP32 Thing
SparkFun LoRa Gateway 1-Channel
T-Beam
TTGO LoRa32-OLED V1
TTGO T-Watch
TTGO T1
ThaiEasyElec's ESPino32
TinyPICO
Turta IoT Node
VintLabs ESP32 Devkit
WEMOS D1 MINI ESP32
WEMOS LOLIN32
WeMos WiFi&Bluetooth Battery
WiPy 3.0
Widora AIR
XinaBox CW02
u-blox NINA-W10 series (ESP32)
Generic ESP8266 Module
Generic ESP8285 Module
NodeMCU 0.9 (ESP-12 Module)
NodeMCU 1.0 (ESP-12E Module)
Arduino-ESP8266
ESPDuino (ESP-13 Module)
ESPectro Core
ESPino (ESP-12 Module)
ESPresso Lite 1.0
ESPresso Lite 2.0
LOLIN(WEMOS) D1 R2 & mini
LOLIN(WEMOS) D1 mini Lite
LOLIN(WEMOS) D1 mini Pro
Olimex MOD-WIFI-ESP8266(-DEV)
Phoenix 1.0
Phoenix 2.0
Schirmilabs Eduino WiFi
Seeed Wio Link
SparkFun Blynk Board
SparkFun ESP8266 Thing
SparkFun ESP8266 Thing Dev
SweetPea ESP-210
ThaiEasyElec's ESPino
WeMos D1 R1
WiFiduino
WifInfo
XinaBox CW01
4D Systems gen4 IoD Range
Adafruit Feather HUZZAH ESP8266
Amperka WiFi Slott
DOIT ESP-Mx DevKit (ESP8285)
Digistump Oak
ITEAD Sonoff
Invent One
Arduino Nano
Arduino Pro or Pro Mini
Arduino Uno
Arduino Uno WiFi
Arduino Mini
Arduino Mega or Mega 2560
Arduino Micro
Arduino Yun
Arduino Yun Mini
Adafruit Circuit Playground
LilyPad Arduino
LilyPad Arduino USB
Linino One
Arduino BT
Arduino Duemilanove or Diecimila
Arduino Esplora
Arduino Ethernet
Arduino Fio
Arduino Gemma
Arduino Industrial 101
Arduino Leonardo
Arduino Leonardo ETH
Arduino Mega ADK
Arduino NG or older
Arduino Robot Control
Arduino Robot Motor
Nucleo-32
Nucleo-64
Nucleo-144
Generic STM32F0 series
Generic STM32F1 series
Generic STM32F3 series
Generic STM32F4 series
Generic STM32H7 series
Generic STM32L0 series
Generic flight controllers
LoRa boards
Midatronics boards
STM32MP1 series coprocessor
Discovery
3D printer boards
Electronic speed controllers
Eval
编译
上传
/**************************************/
//直流电机控制
//直流电机将开始向左和向右旋转,其速度将相应变化
//网址http://www.qutaojiao.com/category/course/arduino
//2017.10.17
/***************************************/
const int motorIn1 = 9; // 电机的一个引脚连接到引脚9
const int motorIn2 = 10; // 电机的另一个引脚连接到引脚10
/***************************************/
/****************************************/
//驱动电机的功能顺时针旋转
void clockwise(int Speed)
{
analogWrite(motorIn1, Speed); ///设置电机的速度
analogWrite(motorIn2, 0); //停止电机的motorIn2引脚
}
//驱动电机的功能逆时针
void counterclockwise(int Speed)
{
analogWrite(motorIn1, 0); //停止电机的motorIn1引脚writeWrite
analogWrite(motorIn2, Speed); //设置电机的速度
}
void setup()
{
pinMode(motorIn1, OUTPUT); //将motorIn1引脚初始化为输出引脚模式
pinMode(motorIn2, OUTPUT); //将motorIn2引脚初始化为输出
}
/****************************************/
void loop()
{
clockwise(200); //顺时针旋转
delay(1000);
counterclockwise(200); //逆时针旋转
delay(1000);
}
/****************************************/
最后
以上就是义气御姐最近收集整理的关于86 arduino 电机yl_(八)arduino入门:直流电机控制的全部内容,更多相关86内容请搜索靠谱客的其他文章。
发表评论 取消回复