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

基于单片机的智能寻光小车设计

摘 要:随着物联网技术的飞速发展和逐渐成熟,以单片机为主的智能小车在巡查、仓储、探险及国防等领域得到广泛应用。本文设计了一种基于单片机的智能寻光小车,该小车以STC89C52RC 芯片为设计核心,结合光敏传感器和超声波传感器等多种传感器实现了具有追光寻光及自动避障和距离显示等功能、能用手机蓝牙控制的智能寻光小车。实验结果表明,本设计运行正常,能稳定可靠地完成预期目标,可以为智能控制领域及无人驾驶领域提供理论支持,在自动驾驶、辅助救援等领域有着广阔前景。
关键词:寻光小车;蓝牙控制;智能车;智能控制;单片机;传感器

0 引 言

近年来,随着时代的快速发展与科技水平的日益腾飞,现代仪器正朝着微小化、集成化的方向发展,这一现象促使单片机的应用场景愈加全面与广泛,单片机仪器与传感器在现代工业生产与生活中随处可见[1-4]。特别是随着物联网技术的飞速发展和逐渐成熟,以单片机为主的智能小车在巡查、仓储、探险及国防等领域得到广泛应用[5-8]。论文设计了一种基于单片机的智能寻光小车。设计以单片机为核心,由寻光模块、超声波传感器模块、显示模块、蓝牙控制模块组成,可以根据光敏传感器所传输的信号进行光源感知,从而采取相应运动,实现对光源的追寻。若前方遇到障碍物将自动避障,同时通过LCD1602 显示间距。小车也可以通过蓝牙控制。该小车是一套以智能控制和自动化为主题、多种学科相交融的集成化产品,在方便生产生活的同时还为自动驾驶等领域的研究提供思路与理论支持。因此,此设计对改进生产方式、促进智能控制领域研究具有一定的意义。

1 智能寻光小车的设计方案

智能寻光小车寻光时,由于光源外各个位置光照强度不同,使得所采用的光敏传感器对不同位置光照强度的反应不同[9]。此时光敏传感器会产生不同的电信号,并将所采集的信号发送至单片机进行处理,从而达到寻光的目标。在寻光的同时如遇障碍则触发避障功能,超声波传感器对遇障返回
的信号进行分析,再将信号传入单片机内;通过单片机操控进行转向等操作达到避障要求,在避障的同时由单片机将信号传入显示模块,由液晶显示器显示与障碍物之间的距离;也可以使用蓝牙进行连接[10],通过手动操控使得小车抵达所需位置。图1 为系统的总体设计框图。

2 系统硬件电路设计

2.1 单片机最小系统模块

单片机最小系统如图2 所示。单片机最小系统模块以STC89C52 为核心,包含电源、复位、时钟电路。电源为5 V 直流供电,完成对最小系统所有模块的供电。

2.2 寻光模块

寻光模块采用GY-30 数字光模块芯片。该芯片采用ROHM 原装BH1750FVI 芯片,使用5 V 电压进行供电,芯片集成度高,无需额外元件,受到的干扰小,并且光谱范围广,与人眼相近。电路如图3 所示。模块2、3 引脚分别为I2C 总线时钟和I2C 总线数据线。

2.3 避障模块

HY-SRF05 超声波测距模块为避障功能实现的核心。图4为HY-SRF05 芯片电路原理。超声波传感器发现障碍测距后,将信号反馈给单片机,然后由单片机控制电机实现避障。图5 为设计所用电机电路原理。

2.4 蓝牙控制模块

蓝牙控制由HC-05 芯片完成。该芯片采用集成封装模式,可以完成双向(全双工)无线功能,用于两个具有串行功能的微控制器之间的通信。图6 为芯片电路原理。

2.5 显示模块

显示模块使用LCD1602 液晶显示器实现功能。图7 为LCD1602 显示电路原理。

2.6 电源模块

对于整个系统设计而言,电源模块为整个系统提供稳定电压,从而保证系统有稳定供电,确保小车可以正常运转。本系统采用直流稳压电源模块为小车提供整体的供给电压。电源模块原理如图8 所示。

