stm32项目(14)——基于stm32f103zet6的循迹避障小车

1.功能设计

        stm32循迹避障小车,使用超声波测距,使用红外循迹模块追踪黑线,实现循迹功能。此外,还可以检测烟雾、火焰、人体、温湿度。温湿度显示在LCD屏幕上。检测到有人、有火焰、有烟雾时,蜂鸣器报警!

        功能演示视频:

stm32循迹避障小车演示视频

循迹避障小车安全检测功能演示

大致的原理图如下所示:

2.模块选择

1.超声波:HCSR04

HCSR04是一种超声波测距模块,常用于测量目标物体与传感器之间的距离。它是由一个超声发射器和接收器组成。

HCSR04工作原理如下:超声发射器会发射出声波脉冲,然后通过空气中的传播,接触到目标物体表面后被反射回来。接收器会接收到反射回来的声波信号。通过测量发射和接收之间的时间差,可以计算出目标物体与传感器之间的距离。

HCSR04模块一般包括两个主要引脚:Trig(触发引脚)和Echo(回响引脚)。通过给Trig引脚提供一个至少10微秒的高电平触发信号,模块开始发射超声波。当超声波被目标物体反射后,Echo引脚会输出一个高电平信号,其持续时间与超声波的传播时间成正比。通过测量Echo引脚的高电平持续时间,可以计算出距离。

使用HCSR04模块进行测距时,需要根据声速和测量时间计算出具体的距离。一般来说,声速在空气中为约340米/秒。

HCSR04模块在很多应用中被广泛使用,比如智能小车避障、室内定位、无人机高度测量等。需要注意的是,模块的准确度受到环境因素的影响,比如温度、湿度等,因此在使用时需要进行校准和适当的误差处理。

2.循迹模块

循迹模块是一种用于自动驾驶或智能小车等项目的传感器模块,可以帮助车辆在运动过程中识别和跟踪特定的路径线路。

循迹模块一般由红外发射器和红外接收器组成。发射器会发出红外光束,然后光束经过地面反射回到接收器,通过接收器感知反射回来的光信号强弱来判断小车是否偏离了预设的道路。

循迹模块一般有多个红外发射器和接收器,布置在小车底部,形成一个阵列。当小车在路径上行驶时,每个传感器会接收到不同的光信号强度。通过比较不同传感器接收到的信号强度,可以确定小车当前所处位置的偏移程度,进而调整车轮方向或控制电机速度,使小车保持在预设的路径上。

使用循迹模块时,通常需要进行一定的校准和参数设置,以适应不同的地面状况和光照条件。同时,还可以根据需要将循迹模块与其他传感器或控制模块结合,实现更高级的功能,比如避障、智能巡线等。

循迹模块在自动驾驶、智能小车等项目中起到了辅助导航的作用,帮助车辆在运动过程中保持在预定的路径上,并实现自主控制。它不仅在教育实验、科研开发中广泛应用,也逐渐应用于工业自动化、无人物流等领域。

本项目使用了三个单路循迹模块,分别装在了车子底板的左中右位置,提高检测精度! 

 

3.火焰检测模块

火焰检测模块是一种用于检测火焰的传感器模块,可以感知周围环境中的火焰或火源。

火焰检测模块一般使用红外线传感器来检测火焰。当火焰或火源出现时,火焰产生的热量和可见光会被红外线传感器探测到。通过红外传感器对火焰光谱和特征的分析,可以判断是否存在火焰。

火焰检测模块通常具有以下特点:
1. 灵敏度高: 能够检测到微弱的火焰光信号;
2. 快速响应: 可以在极短时间内响应并检测到火焰;
3. 抗干扰性强: 在环境光照强烈、其他光源存在的情况下,能够辨别出真正的火焰信号;
4. 可调节参数: 可以根据需要调整检测的敏感度和触发条件。

火焰检测模块在安防、工业自动化、火灾预警等领域广泛应用。例如,它可以用于火灾报警系统,及时监测火灾并触发警报和报警装置;也可以应用于工业生产中,用于监控火焰的燃烧状态,保障生产安全;此外,在机器人、智能家居等项目中,火焰检测模块可以作为一种安全保障措施,及时发现火情并采取措施防范。

火焰检测模块在使用时应遵循相关安全规范,避免误报和漏报,并进行适当的环境和敏感度的调节,以提高检测的准确性和稳定性。

4.烟雾传感器

MQ2是一种烟雾传感器模块,能够检测到室内或者工业生产环境中的烟雾、液化气、丙烷、甲烷等气体的存在,以及这些气体的浓度。

MQ2烟雾传感器采用化学气敏技术,内部安装有特殊的气敏元件,在受到气体刺激后,元件的电阻值会变化,并转化成可感知的电信号输出。传感器的输出信号可以通过模拟量或数字量方式获取,常用的模块包含了基于比较器的阈值电平设置、输出状态指示灯和对外部支持的标准引脚等更多设计。

MQ2烟雾传感器模块不仅可以检测烟雾浓度,还可以检测液化气和煤气等气体的存在,被广泛应用于安全预警系统、烟雾报警系统、气体检测和家庭保安等领域。

