arduino nano基于超声波的平衡小车

使用arduino nano,搭配普通香蕉电机和驱动模块,结合超声波传感器,制作了一款低成本的两轮平衡小车。硬件组装简单,通过调节滑动变阻器设置PID参数。软件部分采用PID库实现稳定控制,代码可在指定GitHub仓库找到,欢迎提出优化建议。
摘要由CSDN通过智能技术生成

在网上一直看到两轮平衡车,是通过陀螺仪的角度变化结合pid实现的
某宝上卖的平衡车也买过一个,的确是平衡能力很强,有个很大的原因是电机后装了编码器,可以比较精确的得到和控制轮子走的距离。
但价格贵呀。。。
所以我们就用arduino+普通的香蕉电机+驱动模块+超声波做一个两轮平衡车。
首先是硬件组装,这部分很简单,就是拿个电路板把电机和轮子装好,然后在上方布局nano板,电池,最好放置的时候就让重量均匀分在轮子两侧,别压在一侧,想平衡也平衡不了啊。
在板子上装三个滑动变阻器,用来调节小车的pid参数。
简单的硬件就是这样。
代码部分,本来想自己写pid的,结果写了自己的,然后和pid库的结果对比,发现还是用pid库比较稳一点。
用到的库可以在https://github.com/br3ttb/Arduino-PID-Library中下载

#include <PID_v1.h>
#include <SR04.h>         //引入超声波头文件
#define PID_P  A4
#define PID_I  A5
#define PID_D  A6
int Motor_1A = 3;           //左电机
int Motor_1B = 4;
int Motor_2A = 6;           //右电机
int Motor_2B = 5;
double Len_filter = 0, Len_0 = 200; //测距滤波,机械平衡距离''
unsigned int TrigPin = 8; //HC-SR04触发信号
unsigned int EchoPin = 7; //HC-SR04回波检测
unsigned int Len_Echo = 0
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值