3 软件系统设计

系统的主程序是单片机系统程序的核心,通过程序控制单片机运行。在上电后运行系统对其进行初始化。通过设置单片机的特殊寄存器、定时器,对每个端口的操作完成初始化设置。系统启动后,智能寻光、自动避障及避障显示等任务通过不同的子程序控制所对应的外部硬件,从而达到设计要求。程序在Keil 环境下采用C 语言编程实现,图9 为主程序设计流程。

4 系统测试

小车设计完成后需要对各部分模块进行测试。表1 给出了需要测试的模块及要求。表2 为模块测试时遇到的问题及解决方案,其中避障模块在测试时顺利实现避障功能。最后通过最终调试及测试,设计基本实现了预设功能。

5 结 语

基于单片机的智能寻光小车设计以STC89C52RC 芯片为核心,运用GY-30、超声波模块、HC-05 芯片等器件,利用提前烧写进单片机中的程序操控小车,实现智能寻光、自动避障、避障显示、蓝牙遥控等功能。本产品是在智能控制与自动化方面的研究基础上设计的,该设计操作简单、抗干扰
能力强,可应用于无人驾驶、辅助救援等领域。

相关文章:

基于单片机的智能寻光小车设计

摘 要:随着物联网技术的飞速发展和逐渐成熟,以单片机为主的智能小车在巡查、仓储、探险及国防等领域得到广泛应用。本文设计了一种基于单片机的智能寻光小车,该小车以STC89C52RC 芯片为设计核心,结合光敏传感器和超声波传感器等多…...

数据结构——A/复杂度

A/基础铺垫 1. 什么是数据结构? 数据结构(Data Structure)是计算机存储、组织数据的方式,指相互之间存在一种或多种特定关系的 数据元素的集合。 2.什么是算法? 算法(Algorithm):就是定义良好的计算过程,他取一个或一组的值为输…...

锐捷VSU和M-LAG介绍

参考网站 堆叠、级联和集群的概念 什么是堆叠? 框式集群典型配置 RG-S6230[RG-S6501-48VS8CQ]系列交换机 RGOS 12.5(4)B1005版本 配置指南 总结 根据以上的几篇文章总结如下: 级联:简单,交换机相连就叫级联,跟搭…...

MYSQL——MySQL8.3无法启动

在新电脑上装了个MySQL,但是无法使用net start mysql启动,很是纳闷,使用mysqld --console去查看报错,也是没报错的,但是奇怪的是,我输入完这个mysqld --console之后,就等于启动了mysql了&#x…...

PyTorch识别验证码

## 一、生成测试集数据pip install captcha common.py import random import time captcha_array list("0123456789abcdefghijklmnopqrstuvwxyz") captcha_size 4from captcha.image import ImageCaptchaif __name__ __main__:for i in range(10):image ImageC…...

手把手教你开发Python桌面应用-PyQt6图书管理系统-图书类别信息表格数据显示以及搜索实现

锋哥原创的PyQt6图书管理系统视频教程: PyQt6图书管理系统视频教程 Python桌面开发 Python入门级项目实战 (无废话版) 火爆连载更新中~_哔哩哔哩_bilibiliPyQt6图书管理系统视频教程 Python桌面开发 Python入门级项目实战 (无废话版) 火爆连载更新中~共计24条视频&…...

【HarmonyOS】鸿蒙开发之自定义组件——第3.7章

自定义构建函数 (适合内部页面的封装,更加合适)(构建页面) 案例: 自定义组件文件 Index.ets //全局自定义构建函数写法 Builder function item1(){Row({space:10}){Text("我是自定义构建函数")} }Component export struct Index{build(){Column(){item…...

初探unity中的ECS

ECS是一种软件架构模式,就像MVC一样。ECS最早在游戏《守望先锋》中提及到的相关链接。ECS具体是指实体(entity)、 组件(component)和系统(system): 实体:实体是一个ID&a…...

力扣:131. 分割回文串

