吴忠躺衫网络科技有限公司

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

構建一個基于Arduino的貨幣計數器

科技觀察員 ? 來源:circuitdigest ? 作者:Debasis Parida ? 2022-08-22 15:51 ? 次閱讀

在這個項目中,我們將研究一個創新的Arduino項目創意,在這里我們可以通過使用顏色傳感器和Arduino感知紙幣來計算紙幣筆記并計算其數量。TCS230顏色傳感器將用于檢測貨幣音符,并將Arduino Uno用于處理數據并顯示16x2 LCD上的剩余余額。

所需組件:

Arduino UNO

TCS230顏色傳感器

紅外傳感器

面包板

16*2 字母數字液晶屏

連接電線

TCS3200 顏色傳感器工作

pYYBAGMDNNKAEkr2AAOYYl1tvgA110.png

TCS3200顏色傳感器用于感知各種顏色。我們以前將TCS3200顏色傳感器與Arduino和Raspberry Pi聯系起來,還構建了一些有用的項目,例如顏色分類機。

TCS230傳感器具有內置的紅外LED,用于點亮要檢測到的顏色的物體。這樣可以確保外部光不會對物體產生影響。該傳感器讀取8*8陣列的光電二極管,該光電二極管由16個帶有紅色過濾器的光二極管,帶有藍色過濾器的16個,帶有16個帶有綠色過濾器的光電二極管,沒有任何過濾器。根據要求,分別選擇了這三個陣列中的每個傳感器陣列。因此,它被稱為 可編程傳感器。該模塊可以以感知特定的顏色并留下其他模塊。它包含用于選擇目的的過濾器。有第四模式稱為“無濾波器模式” ,其中傳感器檢測到白光。

TCS230顏色傳感器的輸出信號是一個方波,其占空比為50%,其頻率與所選濾波器的光強度成正比。

poYBAGMDNM6AZ0DPAACAl9p-1TU707.png

TCS3200顏色傳感器的引腳:

pYYBAGMDNMqAACRlAADRpIDoD2M596.png

傳感器的VDD-電壓電源引腳。它提供了5V DC

GND-顏色傳感器的地面參考引腳

S0,S1-輸出頻率縮放選擇輸入

S2,S3-照片二極管類型選擇輸入

顏色傳感器的輸出銷

OE-啟用PIN的輸出頻率

我們還在該項目中使用了紅外傳感器,該項目可以通過以下鏈接來理解其工作。

電路原理

以下是Arduino貨幣計數器的電路圖:

poYBAGMDNMaANiTLAAKKgoXyQ4s438.png

在這里,我制作了一個小型結構,例如使用卡板的POS貨幣刷卡機。在該結構中,顏色傳感器和IR傳感器用紙板固定,如下圖所示。

poYBAGMDNMGASewPAAIaB7Bhl9A939.png

在這里,IR 傳感器用于感應插槽內是否存在貨幣,如果有紙幣,則顏色傳感器將檢測紙幣的顏色并將顏色值發送到 Arduino。并且 Arduino 進一步根據紙幣的顏色計算貨幣價值。

代碼說明

在文章的末尾給出了完整的代碼以及演示視頻。在這里,下面給出了完整代碼的逐步說明。

首先,包括程序中的所有庫。在這里,我們只需要在程序中包含LCD庫即可。然后聲明代碼中使用的所有變量。

#include 
整數輸出 = 13;
unsigned int頻率= 0;
液晶液晶(4、6、7、8、9、10);
int blue1;
int red1;
int green1;
int a = 0,b = 0;
int total = 1000;

在setup() 中,在 LCD 上打印歡迎信息并定義此項目中使用的數字引腳的所有數據方向。接下來,設置顏色傳感器的輸出頻率縮放,在我的例子中,它設置為 20%,可以通過給 S0 給高脈沖和給 S1 給低脈沖來設置。

無效設置()
{
  序列號.開始(9600);
  lcd.begin(16, 2);
  lcd.setCursor(0, 0);
  lcd.print(“智能錢包”);
  lcd.setCursor(0, 1);
  lcd.print(“電路摘要”);
  延遲(2000);
  lcd.clear();
  pinmode(2,輸出); // S0
  pinmode(3,輸出); // S1
  Pinmode(11,輸出); // S2
  Pinmode(12,輸出); // S3
  pinmode(13,輸入); // out
  數字寫入(2,高);
  DigitalWrite(3,低);
}

在無限循環()內部,讀取傳感器中的所有數據輸出。可以通過讀取A0引腳和輸出顏色頻率來找到IR傳感器的輸出,可以通過稱為Red(),blue()和green()的單個函數來找到。然后在串行顯示器上打印所有它們。當我們需要在項目中添加新貨幣時,這是需要的。

int傳感器= DigitalRead(A0);
  int red1 = red();
  int blue1 = blue();
  int green1 = green();
  serial.println(red1);
  serial.println(blue1);
  serial.println(green1);
  serial.println(“ ----------------------------------------”);

