原创
用IR传感器和Arduino制作一个数字转速计(附代码)
本项目采用IR传感器和Arduino开发板制作了一个数字转速计,以RPM为单位测量马达的转数。项目黑简单,只需将IR传感器和Arduino板子与16*2 LCD连接即可。
BOM表及电路图
BOM表中,IR传感器担当测速功能,该模块组合了一对发射器和接收器,可测量任何旋转物体。当我们按下开始健后,IR传感器的发射器发射的IR光线被反射后被IR接收器接收,其输出的脉冲信号被Arduino控制器检测。
IR传感器由一个IR LED和一个IR光电管组成,工作波长0.75-3μm。这里的IR光电管与用来测量IR辐射量的普通光电二极管不同,其作用是将IR光线反射回去,由IR接收器处理。IR接收器根据接收的IR光线的强度,根据特定算法得出被测物体的转速。项目使用的IR传感器特征如下:
3. 电流消耗:23mA(3.3V);43mA(5.0V)
4. 动态输出电平:检测到物体时输出“低”电平逻辑
LCD引脚 1, 3 ,5 ,16 ——— GND
LCD引脚 2, 15————— VCC (+5V)
LCD引脚 4 —————— – Arduino引脚 D7
LCD引脚 6 —————— – Arduino引脚 D6
LCD引脚 11 ——————- Arduino引脚 D5
LCD引脚 12 ——————- Arduino引脚 D4
LCD引脚 13 ——————- Arduino引脚 D3
LCD引脚 14 ——————- Arduino引脚 D2
IR传感器模块引脚 OUT — Arduino引脚D9
轻触开关端子 ————- Arduino引脚D12
本转速计以RPM为单位测量风扇马达的转速,计算公式为:RPM= 转数 x 12 / 物体
上传Arduino代码
本项目的代码较简单。如果上述电路连接妥当,将这些代码上传到装有Arduino IDE的电脑上,就可以开始测度了。
LiquidCrystal lcd(7, 6, 5, 4, 3, 2);
while(digitalRead(sensor));
lcd.print(” Tachometer”);
digitalWrite(start, HIGH);
unsigned int time=0,RPM=0;
lcd.print(” Please Press “);
lcd.print(“Button to Start “);
while(digitalRead(start));
lcd.print(“Reading RPM…..”);
lcd.print(“Please Wait…..”);
如果上传代码后LCD不显示计数数据,先检查Arduino和LCD模组的连接是否可靠,也可联系本文作者或硬之城技术人员。
作者: 硬之城Allchips, 来源:面包板社区
链接: https://mbb.eet-china.com/blog/uid-me-3975615.html
版权声明:本文为博主原创,未经本人允许,禁止转载!
文章评论(0条评论)
登录后参与讨论