CN102339513B - 防宠物踩踏式报警器中轮廓法测量面积区分脚型的方法 - Google Patents
防宠物踩踏式报警器中轮廓法测量面积区分脚型的方法 Download PDFInfo
- Publication number
- CN102339513B CN102339513B CN 201010228515 CN201010228515A CN102339513B CN 102339513 B CN102339513 B CN 102339513B CN 201010228515 CN201010228515 CN 201010228515 CN 201010228515 A CN201010228515 A CN 201010228515A CN 102339513 B CN102339513 B CN 102339513B
- Authority
- CN
- China
- Prior art keywords
- data
- dpl
- dph
- coordinate
- adjoint point
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Burglar Alarm Systems (AREA)
Abstract
防宠物踩踏式报警器及其轮廓法测量面积区分脚型的方法包括防宠物踩踏式报警器与轮廓法测量面积区分脚型的方法两部分;后者体现于轮廓法测量面积以区分脚型程序,前者由一个长方形框架、电池组、单片机系统、串入并出电路、并入串进电路与音乐电路组成,其中,长方形框架的上部和底部分别设置有列、行电极组,其导线依序分别连接到并入串进电路的各个并行输入端与串入并出电路的各个并行输出端。按照行、列两电极组导线的排列建立二维坐标系,借助单片机扫描检测被踩踏的区域、逐块跟踪它们的轮廓、对轮廓内区域数格子算面积、判断脚型并决定是否发出报警声。所述测量面积的方法针对一块一块被踩踏的区域,适用于防盗报警工作。
Description
技术领域
本发明涉及安防电子技术领域,特别是一种防宠物踩踏式报警装置以及一种测量随机分布的若干区域的面积的方法。
背景技术
2010年7月提交国家知识产权局专利局审查的发明“防宠物踩踏式报警器及其测量面积以区分脚型的方法”借助单片机技术,以“数格子量面积的方法”检测受到踩踏的区域的面积,据此区分人与小动物的脚型,其防宠物踩踏式报警器经济、实用。但是,所述“数格子量面积的方法”没有采取措施区分被踩踏的区域,因而不能够检测、识别并测量若干块同时被踩踏的区域,其结果有可能是某几块被踩踏区域的面积之和。
发明内容
本发明的目的是提供一种防宠物踩踏式报警器及其轮廓法测量面积区分脚型的方法,所述轮廓法测量面积区分脚型的方法以所述防宠物踩踏式报警器为物理基础,采用单片机技术测量被踩踏的区域的面积,据此区分人与小动物的脚型,在受到人的踩踏时发出报警声。
本发明实现其目的所采用的技术方案是:所述防宠物踩踏式报警器由一个长方形框架、电池组、单片机系统、串入并出电路、并入串进电路、音乐电路以及轮廓法测量面积以区分脚型程序组成;其中,长方形框架的上部和底部各有一组电极,分别称之为列电极组和行电极组,每一组电极包括72根彼此独立、间距均匀、裸露的导线,两组导线排列的方向相互垂直,列电极组的导线依序分别连接到并入串进电路的各个并行输入端,行电极组的导线依序分别连接到串入并出电路的各个并行输出端,单片机系统装载有轮廓法测量面积以区分脚型程序,其输出口线P3.7连接到音乐电路的输入端,电池组作为本装置的电源。
所述长方形框架的上部和底部的两组电极由该框架的两侧绝缘隔离并支撑着。
所述单片机系统包括:一块单片机及其晶振电路和上电复位电路、随机存储器电路,其中,随机存储器电路由一块74HC373和64KB的RAM组成。
所述串入并出电路由9块74HC164级联组成:第一块74HC164的信号串行输入端A连接 到单片机系统的输出口线P1.2,其最高位输出端QH连接到第二块的信号串行输入端A,第二块的最高位输出端QH连接到第三块的信号串行输入端A,依次类推,共产生8(位/块)×9块=72位的信号并行输出端;9块74HC164的清零端与信号串行输入端B都连接到电池组的正极,它们的时钟信号输入端都连接到单片机系统的输出口线P1.3。
所述并入串进电路由9块74HC165级联组成:最后一块74HC165的并入串出信号端QH连接到前一块的信号串行输入端DS,依次类推,共产生8(位/块)×9块=72位的信号并行输入端,每一位信号并行输入端还各自连接一个下拉电阻到电池组的负极,第一块74HC165的并入串出信号端QH连接到单片机系统的输入口线P1.5,这9块74HC165的并入数据装载控制端/PL都连接到单片机系统的输出口线P1.6,它们的时钟信号输入端都连接到单片机系统的输出口线P1.7,它们的时钟使能输入端/CE都连接到电池组的负极。
本发明所述轮廓法测量面积区分脚型的方法包含在轮廓法测量面积以区分脚型程序中,用于区分人与小动物的脚型,其步骤如下:
步骤一、初始化单片机:
MOV_SP,2FH ’堆栈初值,
CLR_P1.2,P1.3,P1.7,P3.7 ’准备输出信号,
SETB_P1.5,P1.6 ’准备输入信号,
CLR_F0 ’初始化跟踪区域轮廓工作结束的标志位,
步骤二、初始化程序:
CLR_R5,CLR_R6 ’R5,R6分别为格子计数器的低字节和高字节,
MOV_R1,#AL,MOV_R2,#AH ’RAM中后部开辟有小块临时存储区,用于存储被跟踪区域的轮廓上坐标点的坐标,#AL,#AH分别为该区域的起始地址之低、高字节,R1,R2分别为RAM中临时存储区地址指针的低字节和高字节寄存器,
MOV_DPL,#AL,MOV_DPH,#AH
MOV_R0,#RAM0,MOV_A,#00H ’#RAM0为RAM中临时存储区的大小,
Loop0:MOVX_DPTR,A ’清零RAM中临时存储区中的一个单元,
INC_DPTR ’指向下一单元,
DJNZ_R0,Loop0 ’R0为循环计数器,
Loop1:MOV_R0,#Number_COL ’Number_COL为列电极组中导线的数目,
Loop2:MOV_R3,#Number_ROW ’Number_ROW为行电极组中导线的数目,
SETB_P1.2,NOP,CLR_P1.2 ’清零串入并出电路的9块74HC164的输出端,
DJNZ_R3,Loop2 ’R3为循环计数器,
DJNZ_R0,Loop1 ’R0为循环计数器,
MOV_DPH,#00H,MOV_DPL,#00H’初始化数据指针DPTR,
’分开为两个8位的x,y坐标指针,
步骤三、开始扫描检测被踩踏的区域:
1)通过单片机对行电极组中的第一根导线输出一个高电平,然后,逐根检测列电极组中导线的电平,其低、高电平分别以#00H,#01H表示且存储之:MOV_DPTR,#00H或MOV_DPTR,#01H,其中,每检测完一根列电极组导线,y坐标指针就指向下一根列电极组导线:INC_DPL,
如果检查完毕列电极组中的全部导线,即DPL=Number_COL,把x,y坐标指针指向下一根行电极组导线:INC_DPH,MOV_DPL,#00H;
2)通过单片机对行电极组中的下一根导线输出一个高电平,然后,逐根检测列电极组中导线的电平,其低、高电平分别以#00H,#01H表示且存储之,其中,每检测完一根列电极组导线,y坐标指针就指向下一根列电极组导线,
如果检查完毕列电极组中的全部导线,即DPL=Number_COL,把x,y坐标指针指向下一根行电极组导线;
3)判断行电极组中当前处于高电平的导线是否超出其最后一根:
(a)DPH<Number_ROW,不是最后一根,跳转到本步骤三之2)继续进行扫描检测;
(b)DPH=Number_ROW,已超出最后一根,执行下一步骤;
步骤四、跟踪被踩踏区域的轮廓:
1)初始化x,y坐标指针DPTR:MOV_DPH,#01H,MOV_DPL,#01H;
2)暂存当前x,y坐标指针DPTR,称之为当前跟踪坐标指针,从RAM取出并查看当前位置的数据:MOV_A,DPTR:
(a)如果该数据为#00H,执行步骤五;
(b)如果该数据为#01H,查看位于当前坐标位置的上、右、下与左方的四邻{(DPH←DPH-1,DPL)、(DPH,DPL←DPL+1)、(DPH←DPH+1,DPL)与(DPH,DPL←DPL-1)}处的四个数据,即按照跟踪区域轮廓的规则获取与行、列电极组导线被踩踏所致接触的区域对应的轮廓;
然后,运用“数格子量面积的方法”,获得被踩踏区域的面积:S(R7);
如果被踩踏区域的面积S(R7)≥Area,(Area为某个预定值),就判断为受到人的脚的踩踏,并发出警报信号:SETB_P3.7,延时约十秒,再撤除该报警信号:CLR_P3.7;执行步骤五;
步骤五、恢复当前x,y坐标指针DPTR为当前跟踪坐标指针,把它指向下一个坐标点:如果当前坐标点已经处于本行最后的位置,即DPL=Number_COL-1时,下一个坐标点为(DPH←DPH+1,DPL←1),否则,下一个坐标点为(DPH,DPL←DPL+1);
步骤六、如果x,y坐标指针DPTR尚未指向最后一行,即:DPH<Number_ROW-1,跳转本步骤四之2),继续跟踪被踩踏区域的轮廓,否,则结束跟踪被踩踏区域轮廓的工作;
步骤七、跳转到步骤一,开始新的一轮扫描检测工作。
上述步骤四中所述跟踪区域轮廓的规则包括:
1)被跟踪区域的特征是:“被跟踪区域内的每一个坐标点都对应着数据#01H,需要被跟踪的区域之外或需要被跟踪的区域之间的坐标点都对应着数据#00H”;
2)启动跟踪轮廓定时器,如果该定时器的计时时间到了预定的数置,复位单片机;
3)当前坐标位置对应的数据为#01H,查看当前坐标位置的上、右、下与左方四个邻点对应的数据的关系,决定当前坐标位置的移动方向,该移动方向经过的路径就形成该区域的轮廓,有关移动当前坐标位置的规则如下:
a)如果其右方邻点对应的数据为#01H,其上、下、左方邻点对应的数据都为#00H,就把当前坐标位置移向其右方邻点处;
b)如果其下方邻点对应的数据为#01H,其上、右、左方邻点对应的数据都为#00H, 就把当前坐标位置移向其下方邻点处;
c)如果其左方邻点对应的数据为#01H,其上、右、下方邻点对应的数据都为#00H,就把当前坐标位置移向其左方邻点处;
d)如果其上方邻点对应的数据为#01H,其右、下、左方邻点对应的数据都为#00H,就把当前坐标位置移向其上方邻点处;
e)如果其右、下方邻点对应的数据都为#01H,其左、上方邻点对应的数据都为#00H,就把当前坐标位置移向其右方邻点处;
f)如果其下、左方邻点对应的数据都为#01H,其上、右方邻点对应的数据都为#00H,就把当前坐标位置移向其下方邻点处;
g)如果其左、上方邻点对应的数据都为#01H,其右、下方邻点对应的数据都为#00H,就把当前坐标位置移向其左方邻点处;
h)如果其上、右方邻点对应的数据都为#01H,其下、左方邻点对应的数据都为#00H,就把当前坐标位置移向其上方邻点处;
i)如果其上、下方邻点对应的数据都为#01H,其右、左方邻点对应的数据都为#00H,且其由其左方邻点移动而来,就把当前坐标位置移向其上方邻点处;
j)如果其上、下方邻点对应的数据都为#01H,其右、左方邻点对应的数据都为#00H,且其由其右方邻点移动而来,就把当前坐标位置移向其下方邻点处;
k)如果其右、左方邻点对应的数据都为#01H,其上、下方邻点对应的数据都为#00H,且其由其上方邻点移动而来,就把当前坐标位置移向其右方邻点处;
l)如果其右、左方邻点对应的数据都为#01H,其上、下方邻点对应的数据都为#00H,且其由其下方邻点移动而来,就把当前坐标位置移向其左方邻点处;
m)如果其上方邻点对应的数据为#00H,其余三个邻点对应的数据都为#01H,就把当前坐标位置移向其右方邻点处;
n)如果其右方邻点对应的数据为#00H,其余三个邻点对应的数据都为#01H,就把当前坐标位置移向其下方邻点处;
o)如果其下方邻点对应的数据为#00H,其余三个邻点对应的数据都为#01H,就把当前坐标位置移向其左方邻点处;
p)如果其左方邻点对应的数据为#00H,其余三个邻点对应的数据都为#01H,就把当前坐标位置移向其上方邻点处;
q)如果当前坐标位置的上、右、下与左方四个邻点对应的四个数据都是#00H,四个邻点中也没有出现本跟踪区域轮廓过程所获得的最前面的5个位置坐标之一,这时,尝试退出 该“奇异的隅角”:把当前坐标位置对应的数据置为#00H,从RAM内的临时存储区取出最后存进去的坐标值,把该坐标值赋予当前坐标位置指针即(DPH,DPL),也就是退回到前一个位置的坐标处,然后,按照上述跟踪区域轮廓的规则继续跟踪下一个曲线轮廓点,如果能够找到下一个曲线轮廓点,就继续跟踪区域轮廓的工作,否则,所遇到的“奇异的隅角”表明不存在封闭、连续的轮廓曲线,即没有形成被踩踏的区域,这时,清零RAM内的临时存储区,初始化RAM中临时存储区地址指针寄存器R1,R2,设置跟踪区域轮廓工作结束的标志位:SETB_F0,结束本轮跟踪区域轮廓的工作;
r)如果当前坐标位置的上、右、下与左方四个邻点对应的四个数据都是#00H,四个邻点中出现了本跟踪区域轮廓过程所获得的最前面的5个位置坐标之一,这时,清零RAM内的临时存储区,初始化RAM中临时存储区地址指针寄存器R1,R2,设置跟踪区域轮廓工作结束的标志位:SETB_F0,结束本轮跟踪区域轮廓的工作;
4)每次移动当前坐标位置之前,根据RAM中临时存储区地址指针寄存器R1,R2把当前位置的坐标(DPH,DPL)依序存储在RAM内的临时存储区,然后使得RAM中临时存储区地址指针寄存器R1,R2指向下一处存储单元;
5)每次移动当前坐标位置之前,把当前坐标位置对应的数据改写成#FFH;
6)上述诸规则中,所述数据#00H与非#01H的其它数据等效。
上述步骤四所述数格子量面积的方法包括下述步骤:
步骤一、初始化x,y坐标指针DPTR:MOV_DPH,#00H,MOV_DPL,#00H;
步骤二、从RAM取出并查看当前位置的数据:MOV_A,DPTR,
(a)如果该数据不等于#01H,跳到本方法之步骤三;
(b)如果它等于#01H,先查看该坐标位置是否属于轮廓的包围之中:
否,则跳到本方法之步骤三;
是,则查看当前坐标位置的正下方(DPH←DPH+1,DPL)、左下角(DPH←DPH+1,DPL←DPL-1)两处的数据是否等于#01H或#FFH,是,则格子计数器R6R5加1;还要查看当前坐标位置的右邻(DPH,DPL←DPL+1)对应的数据是否等于#01H:
是,跳转本方法之步骤三,
否,进一步查看当前坐标位置的正下方(DPH←DPH+1,DPL)、右下角 (DPH←DPH+1,DPL←DPL+1)两处的数据是否等于#01H或#FFH,是,则格子计数器R6R5也加1;
若当前坐标位置位于边上的第一行、第一列、最后一行或最后一列,则当前坐标位置的正下方、左下角、右邻与右下角在RAM中没有相应的数据,此时其坐标的特点是DPH<0、DPL<0、DPH=Number_ROW或DPL=Number_COL,权当这些坐标点处的数据为#00H;
步骤三、x,y坐标指针DPTR指向当前坐标位置的下一个坐标点:如果当前坐标点已经超出本行倒数第一列,即:DPL=Number_COL时,下一个坐标点为(DPH←DPH+1,DPL←0),否则,下一个坐标点为(DPH,DPL←DPL+1);
步骤四、如果x,y坐标指针DPTR尚未超出倒数第一行,即:DPH<Number_ROW,跳转本方法之步骤二,继续本次数格子量面积的工作;
否,则计算被踩踏的区域的面积S(R7)=R6R5×Ssquare,其中,Ssquare为一个格子的面积,由行、列电极组内导线的间距决定,清零格子计数器R6R5,结束本次数格子量面积的工作。
上述步骤四所述数格子量面积的方法之步骤二所述“查看该坐标位置是否属于轮廓的包围之中”的本实施方法包括下述步骤:
步骤一、称当前位置为目标位置,把其x,y坐标指针DPTR指向目标位置的左方,逐个坐标点地取出它们对应的数据,即:DEC_DPL,MOVX_A,DPTR,并逐个坐标点地查看该数据是否等于#FFH:
如果遇到等于#FFH的坐标点,跳到本实施方法之步骤二,继续查看工作;
如果进行到DPL=0还没有遇到等于#FFH的坐标点,表明目标位置没有在轮廓的包围之中,建立标志:F1=0,结束本查看工作;
步骤二、把x,y坐标指针DPTR指向目标位置的右方,逐个坐标点地取出它们对应的数据,即:INC_DPL,MOVX_A,DPTR,并逐个坐标点地查看该数据是否等于#FFH:
如果遇到等于#FFH的坐标点,跳到本实施方法之步骤三,继续查看工作;
如果进行到DPL=Number_COL-1还没有遇到等于#FFH的坐标点,表明目标位置没有在轮廓的包围之中,建立标志:F1=0,结束本查看工作;
步骤三、把x,y坐标指针DPTR指向目标位置的上方,逐个坐标点地取出它们对应的数据,即:DEC_DPH,MOVX_A,DPTR,并逐个坐标点地查看该数据是否等于#FFH:
如果遇到等于#FFH的坐标点,跳到本实施方法步骤四,继续查看工作;
如果进行到DPH=0还没有遇到等于#FFH的坐标点,表明目标位置没有在轮廓的包围之中,建立标志:F1=0,结束本查看工作;
步骤四、把x,y坐标指针DPTR指向目标位置的下方,逐个坐标点地取出它们对应的数据,即:INC_DPH,MOVX_A,DPTR,并逐个坐标点地查看该数据是否等于#FFH:
如果遇到等于#FFH的坐标点,说明该目标位置位于#FFH所标记的轮廓所包围的区域内,建立标志:F1=1,结束本查看工作;
如果进行到DPH=Number_ROW-1还没有遇到等于#FFH的坐标点,表明目标位置没有在轮廓的包围之中,建立标志:F1=0,结束本查看工作。
本发明的优点是,按照行、列两电极组导线的排列建立二维坐标系,借助单片机就可以扫描检测被踩踏的区域、逐块跟踪它们的轮廓、对轮廓内区域数格子算面积、判断脚型并决定是否发出报警声;所述测量面积的方法针对一块一块被踩踏的区域,适用于防盗报警工作。
附图说明
下面对照附图进一步具体说明本发明。
图1是本发明的结构示意图。
图2是单片机系统的原理图。
图3是串入并出电路的原理图。
图4是跟踪区域轮廓的规则的示意图,包括情形(a)-(r);其中,每一种情形的中心为当前坐标位置,虚线箭头表示当前位置的来源方向,实线箭头表示当前位置的移动方向,数据0与其它非1的数据等效,情形(q)表示跟踪轮廓过程中可能遇到的“奇异的隅角”,情形(r)表示跟踪轮廓过程的结束条件,其中的R7表示本跟踪区域轮廓过程所获得的最前面的5个位置坐标之一。
图5是并入串进电路的原理图。
图6是应用跟踪区域轮廓的规则的例子,其中,a是跟踪区域轮廓的起始点,b是“奇异的隅角”,d是跟踪区域轮廓的终止点。
图中,1.长方形框架,11.长方形框架1的侧面(宽),12.长方形框架1的侧面(长), 13.长方形框架1底板上的(行)电极组,14.位于长方形框架的上部的(列)电极组,141.目标区域I,142.跟踪第一个目标区域的轮廓的起始点,143.跟踪目标区域轮廓的行扫描检测方向,144.跟踪目标区域I获得的轮廓,21.-29.74HC164,31.-39.74HC165。
具体实施方式
本发明包括:一个长方形框架(1)、电池组、单片机系统、串入并出电路、并入串进电路、音乐电路以及轮廓法测量面积以区分脚型程序。
长方形框架(1)如图1所示,其上部和底部各有一组电极(14)和(13),分别称之为列电极组和行电极组,每一组电极由72根裸露的金属导线组成,这些导线彼此独立,间距均匀,两组电极(14)和(13)的导线排列的方向相互垂直(不作严格要求),由框架(1)的两侧(11)或(12)绝缘隔离并支撑着,整个长方形框架的外部包裹着绝缘材料,外形似踏脚垫。
单片机系统如图2所示,图中没有画出单片机的上电复位电路和时钟电路。假设行、列电极组各有256根导线,会产生256×256=65536个交叉点,每个交叉点有两种状态:分离或接触,而64KB=64×1024=64×210=65536,因此,需要扩展64KB片外RAM,其中还要包括至少256B×2×4=2KB RAM内的临时存储区,以存储各轮廓点坐标的高、低字节。单片机需要选用8051系列中具有40个脚的,最好它自带片内Flash程序存储器,这时,其单片机的引脚/EA接到电源正极。
所述串入并出电路如图3所示,由九块8位串入并出移位寄存器74HC164(21)-(29)级联组成,其72个输出端QA,QB,QC,QD,QE,......分别依次连接到长方形框架(1)的底部的行电极组(13)中的每根金属导线。
所述并入串进电路如图5所示,由九块8位并入串出移位寄存器74HC165(31)-(39)级联组成,其72个输出端A,B,C,D,E,......分别依次连接到长方形框架(1)的上部的列电极组(14)中的每根金属导线。这72个输出端A,R,C,D,E,......的每一个还各自连接一个~30KΩ的下拉电阻到电源的负端,因为简洁缘故,图5中并没有全部画出这些下拉电阻。
音乐电路采用音乐集成电路配合扬声器,或者只使用一只蜂鸣器,用于发出报警声。
平时,行、列电极组中导线在空间上相互交叉但没有接触,列电极组中的导线的电势被下拉到电源地,单片机通过串入并出电路逐根扫描式输出高电平到行电极组的导线。受到踩踏时,被踩踏的区域内行、列电极组中的导线发生接触,依序使得位于这些接触点的列电极组中的导线也处于高电平。可以选取位于左上角的第一个交叉点所在处作坐标系的原点,按 照行、列电极组中导线的排列方向建立坐标系,单片机通过扫描检测获得空间上相互交叉的点的高、低电平,被存储在64KB片外RAM中。这样,用#00H,#01H两个数码就表示了整个防宠物踩踏式报警器所警戒的区域的状况。
需要区分被踩踏的区域,从而能够分别对各个被踩踏区域“数格子量面积”,其工作即“跟踪被踩踏区域的轮廓”。
轮廓法测量面积以区分脚型程序之步骤四叙述了“跟踪被踩踏区域的轮廓”的方法,它按照从左向右、从上向下的行、列检测顺序,寻找代表被踩踏的电极接触点的数据#01H,直到最后一行的最后一个坐标点被搜索完毕为止。每一次找到数据#01H时,先暂存当前x,y坐标指针DPTR,称之为当前跟踪坐标指针,然后,遵循“跟踪区域轮廓的规则”(如图4所描述),开始跟踪从此坐标点起始的被踩踏区域(用数据#01H表示)的轮廓。跟踪过程中,x,y坐标位置指针逐个坐标点地移动,每一次移动前,当前坐标点的数据被改写成#FFH,其坐标(DPH,DPL)被保存在RAM内的临时存储区,它们构成了被跟踪区域的轮廓。
图6描述了一个应用“跟踪区域轮廓的规则”的例子。
紧接着,开始轮廓法测量面积以区分脚型程序之步骤四所述“数格子量面积”:按照从左向右、从上向下的行、列检测顺序,逐个坐标点地在整个防宠物踩踏式报警器所警戒的区域内搜索数据#01H,如果找到了#01H的坐标点,就分析它是否处于#FFH所表示的轮廓之包围中,如果它属于该轮廓包围圈内,再分析其四邻是否是被踩踏点,需不需要计数该格子。
“数格子量面积的方法”如轮廓法测量面积以区分脚型程序之步骤四所述。参见图6,数格子规则之要点是:1)从左向右、从上向下逐个坐标点地查看并统计格子,2)遇到#01H的时候,先按照“正下方-左下方”路线进行查看,如果该路线上相关的三个交叉点的数据都为#01H或#FFH,则表示该踩踏区域内包围了一个格子;然后,查看其右边的点的数据是否为#01H:是#01H,则按下一个坐标点来统计格子,否,则按照“正下方-右下方”路线查看,如果该路线上相关的三个交叉点的数据都为#01H或#FFH,则表示该踩踏区域内还得计数一个格子;3)数到最后一行的最后一个坐标点结束本次数格子工作。
踩踏区域的面积等于统计出的被踩踏区域内格子的数量乘上一个格子的面积。根据被踩踏区域面积的大小,可以分析受到的踩踏的性质,判断是否属于人的踩踏还是小动物的踩踏。
本发明所述单片机系统的输出或输入端口线可以根据实际情形加以变换,所述列或行电极组所包含的导线的数目及其间距、相应的串入并出、并入串出移位寄存器的数目以及随机存储器的容量可以根据本发明所述扫描检测原理增加或减少。
Claims (1)
1.一种防宠物踩踏式报警器中轮廓法测量面积区分脚型的方法,它以防宠物踩踏式报警器中的电极结构为基础测量被踩踏的若干区域的面积,据此区分踩踏的脚型,所述防宠物踩踏式报警器由一个长方形框架、电池组、单片机系统、串入并出电路、并入串进电路以及音乐电路组成,其中,长方形框架的上部和底部各有一组电极,分别称之为列电极组和行电极组,每一组电极均采用裸露的金属导线制作,导线彼此独立、间距均匀,两组电极的导线排列的方向相互垂直,列电极组的导线依序分别连接到并入串进电路的各个并行输入端,行电极组的导线依序分别连接到串入并出电路的各个并行输出端,所述长方形框架的上部和底部的两组电极由该框架的两侧绝缘隔离并支撑着;所述单片机系统包括一块单片机及其晶振电路和上电复位电路、程序存储器以及随机存储器电路,单片机选用8051系列中具有40个脚的,其输出口线P3.7连接到音乐电路的输入端,电池组作为防宠物踩踏式报警器的电源;所述串入并出电路由74HC164级联组成:第一块74HC164的信号串行输入端A连接到单片机的输出口线P1.2,其最高位输出端QH连接到第二块74HC164的信号串行输入端A,第二块74HC164的最高位输出端QH连接到第三块74HC164的信号串行输入端A,依次类推,各块74HC164的信号并行输出端组成串入并出电路的信号并行输出端,全部74HC164的清零端与信号串行输入端B都连接到电池组的正极,全部74HC164的时钟信号输入端都连接到单片机的输出口线P1.3;所述并入串进电路由74HC165级联组成:最后一块74HC165的并入串出信号端QH连接到前一块74HC165的信号串行输入端DS,依次类推,各块74HC165的信号并行输入端组成并入串进电路的信号并行输入端,每一位信号并行输入端还各自连接一个下拉电阻到电池组的负极,第一块74HC165的并入串出信号端QH连接到单片机的输入口线P1.5,全部74HC165的并入数据装载控制端都连接到单片机的输出口线P1.6,全部74HC165的时钟信号输入端都连接到单片机的输出口线P1.7,全部74HC165的时钟使能输入端都连接到电池组的负极;其特征在于,所述防宠物踩踏式报警器中轮廓法测量面积区分脚型的方法按照行、列两电极组导线的排列建立二维坐标系,借助单片机扫描检测被踩踏的区域,逐块跟踪它们的轮廓,对轮廓内区域数格子算面积,判断脚型并决定是否发出报警声,其步骤如下:
步骤一、初始化单片机:
MOV_SP,2FH’堆栈初值,
CLR_P1.2,P1.3,P1.7,P3.7’准备输出信号,
SETB_P1.5,P1.6’准备输入信号,
CLR_F0’初始化跟踪区域轮廓工作结束的标志位,
步骤二、初始化程序:
CLR_R5,CLR_R6’R5,R6分别为格子计数器的低字节和高字节,
MOV_R1,#AL,MOV_R2,#AH’RAM中后部开辟有小块临时存储区,用于存储被跟踪区域的轮廓上坐标点的坐标,#AL,#AH分别为该区域的起始地址之低、高字节,R1,R2分别为RAM中临时存储区地址指针的低字节和高字节寄存器,
MOV_DPL,#AL,MOV_DPH,#AH
MOV_R0,#RAM0,MOV_A,#00H’#RAM0为RAM中临时存储区的大小,Loop0:MOVX_DPTR,A’清零RAM中临时存储区中的一个单元,
INC_DPTR’指向下一单元,
DJNZ_R0,Loop0’R0为循环计数器,
Loop1:MOV_R0,#Number_COL’Number_COL为列电极组中导线的数目,
Loop2:MOV_R3,#Number_ROW’Number_ROW为行电极组中导线的数目,
SETB_P1.2,NOP,CLR_P1.2’清零串入并出电路的各块74HC164的输出端,
DJNZ_R3,Loop2’R3为循环计数器,
DJNZ_R0,Loop1’R0为循环计数器,
MOV_DPH,#00H,MOV_DPL,#00H’初始化数据指针DPTR,
’分开为两个8位的x,y坐标指针,
步骤三、开始扫描检测被踩踏的区域:
1)通过单片机对行电极组中的第一根导线输出一个高电平,然后,逐根检测列电极组中导线的电平,其低、高电平分别以#00H,#01H表示且存储之:MOV_DPTR,#00H或MOV_DPTR,#01H,其中,每检测完一根列电极组导线,y坐标指针就指向下一根列电极组导线:INC_DPL,
如果检查完毕列电极组中的全部导线,即DPL=Number_COL,把x,y坐标指针指向下一根行电极组导线:INC_DPH,MOV_DPL,#00H;
2)通过单片机对行电极组中的下一根导线输出一个高电平,然后,逐根检测列电极组中导线的电平,其低、高电平分别以#00H,#01H表示且存储之,其中,每检测完一根列电极组导线,y坐标指针就指向下一根列电极组导线,
如果检查完毕列电极组中的全部导线,即DPL=Number_COL,把x,y坐标指针指向下一根行电极组导线;
3)判断行电极组中当前处于高电平的导线是否超出其最后一根:
(a)DPH<Number_ROW,不是最后一根,跳转到本步骤之2)继续进行扫描检测;
(b)DPH=Number_ROW,已超出最后一根,执行下一步骤;
步骤四、跟踪被踩踏区域的轮廓:
1)初始化x,y坐标指针DPTR:MOV_DPH,#01H,MOV_DPL,#01H;
2)暂存当前x,y坐标指针DPTR,称之为当前跟踪坐标指针,从RAM取出并查看当前位置的数据:MOV_A,DPTR:
(a)如果该数据为#00H,执行本步骤四之3);
(b)如果该数据为#01H,查看位于当前坐标位置的上、右、下与左方的四邻{(DPH←DPH-1,DPL)、(DPH,DPL←DPL+1)、(DPH←DPH+1,DPL)与(DPH,DPL←DPL-1)}处的四个数据,即按照跟踪区域轮廓的规则获取与行、列电极组导线被踩踏所致接触的区域对应的轮廓;
然后,运用“数格子量面积的方法”,获得被踩踏区域的面积:S(R7);
如果被踩踏区域的面积S(R7)≥Area,Area为某个预定值,就判断为受到人的脚的踩踏,并发出警报信号:SETB_P3.7,建时约十秒,再撤除该报警信号:CLR_P3.7;执行步骤五;
步骤五、恢复当前x,y坐标指针DPTR为当前跟踪坐标指针,把它指向下一个坐标点:如果当前坐标点已经处于本行最后的位置,即DPL=Number_COL-1时,下一个坐标点为(DPH←DPH+1,DPL←1),否则,下一个坐标点为(DPH,DPL←DPL+1);
步骤六、如果x,y坐标指针DPTR尚未指向最后一行,即:DPH<Number_ROW-1,跳转本步骤四之2),继续跟踪被踩踏区域的轮廓,否,则结束跟踪被踩踏区域轮廓的工作;
步骤七、跳转到步骤一,开始新的一轮扫描检测工作;
上述步骤四所述跟踪区域轮廓的规则包括:
1)被跟踪区域的特征是:“被跟踪区域内的每一个坐标点都对应着数据#01H,需要被跟踪的区域之外或需要被跟踪的区域之间的坐标点都对应着数据#00H”;
2)启动跟踪轮廓定时器,如果该定时器的计时时间到了预定的数置,复位单片机;
3)当前坐标位置对应的数据为#01H,查看当前坐标位置的上、右、下与左方四个邻点对应的数据的关系,决定当前坐标位置的移动方向,该移动方向经过的路径就形成该区域的轮廓,有关移动当前坐标位置的规则如下:
a)如果其右方邻点对应的数据为#01H,其上、下、左方邻点对应的数据都为#00H,就把当前坐标位置移向其右方邻点处;
b)如果其下方邻点对应的数据为#01H,其上、右、左方邻点对应的数据都为#00H,就把当前坐标位置移向其下方邻点处;
c)如果其左方邻点对应的数据为#01H,其上、右、下方邻点对应的数据都为#00H,就把当前坐标位置移向其左方邻点处;
d)如果其上方邻点对应的数据为#01H,其右、下、左方邻点对应的数据都为#00H,就把当前坐标位置移向其上方邻点处;
e)如果其右、下方邻点对应的数据都为#01H,其左、上方邻点对应的数据都为#00H,就把当前坐标位置移向其右方邻点处;
f)如果其下、左方邻点对应的数据都为#01H,其上、右方邻点对应的数据都为#00H,就把当前坐标位置移向其下方邻点处;
g)如果其左、上方邻点对应的数据都为#01H,其右、下方邻点对应的数据都为#00H,就把当前坐标位置移向其左方邻点处;
h)如果其上、右方邻点对应的数据都为#01H,其下、左方邻点对应的数据都为#00H,就把当前坐标位置移向其上方邻点处;
i)如果其上、下方邻点对应的数据都为#01H,其右、左方邻点对应的数据都为#00H,且其由其左方邻点移动而来,就把当前坐标位置移向其上方邻点处;
j)如果其上、下方邻点对应的数据都为#01H,其右、左方邻点对应的数据都为#00H,且其由其右方邻点移动而来,就把当前坐标位置移向其下方邻点处;
k)如果其右、左方邻点对应的数据都为#01H,其上、下方邻点对应的数据都为#00H,且其由其上方邻点移动而来,就把当前坐标位置移向其右方邻点处;
1)如果其右、左方邻点对应的数据都为#01H,其上、下方邻点对应的数据都为#00H,且其由其下方邻点移动而来,就把当前坐标位置移向其左方邻点处;
m)如果其上方邻点对应的数据为#00H,其余三个邻点对应的数据都为#01H,就把当前坐标位置移向其右方邻点处;
n)如果其右方邻点对应的数据为#00H,其余三个邻点对应的数据都为#01H,就把当前坐标位置移向其下方邻点处;
o)如果其下方邻点对应的数据为#00H,其余三个邻点对应的数据都为#01H,就把当前坐标位置移向其左方邻点处;
p)如果其左方邻点对应的数据为#00H,其余三个邻点对应的数据都为#01H,就把当前坐标位置移向其上方邻点处;
q)如果当前坐标位置的上、右、下与左方四个邻点对应的四个数据都是#00H,四个邻点中也没有出现本跟踪区域轮廓过程所获得的最前面的5个位置坐标之一,这时,尝试退出该“奇异的隅角”:把当前坐标位置对应的数据置为#00H,从RAM内的临时存储区取出最后存进去的坐标值,把该坐标值赋予当前坐标位置指针即(DPH,DPL),也就是退回到前一个位置的坐标处,然后,按照上述跟踪区域轮廓的规则继续跟踪下一个曲线轮廓点,如果能够找到下一个曲线轮廓点,就继续跟踪区域轮廓的工作,否则,所遇到的“奇异的隅角”表明不存在封闭、连续的轮廓曲线,即没有形成被踩踏的区域,这时,清零RAM内的临时存储区,初始化RAM中临时存储区地址指针寄存器R1,R2,设置跟踪区域轮廓工作结束的标志位:SETB_F0,结束本轮跟踪区域轮廓的工作;
r)如果当前坐标位置的上、右、下与左方四个邻点对应的四个数据都是#00H,四个邻点中出现了本跟踪区域轮廓过程所获得的最前面的5个位置坐标之一,这时,清零RAM内的临时存储区,初始化RAM中临时存储区地址指针寄存器R1,R2,设置跟踪区域轮廓工作结束的标志位:SETB_F0,结束本轮跟踪区域轮廓的工作;
4)每次移动当前坐标位置之前,根据RAM中临时存储区地址指针寄存器R1,R2把当前位置的坐标(DPH,DPL)依序存储在RAM内的临时存储区,然后使得RAM中临时存储区地址指针寄存器R1,R2指向下一处存储单元;
5)每次移动当前坐标位置之前,把当前坐标位置对应的数据改写成#FFH;
6)上述诸规则中,所述数据#00H与非#01H的其它数据等效;
上述步骤四关于数格子量面积的方法包括下述步骤:
步骤1、初始化x,y坐标指针DPTR:MOV_DPH,#00H,MOV_DPL,#00H;
步骤2、从RAM取出并查看当前位置的数据:MOV_A,DPTR,
(a)如果该数据不等于#01H,跳到本方法之步骤3;
(b)如果它等于#01H,先查看该坐标位置是否属于轮廓的包围之中:
否,则跳到本方法之步骤3;
是,则查看当前坐标位置的正下方(DPH←DPH+1,DPL)、左下角(DPH←DPH+1,DPL←DPL-1)两处的数据是否等于#01H或#FFH,是,则格子计数器R6R5加1;还要查看当前坐标位置的右邻(DPH,DPL←DPL+1)对应的数据是否等于#01H:是,跳转本方法之步骤3;否,进一步查看当前坐标位置的正下方(DPH←DPH+1,DPL)、右下角(DPH←DPH+1,DPL←DPL+1)两处的数据是否等于#01H或#FFH,是,则格子计数器R6R5也加1;
若当前坐标位置位于边上的第一行、第一列、最后一行或最后一列,则当前坐标位置的正下方、左下角、右邻与右下角在RAM中没有相应的数据,此时其坐标的特点是DPH<0、DPL<0、DPH=Number_ROW或DPL=Number_COL,权当这些坐标点处的数据为#00H;
步骤3、x,y坐标指针DPTR指向当前坐标位置的下一个坐标点:如果当前坐标点已经超出本行倒数第一列,即:DPL=Number_COL时,下一个坐标点为(DPH←DPH+1,DPL←0),否则,下一个坐标点为(DPH,DPL←DPL+1);
步骤4、如果x,y坐标指针DPTR尚未超出倒数第一行,即:DPH<Number_ROW,跳转本方法之步骤2,继续本次数格子量面积的工作;
否,则计算被踩踏的区域的面积S(R7)=R6R5×Ssquare,其中,Ssquare为一个格子的面积,由行、列电极组内导线的间距决定,清零格子计数器R6R5,结束本次数格子量面积的工作;
上述步骤四关于数格子量面积的方法所述“查看该坐标位置是否属于轮廓的包围之中’’的实施方法包括下述步骤:
步骤1、称当前位置为目标位置,把其x,y坐标指针DPTR指向目标位置的左方,逐个坐标点地取出它们对应的数据,即:DEC_DPL,MOVX_A,DPTR,并逐个坐标点地查看该数据是否等于#FFH:
如果遇到等于#FFH的坐标点,跳到本实施方法之步骤2,继续查看工作;
如果进行到DPL=0还没有遇到等于#FFH的坐标点,表明目标位置没有在轮廓的包围之中,建立标志:F1=0,结束本查看工作;
步骤2、把x,y坐标指针DPTR指向目标位置的右方,逐个坐标点地取出它们对应的数据,即:INC_DPL,MOVX_A,DPTR,并逐个坐标点地查看该数据是否等于#FFH:
如果遇到等于#FFH的坐标点,跳到本实施方法之步骤3,继续查看工作;
如果进行到DPL=Number_COL-1还没有遇到等于#FFH的坐标点,表明目标位置没有在轮廓的包围之中,建立标志:F1=0,结束本查看工作;
步骤3、把x,y坐标指针DPTR指向目标位置的上方,逐个坐标点地取出它们对应的数据,即:DEC_DPH,MOVX_A,DPTR,并逐个坐标点地查看该数据是否等于#FFH:
如果遇到等于#FFH的坐标点,跳到本实施方法步骤4,继续查看工作;
如果进行到DPH=0还没有遇到等于#FFH的坐标点,表明目标位置没有在轮廓的包围之中,建立标志:F1=0,结束本查看工作;
步骤4、把x,y坐标指针DPTR指向目标位置的下方,逐个坐标点地取出它们对应的数据,即:INC_DPH,MOVX_A,DPTR,并逐个坐标点地查看该数据是否等于#FFH:
如果遇到等于#FFH的坐标点,说明该目标位置位于#FFH所标记的轮廓所包围的区域内,建立标志:F1=1,结束本查看工作;
如果进行到DPH=Number_ROW-1还没有遇到等于#FFH的坐标点,表明目标位置没有在轮廓的包围之中,建立标志:F1=0,结束本查看工作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201010228515 CN102339513B (zh) | 2010-07-16 | 2010-07-16 | 防宠物踩踏式报警器中轮廓法测量面积区分脚型的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201010228515 CN102339513B (zh) | 2010-07-16 | 2010-07-16 | 防宠物踩踏式报警器中轮廓法测量面积区分脚型的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102339513A CN102339513A (zh) | 2012-02-01 |
CN102339513B true CN102339513B (zh) | 2013-06-12 |
Family
ID=45515219
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 201010228515 Expired - Fee Related CN102339513B (zh) | 2010-07-16 | 2010-07-16 | 防宠物踩踏式报警器中轮廓法测量面积区分脚型的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102339513B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104966099B (zh) * | 2015-06-15 | 2018-03-20 | 北京航空航天大学 | 一种基于人脚图像的脚型分类方法 |
CN107655442A (zh) * | 2017-08-28 | 2018-02-02 | 广东出入境检验检疫局检验检疫技术中心 | 一种测定不规则食品接触材料及制品接触面积的装置及其制作方法和应用 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN2847402Y (zh) * | 2005-07-18 | 2006-12-13 | 侯康 | 防宠物阳台智能防盗报警灯 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0583956U (ja) * | 1992-04-08 | 1993-11-12 | 株式会社ウエルコ | 加圧パターンセンサー |
JPH10106384A (ja) * | 1996-09-30 | 1998-04-24 | Japan Aviation Electron Ind Ltd | 足跡パターンセンサ |
JPH1166442A (ja) * | 1997-08-13 | 1999-03-09 | Tokyo Sensor:Kk | 和室内侵入警報装置 |
JP2002157936A (ja) * | 2000-11-21 | 2002-05-31 | Kankyo Syst:Kk | マットスイッチ |
-
2010
- 2010-07-16 CN CN 201010228515 patent/CN102339513B/zh not_active Expired - Fee Related
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN2847402Y (zh) * | 2005-07-18 | 2006-12-13 | 侯康 | 防宠物阳台智能防盗报警灯 |
Non-Patent Citations (3)
Title |
---|
JP平10-106384A 1998.04.24 |
JP平11-66442A 1999.03.09 |
JP平5-83956U 1993.11.12 |
Also Published As
Publication number | Publication date |
---|---|
CN102339513A (zh) | 2012-02-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103425364B (zh) | 电容式触摸屏的侦测装置与方法 | |
CN102339513B (zh) | 防宠物踩踏式报警器中轮廓法测量面积区分脚型的方法 | |
ATE314696T1 (de) | Projektiver kapazitiver berührungsempfindlicher bildschirm | |
CN106840258A (zh) | 基于多参数协同监测的广域全态电磁环境监测系统及方法 | |
CN106093733B (zh) | 电晕电流的测量装置及用其进行多点电晕电流定位方法 | |
CN103471735B (zh) | 动力电池组内部温度在线检测方法及系统 | |
CN109375074A (zh) | 基于特高频信号的局部放电检测方法、装置、设备和系统 | |
CN106706715A (zh) | 基于三维高密度电阻率法的污染土检测方法 | |
CN102944287A (zh) | 电容式柔性电子水尺 | |
CN112539708B (zh) | 一种边坡变形的三维监测系统、方法、介质及设备 | |
CN104931409A (zh) | 多功能混凝土结构钢筋锈蚀率检测仪 | |
CN104301907B (zh) | 混杂网络移动节点覆盖探测方法及节点部署选择方法 | |
CN105021663A (zh) | 一种盐度测量方法 | |
CN114563619A (zh) | 基于电场传感芯片的抗干扰非接触式电压测量方法、装置 | |
CN102339515B (zh) | 防宠物踩踏式报警器及其同时测量若干区域长度的方法 | |
CN102339514A (zh) | 防宠物踩踏式报警器及其数轮廓内格点区分脚型的方法 | |
CN102339516B (zh) | 防宠物踩踏式报警器及其同时测量若干区域面积的方法 | |
CN102339511B (zh) | 防宠物踩踏式报警器及其测量面积以区分脚型的方法 | |
CN108957352A (zh) | 一种基于荷电状态的容量寿命损耗计算方法 | |
CN107607772A (zh) | 基于高斯积分的输电线路的相线电压检测方法 | |
CN102339512B (zh) | 防宠物踩踏式报警器及其测量区域长度区分脚型的方法 | |
CN105628058B (zh) | 电容式检测装置、方法与系统 | |
CN107607593A (zh) | 一种漏液检测装置、方法及水处理设备 | |
CN114441832A (zh) | 导线电流确定方法、装置、计算机设备和存储介质 | |
CN104853363B (zh) | 监测无线传感网节点监测面积覆盖率的方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C53 | Correction of patent for invention or patent application | ||
CB03 | Change of inventor or designer information |
Inventor after: Zeng Yi Inventor before: Zeng Yi Inventor before: Zhang Wenjuan Inventor before: Zhang Haiming |
|
COR | Change of bibliographic data |
Free format text: CORRECT: INVENTOR; FROM: CENG YI ZHANG WENJUAN ZHANG HAIMING TO: CENG YI |
|
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20130612 Termination date: 20140716 |
|
EXPY | Termination of patent right or utility model |