U型光电传感器测量速度频率实验

实验目的:通过U型传感器,检测物体多次经过的时间间隔;从而计算出物体经过的速度和频率。
#接线效果如图
接线示例
#实验过程
1、执行程序 Python jiujiang.py
2、拿起遮挡物反复执行拿起放下,模拟物体规律经过光电检测口;
3、可见屏幕显示遮挡物每次出现距离上次的时间;从而推导出频次信息;
实验结果
4、由于实验只是计算上次和这次的时间检测,没有做统计信息;也可以每次时间都记录下来,然后单独分析,做更宏观的分布统计;
#实验代码

#!/usr/bin/env python
#coding:utf-8

'''
from JiuJiang
树莓酱的操作实例
https:://www.shumeijiang.com
'''

import RPi.GPIO as GPIO  ##引入GPIO模块
import time              ##引入time库

uPin = 18

GPIO.setmode(GPIO.BCM)   ##此处采用的BCM编码 因为T型扩展板也是BCM编码 方便统一
GPIO.setup(uPin, GPIO.IN)  ##设置为接收模式

filePath = 'time.data' ##文本记录通过时间戳 也可用数据库表

try:
    while True:
        status = GPIO.input(uPin)  ##接收状态
        if status == 0: continue   ##检测到没有物体时候跳过
        if status == 1:
            handle = open(filePath, 'r+')

            currentTime = time.time() ##获取当前时间点
            getTime = handle.read()   ##读取上次通过时的时间点
            getTime = float(getTime)

            if not getTime: getTime = 0 ##如果上次没有时间 则不计算
            handle.seek(0)
            handle.truncate()  ##清空上次记录 记录本次时间点

            handle.write(str(currentTime))  ##填写本次触发时间点
            handle.flush()
            handle.close()

            if getTime == 0:  continue  ##如果不能计算 则跳过
            frequency = round(currentTime-getTime-0.3, 2)
            print("频率为%s秒/次" %(frequency))   ##输出信息

            time.sleep(0.3)  ##检测频率 可自己调整

except KeyboardInterrupt:
    pass

GPIO.cleanup()
#视频效果如下:

U型光电传感器实验

实验目的:传感器两端分别有一个发射端一个接收端,正常情况下传感器输出低电平;当物体遮挡时输出高电平,从而实现感知效果。
#接线效果如图
接线示例
#实验代码

#!/usr/bin/env python
#coding:utf-8

'''
from JiuJiang
树莓酱的操作实例
https:://www.shumeijiang.com
'''

import RPi.GPIO as GPIO  ##引入GPIO模块
import time              ##引入time库

uPin = 18

GPIO.setmode(GPIO.BCM)   ##此处采用的BCM编码 因为T型扩展板也是BCM编码 方便统一
GPIO.setup(uPin, GPIO.IN)  ##设置为接收模式

try:
    while True:
        status = GPIO.input(uPin)
        if status == 1:
            print '被挡住了'
        elif status == 0:
            print '正常'
        time.sleep(0.1)
except KeyboardInterrupt:
    pass

GPIO.cleanup()
#实验效果
1、执行代码 Python jiujiang.py;
2、屏幕输出 ”正常“;
3、拿物体挡住传感器中间,屏幕输出”被挡住了“;
4、检测频率可调整;
#视频效果如下: