Arduino连接L298n驱动板驱动小车的电机
1、L298N介绍
先来讲讲电机驱动,驱动一般使用L298N,L298N 是一种双H桥电机驱动芯片,其中每个H桥可以提供2A的电流,功率部分的供电电压范围是2.5-48v,逻辑部分5v供电,接受5vTTL电平。现在有很多成品模块卖,而且价格也不贵,很适合大家diy智能小车。L298N模块多数都是长下边这个样子,这里要注意,L298N模块12v是给模块供电,5v是输出,意思就是L298N的模块接入12V电源,同时输出5V电源可以给其他模块供电。
图:
接线
输出A和输出B: 连接小车电机
12V + : 接电池盒子的正极
GND: 接电池盒子的负极(如连了USB进行调试时,不接方形电池的DC线扣的原型)
5v+: 因为板载5V是使能的,通过杜邦线连接方形电池的DC线扣的方形部分
IN1 ~ IN4: 按顺序接 Anrduin UNO 2,3,4,5 pin 口
需要注意的一点是arduino必须和驱动板为同一电压源输入,例如我这里就是12v的电池输入,当然除了DC口也可以通过arduino上的vim口输入(在两个接地口下方)
或者
如果L298N和arduino使用不同的电源供电的话,那么需要将arduino的GND和模块上的GND连接在一起,只有这样单片机上过来的逻辑信号才有个参考0点。此点非常重要
我的代码是:
int in1 = 2;
int in2 = 3;
int in3 = 4;
int in4 = 5;
int row_speed = 100; //轮子的转速
void setup() {
// put your setup code here, to run once:
pinMode(in1,OUTPUT);
pinMode(in2,OUTPUT);
pinMode(in3,OUTPUT);
pinMode(in4,OUTPUT);
car_stop();
}
void loop() {
// put your main code here, to run repeatedly:
go();
delay(2000);
back();
delay(2000);
go_left();
delay(2000);
go_right();
delay(2000);
car_stop();
delay(2000);
}
void car_stop()
{
digitalWrite(in1,LOW);
digitalWrite(in2,LOW);
digitalWrite(in3,LOW);
digitalWrite(in4,LOW);
}
void go()
{
digitalWrite(in1,HIGH);
analogWrite(in2,row_speed);
//digitalWrite(in2,LOW);
digitalWrite(in3,LOW);
//digitalWrite(in4,HIGH);
analogWrite(in4,row_speed);
}
void back()
{
digitalWrite(in1,LOW);
analogWrite(in2,row_speed);
digitalWrite(in3,HIGH);
analogWrite(in4,row_speed);
}
void go_left()
{
digitalWrite(in1,HIGH);
analogWrite(in2,row_speed);
digitalWrite(in3,LOW);
digitalWrite(in4,LOW);
}
void go_right()
{
digitalWrite(in1,LOW);
analogWrite(in2,LOW);
digitalWrite(in3,HIGH);
analogWrite(in4,row_speed);
}
References
- arduino产生pwm波+l298n驱动小车电机的三种方式 担心车速块,那么3,5 的2个就可以通过PWM波的方式减慢车速
- Arduino 平衡车 MPU6050 L298N
- Arduino+L298N小车实例教程
- 微型直流电机控制基本方法 L298N模块
Arduino连接L298n驱动板驱动小车的电机的更多相关文章
- ESP8266 使用 DRV8833驱动板驱动N20电机
RT 手里这块ESP8266是涂鸦的板子,咸鱼上三块一个买了一堆,看ESP8266-12F引脚都差不多的.裸焊了个最小系统,加两个按钮(一个烧录,一个复位) 1. 准备工作 搜索过程中发现 DRV88 ...
- Arduino UNO开发板、Arduino CNC Shield V3.0扩展板、A4988驱动板、grbl固件使用教程
前言 CNC Shield V3.0可用作雕刻机,3D打印机等的驱动扩展板,板上一共有4路步进电机驱动模块的插槽,可驱动4路不进电机,而每一路步进电机都只需要2个IO口,也就是说,6个IO口就可以很好 ...
- Arduino CNC Shiled 和 DRV8825驱动板的注意事项
首先说明硬件:1) Arduino CNC Shiled V2.6 2)DRV8825驱动板 3)光驱步进电机 4)Arduino uno R3 下图是本次主角是Arduino CNC Shile ...
- 裸板驱动总结(makefile+lds链接脚本+裸板调试)
在裸板2440中,当我们使用nand启动时,2440会自动将前4k字节复制到内部sram中,如下图所示: 然而此时的SDRAM.nandflash的控制时序等都还没初始化,所以我们就只能使用前0~40 ...
- arm裸板驱动总结(makefile+lds链接脚本+裸板调试)
在裸板2440中,当我们使用nand启动时,2440会自动将前4k字节复制到内部sram中,如下图所示: 然而此时的SDRAM.nandflash的控制时序等都还没初始化,所以我们就只能使用前0~40 ...
- Mac OS X Yosemite & Arduino安装CH340 USB转串口驱动
新买的Arduino开发板 USB转串口使用了CH340芯片,在Mac OS X Yosemite上正常安装驱动后,在Arduino IDE的端口没发现相应的设备,使用以下方法后就能使用USB转串口调 ...
- Android开发JDBC连接mysql数据库导入驱动方法
在使用JDBC编程时需要连接数据库,导入JAR包是必须的,导入其它的jar包方法同样如此,导入的方法是 打开eclipse 1.右击要导入jar包的项目,点properties 2.左边选择java ...
- 迅为iTOP-4418/6818开发板-驱动-实现GPIO扩展
实现 GPIO 扩展,先弄清楚“复用”的概念,将调用这些 GPIO 的驱动去掉配置,重新编译,加到自己的驱动中,就可以实现扩展的 GPIO 的输入和输出.另外必须要先看文档“迅为iTOP-4418开发 ...
- RK30SDK开发板驱动分析(二):DDR频率配置
在内核配置界界面,我们可以很容易的配置DDR的频率,300M OR 600M, so easy! 那么它是如何起作用的呢? 回想 RK30SDK开发板驱动分析(一) 末尾提到MACHINE_START ...
随机推荐
- python log装饰器
def log(func): #将原函数对象的指定属性复制给包装函数对象, 默认有 module.name.doc,或者通过参数选择 @functools.wraps(func) def wrappe ...
- spring、springmvc、springboot、springcloud的联系与区别
spring和springMvc: 1. spring是一个一站式的轻量级的java开发框架,核心是控制反转(IOC)和面向切面(AOP),针对于开发的WEB层(springMvc).业务层(Ioc) ...
- 一文读懂 .NET 中的高性能队列 Channel
介绍 System.Threading.Channels 是.NET Core 3.0 后推出的新的集合类型, 具有异步API,高性能,线程安全等特点,它可以用来做消息队列,进行数据的生产和消费, 公 ...
- 一次性讲清楚spring中bean的生命周期之三:bean是如何实例化的
在前面的两篇博文<一次性讲清楚spring中bean的生命周期之一:getSingleton方法>和<一次性讲清楚spring中bean的生命周期之二:FactoryBean的前世今 ...
- 友链QAQ
队爷 : 天仙队爷%%% H 队:分块带师%%% KBY :比我小还比我强
- Kubernetes 1.13.3 部署 Prometheus+Grafana-7.5.2(最新版本踩坑)
本教程直接在 Kubernetes 1.13.3 版本上安装 Prometheus 和 Grafana-7.5.2,至于它们的原理和概念就不再赘述,这里就直接开始操作. Git 下载相关 YAML 文 ...
- C语言入门思路
C语言编程入门 0.数学中的常数在编程语言中称为常量,是一直不变的.如1,2,'a',"abc",3456,34.56等1.变量:类似于数学中的未知数.实际上就是指可用内存的一块区 ...
- 【剑指offer】77.调整数组顺序使奇数位于偶数前面
77.调整数组顺序使奇数位于偶数前面 知识点:数组:快速排序:冒泡排序: 题目描述 输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于数组的后半部 ...
- VirtualBox 修改Android x86虚拟机的分辨率
首先说明一下,本人使用的是Windows下的VirtualBox,android x86使用的是9.0-r2版本 一.查看virtualbox中已有的分辨率 启动虚拟机后,连续按两次E键,进入下面页面 ...
- 记一次 .NET 某云采购平台API 挂死分析
一:背景 1. 讲故事 大概有两个月没写博客了,关注我的朋友应该知道我最近都把精力花在了星球,这两个月时间也陆陆续续的有朋友求助如何分析dump,有些朋友太客气了,给了大大的红包,哈哈,手里面也攒了1 ...