微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

DHT22和gpio如何工作?

我只是给自己一个温度和湿度传感器DHT22,我有一些疑虑: – 这个设备只能用于arduino或Rpi吗? – 如果答案是否定的,它如何与GPIO协同工作? 据我所知,gpio有2个选项:-Direcion(in或out)和Value(0或1)。 所以据此,我正在检查arduino和Rpi如何使用这些设备的很多例子,并且都连接到了gpio的端口。 那么这是如何工作的? c / c ++有更大的能力来处理这个读数吗? – 如果传感器可以使用更多的设备,是否有任何Linux标准库/代码来处理这个设备?

谢谢。

访问设备的注册i2c

如何使我的C ++程序永远等待传感器事件,而不是终止

是否可以从Silverlight访问Windows 7传感器和位置平台?

如您所述,DHT22是通过GPIO引脚工作的。 这意味着任何带有GPIO的设备都可以使用它。

关于图书馆。 有两个通过GPIO编写的主要库,一个用于C ++,另一个用于Python。 这意味着任何具有GPIO并且可以运行Python或C ++的设备都可以使用您的DHT22。

那么没有C ++,Python,Java …基础库? 那么,通过GPIO进行通信就没有 Linux标准库了。 当然,如果你渴望学习和探索,你可以在Assembly或Bash中编写一个图书馆,这个图书馆将尽可能地接近LSL。 通过这样做,您可以在没有任何其他编程语言的情况下通过GPIO通过GPIO本地进行通信。 如果你对Bash感兴趣,请看看这个 。

当Linux只能读取0和1时,Linux如何知道温度和湿度? 考虑两件事情:

电脑如何存储32号 ? 计算机只知道0和1 ,所以他需要将32转换为二进制。 十进制是32 = 2 ^ 6 ,二进制是100000 。

电脑如何读取温度和湿度? 当你执行一个

get_temperature()

从DHT22请求温度,实际发生的是你的计算机向DHT22发送信号(它通过DHT22上的IN,通过GPIO上的“写入”DHT22,与计算机上的OUT相同)。 然后DHT22检测温度并将数据“发回”。 它是如何发送的? 它通过GPIO(计算机上的GPIO IN和DHT22上的GPIO OUT)创建一系列电荷。 在我们的情况下,如果温度是32 ,那么它发送下一个序列: 1-0-0-0-0-0 。 计算机读取序列,当您尝试打印它时将其转换为十进制。

希望我明白了,这就是你想要的。

在这链接中,你可以找到一个读取DHT22温度和湿度的C代码,如果这是你想要的。 请让我知道你一般想做什么(通过库读取温度和嗡嗡声,为通过GPIO进行通信编写新库,使用DHT22的另一种语言编写新库)。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