接下來,寫所有條件,以使用我們之前設置的參考頻率檢查顏色傳感器的輸出頻率。如果匹配,則從錢包余額中扣除指定的金額。

  if(red1> = 20 && red1 <= 25 && blue1> = 30 && blue1 <= 35 && green1> = 30 && green1 <= 35 && a == 0 && sensor == high)
  {
    a = 1;
  }
  否則if(傳感器==低&& a == 1)
  {
    a = 0;
    如果(總計>=10)
    {
    lcd.setCursor(0, 1);
    lcd.print(“ 10盧比!!!”);
    總計=總數10;
    延遲(1500);
    lcd.clear();
    }
  }

在這里,我們只設置了10盧比和50盧比顏色的條件,您可以設置更多條件以檢測更多否。貨幣筆記。

pYYBAGMDNLiADhElAAPvNKQJ7j8958.png

注意:在您的情況下,頻率輸出可能會有所不同,具體取決于外部照明和傳感器設置。因此,建議檢查貨幣的輸出頻率并相應地設置參考值。

poYBAGMDNLWASfBYAAnVwJW8OkA452.png

以下代碼將顯示16x2 LCD錢包中的可用余額。

  lcd.setCursor(0, 0);
  lcd.print(“總BAL:”);
  lcd.setcursor(11,0);
  lcd.print(總計);
  延遲(1000);

以下功能將獲得貨幣中紅色內容的輸出顏色頻率。同樣,我們可以編寫其他功能以獲得藍色和綠色內容的價值。

int red()

{

  DigitalWrite(11,低);
  DigitalWrite(12,低);
  頻率=脈搏蛋白(輸出,低);
  返回頻率;
}

因此,這就是可以使用幾個組件輕松構建基于Arduino的貨幣計數器的方式。

int輸出= 13;

unsigned int頻率= 0;

#include

LiquidCrystal LCD(4、6、7、8、9、10);

int blue1;

int red1;

int green1;


int a = 0,b = 0;

int total = 1000;

無效設置()

{

序列.開始(9600);

lcd.Begin(16,2);

lcd.setcursor(0,0);

lcd.print(“智能錢包”);

lcd.setcursor(0,1);

lcd.print(“電路摘要”);

延遲(2000);


lcd.clear();


pinMode(2, OUTPUT);//S0

pinMode(3, OUTPUT);//S1

pinMode(11, OUTPUT);//S2

pinMode(12, OUTPUT);//S3

pinMode(13, INPUT);//OUT


DigitalWrite(2,高);

DigitalWrite(3,低);

}


void loop()

