光耦模块型号还是挺多的,主要是区分,未触发高电平还是低电平,这涉及到代码的逻辑 。型态不同是方便用在不同的地方。
想图片里面这两个左边的是未触发高电平,右边的是未触发低电平。这里我们选用未触发高电平的作为演示。
光耦听到最多的应该是给小车测速,配合测速码盘,实际原理就是算物体通过的个数,就像游戏机可以计算你投了几个游戏币一样,我们可以看到下面的测速码盘的结构,一圈有20个空洞,这样就可以计算出,转了多少圈,从而引出其它的数值。
那为了更好的理解我们就先制作一个计数器,改个封装其实就是投币器,可以记录(投币)个数 。
主要这样不要让它重复触发,等通过之后再能+1。
所以这里要设置个中断,触发会发出低电平,所以一开始就是一个下降沿,进入函数后再次判断,如果不满足数字输入引脚为高电平(意思就是物体还没通过呢遮挡着)则为条件真,执行里面的函数,但是这里面啥也没有,就是这个时候啥也不做。要是不满足条件就跳过函数执行i++。如此循环