【EmbeddedDev】BBB上通过ADC串口获取光感数值

1.参考链接

http://www.phidgets.com/docs/1143_User_Guide
http://beagleboard.org/support/bone101

2.使用phidget传感器注意事项

  • phidget温感/湿感的数据输出电压超过1.8V, 而BBB的AIN接收电压不能超过1.8V,因此不能像压感/光感一样直接连接BBB的AIN串口后读取正常的数值。
  • 通过Phidget InterfaceKit 888连接BBB的USB接口, 结合phidget库可以读取对应的数值。

3. ADC串口对照表

NamePin #Pin #Name
32VDD_ADC
AIN43334GNDA_ADC
AIN63536AIN5
AIN23738AIN3
AIN03940AIN1

4.手动打开ADC串口

root@beaglebone:/sys/class# echo cape-bone-iio > /sys/devices/bone_capemgr.*/slots
root@beaglebone:/sys/class# ls /sys/devices/ocp.3/helper.12/
AIN0  AIN1  AIN2  AIN3  AIN4  AIN5  AIN6  AIN7  driver  modalias  power  subsystem  uevent

5.使用python获取光感数值

  • 连线图(P9_1, P9_5提供5V直流电压, P9_40即AIN1作为ADC信号的输入)
    ADC_Demo
  • python代码示例
import Adafruit_BBIO.ADC as ADC
import time

ADC.setup()

if __name__ == "__main__":
    while 1:
        value = ADC.read_raw("P9_40")
        print value
        time.sleep(0.5)
  • 运行效果
root@beaglebone:/data/apps# python test_ain.py 
973.0
967.0
958.0
975.0
962.0
962.0
976.0
951.0
1109.0
1085.0
944.0
859.0
403.0
305.0
291.0
291.0
292.0
291.0
290.0
288.0
291.0
291.0
536.0
1010.0
1003.0

其中光感数值有所变化, 从900+到300,再到1000+; 主要是因为我改变了传感器周围的光照强度。至于数值所代表的意义, 还需要进一步做单位转换计算。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值