标题: 自动数羊器(利用rfid)算法求助! [打印本页]

作者: 格式化无悔    时间: 2017-8-20 22:48
标题: 自动数羊器(利用rfid)算法求助!
      大家好,我目前打算做一个自动数羊器(利用rfid),就是给羊带上耳标,耳标是一个射频标签,之后我们有一个读写器可以读到耳标中的信息,但是我们只是希望做一个计数装置,不打算用上位机改耳标中的数据,只想通过射频读写模块和单片机相连,把芯片中的EPC码发送给单片机,之后单片机每读到一个epc码就加一,之后用数码管显示出个数即可,但是问题来了,,,这个读写模块是只要读到epc码就会发送给单片机,,即便是同一个耳标的epc码也会重复发送,所以需要写一个可以把输入的epc码进行比较的程序,相同的epc码记为一个,最后统计epc的最终的个数,就可得出羊的个数,请问这个程序应该怎么写???(每个epc码的长度相同
作者: yzwzfyz    时间: 2017-8-21 01:07
你说的不是蛮好的么,就这样做,就行了。
给一个比较蠢的方法供你参考:就是将所读的EPC码排序放置。最大的位置减最小的位置+1就是数量。

作者: jasontang1992    时间: 2017-8-21 01:29
如果使用C语言的话,可以考虑构造一个单向链表,每次插入数据前检查是否该数据已存在与单向链表中,没有的话,就将新数据插入。最有遍历一遍单向链表就知道有多少只了。
作者: sldx    时间: 2017-8-21 04:47
根据总数定义一个数组,epc码尾数最好是按序排列的,计数时,读到一个码就在数组中对应序号的数置1,读一个数就检查该位是否为0,为0计数器加一,否则不加,每次计数,数组清零
作者: yzwzfyz    时间: 2017-8-23 00:41
楼上:
“epc码尾数最好是按序排列的”:实际使用会有增册,使得你不敢只用尾数做统计,所以此做法意义不大。
“读到一个码就在数组中对应序号的数置1”:既然读到了,就隐含计数一次了,特意再置1,不必。再说如果一个码对应序号的数置=0,算不算读到呢?若不算,那这个码又是怎么来的呢?
无论你如何做,读到一个码,计不计数,必须要去查对、搜索,是不是已被读过了。所以存在就隐含=1。
作者: 江海龙    时间: 2019-10-2 13:36
我想知道这个技术成功了吗
作者: 格式化无悔    时间: 2023-5-1 19:27
江海龙 发表于 2019-10-2 13:36
我想知道这个技术成功了吗

成功了,最后用数组做的
作者: Longan.Wang    时间: 2023-5-4 13:44
不错!有想法!




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1