{

int sensor = digitalread(a0);

int red1 = red();

int blue1 = blue();

int green1 = green();


serial.println(red1);

序列號.println(blue1);

serial.println(green1);

Serial.println("-----------------");



if(red1> = 20 && red1 <= 25 && blue1> = 30 && blue1 <= 35 && green1> = 30 && green1 <= 35 && a == 0 && sensor == high)

{

a = 1;

}

else if(sensor == low && a == 1)

{

a = 0;

if(total>=10)

{

lcd.setCursor(0, 1);

lcd.print("10 盧比!!!");

總計=總計-10;

延遲(1500);

lcd.clear();

}

}

if (red1 >= 25 && red1 <= 30 &&

{

b = 1;

}

else if (sensor == LOW && b == 1)

{

b = 0;

if(total>=50)

{

lcd.setCursor(0, 1);

lcd.print("50 盧比!!!");

總計=總50;

延遲(1500);

lcd.clear();

}

}

lcd.setCursor(0, 0);

lcd.print(“總BAL:”);

lcd.setcursor(11,0);

lcd.print(總計);

延遲(1000);

}


int red()

{

digitalWrite(11, LOW);

數字寫入(12,低);

頻率=脈沖輸入(輸出,低);

返回頻率;

}

int blue()

{

digitalWrite(11, HIGH);

數字寫入(12,高);

頻率=脈沖輸入(輸出,低);

返回頻率;

}

int green()

{

digitalWrite(11, LOW);

數字寫入(12,高);

頻率=脈沖輸入(輸出,低);

返回頻率;

}

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 計數器
    +關注

    關注

    32

    文章

    2261

    瀏覽量

    94994
  • 顏色傳感器
    +關注

    關注

    2

    文章

    96

    瀏覽量

    18226
  • Arduino
    +關注

    關注

    188

    文章

    6477

    瀏覽量

    187836
收藏 人收藏

    評論

    相關推薦

    構建4位二進制計數器

    構建4位二進制計數器計數范圍從0到15(包括0和15),計數周期為16。同步復位輸入時,將
    的頭像 發表于 12-02 09:20 ?5293次閱讀

    如何構建使用IR光束的對象計數器

    電路,計算有多少人走過扇門或對象通過
    的頭像 發表于 07-30 11:15 ?2177次閱讀

    使用紅外傳感構建Arduino計數

    在這個項目中,我們正在使用紅外傳感構建Arduino 計數機。這臺機器在紅外傳感
    的頭像 發表于 08-17 15:59 ?4496次閱讀
    使用紅外傳感<b class='flag-5'>器</b><b class='flag-5'>構建</b><b class='flag-5'>一</b><b class='flag-5'>個</b><b class='flag-5'>Arduino</b><b class='flag-5'>計數</b>機

    基于Arduino的RPM計數器 具有更快的新算法

    電子發燒友網站提供《基于Arduino的RPM計數器 具有更快的新算法.zip》資料免費下載
    發表于 11-15 11:33 ?0次下載
    基于<b class='flag-5'>Arduino</b>的RPM<b class='flag-5'>計數器</b> 具有更快的新算法

    使用Arduino Nano或Uno的Android頻率計數器

    電子發燒友網站提供《使用Arduino Nano或Uno的Android頻率計數器.zip》資料免費下載
    發表于 11-22 10:43 ?2次下載
    使用<b class='flag-5'>Arduino</b> Nano或Uno的Android頻率<b class='flag-5'>計數器</b>

    基于Arduino UNO的細絲計數器

    基于Arduino UNO的細絲計數器
    發表于 12-08 11:47 ?0次下載

    用于桌上足球/足球的自動Arduino目標計數器

    電子發燒友網站提供《用于桌上足球/足球的自動Arduino目標計數器.zip》資料免費下載
    發表于 12-13 10:29 ?0次下載
    用于桌上足球/足球的自動<b class='flag-5'>Arduino</b>目標<b class='flag-5'>計數器</b>

    使用Arduino的簡單計數器

    方案介紹在本教程中,我們將學習如何制作簡單的步驟計數器。該項目在機器人技術中或需要計數些東西(例如電動機執行多少步或傳感
    發表于 12-30 14:42 ?2次下載

    使用Arduino制作雙向訪客計數器

    電子發燒友網站提供《使用Arduino制作雙向訪客計數器.zip》資料免費下載
    發表于 02-01 11:35 ?10次下載
    使用<b class='flag-5'>Arduino</b>制作雙向訪客<b class='flag-5'>計數器</b>

    Arduino七段計數器

    電子發燒友網站提供《Arduino七段計數器.zip》資料免費下載
    發表于 02-09 09:51 ?0次下載
    <b class='flag-5'>Arduino</b>七段<b class='flag-5'>計數器</b>

    如何使用Arduino制作頻率計數器

    嗎?本文涉及頻率計數器,測量頻率的測試設備。在本文結束時,您還將了解如何使用ARDUINO為自己制作。那么讓我們開始吧,好嗎?
    的頭像 發表于 04-02 14:34 ?7123次閱讀
    如何使用<b class='flag-5'>Arduino</b>制作<b class='flag-5'>一</b><b class='flag-5'>個</b>頻率<b class='flag-5'>計數器</b>?

    基于Arduino Nano 33 BLE Sense的深蹲計數器

    電子發燒友網站提供《基于Arduino Nano 33 BLE Sense的深蹲計數器.zip》資料免費下載
    發表于 06-15 10:52 ?0次下載
    基于<b class='flag-5'>Arduino</b> Nano 33 BLE Sense的深蹲<b class='flag-5'>計數器</b>

    使用Arduino UNO構建4位二進制計數器

    電子發燒友網站提供《使用Arduino UNO構建4位二進制計數器.zip》資料免費下載
    發表于 06-25 11:38 ?0次下載
    使用<b class='flag-5'>Arduino</b> UNO<b class='flag-5'>構建</b>4位二進制<b class='flag-5'>計數器</b>

    計數器構建

    電子發燒友網站提供《計數器構建.zip》資料免費下載
    發表于 07-05 09:11 ?0次下載
    <b class='flag-5'>計數器</b>的<b class='flag-5'>構建</b>

    使用Arduino制作簡單的頻率計數器

    電子發燒友網站提供《使用Arduino制作簡單的頻率計數器.zip》資料免費下載
    發表于 07-12 10:40 ?5次下載
    使用<b class='flag-5'>Arduino</b>制作簡單的頻率<b class='flag-5'>計數器</b>
    百家乐官网代理商博彩e族 | 百家乐官网翻天快播| 678百家乐博彩娱乐网| 沈阳市| 百家乐注码技术打法| 百家乐官网哪条路好| 骰子百家乐的玩法技巧和规则 | 宝马会线上娱乐| 百家乐有人赢过吗| 五河县| 去澳门百家乐的玩法技巧和规则| 百家乐官网赌场技巧大全| 大发888娱乐场df888| 百家乐打连技巧| 伊金霍洛旗| 永利博百家乐的玩法技巧和规则 | 赌场百家乐欺诈方法| 百家乐官网网络赌博网址| 全讯网hg055.com| 百家乐官网真人现场| 阜宁县| 女神百家乐的玩法技巧和规则 | 赌博百家乐官网趋势把握| 大发888 的用户名| 百家乐靠什么赢| 百家乐官网打印机分析| 大发888娱乐场网页版| 百家乐作弊内幕| 百家乐官网庄闲客户端| 大发888娱乐城casinolm0| 百家乐中P代表| 百家乐官网游戏程序出售| 上海博彩生物| 百家乐如何制| 好望角百家乐官网的玩法技巧和规则| 百色市| 大发888博狗博彩| 豪杰百家乐游戏| 百家乐官网技巧论坛| 太阳城网上投注| 百家乐可以作假吗|