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

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

概述

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

2 系统总体设计

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

3 硬件设计

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

4 软件设计

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

5 实物调试

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

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

6 结束语

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

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

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

相关文章

C# yolov8 TensorRT Demo

C# yolov8 TensorRT Demo 目录 效果 说明 项目 代码 下载 效果 说明 环境 NVIDIA GeForce RTX 4060 Laptop GPU cuda12.1cudnn 8.8.1TensorRT-8.6.1.6 版本和我不一致的需要重新编译TensorRtExtern.dll,TensorRtExtern源码地址:https://githu…

ARTS Week 31

Algorithm 本周的算法题为 1556. 千位分隔数 给你一个整数 n,请你每隔三位添加点(即 "." 符号)作为千位分隔符,并将结果以字符串格式返回。 示例 1:输入:n 123456789输出:"123.…

眼底项目经验

眼底项目经验 可解释性不足问题眼底项目有多牛逼可解释性不足解法数据、算力、算法都免费送不仅预测当下,还能预测未来和慢病管理整合,形成一个实时健康检测生态 可解释性不足问题 今天下午和腾讯眼底项目人员讨论, 他们不准备做全身性的多疾种, 因为深…

网络业务创新驱动下的DPU P4技术,中科驭数在网络开源技术生态大会上分享最新进展

2024年5月25日,由中国通信学会指导,中国通信学会开源技术专业委员会、江苏省未来网络创新研究院主办的第四届网络开源技术生态大会在北京举办,中科驭数产品总监李冬以《合作如兰,扬扬其香 中科驭数助力P4产业发展与生态建设》为主…

package.json中peerDependencies的使用场景

文章目录 peerDependencies 的使用场景peerDependencies 的使用案例为什么使用 peerDependencies需要注意的事项主要作用 ✍创作者:全栈弄潮儿 🏡 个人主页: 全栈弄潮儿的个人主页 🏙️ 个人社区,欢迎你的加入&#xf…

【博客20】缤果Matlab串口调试助手V1.0(中级篇)

超级好用的Matlab串口调试助手 开发工具: MATLAB 2024a中文版 (编程语言matlab) 目录 前言 一、软件概要: 二、软件界面: 1.App演示 ​ ​---- ◇♣♡♠ ---- 2.其他扩展App展示 ​编辑 三、获取 >> 源码以及Git记录: 总结 前…

了解区块链基础设施,共同构建安全且强大的Sui网络

区块链基础设施的范畴很广,但其核心是那些直接与网络互动的计算机。这些实体通常被称为节点,分为不同的类型,例如维护完整区块链副本的全节点,以及作为共识决定者的验证节点。除了这两种类型之外,还有其他类型的节点&a…

无人机河道巡查方案,智能巡检助力水域监管革新

无人机技术的飞速发展为河道监管工作带来了创新的解决方案。无人机河道巡查以其高效、精准、智能的特点,正在逐步替代传统河道巡检方式,为水域管理提供了强有力的技术支持。 一、自主巡逻,提升河道监管效率 无人机河道巡查搭载先进的控制装置…

前端使用JavaScript实现一个LRU缓存

引言 LRU(Least Recently Used)算法是一种广泛应用于内存管理和缓存系统的策略,在微前端、状态管理以及性能优化等场景下,合理使用缓存机制能够有效提升应用性能。本文将介绍LRU算法的基本原理,并通过JavaScript实现案…

C++之对象的使用

1、static成员 2、static成员优点 2、static成员函数 静态成员函数不能访问非静态成员原因:因为没有this指针。也不可以访问非静态成员函数。 可以通过对象来访问静态成员,但是不推荐这么使用,会让人误解成这个x_是属于对象的,但…

蓝桥杯练习系统(算法训练)ALGO-932 低阶行列式计算