由于使用中存在误检、误报的情况,国家标准及相关行业规范中对于MQ2等传感器的烟雾检测装置的判别、计量、校验和使用等要求有详细的规定,使用时也需要注意环境的影响,尽量避免烟雾传感器对于其他物质的干扰和误报。

5.人体检测:红外对管

红外对管模块是一种用于红外线测距的传感器模块,常用于智能小车、机器人、无人机等项目中,用于检测前面障碍物距离和方位。

红外对管模块的基本原理是利用红外线发射管所发射的红外线,经过反射后被接收管所接受,并将红外线的信息转换为电信号输出。两个管子分别位于测量区域的两端,一个光线发射器发出红外线,另一个接收器接受反射回来的红外线,并将接收到的信号转换为电信号输出,通过两个管子之间信号的比较,可以确定前面障碍物的距离和方位。

红外对管模块广泛应用于自动避障,特别是在运动平衡、定位精准等需求较高的项目中,红外传感器是实现高精度跟随和有效避障的必要配套。

本次使用的红外对管,在一定范围内检测到有物体时,就会输出低电平!

6.温湿度:DHT11

DHT11是一种数字温湿度传感器模块,常用于测量环境的温度和湿度。它是一种低成本、易于使用的传感器,适用于各种项目和应用。

DHT11传感器模块内部集成了温度和湿度传感器,并具有一个数字信号输出引脚。传感器通过测量环境中的温度和湿度,将读数转换为数字信号,并通过单线总线协议(一种简单的通信协议)进行传输。

DHT11模块具有以下特点:
1. 低功耗:DHT11模块工作时的功耗非常低,适用于对能耗要求较高的项目。
2. 响应迅速:传感器可以快速测量并输出温度和湿度值。
3. 模块化设计:DHT11模块通常以方便使用的模块形式提供,具有标准引脚来连接到微控制器或其他设备。
4. 相对准确:虽然DHT11模块的准确性相对较低,但对于一般应用而言已经足够。

DHT11传感器广泛应用于各种领域,如气象站、室内温湿度监测、智能家居系统、温室控制等。通过读取DHT11模块的数字信号,用户可以获取当前环境的温度和湿度值,并进行相应的控制和决策。

 3.完整工程

基于stm32的循迹避障小车资源-CSDN文库icon-default.png?t=N7T8https://download.csdn.net/download/guangali/88655354?spm=1001.2014.3001.5503

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/241023.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

强化学习(五)-Deterministic Policy Gradient (DPG) 算法及公式推导

针对连续动作空间,策略函数没法预测出每个动作选择的概率。因此使用确定性策略梯度方法。 0 概览 1 actor输出确定动作2 模型目标: actor目标:使critic值最大 critic目标: 使TD error最大3 改进: 使用两个target 网络…

Ceph存储体系架构?

Ceph体系架构主要由RADOS和RADOS GW和RBD以及CephFS构成。 RADOS(Reliable, Autonomic Distributed Object Store)是Ceph的底层核心,RADOS本身也是分布式存储系统,CEPH所有的存储功能都是基于RADOS实现。RADOS由两个组件组成&…

【接口测试】JMeter调用JS文件实现RSA加密

📢专注于分享软件测试干货内容,欢迎点赞 👍 收藏 ⭐留言 📝 如有错误敬请指正!📢交流讨论:欢迎加入我们一起学习!📢资源分享:耗时200小时精选的「软件测试」资…

Vue.js实战:构建现代单页应用程序(SPA)的实用指南

欢迎来到《Vue.js实战指南》!本博客将深入探讨如何通过Vue.js构建现代单页应用程序(SPA)。无论你是初学者还是有一定经验的开发者,这里都有关键的实用指南,帮助你从概念到实际应用中构建强大的SPA。准备好迎接Vue.js的…

SQL分类

SQL分类 DDL 查询库 查询表 创建表 修改表 DML 添加数据 修改数据 删除数据 DQL 基本查询 条件查询 聚合函数 分组查询 排序查询 分页查询 执行顺序 DCL 管理用户 管理权限 数据类型 数值类型 字符串类型 日期类型

【Py/Java/C++三种语言OD2023C卷真题】20天拿下华为OD笔试之【模拟】2023C-结队编程【欧弟算法】全网注释最详细分类最全的华为OD真题题解

文章目录 题目描述与示例题目描述输入描述输出描述示例一输入输出说明 示例二输入输出说明 解题思路代码PythonJavaC时空复杂度 华为OD算法/大厂面试高频题算法练习冲刺训练 题目描述与示例 题目描述 某部门计划通过结队编程来进行项目开发,已知该部门有 N 名员工…

startUML6.0.1破解方法

startUML6.0.1破解方法 文章目录 startUML6.0.1破解方法1.startUML6.0.1快速破解2.概述3.安装Nodejs4.安装asar5.修改app.asar中的源码6.将修改后的源码重新压缩7.覆盖官方的asar文件8.重启startUML9.参考文档 1.startUML6.0.1快速破解 后绪步骤可以不看,直接下载我…

