本項(xiàng)目采用IR傳感器和Arduino開發(fā)板制作了一個(gè)數(shù)字轉(zhuǎn)速計(jì),以RPM為單位測(cè)量馬達(dá)的轉(zhuǎn)數(shù)。項(xiàng)目黑簡(jiǎn)單,只需將IR傳感器和Arduino板子與16*2 LCD連接即可。
BOM表及電路圖
本轉(zhuǎn)速計(jì)可連續(xù)計(jì)數(shù)5秒。項(xiàng)目BOM表如下:
Arduino UNO開發(fā)板 x1
16*2 LCD模塊 x1
IR傳感器模塊(含發(fā)射和接收) x1
輕觸開關(guān)(Reset開關(guān)) x1
面包板 x1
連接線 x1
BOM表中,IR傳感器擔(dān)當(dāng)測(cè)速功能,該模塊組合了一對(duì)發(fā)射器和接收器,可測(cè)量任何旋轉(zhuǎn)物體。當(dāng)我們按下開始健后,IR傳感器的發(fā)射器發(fā)射的IR光線被反射后被IR接收器接收,其輸出的脈沖信號(hào)被Arduino控制器檢測(cè)。

IR傳感器由一個(gè)IR LED和一個(gè)IR光電管組成,工作波長(zhǎng)0.75-3μm。這里的IR光電管與用來(lái)測(cè)量IR輻射量的普通光電二極管不同,其作用是將IR光線反射回去,由IR接收器處理。IR接收器根據(jù)接收的IR光線的強(qiáng)度,根據(jù)特定算法得出被測(cè)物體的轉(zhuǎn)速。項(xiàng)目使用的IR傳感器特征如下:
1. 工作電壓:3.0–5.0V
2. 探測(cè)距離:2–30cm(可通過(guò)電位器調(diào)節(jié))
3. 電流消耗:23mA(3.3V);43mA(5.0V)
4. 動(dòng)態(tài)輸出電平:檢測(cè)到物體時(shí)輸出“低”電平邏輯
5. 板載障礙物L(fēng)ED指示器
本項(xiàng)目的接線稍稍復(fù)雜,具體電路圖說(shuō)明如下:
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傳感器模塊引腳 -GND —— GND
IR傳感器模塊引腳 +VCC —— VCC
IR傳感器模塊引腳 OUT — Arduino引腳D9
輕觸開關(guān)端子 ————- Arduino引腳D12
輕觸開關(guān)端子 ————-GND

?
本轉(zhuǎn)速計(jì)以RPM為單位測(cè)量風(fēng)扇馬達(dá)的轉(zhuǎn)速,計(jì)算公式為:RPM= 轉(zhuǎn)數(shù) x 12 / 物體
這里的“物體”數(shù)值為每個(gè)風(fēng)扇包含的葉片數(shù)目。
上傳Arduino代碼
本項(xiàng)目的代碼較簡(jiǎn)單。如果上述電路連接妥當(dāng),將這些代碼上傳到裝有Arduino IDE的電腦上,就可以開始測(cè)度了。

?
#include
LiquidCrystal lcd(7, 6, 5, 4, 3, 2);
#define sensor 9
#define start 12
int delay1()
{
//unsigned int long k;
int i,j;
unsigned int count=0;
for(i=0;i<1000;i++)
{
for(j=0;j<1000;j++)
{
if(digitalRead(sensor))
{
count++;
while(digitalRead(sensor));
}
}
}
return count;
}
void setup()
{
pinMode(sensor, INPUT);
pinMode(start, INPUT);
pinMode(2, OUTPUT);
lcd.begin(16, 2);
delay(2000);
digitalWrite(start, HIGH);
}
void loop()
{
unsigned int time=0,RPM=0;
lcd.clear();
lcd.print(” Please Press “);
lcd.setCursor(0,1);
lcd.print(“Button to Start “);
while(digitalRead(start));
lcd.clear();
lcd.print(“Reading RPM…..”);
time=delay1();
lcd.clear();
lcd.print(“Please Wait…..”);
RPM=(time*12)/3;
delay(2000);
lcd.clear();
lcd.print(“RPM=”);
lcd.print(RPM);
delay(5000);
}
如果上傳代碼后LCD不顯示計(jì)數(shù)數(shù)據(jù),先檢查Arduino和LCD模組的連接是否可靠,也可聯(lián)系本文作者或硬之城技術(shù)人員。
-
傳感器
+關(guān)注
關(guān)注
2560文章
52157瀏覽量
761426 -
BOM表
+關(guān)注
關(guān)注
1文章
13瀏覽量
8964 -
Arduino
+關(guān)注
關(guān)注
188文章
6485瀏覽量
189629
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
當(dāng)我問(wèn)DeepSeek:為什么傳感器技術(shù)越來(lái)越越重要
用于課題的無(wú)線轉(zhuǎn)速霍爾傳感器,新人應(yīng)該從哪里開始學(xué)習(xí)
用PPS編譯生成了一個(gè).h文件,文件里頭的接口段代碼{44,28,0,0}這四個(gè)數(shù)字分別代表什么意思啊?
開源項(xiàng)目!基于Arduino做的“魷魚游戲”BOSS面具,支持動(dòng)作檢測(cè)
SJK-A106轉(zhuǎn)速傳感器是什么類型傳感器
傾斜傳感器的種類與選擇技巧

同昌源儀器|Keysight 功率計(jì)+功率傳感器

用DSP做一個(gè)數(shù)字電源,如何選擇數(shù)字電源的運(yùn)放?
數(shù)字傳感器與模擬傳感器的區(qū)別
基于Arduino的數(shù)字電容式觸摸傳感器設(shè)計(jì)

轉(zhuǎn)速傳感器對(duì)旋轉(zhuǎn)機(jī)械軸的轉(zhuǎn)速測(cè)量應(yīng)用

S2GO_3D_TLE493DW2B6-A0無(wú)法與Arduino UNO一起工作是怎么回事?
英飛凌推出用于Arduino的XENSIVTM傳感器擴(kuò)展板
英飛凌推出用于Arduino的XENSIV傳感器擴(kuò)展板, 搭載英飛凌和Sensirion的智能家居應(yīng)用傳感器

評(píng)論