0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

使用紅外傳感器構(gòu)建一個(gè)Arduino計(jì)數(shù)機(jī)

科技觀察員 ? 來(lái)源:circuitdigest ? 作者:Debasis Parida ? 2022-08-17 15:59 ? 次閱讀

在這個(gè)項(xiàng)目中,我們正在使用紅外傳感器構(gòu)建一個(gè)Arduino 計(jì)數(shù)機(jī)。這臺(tái)機(jī)器在紅外傳感器的幫助下對(duì)不同部分的硬幣進(jìn)行計(jì)數(shù)和分類。在這里,布置了紅外傳感器以感應(yīng)不同的硬幣,Arduino UNO 用于處理數(shù)據(jù)并在16x2 LCD上顯示總計(jì)數(shù)值。

所需組件

Arduino UNO

紅外傳感器

面包板

16*2 字母數(shù)字液晶屏

用于 16x2 (1602) 字母數(shù)字 LCD 的 I2C 模塊

連接電線

為 Arduino 硬幣分揀機(jī)制作結(jié)構(gòu)

步驟 1:取一張紙板并標(biāo)記不同的硬幣尺寸,如下圖所示。然后小心地切割標(biāo)記的部分。這些部分的切割必須準(zhǔn)確;否則,該項(xiàng)目可能無(wú)法完美運(yùn)行。

pYYBAGL8n66AabVFAAngVl956X4403.png

第 2 步:按照下圖所示,將上述裝置放置在斜坡結(jié)構(gòu)中。布置好后,通過(guò)在斜坡上插入不同的硬幣來(lái)檢查它,以確保布置完美無(wú)缺。如果硬幣沒(méi)有正確插入,則根據(jù)硬幣稍微增加孔的大小并重新檢查直到成功操作。

poYBAGL8n6qAUjPPAAaq4-alb5s159.png

pYYBAGL8n6aAEtFnAAYDm_jCSp0539.png

第 3 步:將 IR 傳感器放置在單個(gè)硬幣的輸出路徑附近。正確放置傳感器并使用電位計(jì)校準(zhǔn)它們非常重要。然后再次插入硬幣以檢查傳感器操作。在此處了解有關(guān)IR 傳感器電路的更多信息。

poYBAGL8n6KAQRMJAAc0eu9HXrA070.png

電路原理

下面是Arduino計(jì)數(shù)機(jī)的電路圖:

poYBAGL8n56AHSrpAAG8Jq-GRPY460.png

在這里,紅外傳感器被放置在硬幣分揀機(jī)的不同輸出路徑上以感應(yīng)硬幣。當(dāng)硬幣插入這個(gè) Arduino 硬幣計(jì)數(shù)器時(shí),它會(huì)根據(jù)機(jī)械設(shè)計(jì)進(jìn)入專用路徑,相應(yīng)的 IR 傳感器會(huì)感應(yīng)硬幣并向 Arduino 提供 HIGH 輸出值,該值可由 Arduino 的模擬引腳讀取。給出 HIGH 值的 IR 傳感器決定硬幣的價(jià)值,如盧比 2/5/10。

這里一個(gè) 16x2 字母數(shù)字 LCD 使用 I2C 模塊與 Arduino 連接,以顯示放入盒子中的硬幣數(shù)量。此LCD 也可以不使用 I2C 模塊直接連接到 Arduino,但這需要更多的連接數(shù)。所以為了更簡(jiǎn)單,I2C 模塊與 LCD 一起使用,它只使用 2 個(gè)引腳,即 SCL、SDA 來(lái)連接 LCD 和 Arduino。為 Arduino 供電,使用 12VDC,1 AMP AC-DC 適配器,可直接連接到 Arduino 的電源插孔。

稍作修改后,基于 Arduino 的硬幣分揀機(jī)的完整設(shè)置如下所示:

pYYBAGL8n5qAJ7blAAXmk_9pX8k608.png

對(duì) Arduino 進(jìn)行編程

硬件連接成功后,現(xiàn)在是時(shí)候?qū)?Arduino 進(jìn)行編程了。Arduino 的完整代碼在本教程的底部給出。代碼的逐步解釋如下:

在程序中要做的第一件事是包含所有必需的庫(kù)。在我的例子中,我包含了用于使用 LCD 的 I2C 接口的“LiquidCrystal_I2C.h”庫(kù)和用于在 Arduino 上使用 I2C 功能的“Wire.h ”。

#include 
#include 
LiquidCrystal_I2C lcd(0x27,16,2);

在setup() 中,編寫了 LCD 命令用于在 LCD 上顯示歡迎消息。

液晶顯示器();
液晶背光();
lcd.setCursor(0,0);
lcd.print("基于 ARDUINO");
lcd.setCursor(0,1);
lcd.print("硬幣排序");
延遲(2000);
lcd.clear();

在loop() 內(nèi)部,analogRead函數(shù)用于從 Arduino 的不同模擬通道讀取紅外傳感器值并將它們存儲(chǔ)在不同的變量中。

