毕业设计|基于stm32单片机的app视频遥控抽水灭火小车设计
基于stm32单片机的app视频遥控抽水灭火水泵小车设计
- 1、项目简介
- 1.1 系统构成
- 1.2 系统功能
- 2、部分电路设计
- 2.1 L298N电机驱动电路设计
- 2.2 继电器控制电路设计
- 3、部分代码展示
- 3.1 小车控制代码
- 3.1 水泵控制代码
- 4 演示视频及代码资料获取
1、项目简介
- 视频简介中包含资料
- https://www.bilibili.com/video/BV1em4y1P7im/?spm_id_from=333.999.0.0&vd_source=0fb8a603c3cd84c0c72e5fa5d4201605
1.1 系统构成
本系统采用stm32单片机+esp32 cam wifi摄像头+L298N电机驱动+继电器+水泵+手机app+LED灯设计而成。
1.2 系统功能
- 1、使用手机APP控制小车移动
- 2、在手机APP可以查看小车上的视频
- 3、通过手机APP可以控制水泵、LED的打开与关闭
2、部分电路设计
2.1 L298N电机驱动电路设计
L298N使用注意事项:
- 1、当你的驱动电压(上图标识为12V输入,实际可以接受的输入范围是7-12V)为7V-12V的时候,可以使能板载的5V逻辑供电,当使用板载5V供电之后,接口中的+5V供电不要输入电压,但是可以引出5V电压供外部使用。(这种即为常规应用!)
- 2、当驱动电压高于12V,小于等于24V(芯片手册中提出可以支持到35V,但是按照经验一般298保守应用大电压支持到24V已经很了不起!)时,比如要驱动额定电压为18V的电机。首先必须拔除板载5V输出使能的跳线帽。然后在5V输出端口外部接入5V5V使能即 一个电平为5V的控制信号,当此信号输入有效时,且电机驱动模块中电源供电正常时,电机驱动模块输出电流。否则即使电源供电正常,电机上也无电流。电压对L298N内部逻辑电路供电。(这种是高压驱动的非常规应用!)
这里只展示前轮的电机驱动电路图,后轮与前轮一样。
2.2 继电器控制电路设计
电路图如下所示:
3、部分代码展示
3.1 小车控制代码
//占空比 = TIMx_CCRx / TIMx_ARR
//moto_r:右轮电机,moto_l:左轮电机. 数值 0-100
void MOTO_PWM_Out_AB(u16 moto_A, u16 moto_B)
{TIM_OCInitTypeDef TIM_OCInitSructure;TIM_OCInitSructure.TIM_OCMode = TIM_OCMode_PWM1;TIM_OCInitSructure.TIM_OutputState= TIM_OutputState_Enable;//CH1 左前电机-ATIM_OCInitSructure.TIM_Pulse = moto_A;//占空比= ccr/100TIM_OC1Init(TIM3, &TIM_OCInitSructure);//参数初始化TIM_OC1PolarityConfig(TIM3, TIM_OCPreload_Enable);//开始输出pwm//CH42 右前电机-BTIM_OCInitSructure.TIM_Pulse = moto_B;//占空比= ccr /100TIM_OC2Init(TIM3, &TIM_OCInitSructure);//参数初始化TIM_OC2PolarityConfig(TIM3, TIM_OCPreload_Enable);//开始输出pwmTIM_ARRPreloadConfig(TIM3, ENABLE);//启动自动重装}
3.1 水泵控制代码
//水泵控制switch(realy_control){case 0x0a: //打开水泵RELAY_ONbreak;case 0x0b: //关闭水泵RELAY_OFFbreak;default:RELAY_OFF //关闭水泵break;}
4 演示视频及代码资料获取
- 视频简介中包含资料
- https://www.bilibili.com/video/BV1em4y1P7im/?spm_id_from=333.999.0.0&vd_source=0fb8a603c3cd84c0c72e5fa5d4201605
相关文章:

毕业设计|基于stm32单片机的app视频遥控抽水灭火小车设计
基于stm32单片机的app视频遥控抽水灭火水泵小车设计 1、项目简介1.1 系统构成1.2 系统功能 2、部分电路设计2.1 L298N电机驱动电路设计2.2 继电器控制电路设计 3、部分代码展示3.1 小车控制代码3.1 水泵控制代码 4 演示视频及代码资料获取 1、项目简介 视频简介中包含资料http…...

编译原生安卓aosp源码,实现硬改以及定位
系列文章目录 第一章 安卓aosp源码编译环境搭建 第二章 手机硬件参数介绍和校验算法 第三章 修改安卓aosp代码更改硬件参数 第四章 编译定制rom并刷机实现硬改(一) 第五章 编译定制rom并刷机实现硬改(二) 第六章 不root不magisk不xposed lsposed frida原生修改定位 第七章 安卓…...

找单身狗。一个数组中只有两个数字出现一次,其他数字出现了两次,编写一个函数找出这两个只出现一次的数字
例:在{1 2 3 4 5 6 1 2 3 4}找出5和6 方法二: 设计思想: 1.分组原理 (1)将所有数字进行异或,相同数字异或为零,所以只会剩5^6,即为异或的结果xor_result (…...

Java数据结构技巧
Java数据结构技巧 1、循环 for-each循环如果不是"[]"的数组类型,则需要提前判断数据结构是否为空,否则有可能会有空指针异常。 2、对于List对象的i到j位进行排序 for(List<String> now_result:result){List<String> sublist …...

easyui disabled 属性设置
1.设置disabled $("#id").attr("disabled",true); 或 $("#id").attr("disabled","随意字符"); easyui写法 $("#id").numberbox("textbox").attr("disabled", true); $("#id")…...

使用容器运行Nginx应用及Docker命令
目录 一、使用容器运行Nginx应用 1.1 使用docker run命令运行Nginx应用 1.1.1 观察下载容器镜像过程 1.1.2 观察容器运行情况 编辑 1.2 访问容器中运行的Nginx服务 1.2.1 确认容器IP地址 1.2.2 容器网络说明 1.2.3 在主机中使用curl命令容器IP地址访问 二、Docker命…...

fastapi 基本介绍+使用
FastAPI是一个基于Python 3.6的现代、快速(高性能)的web框架,它使用Starlette作为其底层Web框架。FastAPI有很好的文档和丰富的功能,包括自动为路由生成API文档、查询参数验证、依赖注入、WebSocket等等。 以下是一个FastAPI的基…...

C语言的结构体的认识
注:类似于①、②……是代码的编写顺序,也是对下方代码的注解 【①】、【②】……是用到了之前的代码 #include <stdio.h> //②定义生日结构体,必须声明在前面不然会报错,c语言是从上到下执行的(这点要注意&#…...

只通过在vimrc文件写东西来实现或安装vim的插件
2023年9月23日,周日上午 有时候觉得用插件管理器来安装插件太麻烦了, 所以我就在想能不能只通过在vimrc文件写东西来实现或安装vim的插件, 不过这样做肯定有很大的局限性,但我会尽量做到最好的效果 不定期更新 把下面这些代码…...

云原生Kubernetes:K8S存储卷
目录 一、理论 1.存储卷 2.emptyDir 存储卷 3.hostPath卷 4.NFS共享存储 5.PVC 和 PV 6.静态创建PV 7.动态创建PV 二、实验 1.emptyDir 存储卷 2.hostPath卷 3.NFS共享存储 4.静态创建PV 5.动态创建PV 三、问题 1.生成pod一直pending 2.shoumount -e未显示共享…...

“五育”并举育人体系构建的实践研究课题实施方案
目录 一、研究背景与意义 二、课题理论依据 三、国内外研究情况与现状 四、研究目标...

小样本目标检测:ECEA: Extensible Co-Existing Attention for Few-Shot Object Detection
论文作者:Zhimeng Xin,Tianxu Wu,Shiming Chen,Yixiong Zou,Ling Shao,Xinge You 作者单位:Huazhong University of Science and Technology; UCAS-Terminus AI Lab 论文链接:http://arxiv.org/abs/2309.08196v1 内容简介: 1&…...

Android 10.0 系统开启和关闭黑白模式主题功能实现
1. 概述 在10.0的rom系统开发定制化中,在系统SystemUI的下拉状态栏中,产品开发功能需求要求添加黑白模式功能开关的功能,就是打开黑白模式,系统颜色就会变成黑白颜色, 关闭黑白模式开关系统就会变成彩色模式,所以就需要了解下系统是怎么设置黑白模式和彩色模式的,然后添…...

Linux-VI和VIM
目录 VI的使用 VI的三种模式 进入VI 切换至插入模式(Insert mode)编辑文件 Insert 的切换 退出VI及保存文件 搜索 快捷删除 光标定位到最后一行 VIM查找字符串 全匹配 模糊匹配(正则表达式) 快速查找…...

【送书】实现可观测性平台的技术要点是什么?
文章目录 实现可观测性平台的技术要点是什么?兼容全域信号量所谓全域信号量有哪些?统一采集和上传工具统一的存储后台自由探索和综合使用数据总结 实现可观测性平台的技术要点是什么? 随着可观测性理念的深入人心,可观测性平台已经开始进入了落地阶段…...

AUTOSAR汽车电子嵌入式编程精讲300篇-车载网络 CAN 总线报文异常检测
目录 前言 国内外研究现状 车载网络 CAN 总线威胁分析和报文异常检测研究...

基于MUSIC算法的二维超声波成像matlab仿真
目录 1.算法运行效果图预览 2.算法运行软件版本 3.部分核心程序 4.算法理论概述 4.1、基本原理 4.2、数学公式 4.3、实现过程 5.算法完整程序工程 1.算法运行效果图预览 2.算法运行软件版本 matlab2022a 3.部分核心程序 ..........................................…...

Linux0.11——第三回 做好访问内存的最基础准备工作
前面两回是把启动区的代码复制来复制去的,这里我们要讨论的就是操作系统怎么为程序访问内存的方式做初步规划的? 操作系统的代码最开头的 512 字节的数据,先从硬盘的启动区移动到了内存 0x7c00 处,然后又立刻被移动到 0x90000 处…...

unity自己对象池的使用
unity出了自己的对象池 这里记录一下用法 命名空间就是这个 一般有两种用法,第一种是在using里面获取,脱离这个域就释放。第二种是在Get和Release配合使用 // This version will only be returned to the pool if we call Release on it.//只有使用Re…...

el-image 和 el-table冲突层级冲突问题
其中原理,很多博客已经所过了,table组件中使用图片,会出现层级过低问题, 网上大部分解决方式是 使用穿透 // 单元格样式 ::v-deep(.el-table__cell) {position: static !important; }我在此不推荐这种解决方式,原因&a…...

6年Android开发前10月的总结,写给正在求职的安卓开发
进入大厂工作对许多人来说已经是一种挑战,但只要充分准备,很多问题都可以逐步解决。当然,运气也起到了一定的作用,但最终还是与自身的努力密不可分。运气是实力的一部分,因为自助者天助。 每到10月进行总结时ÿ…...

ConcurrentHashMap 的并发度是什么?
ConcurrentHashMap采用了一种基于分离链接的哈希表设计: 分离链接哈希表:在Java 8中,ConcurrentHashMap 内部使用了一个称为分离链接哈希表的数据结构。它的核心思想是,每个哈希桶(bucket)不再是一个单一的槽位,而是一个链表或红黑树(取决于链表的长度),用于存储具有…...

Redis 面霸篇:从高频问题透视核心原理
Redis 为什么这么快? 很多人只知道是 K/V NoSQl 内存数据库,单线程……这都是没有全面理解 Redis 导致无法继续深问下去。 这个问题是基础摸底,我们可以从 Redis 不同数据类型底层的数据结构实现、完全基于内存、IO 多路复用网络模型、线程…...

【100天精通Python】Day69:Python可视化_实战:导航定位中预测轨迹和实际轨迹的3D动画,示例+代码
目录 1. 预测的3D轨迹和实际轨迹的动画图,同时动态更新 2 真值轨迹设置为静态的,预测轨迹不断更新 3 网格的三维坐标系有旋转运动,以此全方位展示预测轨迹和真值轨迹之间的空间关系 1. 预测的3D轨迹和实际轨迹的动画图,同时动态更…...

MySQL中对varchar类型的列进行统计分析
需求1:如何在MYSQL中查找my_data列中所有<5%的数量,my_data为varchar类型 如果my_data列是varchar类型并存储为上面显示的格式(如"28.62%“),那么在查找所有小于或等于5%的值时,我们首先需要去掉末…...

mysql索引最左前缀法则、使用场景
提示:mysql索引最左前缀使用的规则,以及索引失效和部分字段索引失效 文章目录 索引使用法则最左前缀法则 索引执行explain分析遵守联合索引最左前缀法则(索引有效)未遵守联合索引最左前缀法则(索引失效或部分索引失效&…...

LeetCode75-06:移动零
移动零 初版(bug) func moveZeroes(nums []int) {if len(nums) 1{return}// 设置两个指针fp1,fp2分别指向第一个元素和第二个元素,// 两种情况// 假如指针fp1指向元素为零// 1) *fp2!0,则交换。// 2) *fp20,则fp2后移,直至*fp2!0,与fp1交换…...

C/C++统计满足条件的4位数个数 2023年5月电子学会青少年软件编程(C/C++)等级考试一级真题答案解析
目录 C/C统计满足条件的4位数个数 一、题目要求 1、编程实现 2、输入输出 二、解题思路 1、案例分析 三、程序代码 四、程序说明 五、运行结果 六、考点分析 C/C统计满足条件的4位数个数 2019年12月 C/C编程等级考试一级编程题 一、题目要求 1、编程实现 给定若干…...

python+nodejs+php+springboot+vue 校园安全车辆人员出入安全管理系统
本校园安全管理系统共包含15个表:分别是表现评分信息表,车辆登记信息表,配置文件信息表,家校互动信息表,监控系统信息表,教师信息表,留言板信息表,校园资讯信息表,人员登记信息表&am…...

针对discuz3.2的渗透测试
漏洞原理描述 https://zhuanlan.zhihu.com/p/51907363 想要利用这个漏洞得知道key的前缀,首先在注册的地方抓包 GET /member.php?modregister HTTP/1.1 Host: 103.108.67.223:8822 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:109.0) Gecko/2010010…...