CubieBoard中文论坛

 找回密码
 立即注册
搜索
热搜: unable
查看: 16216|回复: 13

温度传感器 DS18B20,Dallas one wire 驱动 w1-sun4i

[复制链接]
发表于 2013-5-21 18:23:51 | 显示全部楼层 |阅读模式
由于想用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 里的 [w1_para]设置成你自己的引脚,
然后装上新的内核及模块,启动CB,执行:
depmod
modprobe w1_therm
insmod w1-sun4i.ko

你就知道你的温度了。
另外,DS18B20 的IO口与VCC中间需接一个4.7K的上拉电阻。


ds18b20.png
cat.png

w1-sun4i.zip

28.88 KB, 下载次数: 90, 下载积分: 金钱 -1

评分

参与人数 2威望 +15 金钱 +15 贡献 +15 收起 理由
cubieplayer + 5 + 5 + 5 赞原创
soloforce + 10 + 10 + 10 赞一个!

查看全部评分

回复

使用道具 举报

 楼主| 发表于 2013-5-21 18:25:05 | 显示全部楼层
本帖最后由 jarry 于 2013-5-21 18:31 编辑

我后面改了驱动的话会放到 github 上,地址: https://github.com/jarryji/A10-Drivers
回复 支持 反对

使用道具 举报

发表于 2013-5-21 18:39:32 | 显示全部楼层
感谢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
回复 支持 反对

使用道具 举报

发表于 2013-5-21 18:41:53 | 显示全部楼层
电路都焊好了,结果上电的时候老眼昏花居然把ds18b20的正负反接了,差点烧掉
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-5-21 18:49:07 | 显示全部楼层
焊反了不会烧,只是会很烫:)
回复 支持 反对

使用道具 举报

发表于 2013-5-21 18:55:19 | 显示全部楼层
嗯,很烫,马上拔了,没烧掉;这个传感器还是挺好用的。
回复 支持 反对

使用道具 举报

发表于 2013-5-21 20:07:09 | 显示全部楼层
顶一个!
回复 支持 反对

使用道具 举报

发表于 2013-5-21 20:46:23 | 显示全部楼层
超赞~!支持原创!!
回复 支持 反对

使用道具 举报

发表于 2013-6-15 19:27:28 | 显示全部楼层
android系统上如何使用?
回复 支持 反对

使用道具 举报

发表于 2013-8-3 13:00:12 来自手机 | 显示全部楼层
上拉电阻哪里买的?正负极怎么接?
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|粤ICP备13051116号|cubie.cc---深刻的嵌入式技术讨论社区

GMT+8, 2022-10-1 00:35 , Processed in 0.021699 second(s), 19 queries .

Powered by Discuz! X3.4

© 2001-2012 Comsenz Inc. | Style by Coxxs

返回顶部