基于单片机的自行车里程监测系统的设计

news2024/10/6 4:08:47
摘 要 :本设计是一种基于单片机的自行车里程监测系统,采用 STC89C52RC 单片机为核心处理芯片,液晶显示器使用 LCD1602 , 速度测量使用霍尔传感器,温度传感器使用 DS18B20 ,时间由时钟芯片 DS1302 进行计算,报警声音提示采用了无源蜂鸣器,并设有按 键进行操作。本系统可以显示自行车骑行速度、行驶的总里程数、当前的温度和时间,超速报警,功能全面,价格低廉,实用性强。
关键词 :单片机;显示器;霍尔感器

概述

随着人类科技的发展,人们对生活质量的要求也日益 增加,自行车不再仅仅是普通的代步、运输的工具,而是成 为人们锻炼、休闲,近距离上班等活动的首选。自行车码表 作为自行车行驶的监测系统,是自行车的重要辅助工具。 骑行者不仅能够根据码表上显示的数据及时调整自己的 骑行状态,也可以使用户集中精力处理行进过程中的突发 事件。自行车走过了 200 多年的发展历程,自行车码表也 随之蓬勃发展。目前市面上的自行车码表款式很多,但大 部分自行车码表价格非常高,或者功能不够齐全,所以设 计一个功能齐全而且价格低廉的自行车监测系统非常有 必要。

2 系统总体设计

本设计是一种基于单片机的自行车里程监测系统,它 由控制系统、传感器模块、温度检测系统、时间检测系统、 报警系统、显示系统、按键系统、电机驱动电路构成。总体 设计框图如图 1 所示。

3 硬件设计

此设计中,所监控的信号由霍尔传感器转换成数字脉 冲信号,然后将数字脉冲信号的数据传输到核心单片机进 行处理,其它各个模块也将所监测到的信号传输到单片 机,单片机将根据软件设计的程序计算出当前速度、公里 数、温度、时间,并通过终端显示设备显示出来,且附加报 警功能。如果速度超过所设定的速度值之后,蜂鸣器开始 发声报警,提示需要减速。综合电路设计,最终 PCB 如图 2 所示:

4 软件设计

程序首先进行寄存器初始化、定时器初始化,然后进 行定时器中断,再进行判断是否达到中断,如果是显示器开始亮起,若为否则继续判断。接下来通过按键设置当前 时间和报警速度,温度传感器通过感应直接显示在显示屏 上。然后进行超速判断,若超过设置的速度则蜂鸣器开始 报警。如图 3 所示:

5 实物调试

通过一系列的软件、硬件调试之后本设计的各项功能 都如期实现。如图 4 所示,显示屏上显示有速度、时间、温 度、行驶路程。

当按下 S4 按键时进入设计模式,可以进入设计报警 速度、设置时间以及所有数据清零的界面,如图 5 、6 所示。

6 结束语

本设计主要是通过电机转动来模仿自行车的车轮转 动情况,通过霍尔传感器、DS18B20 温度传感器、 DS1302 时钟芯片接收到的信号传输至单片机,最终在 LCD1602 液 晶显示屏上显示出骑行速度、总里程、当前天气温度、当前 时间,而且可以通过按键进行设置部分功能数值,实现了 价格便宜、测量精确、可靠性强的自行车里程检测系统的 设计目标。
本设计如期实现设计目标,但是科技是不断发展的, 各项电子设备都在向智能化、综合化、无线化发展,自行车 码表的设计不止于此。自行车码表的供电系统完全可以通 过太阳能板供电,且可通过蓝牙、WIFI 等无线设备与手机 等移动设备进行连接互动,可以实现导航功能。自行车监 测系统也可以联合心脏监测系统,实时监测骑行者的身体 相关指标,加入语音播报系统,让骑行者更好地了解相关 数据,调整骑行状态。

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

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

相关文章

昆仑通态触摸屏组态软件MCGS 嵌入版V7.7.1.7老版触摸屏安装程序

1.MCGS7.7嵌入版用于昆仑通态老版本触摸屏组态开发,具体支持哪些型号组态,可以在软件的工程设置里面查看。新出的触摸屏一般用MCGS Pro版本组态开发,老版本触摸屏必须用MCGS 7.7嵌入版组态开发。 2.MCGS7.7嵌入版支持当下常用的Win7、Win10、…

Nodejs 第七十三章(网关层)

什么是网关层(getway)? 技术选型fastify 速度快适合网关层 fastify教程上一章有讲 网关层是位于客户端和后端服务之间的中间层,用于处理和转发请求。它充当了请求的入口点,并负责将请求路由到适当的后端服务,并将后端服务的响应…

怎样打造一份个性化画册呢?我来教你

在这个数字化的时代,传统的照片已经不能满足我们对个性化回忆的需求。个性化画册,不仅能够承载我们的记忆,还能展现自我风格。今天,就让我来教你如何打造一份属于自己的个性化画册。 1.要制作电子杂志,首先需要选择一款适合自己的…

Debian12 安装留档@Virtual Box

在学蜜罐系统的时候,T-Pot 需要Debian,于是安装Debian12 下载安装光盘 先去中科大下载了12的安装光盘,然后在VirtualBox中创建一个新虚拟机,将安装光盘挂载上。 安装光盘下载地址:https://mirrors.ustc.edu.cn/debi…