资源限制 内存限制&#xff1a;64.0MB C/C时间限制&#xff1a;1.0s Java时间限制&#xff1a;3.0s Python时间限制&#xff1a;5.0s 问题描述 给出一个n阶行列式(1<n<9)&#xff0c;求出它的值。 输入格式 第一行给出两个正整数n,p&#xff1b;   接下来n行&…

探索Python的包与模块:构建项目的基石

新书上架~&#x1f447;全国包邮奥~ python实用小工具开发教程http://pythontoolsteach.com/3 欢迎关注我&#x1f446;&#xff0c;收藏下次不迷路┗|&#xff40;O′|┛ 嗷~~ 目录 一、模块与包的基础认知 1. 模块的定义与创建 2. 包的组织与管理 二、模块与包的进阶使用…

Unity功能——设置Camera,实现玩家被攻击后晃动效果

一、方法说明&#xff1a; 来源&#xff1a;siki学院&#xff1a;Unity项目捕鱼达人&#xff0c;功能学习记录&#xff1b; 效果摘要&#xff1a;通过调整相机移动&#xff0c;视觉感觉玩家面板剧烈晃动&#xff0c;实现被boss攻击时的震动效果。 使用场景说明&#xff1a; …

开源远程协助:分享屏幕,隔空协助!

&#x1f5a5;️ 星控远程协助系统 &#x1f5b1;️ 一个使用Java GUI技术实现的远程控制软件&#xff0c;你现在就可以远程查看和控制你的伙伴的桌面&#xff0c;接受星星的指引吧&#xff01; 支持系统&#xff1a;Windows / Mac / Linux &#x1f31f; 功能导览 &#x1f…

部署Prometheus + Grafana实现监控数据指标

1.1 Prometheus安装部署 Prometheus监控服务 主机名IP地址系统配置作用Prometheus192.168.110.27/24CentOS 7.94颗CPU 8G内存 100G硬盘Prometheus服务器grafana192.168.110.28/24CentOS 7.94颗CPU 8G内存 100G硬盘grafana服务器 监控机器 主机名IP地址系统配置k8s-master-0…

栈和队列专题(LeetCode)

目录 有效的括号题解代码加解释 用队列实现栈题解代码加解释 设计循环队列题解代码加解释 用栈实现队列题解代码加解释 有效的括号 题解 左括号从s字符串中取出来放入栈中 s中就只有右括号了 那么栈顶的左括号和s的右括号匹配即可 代码中也详细解释了左括号和右括号多少的问题…

DataGear 制作服务端分页的数据可视化看板

DataGear 2.3.0 版本新增了附件图表数据集特性&#xff08;在新建图表时将关联的数据集设置为 附件 &#xff0c;具体参考官网文档定义图表章节&#xff09;&#xff0c;在制作看板时&#xff0c;可以基于此特性&#xff0c;结合dg-chart-listener&#xff0c;利用服务端数据扩…

深度学习——自己的训练集——图像分类(CNN)

图像分类 1.导入必要的库2.指定图像和标签文件夹路径3.获取文件夹内的所有图像文件名4.获取classes.txt文件中的所有标签5.初始化一个字典来存储图片名和对应的标签6.遍历每个图片名的.txt文件7.随机选择一张图片进行展示8.构建图像的完整路径9.加载图像10.检查图像是否为空 随…

nuxt3+Element Plus项目搭建过程记录

背景 本文只记录项目搭建过程中遇到的一些问题和关键点&#xff0c;nuxt框架的说明和API请参照官网学习 官网&#xff1a;https://nuxt.com/docs/getting-started/introduction 1. 初始化项目 指令如下: npx nuxilatest init <project-name>我在安装过程中出现报错&a…

SpringBoot + MybatisPlus

SpringBoot MybatisPlus 整合记录 1. 硬件软件基本信息2. 相关链接3. 通过idea快速生成一个Springboot项目4. 启动报错问题解决问题一&#xff1a;Springboot启动的时候报错提示 “没有符合条件的Bean关于Mapper类型”问题二&#xff1a;启动的时候提示需要一个Bean&#xff0…