温度传感器 DS18B20,Dallas one wire 驱动 w1-sun4i
由于想用CB做一个户外项目,可能会在太阳直射下工作,温度会比较高,想知道运行的环境温度,而A10没提供高精度的ADC,用不了热敏电阻来测温度。
所以选了一个Dallas 1 线温度传感器。
目前的LINUX内核里的W1-GPIO 驱动在A10上用不了。
找了一个人做的A13的W1-GPIO驱动,修改了之后编译通过并成功得到温度信息;
需要重新编译内核,并将 Device Drivers->Dallas's 1-wire support,
及下面的 GPIO 1-wire busmaster 及 Thermal family implementation 编译进内核,除Thermal之外不要用模块方式。
然后下载内本帖子里的代码,编译后会得到一个 w1-sun4i.ko, 及 script.fex 里的 设置成你自己的引脚,
然后装上新的内核及模块,启动CB,执行:
depmod
modprobe w1_therm
insmod w1-sun4i.ko
你就知道你的温度了。
另外,DS18B20 的IO口与VCC中间需接一个4.7K的上拉电阻。
本帖最后由 jarry 于 2013-5-21 18:31 编辑
我后面改了驱动的话会放到 github 上,地址: https://github.com/jarryji/A10-Drivers 感谢jarry, 我也搞定了:)
root@CubieBox:/sys/bus/w1/devices/28-0000047de468# cat w1_slave
cf 01 4b 46 7f ff 01 10 5d : crc=5d YES
cf 01 4b 46 7f ff 01 10 5d t=28937
电路都焊好了,结果上电的时候老眼昏花居然把ds18b20的正负反接了,差点烧掉:curse: 焊反了不会烧,只是会很烫:) 嗯,很烫,马上拔了,没烧掉;这个传感器还是挺好用的。:lol 顶一个! 超赞~!支持原创!! android系统上如何使用? 上拉电阻哪里买的?正负极怎么接?
页:
[1]
2