int s1=analogRead(A0);
int s2=analogRead(A1);
int s3=analogRead(A2);

然后,編寫下面的代碼來(lái)檢測(cè)硬幣并增加硬幣計(jì)數(shù)器的值。這里使用標(biāo)志值 f1 來(lái)避免多次計(jì)數(shù)硬幣。

如果(s1>=200 && f1==0)
{
  f1=1;
}
否則如果(s1<200 && f1==1)
{
  f1=0;
  c1++;
}

最后,使用以下命令將計(jì)數(shù)值顯示在 LCD 上。

lcd.setCursor(0,0);
lcd.print("RS10 RS2 RS5");
lcd.setCursor(1,1);
lcd.print(c1);
lcd.setCursor(7,1);
lcd.print(c2);
lcd.setCursor(14,1);
lcd.print(c3);

Arduino硬幣計(jì)數(shù)器的操作

完成設(shè)置并上傳代碼后,打開 12V 直流電源。首先,歡迎信息將顯示在 LCD 上,幾秒鐘后,LCD 上將顯示所有可用硬幣數(shù)量的屏幕。一開始,它會(huì)顯示為零,因?yàn)槲覀冞€沒(méi)有插入任何硬幣。

接下來(lái),在寫有“ Insert Coin ”的機(jī)器頂部插入任何硬幣(Rs. 2/5/10)?,F(xiàn)在您將看到必須在 LCD 上更新硬幣計(jì)數(shù)的值。然后插入多個(gè)不同價(jià)值的硬幣,并在 LCD 上檢查各個(gè)硬幣的計(jì)數(shù)。

poYBAGL8n5OAE_GpAAUM0-j2N9o556.png
#include

#include

LiquidCrystal_I2C lcd(0x27,16,2);

詮釋 f1=0,f2=0,f3=0;

詮釋 c1=0,c2=0,c3=0;

無(wú)效設(shè)置()

{

lcd.init();

液晶背光();

lcd.setCursor(0,0);

lcd.print("基于 ARDUINO");

lcd.setCursor(0,1);

lcd.print("硬幣排序");

延遲(2000);

lcd.clear();

}

無(wú)效循環(huán)()

