当前位置: 首页 > news >正文

毕业设计|基于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循环如果不是"[]"的数组类型&#xff0c;则需要提前判断数据结构是否为空&#xff0c;否则有可能会有空指针异常。 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的现代、快速&#xff08;高性能&#xff09;的web框架&#xff0c;它使用Starlette作为其底层Web框架。FastAPI有很好的文档和丰富的功能&#xff0c;包括自动为路由生成API文档、查询参数验证、依赖注入、WebSocket等等。 以下是一个FastAPI的基…...

C语言的结构体的认识

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

只通过在vimrc文件写东西来实现或安装vim的插件

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

云原生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

论文作者&#xff1a;Zhimeng Xin,Tianxu Wu,Shiming Chen,Yixiong Zou,Ling Shao,Xinge You 作者单位&#xff1a;Huazhong University of Science and Technology; UCAS-Terminus AI Lab 论文链接&#xff1a;http://arxiv.org/abs/2309.08196v1 内容简介&#xff1a; 1&…...

Android 10.0 系统开启和关闭黑白模式主题功能实现

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

Linux-VI和VIM

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

【送书】实现可观测性平台的技术要点是什么?

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

AUTOSAR汽车电子嵌入式编程精讲300篇-车载网络 CAN 总线报文异常检测

目录 前言 国内外研究现状 车载网络 CAN 总线威胁分析和报文异常检测研究...

基于MUSIC算法的二维超声波成像matlab仿真

目录 1.算法运行效果图预览 2.算法运行软件版本 3.部分核心程序 4.算法理论概述 4.1、基本原理 4.2、数学公式 4.3、实现过程 5.算法完整程序工程 1.算法运行效果图预览 2.算法运行软件版本 matlab2022a 3.部分核心程序 ..........................................…...

Linux0.11——第三回 做好访问内存的最基础准备工作

前面两回是把启动区的代码复制来复制去的&#xff0c;这里我们要讨论的就是操作系统怎么为程序访问内存的方式做初步规划的&#xff1f; 操作系统的代码最开头的 512 字节的数据&#xff0c;先从硬盘的启动区移动到了内存 0x7c00 处&#xff0c;然后又立刻被移动到 0x90000 处…...

unity自己对象池的使用

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

el-image 和 el-table冲突层级冲突问题

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

如何永久解除科学文库文档访问限制:终极解密解决方案

如何永久解除科学文库文档访问限制&#xff1a;终极解密解决方案 【免费下载链接】ScienceDecrypting 破解CAJViewer带有效期的文档&#xff0c;支持破解科学文库、标准全文数据库下载的文档。无损破解&#xff0c;保留文字和目录&#xff0c;解除有效期限制。 项目地址: htt…...

AWPortrait-Z问题解决:图像模糊、速度慢?常见问题一键搞定

AWPortrait-Z问题解决&#xff1a;图像模糊、速度慢&#xff1f;常见问题一键搞定 1. 快速诊断&#xff1a;你的问题属于哪一类&#xff1f; 在使用AWPortrait-Z生成人像时&#xff0c;最常见的问题可以归纳为三类&#xff1a; 图像质量问题&#xff1a;模糊、失真、细节不足…...

PaddleOCR模型选型避坑指南:从‘轻量级模型缺失文件’到‘通用模型实战’

PaddleOCR模型选型避坑指南&#xff1a;从轻量级到通用模型的实战解析 第一次接触PaddleOCR时&#xff0c;面对琳琅满目的模型选择&#xff0c;很多开发者都会陷入困惑&#xff1a;轻量级模型和通用模型到底有什么区别&#xff1f;为什么下载的轻量级模型总是提示缺少文件&…...

别再只盯着IOU了!手把手拆解DeepSort级联匹配,看它如何用‘优先级’解决ID跳变

别再只盯着IOU了&#xff01;手把手拆解DeepSort级联匹配&#xff0c;看它如何用‘优先级’解决ID跳变 当你在监控视频中看到行人ID突然从"007"跳变成"1024"时&#xff0c;是否曾怀疑自己的多目标跟踪系统被黑客入侵&#xff1f;这种被称为ID跳变&#xff…...

jsp:forward登录验证的学习与总结

一、学习内容 本次作业完成了基于 JSP 的用户登录功能开发&#xff0c;核心掌握了以下知识点&#xff1a; 1. JSP 表单提交与参数获取&#xff1a;通过 request.getParameter 读取前端输入值&#xff1b; 2. 页面跳转实现&#xff1a;区分请求转发&#xff08;jsp:forward&…...

WSL2中部署Graphormer:解决Ubuntu环境配置与依赖安装难题

WSL2中部署Graphormer&#xff1a;解决Ubuntu环境配置与依赖安装难题 1. 引言 作为一名Windows开发者&#xff0c;你是否遇到过这样的困境&#xff1a;需要运行Linux环境下的深度学习项目&#xff0c;却不想折腾双系统或虚拟机&#xff1f;WSL2&#xff08;Windows Subsystem…...

C++的std--chrono时间库与steady_clock在性能测量中的正确使用

在C高性能程序开发中&#xff0c;精确测量代码执行时间是优化和调试的关键环节。std::chrono时间库作为现代C的标准工具&#xff0c;提供了高精度、类型安全的计时能力&#xff0c;其中steady_clock因其单调递增的特性成为性能测量的首选。本文将深入解析其正确使用方式&#x…...

从PX4的FRD到Mavros的FLU:手把手教你正确配置`setpoint_raw/local`话题发布无人机目标点

从PX4的FRD到Mavros的FLU&#xff1a;无人机坐标系转换实战指南 当你在ROS环境下通过Mavros向PX4飞控发送位置指令时&#xff0c;是否遇到过无人机朝完全相反方向飞行的情况&#xff1f;这种"方向错乱"的根源往往在于坐标系理解的偏差。本文将彻底解开PX4与Mavros之间…...

Apache NetBeans社区生态解析:如何参与贡献与获取支持

Apache NetBeans社区生态解析&#xff1a;如何参与贡献与获取支持 【免费下载链接】netbeans Apache NetBeans 项目地址: https://gitcode.com/gh_mirrors/ne/netbeans Apache NetBeans作为一个功能强大的开源IDE&#xff08;集成开发环境&#xff09;&#xff0c;拥有一…...

Pexpect异常处理完全手册:EOF、TIMEOUT等错误的解决之道

Pexpect异常处理完全手册&#xff1a;EOF、TIMEOUT等错误的解决之道 【免费下载链接】pexpect A Python module for controlling interactive programs in a pseudo-terminal 项目地址: https://gitcode.com/gh_mirrors/pe/pexpect Pexpect是一个功能强大的Python模块&a…...