使用@jiaminghi/data-view实现一个数据大屏

<template><div class"content bg"><!-- 全局容器 --><!-- <dv-full-screen-container> --><!-- 第二行 --><div class"module-box" style"align-items: start; margin-top: 10px"><!-- 左 -->…

1162字符串逆序

一&#xff1a;题目 二.思路分析 1.如果不用递归&#xff0c;可以输入字符串后&#xff0c;再逆序输出&#xff0c;但是题目要求使用递归 2.使用递归&#xff1a; 2.1输入字符&#xff0c;直到输入的字符是‘&#xff01;’&#xff0c;停止输入&#xff0c;否则继续输入&…

自学华为鸿蒙开发?一般人我还是劝你算了吧!!!

本人纯屌丝一枚&#xff0c;在学编程之前对电脑的认知也就只限于上个网&#xff0c;玩个办公软件。这里不能跑题&#xff0c;我为啥说自学鸿蒙开发&#xff0c;一般人我还是劝你算了吧。因为我就是那个一般人。 基础真的很简单&#xff0c;是个人稍微认点真都能懂&#xff0c;…

Java八股文面试全套真题【含答案】- MyBatis Plus 篇

MyBatis Plus 是什么&#xff1f;它与 MyBatis 有什么区别&#xff1f; 答&#xff1a;MyBatis Plus 是基于 MyBatis 进行扩展的一款持久层框架&#xff0c;它提供了一系列增强功能&#xff0c;简化了 MyBatis 的使用。与 MyBatis 相比&#xff0c;MyBatis Plus 提供了更多的便…

【vscode插件】之点击指令,顶部弹出输入框 可以输入指令,获取输入的内容

ChatgGPT4.0国内站点: 海鲸AI-支持AI会话&#xff0c;文件分析&#xff0c;AI绘图 在Visual Studio Code&#xff08;VSCode&#xff09;中创建一个插件&#xff0c;使得当用户点击一个指令时&#xff0c;顶部会弹出一个输入框并允许用户输入内容&#xff0c;可以通过使用VSCo…

win10下使用fastdds

参照网址&#xff1a;https://www.cnblogs.com/edkong/p/16522836.html 需要安装的软件和用处&#xff1a; Visual Studio&#xff0c;用于打开和编译fastdds示例工程。下载地址&#xff1a;下载 Visual Studio Tools - 免费安装 Windows、Mac、LinuxCmake&#xff0c;用于将…

【String str = new String(“hollis“) 创建了几个对象?】

✅典型解析 创建的对象数应该是1个或者2个。 首先要清楚什么是对象? Java是一种面向对象的语言&#xff0c;而Java对象在JVM中的存储也是有一定的结构的&#xff0c;在HotSpot虚机中&#xff0c;存储的形式就是oop-klass model&#xff0c;即ava对象模型。我们在Java代码中&am…

FastGPT+ChatGLM3-6b搭建知识库

前言&#xff1a;我用fastgpt直接连接chatglm3&#xff0c;没有使用oneai&#xff0c;不是很复杂&#xff0c;只需要对chatglm3项目代码做少量修改就能支持使用embeddings&#xff0c;向量模型用的m3e&#xff0c;效果还可以 我的配置&#xff1a; 处理器&#xff1a;i5-13500 …

VideoPoet: Google的一种用于零样本视频生成的大型语言模型

每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗&#xff1f;订阅我们的简报&#xff0c;深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同&#xff0c;从行业内部的深度分析和实用指南中受益。不要错过这个机会&#xff0c;成为AI领…

【C++进阶02】多态

一、多态的概念及定义 1.1 多态的概念 多态简单来说就是多种形态 同一个行为&#xff0c;不同对象去完成时 会产生出不同的状态 多态分为静态多态和动态多态 静态多态指的是编译时 在程序编译期间确定了程序的行为 比如&#xff1a;函数重载 动态多态指的是运行时 在程序运行…

【Java异常】聊聊异常可能带来的坑

一个活生生的案例 本周帮同事排查了一个问题&#xff0c;比较诡异的是他通过测试&#xff0c;并没有找到根本原因&#xff0c;只是发现有对应的错误日志。 但是其实并没有将堆栈信息打印出来。很难看出问题。添加了 e.printStackTrace(); get exception in exter: / by zero显…

Electron执行本地cmd命令

javascript执行本地cmd命令,javascript代码怎么执行_js调用本机cmd-CSDN博客 使用 Node.js 打开本地应用_nodejs启动应用-CSDN博客 笔记:nodejs脚本唤醒本地应用程序或者调用命令-CSDN博客 electron调起本地应用_electron 调用本地程序-CSDN博客 命令行打开vscode 你可以使用…

HP笔记本电脑进入BIOS的方法主要有两种,它们使用场合不同

BIOS&#xff08;基本输入输出系统&#xff09;是一种实用程序&#xff0c;它在你按下电源按钮后启动并加载操作系统。无论是要更新HP笔记本电脑的BIOS系统&#xff0c;还是清除前一个系统中的错误&#xff0c;第一步都是进入BIOS实用程序。 在按键输入BIOS设置并对其进行修改…