(第一次写博客,记录下自己大一时做的一个课设,如有不妥之处,还望多多包容)
一、前言
项目背景
我国南方大部分高校宿舍均是上床下桌模式,学生上下床需要攀爬梯子,多有不便,容易使学生在心理上抵触早起(doge),且容易引发安全问题。综合诸多考虑与相应调研,我们希望能够制作出一款宿舍升降机为同学们提供更方便安全的上下床方式。
但是由于时间、技术有限,现以模型的方式呈现。
摘要
本设计采用Arduino uno R3开发板作为主控,结合FSR402压力传感器、红外避障传感器、L298N电机驱动模块实现了一个可以自动升降、自动停止、自动调速的宿舍升降机模型系统。
二、系统架构
实现原理
从网上购买了一款科学教育益智模型,在上面进行改装,将其原有的有线控制器改为压力控制。思路是利用压力传感器检测是否有物体以及物体重量,以此控制电机是否转动和转动的速度。并在升降机轨道的顶部和底部安装红外检测模块,判断电机位置,进而控制电机转动方向。
利用单片机进行核心控制,最终实现自动升降与根据压力调速的功能
硬件设计:
1.模块分析
模型主体:某科学教育益智模型(木制升降机模型)
单片机处理器:Arduino uno R3开发板
红外检测模块:某宝购买的红外避障传感器
检测距离2-30cm,顺时针调电位器,检测距离增加;逆时针调电位器,检测距离减小,检测角35度。
压力传感模块:FSR402压力传感器、线性电压转换模块
检测压力有无;利用配套的线性电压转换模块实现PWM调速
电机驱动:L298N电机驱动模块
接受Arduino信号,通过控制高低电平来调整电机转向
2. 硬件框图与实物连接图
软件设计:
1.开发平台
使用Arduino IDE进行软件开发。
其采用C/C++编程,基本语法与C/C++一致,但将主函数main()分成了初始化函数setup()和主循环loop()
准备阶段 | 准备阶段 |
初始化阶段setup() | 执行一次 |
执行阶段loop() | 循环执行 |
#include<>
#define
……
void setup()
{
……
}
void loop()
{
……
}
2.软件流程
3.代码实现
(1)引脚、变量设置
(2)setup()中设置引脚模式
(3)代码主体loop() 调用状态检测函数,循环运行
(4)驱动模块控制电机
(5)检测压力并进行数值转化
(6)状态检测函数state()
最终实物
总结展望
- 在小组成员共同努力下,基本实现项目目标
- 对Arduino uno开发板、L298N等硬件模块有了更深入的了解
- 对arduino ide的使用与代码编写积攒一定实操经验
- 产品美观程度与运行稳定性有待提高
- 所用材料有待改进
- 可尝试加入其他功能,如蓝牙控制
参考资料
(25条消息) Arduino实践详细说明(三)L298N驱动直流电机_GuanFuXinCSDN的博客-CSDN博客_l298n控制直流电机
(25条消息) L298N模块的使用介绍_努力挣扎的小菜菜的博客-CSDN博客
(25条消息) 使用Arduino与L298N(红板) 驱动直流电机_凌顺实验室-CSDN博客_l298n