找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 5448|回復(fù): 7
收起左側(cè)

自動數(shù)羊器(利用rfid)算法求助!

[復(fù)制鏈接]
ID:149043 發(fā)表于 2017-8-20 22:48 | 顯示全部樓層 |閱讀模式
10黑幣
      大家好,我目前打算做一個自動數(shù)羊器(利用rfid),就是給羊帶上耳標(biāo),耳標(biāo)是一個射頻標(biāo)簽,之后我們有一個讀寫器可以讀到耳標(biāo)中的信息,但是我們只是希望做一個計數(shù)裝置,不打算用上位機改耳標(biāo)中的數(shù)據(jù),只想通過射頻讀寫模塊和單片機相連,把芯片中的EPC碼發(fā)送給單片機,之后單片機每讀到一個epc碼就加一,之后用數(shù)碼管顯示出個數(shù)即可,但是問題來了,,,這個讀寫模塊是只要讀到epc碼就會發(fā)送給單片機,,即便是同一個耳標(biāo)的epc碼也會重復(fù)發(fā)送,所以需要寫一個可以把輸入的epc碼進行比較的程序,相同的epc碼記為一個,最后統(tǒng)計epc的最終的個數(shù),就可得出羊的個數(shù),請問這個程序應(yīng)該怎么寫???(每個epc碼的長度相同

回復(fù)

使用道具 舉報

ID:123289 發(fā)表于 2017-8-21 01:07 | 顯示全部樓層
你說的不是蠻好的么,就這樣做,就行了。
給一個比較蠢的方法供你參考:就是將所讀的EPC碼排序放置。最大的位置減最小的位置+1就是數(shù)量。

評分

參與人數(shù) 1黑幣 +20 收起 理由
admin + 20 回帖助人的獎勵!

查看全部評分

回復(fù)

使用道具 舉報

ID:228553 發(fā)表于 2017-8-21 01:29 | 顯示全部樓層
如果使用C語言的話,可以考慮構(gòu)造一個單向鏈表,每次插入數(shù)據(jù)前檢查是否該數(shù)據(jù)已存在與單向鏈表中,沒有的話,就將新數(shù)據(jù)插入。最有遍歷一遍單向鏈表就知道有多少只了。

評分

參與人數(shù) 1黑幣 +20 收起 理由
admin + 20 回帖助人的獎勵!

查看全部評分

回復(fù)

使用道具 舉報

ID:219796 發(fā)表于 2017-8-21 04:47 來自觸屏版 | 顯示全部樓層
根據(jù)總數(shù)定義一個數(shù)組,epc碼尾數(shù)最好是按序排列的,計數(shù)時,讀到一個碼就在數(shù)組中對應(yīng)序號的數(shù)置1,讀一個數(shù)就檢查該位是否為0,為0計數(shù)器加一,否則不加,每次計數(shù),數(shù)組清零

評分

參與人數(shù) 1黑幣 +40 收起 理由
admin + 40 回帖助人的獎勵!

查看全部評分

回復(fù)

使用道具 舉報

ID:123289 發(fā)表于 2017-8-23 00:41 | 顯示全部樓層
樓上:
“epc碼尾數(shù)最好是按序排列的”:實際使用會有增冊,使得你不敢只用尾數(shù)做統(tǒng)計,所以此做法意義不大。
“讀到一個碼就在數(shù)組中對應(yīng)序號的數(shù)置1”:既然讀到了,就隱含計數(shù)一次了,特意再置1,不必。再說如果一個碼對應(yīng)序號的數(shù)置=0,算不算讀到呢?若不算,那這個碼又是怎么來的呢?
無論你如何做,讀到一個碼,計不計數(shù),必須要去查對、搜索,是不是已被讀過了。所以存在就隱含=1。
回復(fù)

使用道具 舉報

ID:618766 發(fā)表于 2019-10-2 13:36 來自觸屏版 | 顯示全部樓層
我想知道這個技術(shù)成功了嗎
回復(fù)

使用道具 舉報

ID:149043 發(fā)表于 2023-5-1 19:27 來自觸屏版 | 顯示全部樓層
江海龍 發(fā)表于 2019-10-2 13:36
我想知道這個技術(shù)成功了嗎

成功了,最后用數(shù)組做的
回復(fù)

使用道具 舉報

不錯!有想法!
回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復(fù) 返回頂部 返回列表