{

int s1=analogRead(A0);

int s2=analogRead(A1);

int s3=analogRead(A2);

lcd.setCursor(0,0);

lcd.print("RS10 RS2 RS5");

如果(s1>=200 && f1==0)

{

f1=1;

}

否則如果(s1<200 && f1==1)

{

f1=0;

c1++;

}

if(s2>=200 && f2==0)

{

f2=1;

}

否則 if(s2<200 && f2==1)

{

f2=0;

c2++;

}

if(s3>=200 && f3==0)

{

f3=1;

}

否則 if(s3<200 && f3==1)

{

f3=0;

c3++;

}

lcd.setCursor(1,1);

lcd.print(c1);

lcd.setCursor(7,1);

lcd.print(c2);

lcd.setCursor(14,1);

lcd.print(c3);

}

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 計(jì)數(shù)器
    +關(guān)注

    關(guān)注

    32

    文章

    2253

    瀏覽量

    94283
  • 紅外傳感器
    +關(guān)注

    關(guān)注

    9

    文章

    508

    瀏覽量

    47494
  • Arduino
    +關(guān)注

    關(guān)注

    187

    文章

    6457

    瀏覽量

    186501
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    【開源資料】基于Arduino紅外傳感器的汽車速度檢測(cè)

    `基于Arduino紅外傳感器的汽車速度檢測(cè)項(xiàng)目的工作非常簡(jiǎn)單。 Arduino不斷從紅外傳感器讀取輸入。 當(dāng)在設(shè)置前移動(dòng)的汽車到達(dá)第
    發(fā)表于 10-23 13:59

    紅外傳感器安裝要求及使用注意事項(xiàng)

      紅外傳感器是利用紅外線來(lái)進(jìn)行數(shù)據(jù)處理的傳感器,有靈敏度高等優(yōu)點(diǎn),紅外傳感器有什么作用,
    發(fā)表于 01-18 17:28

    紅外傳感器的制作原理是什么?紅外傳感器主要有哪些應(yīng)用?

    紅外傳感器的制作原理是什么?紅外傳感器有哪些核心技術(shù)?紅外傳感器主要有哪些應(yīng)用?
    發(fā)表于 06-18 07:51

    如何利用arduino打孔紙帶通過(guò)兩個(gè)紅外傳感器控制步進(jìn)電機(jī)正反轉(zhuǎn)?

    如何利用arduino打孔紙帶通過(guò)兩個(gè)紅外傳感器控制步進(jìn)電機(jī)正反轉(zhuǎn)?
    發(fā)表于 10-14 08:25

    紅外傳感器工作原理_紅外傳感器的應(yīng)用

    本文首先介紹了紅外傳感器工作原理,其次介紹了紅外傳感器的種類,最后介紹了紅外傳感器的應(yīng)用。
    發(fā)表于 09-17 08:58 ?2.8w次閱讀

    紅外傳感器的工作原理是怎樣的,它的特性是什么

    。紅外傳感器也根據(jù)發(fā)出方式和能量轉(zhuǎn)換方式分為不同的類型。下面,讓我們具體了解下不同紅外傳感器的工作原理及特性。 根據(jù)發(fā)出方式不同,紅外傳感器可分為主動(dòng)式和被動(dòng)式兩種。
    發(fā)表于 11-05 09:11 ?3.4w次閱讀

    紅外傳感器單片機(jī)如何鏈接以及紅外傳感器的相關(guān)要求

    紅外傳感器與單片機(jī)之間的連接方法:通過(guò)測(cè)量引腳電壓將大多數(shù)紅外傳感器轉(zhuǎn)換為距離。因此,通常紅外線具有三個(gè)引腳,VCC和GND
    發(fā)表于 05-10 16:00 ?1.1w次閱讀

    通過(guò)Simulink和Arduino建模和使用Sharp紅外傳感器

    電子發(fā)燒友網(wǎng)站提供《通過(guò)Simulink和Arduino建模和使用Sharp紅外傳感器.zip》資料免費(fèi)下載
    發(fā)表于 11-15 10:37 ?2次下載
    通過(guò)Simulink和<b class='flag-5'>Arduino</b>建模和使用Sharp<b class='flag-5'>紅外傳感器</b>

    使用arduino紅外傳感器的自動(dòng)開門

    電子發(fā)燒友網(wǎng)站提供《使用arduino紅外傳感器的自動(dòng)開門.zip》資料免費(fèi)下載
    發(fā)表于 12-13 14:19 ?1次下載
    使用<b class='flag-5'>arduino</b>和<b class='flag-5'>紅外傳感器</b>的自動(dòng)開門<b class='flag-5'>器</b>

    紅外傳感器的物體計(jì)數(shù)器

    電子發(fā)燒友網(wǎng)站提供《帶紅外傳感器的物體計(jì)數(shù)器.zip》資料免費(fèi)下載
    發(fā)表于 02-06 11:13 ?14次下載
    帶<b class='flag-5'>紅外傳感器</b>的物體<b class='flag-5'>計(jì)數(shù)器</b>

    全面搞懂紅外傳感器紅外傳感器的原理、分類、構(gòu)造、應(yīng)用)

    導(dǎo)讀:紅外傳感器是很常用的傳感器,例如檢測(cè)溫度,很多時(shí)候就用紅外傳感器來(lái)測(cè)量。本內(nèi)容共113頁(yè)P(yáng)PT,包括了紅外傳感器的原理、分類、構(gòu)造
    的頭像 發(fā)表于 06-06 15:27 ?2.4w次閱讀
    全面搞懂<b class='flag-5'>紅外傳感器</b>(<b class='flag-5'>紅外傳感器</b>的原理、分類、構(gòu)造、應(yīng)用)

    如何在Arduino上使用紅外傳感器

    電子發(fā)燒友網(wǎng)站提供《如何在Arduino上使用紅外傳感器.zip》資料免費(fèi)下載
    發(fā)表于 06-25 16:18 ?1次下載
    如何在<b class='flag-5'>Arduino</b>上使用<b class='flag-5'>紅外傳感器</b>

    構(gòu)建個(gè)簡(jiǎn)單的紅外傳感器模塊電路

    紅外傳感器具有廣泛的應(yīng)用,包括機(jī)器人和自動(dòng)化。幾十年來(lái),紅外傳感器在所有這些應(yīng)用中都做得很好。本文教您構(gòu)建個(gè)簡(jiǎn)單的
    的頭像 發(fā)表于 06-29 17:36 ?2122次閱讀
    <b class='flag-5'>構(gòu)建</b><b class='flag-5'>一</b><b class='flag-5'>個(gè)</b>簡(jiǎn)單的<b class='flag-5'>紅外傳感器</b>模塊電路

    紅外傳感器的類型及應(yīng)用

    紅外傳感器類常用于檢測(cè)、測(cè)量和感應(yīng)目標(biāo)的電子器件,通過(guò)接收目標(biāo)發(fā)射的紅外輻射來(lái)實(shí)現(xiàn)各種功能。根據(jù)其工作原理和應(yīng)用領(lǐng)域的不同,紅外傳感器可以分為幾種主要類型。本文將對(duì)
    的頭像 發(fā)表于 11-21 18:12 ?3489次閱讀

    紅外傳感器種類及功能

    紅外傳感器種能夠感知和測(cè)量紅外輻射的裝置,被廣泛應(yīng)用于各種領(lǐng)域,包括監(jiān)控、家庭安防、溫度測(cè)量、遙控、人體檢測(cè)等等。本文將詳細(xì)介紹紅外傳感器的種類和功能。
    的頭像 發(fā)表于 01-15 16:15 ?1910次閱讀