自行车有线测速器和无线测速器在线有什么区别

& 产品参数对比
LifeBEAM智能骑行头盔和KINGSIR 强磁无线有线自行车码表中文 骑行装备配件山地车里程表测速器 有线绿光563A有什么区别
参数仅为参考,产品以当地实际销售实物为准。
LifeBEAM 智能骑行头盔
库阿森(KINGSIR)
kingsir 强磁无线有线自行车码表中文 骑行装备配件山地车里程表测速器 有线绿光563A
请选择品牌
请选择型号
请选择品牌
请选择型号
删除 →← 删除 →← 删除 →← 删除
[厂商指导价]
5.0 暂无点评
智能骑行头盔
采用了安装在头盔前方内部的耐汗光传感器,只会轻轻地触及用户的额头。该传感器能够测到佩戴者的脉搏,并把原始数据传输到头盔后方的处理单元。
LifeBEAM智能骑行头盔搭载了耐汗光传感器、3轴加速度、ANT+芯片和蓝牙发射器,能完整测量心率、血流量、血氧饱和度!给你数字化骑行享受。自行车测速表的原理?_百度知道6390人阅读
& & & & & & & & & & & & & & & & & & & & & & &DIY自行车测速测距仪
1、项目介绍
& & & & &该项目中,星星哥教大家制作一个自行车测速、测距仪。具有测量自行车行驶的瞬时速度和累计路程的功能。把它放在自行车的龙头上面,霸气十足,而且对于想要通过骑车运动的人来说,可以很好的把握自己骑行的速度和路程,给单调的骑车带来趣味性。下面的几张照片是项目完成后,星星哥在使用过程中拍摄的,别提有多拉风了。吼吼!!
& & & & & & & & & & & & & & & & & & & & & & & & & & & & & & &图安装好之后的自行车测速测距仪
& & & & & & & & & & & & & & & & & & 图自行车行驶过程中的实拍图(速度米秒&距离:米)
2、项目制作教程
2.1硬件准备
在制作该项目之前首先得准备一些必要的硬件。他们分别是单片机最小系统板,液晶,霍尔传感器、磁钢和电池(没有充电电池可以使用电池盒加普通号电池)。&&
& & & & & & & & & & 图单片机最小系统 & & & & & & & & & & & & & & 图液晶
& & & & & & & & & & 图霍尔传感器和磁钢 & & & & & & & & & & & & & & 图电池
准备好了这些东西之后,就可以非常的开始制作了。当然这里的电池,星星哥使用的是充电电池。因为刚好拆掉一辆遥控小车,所以有了这块充电电池。其实使用电池盒加电池更加便宜和实惠,更加适合入门的人。
2.2&原理讲解
下面稍微讲解一下测速与测距的原理。首先是霍尔传感器的原理。如图所示当霍尔传感器没有处于强烈的磁场中的时候,它的信号引脚输出的是高电平,反之,当有强烈的磁场时,它输出的是低电平。
& & & & & & & 图霍尔传感器的接线图 & & & & & & & & & & & & &图连接好的霍尔传感器
从图中,大家也看出了霍尔传感器的接法。最左边的引脚为电源引脚,中间的引脚为引脚,最右边的引脚为输出引脚。这里解释一下为什么输出引脚要有一个电阻接到上面。因为霍尔传感器的输出引脚是漏极输出,所以当需要输出高电平时必须要接上拉电阻到电源。这里的上拉电阻可以使用的电阻。星星哥使用的是的电阻。知道了霍尔传感器的最用之后,具体应该怎么用上去呢?可以这样做,把磁钢(其实就是产生磁场的磁铁)固定在钢圈上面,把霍尔传感器固定在自行车的钢轴上面,如图所示。
& & & & & & & & & & & & & & & & & & & &&
& & & & & & & & & & & & & & & & & & & & & & & & & & & & & & 图磁钢的安装和霍尔传感器的安装
那么,当每旋转一圈,当磁钢运动到霍尔传感器附近时,霍尔传感器输出低电平,当磁钢远离霍尔传感器时,霍尔传感器输出高电平。也就是说自行车轮胎每旋转一圈,霍尔传感器就输出一次低电平。那么只要测出两次输出低电平之间的时间间隔,然后再结合自行车轮胎的周长就可以很轻松的求出速度。而对于自行车的行驶里程,只要记录下霍尔传感器输出低电平的次数,再乘以周长就可以求出了。
连接好了霍尔传感器和磁钢,接着把剩下的单片机最小系统板和液晶连接正确。(这里就不详细介绍单片机如何驱动液晶的了。有疑问的朋友可以自己百度搜索一下,不难的。)如图,是连接好的单片机系统和液晶。
& & & & & & 图连接好的电池,单片机和液晶 & & & & & & & 图已经固定好在自行车上的所有硬件
2.3&程序编写
&&&&&下面星星哥讲解一下程序的编写。
&&&&&这里我把的操作封装在源程序中,在主函数中包含即可。(和在本教程的最后给出)
#include&reg52.h&
#include&Star1602.h&
#define&CIRCLE&&1.8&&&//宏定义&车轮的周长(这个要根据实际的车轮进行设置)
sbit&Signal&=&P1^0;&&&//这里的表示的是霍尔传感器的信号引脚&
int&m_second=0;&定义变量,用来记录时间(以毫秒为单位)
float&speed=0.0&;&&//定义速度变量&
float&length=0.0&;定义路程变量
void&main()
&&&&lcd_init();&//初始化液晶函数
TMOD&=&0x01;&//打开定时器,并设定其工作方式为位定时模式。
TL0=()设定定时器的初值,使得没中断一次
EA&=&1;&&&//允许总中断
ET0&=&1;&&&//允许定时器终端
TR0&=&1;&&启动定时器
while(1)&&&&&//大循环
&&&&while();&等待霍尔传感器信号线拉低;
speed&=&CIRCLE&*1000&/&m_second&;&//计算速度。
m_second = 0; & //计时清零
length&+=&&CIRCLE&;&//路程加一个车轮周期
//第一行,显示速度
lcd_pos(0x0);&&//设定液晶的写入位置为第一行第一格
lcd_wdat(‘’
lcd_wdat(‘’
lcd_wdat(‘’
lcd_wdat(‘’
lcd_wdat(‘’
lcd_wdat(‘:’
lcd_wdat(&(int)speed%10&);&&&&&&&&//显示速度的整数部分
lcd_wdat(&(int)(speed*10)%10&);&&&//显示速度的小数第一位
lcd_wdat(&(int)(speed*100)%10&);&&&//显示速度的小数第二位
lcd_wdat(‘’
lcd_wdat(‘’
lcd_wdat(‘’
&&&&&&&&//第二行,显示里程
lcd_pos(0x80);&&//设定液晶的写入位置为第二行第一格
lcd_wdat(‘’
lcd_wdat(‘’
lcd_wdat(‘’
lcd_wdat(‘’
lcd_wdat(‘’
lcd_wdat(‘’
lcd_wdat(‘’
lcd_wdat(length&/1x30);&&&&//显示里程的万位;
lcd_wdat(length&%+0x30);&&&&//显示里程的千位;
lcd_wdat(length&%;0x30);&&&&//显示里程的百位;
lcd_wdat(length&%100/10+0x30);&&&&//显示里程的十位;
lcd_wdat(length&%10+0x30);&&&&//显示里程的个位;
lcd_wdat(‘’
void&&timer0_intt()&&interrupt&1&&&//
TL0=()设定定时器的初值,使得没中断一次
m_second&+=&10;&&//因为中断每毫秒一次,所以这里每次加;
#ifndef&__STAR1602_H__
#define&__STAR1602_H__
sbit&rs=&P2^0; &&&&&//
sbit&rw&=&P2^1; &// &&&&
sbit&ep&=&P2^2; &//
void&&lcd_init();&&&&&&&&&&&&&&&&&&//液晶初始化函数
void&&lcd_pos(unsigned&char&pos);&&&//设定液晶的显示位置函数
void&&lcd_wdat(unsigned&char&dat);&&//液晶写入字符
void&&lcd_write_int(unsigned&int&x);&&&&&//液晶显示一个整形变量
#include&&reg52.h&
#include&&1602.h&
/*****************************************************************************
函数功能延时子程序
*****************************************************************************/
static&void&delay(unsigned&char&ms)
unsigned&char&i;
while(ms--)
for(i&=&0;&i&&5;&i++);
/*****************************************************************************
函数功能测试忙碌状态
*****************************************************************************/
static&bit&lcd_bz()
result&=&(bit)(P0&&&0x80);
/*****************************************************************************
函数功能写指令数据到子程序
*****************************************************************************/
static&void&lcd_wcmd(unsigned&char&cmd)
while(lcd_bz()); //判断是否忙碌
&&&&delay(5);
&&&&delay(5);
/*****************************************************************************
函数功能设定显示位置子程序
*****************************************************************************/
void&lcd_pos(unsigned&char&pos)
lcd_wcmd(pos&|&0x80);
/*****************************************************************************
函数功能写入显示数据到子程序
*****************************************************************************/
void&lcd_wdat(unsigned&char&dat)
while(lcd_bz()); //判断是否忙碌
&&&&delay(5);
&&&&delay(5);
/*****************************************************************************
函数功能初始化子程序
*****************************************************************************/
void&lcd_init()
lcd_wcmd(0x38);
delay(100);
lcd_wcmd(0x0c);
delay(100);
lcd_wcmd(0x06);
delay(100);
lcd_wcmd(0x01);
delay(100);
/*****************************************************************************
函数功能写入一个整形数据
*****************************************************************************/
void&&lcd_write_int(unsigned&int&x);&&&
unsigned&char&x1,,,,;
x1&=&x/10000;
x4=x%100/10;
&&&&lcd_wdat(x1+0x30);
lcd_wdat(x2+0x30);
lcd_wdat(x3+0x30);
lcd_wdat(x4+0x30);
lcd_wdat(x5+0x30);
写在最后的话:
&&&&希望大家能够顺利的完成这个项目,并且能够在制作的过程中享受到快乐和成就感。或许这就是星星哥痴迷于电子的原因吧。如果还有不清楚的地方,可以联系星星哥哦,星星哥乐于帮助每一个喜欢电子的人。星星哥邮箱:
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:40413次
排名:千里之外
原创:32篇
评论:10条
(1)(1)(1)(2)(1)(4)(6)(20)自行车测速系统_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
共10个文档
格式 文档名称 用户评分 浏览量 下载量自行车的电子测速器里的时间怎么调_百度知道}

我要回帖

更多关于 自行车测速器原理 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信