找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 4358|回复: 7
收起左侧

自动数羊器(利用rfid)算法求助!

[复制链接]
ID:149043 发表于 2017-8-20 22:48 | 显示全部楼层 |阅读模式
10黑币
      大家好,我目前打算做一个自动数羊器(利用rfid),就是给羊带上耳标,耳标是一个射频标签,之后我们有一个读写器可以读到耳标中的信息,但是我们只是希望做一个计数装置,不打算用上位机改耳标中的数据,只想通过射频读写模块和单片机相连,把芯片中的EPC码发送给单片机,之后单片机每读到一个epc码就加一,之后用数码管显示出个数即可,但是问题来了,,,这个读写模块是只要读到epc码就会发送给单片机,,即便是同一个耳标的epc码也会重复发送,所以需要写一个可以把输入的epc码进行比较的程序,相同的epc码记为一个,最后统计epc的最终的个数,就可得出羊的个数,请问这个程序应该怎么写???(每个epc码的长度相同

回复

使用道具 举报

ID:123289 发表于 2017-8-21 01:07 | 显示全部楼层
你说的不是蛮好的么,就这样做,就行了。
给一个比较蠢的方法供你参考:就是将所读的EPC码排序放置。最大的位置减最小的位置+1就是数量。

评分

参与人数 1黑币 +20 收起 理由
admin + 20 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

ID:228553 发表于 2017-8-21 01:29 | 显示全部楼层
如果使用C语言的话,可以考虑构造一个单向链表,每次插入数据前检查是否该数据已存在与单向链表中,没有的话,就将新数据插入。最有遍历一遍单向链表就知道有多少只了。

评分

参与人数 1黑币 +20 收起 理由
admin + 20 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

ID:219796 发表于 2017-8-21 04:47 来自手机 | 显示全部楼层
根据总数定义一个数组,epc码尾数最好是按序排列的,计数时,读到一个码就在数组中对应序号的数置1,读一个数就检查该位是否为0,为0计数器加一,否则不加,每次计数,数组清零

评分

参与人数 1黑币 +40 收起 理由
admin + 40 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

ID:123289 发表于 2017-8-23 00:41 | 显示全部楼层
楼上:
“epc码尾数最好是按序排列的”:实际使用会有增册,使得你不敢只用尾数做统计,所以此做法意义不大。
“读到一个码就在数组中对应序号的数置1”:既然读到了,就隐含计数一次了,特意再置1,不必。再说如果一个码对应序号的数置=0,算不算读到呢?若不算,那这个码又是怎么来的呢?
无论你如何做,读到一个码,计不计数,必须要去查对、搜索,是不是已被读过了。所以存在就隐含=1。
回复

使用道具 举报

ID:618766 发表于 2019-10-2 13:36 来自手机 | 显示全部楼层
我想知道这个技术成功了吗
回复

使用道具 举报

ID:149043 发表于 2023-5-1 19:27 来自手机 | 显示全部楼层
江海龙 发表于 2019-10-2 13:36
我想知道这个技术成功了吗

成功了,最后用数组做的
回复

使用道具 举报

ID:77589 发表于 2023-5-4 13:44 | 显示全部楼层
不错!有想法!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表