隐藏服务器源IP怎么操作,看这一篇学会!

在当今的网络环境中,服务器作为信息和服务的中枢,常驻于公网之上,面临着各式各样的安全威胁,其中,分布式拒绝服务(DDoS)攻击尤为猖獗,它通过协调大量计算机同时向目标服务器发送请求…

看花眼,眼花缭乱的主食冻干到底应该怎么选?靠谱的主食冻干分享

随着科学养猫知识的普及,主食冻干喂养越来越受到养猫人的青睐。主食冻干不仅符合猫咪的饮食天性,还能提供均衡的营养,有助于维护猫咪的口腔和消化系统健康。许多猫主人认识到了主食冻干喂养的诸多益处,计划尝试这种喂养方式&#…

缓存三问与缓存预热-如何预防缓存崩溃

一、缓存三剑客 (图片来源:什么是缓存雪崩、击穿、穿透? | 小林coding) 缓存穿透 (Cache Penetration) 又称"空缓存"指用户请求的数据在缓存和数据库中都不存在,导致每次请求都去查询数据库,给数据库带来巨大压力。解…

代码随想录——平衡二叉树(Leetcode110)

题目链接 后序遍历高度,高度判断是否平衡 前序遍历深度 递归 /*** Definition for a binary tree node.* public class TreeNode {* int val;* TreeNode left;* TreeNode right;* TreeNode() {}* TreeNode(int val) { this.val val; }* …

短视频再度重逢:四川京之华锦信息技术公司

短视频再度重逢 在数字化时代的浪潮中,短视频以其独特的魅力迅速崛起,成为现代人生活中不可或缺的一部分。而当我们谈论起短视频,我们不仅仅是在谈论一种娱乐方式,更是在谈论一种情感的载体,一种回忆的媒介。今天&…

143.栈和队列:用队列实现栈(力扣)

题目描述 代码解决 class MyStack { public:queue<int> que; // 定义一个队列用于实现栈// 构造函数&#xff0c;初始化队列MyStack() {}// 向栈中推入元素 xvoid push(int x) {que.push(x); // 使用队列的 push 方法将元素 x 添加到队列尾部}// 从栈中弹出并返回栈顶元…

【edge浏览器】控制台报错信息隐藏-恢复

问题描述 解决方法&#xff1a;只需要清空筛选器

软件构造复习1

一、软件构造的多维度视图&#xff1a; 共有三个维度&#xff1a;1.按阶段划分&#xff1a;构造时/运行时视图&#xff0c;2.按动态性划分&#xff1a;时刻/阶段视图&#xff0c;3.按构造对象层次划分&#xff1a;代码/构件视图 具体可如图所示&#xff08;图片来自PPT&#…

Vue3实战笔记(36)—粒子特效完成炫酷的404

文章目录 前言404特效总结 前言 昨天介绍了一个粒子特效小例子&#xff0c;不够直观&#xff0c;下面直接实战在自己的项目中实现一个好玩滴。 404特效 更改之前创建好的404.vue: <template><div class"container"><vue-particles id"tspartic…

怎么做图片海报二维码?扫码查看图片内容

现在很多的宣传推广海报会放入二维码中&#xff0c;然后将二维码分享给用户后&#xff0c;通过扫码的方式来查看图片内容&#xff0c;从而获取自己需要的信息&#xff0c;经常在活动宣传、商品推广、旅游攻略等场景下使用。二维码可以提供更加便捷的内容获取方式&#xff0c;让…

Go源码--sync库(1)

简介 这篇主要介绍 sync.Once、sync.WaitGroup和sync.Mutex sync.Once once 顾名思义 只执行一次 废话不说 我们看源码 英文介绍直接略过了 感兴趣的建议读一读 获益匪浅 其结构体如下 Once 是一个严格只执行一次的object type Once struct {// 建议看下源码的注解&#xf…

llama_factory的使用

1.git clone llama_factory到本地 2.记得安环境&#xff0c;在clone后 3.多显卡要设置一下 4.数据文件放在data里面&#xff0c;仿照模板里的格式 5.进入llama_factory微调页面 python src/webui.py 6.llama_factory介绍&#xff1a;10分钟打造你个人专属的语言大模型&am…

「Element-UI表头添加带Icon的提示信息」

一、封装全局组件 &#x1f353; 注意&#xff1a;可以直接复制该文件 <!-- // 写一个PromptMessage的组件&#xff0c;并全局注册 --> <template><div class"tooltip"><el-tooltip effect"dark" placement"right">&l…

vue实现附件下载 获取到接口的图片,设置宽度100%样式

一、vue实现附件下载&#xff0c;使用a链接 <a class"btn flex_center" target"_blank" :href"localImgSrc(goodsDetail.attachment)" :download"localImgSrc(goodsDetail.attachment)" >立即下载 </a>二、 获取到接口…

js检验一个字符串是否是正确时间格式的工具方法

js检验一个字符串是否是正确时间格式的工具方法 (()> {/*** 检验字符串是否为时间格式* param {String} date 需要检验的时间格式* returns true 为时间格式&#xff0c;false 为非时间格式*/const isTimaFormat (date) > {if(!date) return false;try{const tempTime …

js之图片上传

话不多说&#xff0c;直接上干货&#xff0c;注释在代码里面 下面是效果图和代码 <!DOCTYPE html> <html lang"zh"><head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-sca…