回溯解法思路: 1.先声明一个集合来接受全部的回文子串组合,在声明一个集合来接收单个回文子串的组合。 2.写一个回溯函数,里面有终止条件和遍历全部组合的for循环来进行遍历全部的组合,终止条件为开始索引等于字符串的长度时&am…...

2024美赛数学建模B题思路源码

赛题目的 赛题目的: 问题描述: 解题的关键: 问题一. 问题分析 要开发一个模型来预测潜水器随时间的位置,我们需要考虑以下几个关键因素: 海洋环境因素:当前和预测的洋流、海水密度(可能会随…...

线程的取消和互斥

线程的取消 int pthread_cancel(pthread_t thread); 注意:线程的取消要有取消点才可以,不是说取消就取消,线程的取消点主要是阻塞的系统调用(前面sleep就是一个阻塞的系统调用) 如果没有取消点,手动设置一个 把上图中sleep函数替换成这个一样可以取消 void pth…...

机器学习之DeepSequence软件使用学习1

简介 DeepSequence 是一个生成性的、无监督的生物序列潜变量模型。给定一个多重序列比对作为输入,它可以用来预测可获得的突变,提取监督式学习的定量特征,并生成满足明显约束的新序列文库。它将序列中的高阶依赖性建模为残差子集之间约束的非…...

【Kotlin】Kotlin环境搭建

1 前言 Kotlin 是一种现代但已经成熟的编程语言,由 JetBrains 公司于 2011 年设计和开发,并在 2012 年开源,在 2016 年发布 v1.0 版本。在 2017 年,Google 宣布 Kotlin 正式成为 Android 开发语言,这进一步推动了 Kotl…...

langgraph学习--创建基本的agent执行器

本文介绍如何使用langgraph创建一个基本的Agent执行器,主要包括下面几个步骤: 1、定义工具 2、创建langchain Agent(由LLM、tools、prompt三部分组成) 3、定义图形状态 传统的LangChain代理的状态有几个属性: (1&#…...

Mybatis中的sql-xml延迟加载机制

Mybatis中的sql-xml延迟加载机制 hi,我是阿昌,今天记录一下关于Mybatis中的sql-xml延迟加载机制 一、前言 首先mybatis技术本身就不多介绍,说延迟加载机制之前,那要先知道2个概念: 主查询对象关联对象 假设咱们现…...

【Linux系统学习】1.初识Linux

初识Linux 操作系统概述 初识Linux 虚拟机介绍 VMware WorkStation安装 1.操作系统概述 了解操作系统的作用 了解常见的操作系统 1.1 硬件和软件 计算机由哪两个主要部分组成? 硬件:计算机系统中由电子,机械和光电元件等组成的各种物理装置的…...

政安晨:政安晨:机器学习快速入门(三){pandas与scikit-learn} {模型验证及欠拟合与过拟合}

这一篇中,咱们使用Pandas与Scikit-liarn工具进行一下模型验证,之后再顺势了解一些过拟合与欠拟合,这是您逐渐深入机器学习的开始! 模型验证 评估您的模型性能,以便测试和比较其他选择。 在上一篇中,您已经…...

分享65个节日PPT,总有一款适合您

分享65个节日PPT,总有一款适合您 65个节日PPT下载链接:https://pan.baidu.com/s/1hc1M5gfYK8eDxQVsK8O9xQ?pwd8888 提取码:8888 Python采集代码下载链接:采集代码.zip - 蓝奏云 学习知识费力气,收集整理更不易。知…...

架构学习(二):原生scrapy如何接入scrapy-redis,初步入局分布式

原生scrapy如何接入scrapy-redis,实现初步入局分布式 前言scrpy-redis分布式碎语 实现流程扩展结束 前言 scrpy-redis分布式 下图是scrpy-redis官方提供的架构图,按我理解,与原生scrapy的差异主要是把名单队列服务器化,也是存储…...

第1节、电路连接【51单片机+L298N步进电机系列】

↑↑↑点击上方【目录】,查看本系列全部文章 摘要:本节介绍如何搭建一个51单片机L298N步进电机控制电路,所用材料均为常见的模块,简单高效的方式搭建起硬件环境。 一、硬件清单 ①51单片机模块 ②恒流模块 ③开关电源 ④L298N模…...

AI-调查研究-01-正念冥想有用吗?对健康的影响及科学指南

点一下关注吧!!!非常感谢!!持续更新!!! 🚀 AI篇持续更新中!(长期更新) 目前2025年06月05日更新到: AI炼丹日志-28 - Aud…...

LLM基础1_语言模型如何处理文本

基于GitHub项目:https://github.com/datawhalechina/llms-from-scratch-cn 工具介绍 tiktoken:OpenAI开发的专业"分词器" torch:Facebook开发的强力计算引擎,相当于超级计算器 理解词嵌入:给词语画"…...

【学习笔记】深入理解Java虚拟机学习笔记——第4章 虚拟机性能监控,故障处理工具

第2章 虚拟机性能监控,故障处理工具 4.1 概述 略 4.2 基础故障处理工具 4.2.1 jps:虚拟机进程状况工具 命令:jps [options] [hostid] 功能:本地虚拟机进程显示进程ID(与ps相同),可同时显示主类&#x…...

Python ROS2【机器人中间件框架】 简介

销量过万TEEIS德国护膝夏天用薄款 优惠券冠生园 百花蜂蜜428g 挤压瓶纯蜂蜜巨奇严选 鞋子除臭剂360ml 多芬身体磨砂膏280g健70%-75%酒精消毒棉片湿巾1418cm 80片/袋3袋大包清洁食品用消毒 优惠券AIMORNY52朵红玫瑰永生香皂花同城配送非鲜花七夕情人节生日礼物送女友 热卖妙洁棉…...

深入浅出深度学习基础:从感知机到全连接神经网络的核心原理与应用

文章目录 前言一、感知机 (Perceptron)1.1 基础介绍1.1.1 感知机是什么?1.1.2 感知机的工作原理 1.2 感知机的简单应用:基本逻辑门1.2.1 逻辑与 (Logic AND)1.2.2 逻辑或 (Logic OR)1.2.3 逻辑与非 (Logic NAND) 1.3 感知机的实现1.3.1 简单实现 (基于阈…...

libfmt: 现代C++的格式化工具库介绍与酷炫功能

libfmt: 现代C的格式化工具库介绍与酷炫功能 libfmt 是一个开源的C格式化库,提供了高效、安全的文本格式化功能,是C20中引入的std::format的基础实现。它比传统的printf和iostream更安全、更灵活、性能更好。 基本介绍 主要特点 类型安全&#xff1a…...

elementUI点击浏览table所选行数据查看文档

项目场景&#xff1a; table按照要求特定的数据变成按钮可以点击 解决方案&#xff1a; <el-table-columnprop"mlname"label"名称"align"center"width"180"><template slot-scope"scope"><el-buttonv-if&qu…...

加密通信 + 行为分析:运营商行业安全防御体系重构

在数字经济蓬勃发展的时代&#xff0c;运营商作为信息通信网络的核心枢纽&#xff0c;承载着海量用户数据与关键业务传输&#xff0c;其安全防御体系的可靠性直接关乎国家安全、社会稳定与企业发展。随着网络攻击手段的不断升级&#xff0c;传统安全防护体系逐渐暴露出局限性&a…...

Python 高级应用10:在python 大型项目中 FastAPI 和 Django 的相互配合

无论是python&#xff0c;或者java 的大型项目中&#xff0c;都会涉及到 自身平台微服务之间的相互调用&#xff0c;以及和第三发平台的 接口对接&#xff0c;那在python 中是怎么实现的呢&#xff1f; 在 Python Web 开发中&#xff0c;FastAPI 和 Django 是两个重要但定位不…...

Java并发编程实战 Day 11:并发设计模式

【Java并发编程实战 Day 11】并发设计模式 开篇 这是"Java并发编程实战"系列的第11天&#xff0c;今天我们聚焦于并发设计模式。并发设计模式是解决多线程环境下常见问题的经典解决方案&#xff0c;它们不仅提供了优雅的设计思路&#xff0c;还能显著提升系统的性能…...